KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > managementtool > actions > ViewGroupPropertiesAction


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.managementtool.actions;
25
26 import java.net.URLEncoder JavaDoc;
27 import java.util.Collections JavaDoc;
28 import java.util.List JavaDoc;
29
30 import org.apache.log4j.Logger;
31 import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController;
32 import org.infoglue.cms.controllers.kernel.impl.simple.GroupControllerProxy;
33 import org.infoglue.cms.controllers.kernel.impl.simple.GroupPropertiesController;
34 import org.infoglue.cms.entities.management.ContentTypeDefinitionVO;
35 import org.infoglue.cms.entities.management.GroupProperties;
36 import org.infoglue.cms.entities.management.GroupPropertiesVO;
37 import org.infoglue.cms.security.InfoGlueGroup;
38 import org.infoglue.cms.util.CmsPropertyHandler;
39
40 public class ViewGroupPropertiesAction extends ViewEntityPropertiesAction
41 {
42     private final static Logger logger = Logger.getLogger(ViewGroupPropertiesAction.class.getName());
43
44     private static final long serialVersionUID = 1L;
45
46     private String JavaDoc groupName;
47     private GroupPropertiesVO groupPropertiesVO;
48     private List JavaDoc groupPropertiesVOList;
49     
50     
51     public ViewGroupPropertiesAction()
52     {
53         this.setCurrentAction("ViewGroupProperties.action");
54         this.setUpdateAction("UpdateGroupProperties");
55         this.setCancelAction("ViewGroup.action");
56         this.setToolbarKey("tool.managementtool.viewGroupProperties.header");
57         this.setTitleKey("tool.managementtool.viewGroupProperties.header");
58         this.setArguments("");
59         this.setEntityName(GroupProperties.class.getName());
60     }
61         
62     /**
63      * Initializes all properties needed for the usecase.
64      * @param extranetGroupId
65      * @throws Exception
66      */

67
68     protected void initialize(String JavaDoc groupName) throws Exception JavaDoc
69     {
70         super.initialize();
71                 
72         logger.info("groupName:" + groupName);
73
74         List JavaDoc contentTypeDefinitionVOList = GroupPropertiesController.getController().getContentTypeDefinitionVOList(groupName);
75         if(contentTypeDefinitionVOList != null && contentTypeDefinitionVOList.size() > 0)
76             this.setContentTypeDefinitionVO((ContentTypeDefinitionVO)contentTypeDefinitionVOList.get(0));
77         
78         InfoGlueGroup infoGlueGroup = GroupControllerProxy.getController().getGroup(groupName);
79         groupPropertiesVOList = GroupPropertiesController.getController().getGroupPropertiesVOList(groupName, this.getLanguageId());
80         if(groupPropertiesVOList != null && groupPropertiesVOList.size() > 0)
81         {
82             this.groupPropertiesVO = (GroupPropertiesVO)groupPropertiesVOList.get(0);
83             this.setContentTypeDefinitionId(this.groupPropertiesVO.getContentTypeDefinitionId());
84         }
85         else
86         {
87             this.setContentTypeDefinitionId(this.getContentTypeDefinitionVO().getContentTypeDefinitionId());
88         }
89         
90         logger.info("this.groupPropertiesVO:" + this.groupPropertiesVO);
91         
92         this.setAttributes(ContentTypeDefinitionController.getController().getContentTypeAttributes(this.getContentTypeDefinitionVO().getSchemaValue()));
93     
94         logger.info("attributes:" + this.getContentTypeAttributes().size());
95         logger.info("availableLanguages:" + this.getAvailableLanguages().size());
96         
97     }
98
99     public String JavaDoc doExecute() throws Exception JavaDoc
100     {
101         this.initialize(getGroupName());
102         
103         return "success";
104     }
105
106
107     /**
108      * Returns a list of digital assets available for this content version.
109      */

110     
111     public List JavaDoc getDigitalAssets()
112     {
113         List JavaDoc digitalAssets = null;
114         
115         try
116         {
117             if(this.groupPropertiesVO != null && this.groupPropertiesVO.getId() != null)
118             {
119                 digitalAssets = GroupPropertiesController.getController().getDigitalAssetVOList(this.groupPropertiesVO.getId());
120             }
121         }
122         catch(Exception JavaDoc e)
123         {
124             logger.warn("We could not fetch the list of digitalAssets: " + e.getMessage(), e);
125         }
126         
127         return digitalAssets;
128     }
129
130     
131     
132     
133
134     /**
135      * Returns all current Category relationships for th specified attrbiute name
136      * @param attribute
137      * @return
138      */

139     public List JavaDoc getRelatedCategories(String JavaDoc attribute)
140     {
141         try
142         {
143             if(this.groupPropertiesVO != null && this.groupPropertiesVO.getId() != null)
144                 return getPropertiesCategoryController().findByPropertiesAttribute(attribute, GroupProperties.class.getName(), this.groupPropertiesVO.getId());
145         }
146         catch(Exception JavaDoc e)
147         {
148             logger.warn("We could not fetch the list of defined category keys: " + e.getMessage(), e);
149         }
150
151         return Collections.EMPTY_LIST;
152     }
153
154     
155     public String JavaDoc getXML()
156     {
157         return (this.groupPropertiesVO == null) ? null : this.groupPropertiesVO.getValue();
158     }
159
160     
161     public String JavaDoc getGroupName()
162     {
163         return groupName;
164     }
165
166     public GroupPropertiesVO getGroupPropertiesVO()
167     {
168         return groupPropertiesVO;
169     }
170
171     public List JavaDoc getGroupPropertiesVOList()
172     {
173         return groupPropertiesVOList;
174     }
175
176     public void setGroupName(String JavaDoc groupName)
177     {
178         this.groupName = groupName;
179         this.setOwnerEntityId(groupName);
180     }
181     
182     public Integer JavaDoc getEntityId()
183     {
184         return this.groupPropertiesVO.getId();
185     }
186     
187     public void setOwnerEntityId(String JavaDoc ownerEntityId)
188     {
189         super.setOwnerEntityId(ownerEntityId);
190         this.groupName = ownerEntityId;
191     }
192      
193     public String JavaDoc getReturnAddress() throws Exception JavaDoc
194     {
195         String JavaDoc URIEncoding = CmsPropertyHandler.getURIEncoding();
196         return this.getCurrentAction() + "?groupName=" + URLEncoder.encode(this.groupName, URIEncoding) + "&languageId=" + this.getLanguageId();
197     }
198
199     public String JavaDoc getCancelAddress() throws Exception JavaDoc
200     {
201         String JavaDoc URIEncoding = CmsPropertyHandler.getURIEncoding();
202         return this.getCancelAction() + "?groupName=" + URLEncoder.encode(this.groupName, URIEncoding);
203     }
204
205 }
206
Popular Tags