View Javadoc

1   package org.apache.maven.continuum.web.view.jsp.ui;
2   
3   import javax.annotation.Resource;
4   import javax.servlet.jsp.JspTagException;
5   import javax.servlet.jsp.jstl.core.ConditionalTagSupport;
6   
7   import org.apache.maven.continuum.Continuum;
8   import org.apache.maven.continuum.configuration.ConfigurationService;
9   import org.codehaus.plexus.redback.users.UserManager;
10  import org.codehaus.plexus.spring.PlexusToSpringUtils;
11  import org.springframework.context.ApplicationContext;
12  import org.springframework.web.context.support.WebApplicationContextUtils;
13  
14  /**
15   * ifBuildTypeEnabledTag:
16   *
17   * @author Jan Ancajas <jansquared@gmail.com>
18   * @version $Id: IfBuildTypeEnabledTag.java
19   */
20  public class IfBuildTypeEnabledTag
21      extends ConditionalTagSupport
22  {
23      private Continuum continuum;
24  
25      private String buildType;
26  
27      public static final String DISTRIBUTED = "distributed";
28  
29      protected boolean condition()
30          throws JspTagException
31      {
32          
33          ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext( pageContext.getServletContext() );
34          this.setContinuum( (Continuum) applicationContext.getBean( PlexusToSpringUtils.buildSpringId( Continuum.ROLE,
35                                                                                                        "default" ) ) );
36  
37          if ( continuum == null )
38          {
39              throw new JspTagException( "cannot lookup component:  " + Continuum.ROLE );
40          }
41  
42          if ( DISTRIBUTED.equals( buildType ) )
43          {
44              return continuum.getConfiguration().isDistributedBuildEnabled();
45          }
46          
47          // left out 'parallel' buildType checking for cyclomatic complexity's sake :)
48          return !continuum.getConfiguration().isDistributedBuildEnabled();
49  
50      }
51  
52      public String getBuildType()
53      {
54          return buildType;
55      }
56  
57      public void setBuildType( String buildType )
58      {
59          this.buildType = buildType;
60      }
61  
62      public Continuum getContinuum()
63      {
64          return continuum;
65      }
66  
67      public void setContinuum( Continuum continuum )
68      {
69          this.continuum = continuum;
70      }
71  }