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
16
17
18
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
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 }