View Javadoc

1   package com.atlassian.jira.plugin.webfragment.contextproviders;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import com.atlassian.jira.ComponentManager;
7   import com.atlassian.jira.plugin.webfragment.model.JiraHelper;
8   import com.atlassian.jira.scheme.SchemeManager;
9   import com.atlassian.jira.web.action.admin.link.scheme.I18nLinkScheme;
10  import com.atlassian.jira.web.bean.I18nBean;
11  import com.opensymphony.user.User;
12  
13  /**
14   * FQCN : com.atlassian.jira.plugin.webfragment.contextproviders.ASchemeContextProvider
15   * @author Kaamelot
16   * @since 3.10.1.30
17   * Description : ContextProvider for Web Fragment able to return a SchemeManager  
18   *
19   */
20  public abstract class ASchemeContextProvider extends AbstractJiraContextProvider {
21  
22  	protected I18nBean i18nBean;
23  	
24  	public ASchemeContextProvider() {
25  	}
26  
27  	public Map getContextMap(User user, JiraHelper jiraHelper) {
28  		Map context = new HashMap();
29  		context.put("schemeManager", getSchemeManager(getSchemeManagerClass()));
30  		context.put("i18n", getI18nBean());
31  		return context;
32  	}
33  
34  	protected I18nBean getI18nBean() {
35  		if (i18nBean==null) {
36  			i18nBean = new I18nBean();
37  			i18nBean.getI18nLocations().add(I18nLinkScheme.class.getName());
38  		}
39  		return i18nBean;
40  	}
41  
42  	public SchemeManager getSchemeManager(Class schemeManagerClass) {
43  		return (SchemeManager)ComponentManager.getComponentInstanceOfType(schemeManagerClass);
44  	}
45  	
46  	public abstract Class getSchemeManagerClass();
47  	
48  }