View Javadoc

1   package com.atlassian.jira.plugin.issueoperation;
2   
3   import java.util.Map;
4   
5   import org.apache.log4j.Category;
6   import org.dom4j.Element;
7   
8   import com.atlassian.jira.plugin.MakeConditionHelper;
9   import com.atlassian.jira.security.JiraAuthenticationContext;
10  import com.atlassian.plugin.Plugin;
11  import com.atlassian.plugin.PluginParseException;
12  import com.atlassian.plugin.web.Condition;
13  
14  /**
15   * FQCN : com.atlassian.jira.plugin.issueoperation.ExtendedIssueOperationModuleDescriptor
16   * @author Kaamelot
17   * @since 3.10.1.30 
18   * Description : ExtendedIssueOperationModuleDescriptor providing :
19   * - Display Condition delegated tio Condition Class 
20   */
21  public class ExtendedIssueOperationModuleDescriptor extends IssueOperationModuleDescriptor {
22  	
23  	protected static Category log = Category.getInstance(ExtendedIssueOperationModuleDescriptor.class);
24  	
25  	protected MakeConditionHelper makeConditionHelper;
26  	
27     protected Condition condition;
28  	
29  	public ExtendedIssueOperationModuleDescriptor(JiraAuthenticationContext _authenticationContext) {
30  		super(_authenticationContext);
31  		makeConditionHelper = MakeConditionHelper.getInstance();
32  	}
33  
34  	/**
35  	 * Initialize the Plugin's Element
36  	 * - The Condition is loaded. If not defined, a default one is created returning always True.
37  	 */
38  	public void init(Plugin plugin, Element element) throws PluginParseException {
39  		super.init(plugin, element);
40        condition = makeConditionHelper.makeConditions(element, MakeConditionHelper.COMPOSITE_TYPE_AND);
41        if (condition == null) {
42        	log.warn("No condition defined for [" + plugin.getKey() + ":" + element.getName() + "]. True Condition is assumed");
43  			condition = new Condition() {
44  				public boolean shouldDisplay(Map context) {
45  					return true;
46  				}
47  				public void init(Map params) throws PluginParseException {
48  				}
49  			};
50  		}
51  	}
52  
53  	/**
54  	 * @return Condition defined for the current Plugin's Element 
55  	 */
56  	public Condition getCondition() {
57  		return condition;
58  	}
59  }