KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > structuretool > actions > ViewListTemplateAction


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.cms.applications.structuretool.actions;
25
26 import java.util.ArrayList JavaDoc;
27 import java.util.HashMap JavaDoc;
28 import java.util.List JavaDoc;
29
30 import org.apache.log4j.Logger;
31 import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction;
32 import org.infoglue.cms.controllers.kernel.impl.simple.AvailableServiceBindingController;
33 import org.infoglue.cms.controllers.kernel.impl.simple.ServiceDefinitionController;
34 import org.infoglue.cms.entities.management.ServiceDefinitionVO;
35 import org.infoglue.cms.entities.structure.ServiceBindingVO;
36 import org.infoglue.cms.services.BaseService;
37 import org.infoglue.cms.util.ConstraintExceptionBuffer;
38
39 /**
40  * This action represents the CreateSiteNode Usecase.
41  */

42
43 public class ViewListTemplateAction extends InfoGlueAbstractAction
44 {
45     private final static Logger logger = Logger.getLogger(ViewListTemplateAction.class.getName());
46
47     private static final long serialVersionUID = 1L;
48
49     private Integer JavaDoc siteNodeVersionId;
50     private Integer JavaDoc repositoryId;
51     private Integer JavaDoc availableServiceBindingId;
52     private Integer JavaDoc serviceDefinitionId;
53     private Integer JavaDoc bindingTypeId;
54     private ConstraintExceptionBuffer ceb;
55     private Integer JavaDoc siteNodeId;
56     private ServiceDefinitionVO singleServiceDefinitionVO;
57     private String JavaDoc qualifyerXML;
58     
59     private ServiceBindingVO serviceBindingVO = null;
60    
61   
62     public ViewListTemplateAction()
63     {
64         this(new ServiceBindingVO());
65     }
66     
67     public ViewListTemplateAction(ServiceBindingVO serviceBindingVO)
68     {
69         this.serviceBindingVO = serviceBindingVO;
70         this.ceb = new ConstraintExceptionBuffer();
71     }
72
73     public void setSiteNodeVersionId(Integer JavaDoc siteNodeVersionId)
74     {
75         this.siteNodeVersionId = siteNodeVersionId;
76     }
77
78     public void setRepositoryId(Integer JavaDoc repositoryId)
79     {
80         this.repositoryId = repositoryId;
81     }
82
83     public void setAvailableServiceBindingId(Integer JavaDoc availableServiceBindingId)
84     {
85         this.availableServiceBindingId = availableServiceBindingId;
86     }
87
88     public void setServiceDefinitionId(Integer JavaDoc serviceDefinitionId)
89     {
90         this.serviceDefinitionId = serviceDefinitionId;
91     }
92
93     public void setBindingTypeId(Integer JavaDoc bindingTypeId)
94     {
95         this.serviceBindingVO.setBindingTypeId(bindingTypeId);
96     }
97
98     public Integer JavaDoc getSiteNodeVersionId()
99     {
100         return this.siteNodeVersionId;
101     }
102
103     public Integer JavaDoc getSiteNodeId()
104     {
105         return this.siteNodeId;
106     }
107         
108     public Integer JavaDoc getRepositoryId()
109     {
110         return this.repositoryId;
111     }
112
113     public Integer JavaDoc getAvailableServiceBindingId()
114     {
115         return this.availableServiceBindingId;
116     }
117     
118     public Integer JavaDoc getServiceDefinitionId()
119     {
120         return this.singleServiceDefinitionVO.getServiceDefinitionId();
121     }
122     
123     public Integer JavaDoc getBindingTypeId()
124     {
125         return this.bindingTypeId;
126     }
127
128     public ServiceDefinitionVO getSingleServiceDefinitionVO()
129     {
130         return this.singleServiceDefinitionVO;
131     }
132
133     public void setQualifyerXML(String JavaDoc qualifyerXML)
134     {
135         this.qualifyerXML = qualifyerXML;
136     }
137     
138     public String JavaDoc getQualifyerXML()
139     {
140         return this.qualifyerXML;
141     }
142      
143      
144     /**
145      * This method returns the contents that are of contentTypeDefinition "HTMLTemplate"
146      */

147     public List JavaDoc getTemplates()
148     {
149         HashMap JavaDoc arguments = new HashMap JavaDoc();
150         arguments.put("method", "selectListOnContentTypeName");
151         
152         List JavaDoc argumentList = new ArrayList JavaDoc();
153         HashMap JavaDoc argument = new HashMap JavaDoc();
154         argument.put("contentTypeDefinitionName", "HTMLTemplate");
155         argumentList.add(argument);
156         arguments.put("arguments", argumentList);
157         
158         return queryServiceDefinition(arguments, this.singleServiceDefinitionVO.getServiceDefinitionId());
159     }
160          
161      
162     /**
163      * This method instansiates and queries a serviceDefinition.
164      */

165     private List JavaDoc queryServiceDefinition(HashMap JavaDoc arguments, Integer JavaDoc serviceDefinitionId)
166     {
167         List JavaDoc response = null;
168         
169         try
170         {
171             ServiceDefinitionVO serviceDefinitionVO = ServiceDefinitionController.getController().getServiceDefinitionVOWithId(serviceDefinitionId);
172             String JavaDoc serviceDefinitionClassName = serviceDefinitionVO.getClassName();
173             logger.info("serviceDefinitionClassName:" + serviceDefinitionClassName);
174             
175             BaseService service = (BaseService)Class.forName(serviceDefinitionClassName).newInstance();
176             response = service.selectMatchingEntities(arguments);
177         }
178         catch(Exception JavaDoc e)
179         {
180             e.printStackTrace();
181         }
182         
183         return response;
184     }
185      
186      
187     /**
188      * This method creates the new serviceBinding.
189      */

190      
191     public String JavaDoc doExecute() throws Exception JavaDoc
192     {
193         List JavaDoc serviceDefinitions = AvailableServiceBindingController.getController().getServiceDefinitionVOList(this.availableServiceBindingId);
194         if(serviceDefinitions == null || serviceDefinitions.size() == 0)
195         {
196             logger.info("Returning error");
197             //throw new SystemException();
198
return "error";
199         }
200         else if(serviceDefinitions.size() == 1)
201         {
202             logger.info("Returning success");
203             this.singleServiceDefinitionVO = (ServiceDefinitionVO)serviceDefinitions.get(0);
204             return "success";
205         }
206         else
207         {
208             logger.info("Returning chooseService");
209             return "chooseService";
210         }
211     }
212
213         
214 }
215
Popular Tags