KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > deliver > taglib > common > IncludeTag


1 /* ===============================================================================
2 *
3 * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4 *
5 * ===============================================================================
6 *
7 * Copyright (C)
8 *
9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License version 2, as published by the
11 * Free Software Foundation. See the file LICENSE.html for more information.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19 * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20 *
21 * ===============================================================================
22 */

23
24 package org.infoglue.deliver.taglib.common;
25
26 import java.util.Iterator JavaDoc;
27 import java.util.List JavaDoc;
28
29 import javax.servlet.jsp.JspException JavaDoc;
30
31 import org.infoglue.cms.entities.content.ContentVO;
32 import org.infoglue.deliver.taglib.TemplateControllerTag;
33
34 public class IncludeTag extends TemplateControllerTag
35 {
36     private static final long serialVersionUID = 4050206323348354355L;
37     
38     private Integer JavaDoc contentId;
39     private String JavaDoc relationAttributeName;
40     private String JavaDoc contentName;
41     private String JavaDoc template;
42     
43     public IncludeTag()
44     {
45         super();
46     }
47
48     public int doEndTag() throws JspException JavaDoc
49     {
50         try
51         {
52             if(contentId == null)
53             {
54                 Integer JavaDoc componentContentId = this.getController().getComponentLogic().getInfoGlueComponent().getContentId();
55     
56                 List JavaDoc relatedContents = this.getController().getRelatedContents(componentContentId, relationAttributeName);
57
58                 Iterator JavaDoc i = relatedContents.iterator();
59                 while(i.hasNext())
60                 {
61                     ContentVO contentVO = (ContentVO)i.next();
62                     if(contentVO.getName().equalsIgnoreCase(contentName))
63                     {
64                         contentId = contentVO.getId();
65                         break;
66                     }
67                 }
68
69                 template = this.getController().getContentAttribute(contentId, "Template");
70             }
71             else
72             {
73                 template = this.getController().getContentAttribute(contentId, "Template");
74             }
75             
76             String JavaDoc result = this.getController().renderString(template, false);
77             produceResult(result);
78         }
79         catch (Exception JavaDoc e)
80         {
81             e.printStackTrace();
82             produceResult("");
83         }
84         
85         return EVAL_PAGE;
86     }
87
88     public void setTemplate(String JavaDoc template) throws JspException JavaDoc
89     {
90         this.contentId = null;
91         this.template = evaluateString("includeTag", "template", template);
92     }
93     
94     public void setContentId(String JavaDoc contentId) throws JspException JavaDoc
95     {
96         this.contentId = evaluateInteger("includeTag", "contentId", contentId);
97     }
98     
99     public void setRelationAttributeName(String JavaDoc relationAttributeName) throws JspException JavaDoc
100     {
101         this.contentId = null;
102         this.relationAttributeName = evaluateString("includeTag", "relationAttributeName", relationAttributeName);
103     }
104
105     public void setContentName(String JavaDoc contentName) throws JspException JavaDoc
106     {
107         this.contentId = null;
108         this.contentName = evaluateString("includeTag", "contentName", contentName);
109     }
110 }
111
Popular Tags