View Javadoc

1   package be.dvw.administration.mvc.taglibs;
2   
3   import org.apache.commons.logging.Log;
4   import org.apache.commons.logging.LogFactory;
5   import org.dom4j.io.OutputFormat;
6   import org.dom4j.io.XMLWriter;
7   import org.dom4j.DocumentException;
8   
9   import javax.servlet.jsp.JspException;
10  import javax.servlet.jsp.JspWriter;
11  import javax.servlet.jsp.tagext.BodyTagSupport;
12  import javax.xml.transform.TransformerException;
13  
14  import be.dvw.administration.mvc.navigation.LeftMenu;
15  import be.dvw.administration.mvc.navigation.LeftMenuXSLTImpl;
16  import be.dvw.administration.services.scores.ScoreService;
17  import be.dvw.administration.services.scores.ScoreServiceCastorImpl;
18  import be.dvw.administration.services.instruments.InstrumentService;
19  import be.dvw.administration.services.instruments.InstrumentServiceCastorImpl;
20  import be.dvw.administration.Constants;
21  
22  import java.io.UnsupportedEncodingException;
23  import java.io.IOException;
24  import java.io.Writer;
25  
26  /***
27   * Created by IntelliJ IDEA.
28   * User: Toon.Timbermont
29   * Date: Jul 30, 2005
30   * Time: 4:57:00 PM
31   * To change this template use File | Settings | File Templates.
32   */
33  public class SummaryTag extends BodyTagSupport {
34  
35      private static Log LOG = LogFactory.getLog(SummaryTag.class);
36      private String page;
37      private JspWriter out;
38  
39      public int doStartTag() throws JspException {
40  
41          LOG.debug("Executing the SummaryTag for page " + page);
42  
43          try {
44              out = pageContext.getOut();
45  
46              if ( Constants.SCORE_PAGE.equals(page) )
47                  out.println(getScoresSummary());
48              if ( Constants.INSTRUMENT_PAGE.equals(page))
49                  out.println(getInstrumentSummary());
50  			if ( Constants.PERSON_PAGE.equals(page) )
51  				out.println(getPersonSummary());
52  
53          } catch (IOException e) {
54              LOG.error("Exception", e);
55          }
56  
57          return SKIP_BODY;
58      }
59  
60  
61      /***
62       * Method giving the scores summary
63       * @return the phrase containing the key information about the scores.
64       * TODO make this phrase template & Il8N based
65       */
66      private String getScoresSummary()
67      {
68          ScoreService scoreService = new ScoreServiceCastorImpl();
69          StringBuffer strb = new StringBuffer();
70          strb.append("Bibliotheek bevat ");
71          strb.append(scoreService.getTotalNumber());
72          strb.append(" titels met een huidige waarde van ");
73          strb.append(scoreService.getCurrentValue());
74          strb.append(" €");
75  
76          LOG.debug("Generated summary for scores");
77          return strb.toString();
78      }
79  
80      /***
81       * Method giving the Instrument summary
82       * @return the phrase containing the key information about the instruments.
83       * TODO make this phrase template & Il8N based
84       */
85      private String getInstrumentSummary()
86      {
87          InstrumentService instrumentService = new InstrumentServiceCastorImpl();
88          StringBuffer strb = new StringBuffer();
89          strb.append("Instrumentarium bevat ");
90          strb.append(instrumentService.getTotalNumber());
91          strb.append(" instrumenten met een huidige waarde van ");
92          strb.append(instrumentService.getCurrentValue());
93          strb.append(" €");
94          LOG.debug("Generated summary for instruments");
95          return strb.toString();
96      }
97  
98  	private String getPersonSummary()
99  	{
100 		return "Er zijn 214 personen waarvan 103 leden en 35 muzikanten opgeslaan";
101 	}
102 
103 
104 
105 
106 
107 
108 
109 
110     /***
111      * Code executed when the tag reaches its end
112      * @return EVAL_PAGE : the rest of the page must be evaluated as well
113      * @throws JspException
114      */
115     public int doEndTag() throws JspException {
116         return EVAL_PAGE;
117     }
118 
119     public String getPage() {
120         return page;
121     }
122 
123     public void setPage(String page) {
124         this.page = page;
125     }
126 }