KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > contenttool > actions > SearchContentAction


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.contenttool.actions;
25
26 import java.util.List JavaDoc;
27
28 import org.apache.log4j.Logger;
29 import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction;
30 import org.infoglue.cms.controllers.kernel.impl.simple.ContentController;
31 import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController;
32 import org.infoglue.cms.controllers.kernel.impl.simple.LanguageController;
33 import org.infoglue.cms.controllers.kernel.impl.simple.SearchController;
34 import org.infoglue.cms.controllers.kernel.impl.simple.UserControllerProxy;
35 import org.infoglue.cms.entities.content.ContentVO;
36 import org.infoglue.cms.entities.management.LanguageVO;
37 import org.infoglue.cms.util.CmsPropertyHandler;
38
39 import webwork.action.Action;
40
41
42 /**
43  * Action class for usecase SearchContentAction. Was better before but due to wanted support for multiple
44  * databases and lack of time I had to cut down on functionality - sorry Magnus.
45  *
46  * @author Magnus Güvenal
47  * @author Mattias Bogeblad
48  */

49
50 public class SearchContentAction extends InfoGlueAbstractAction
51 {
52     private final static Logger logger = Logger.getLogger(SearchContentAction.class.getName());
53
54     private static final long serialVersionUID = 1L;
55     
56     private List JavaDoc contentVersionVOList;
57     private Integer JavaDoc repositoryId;
58     private String JavaDoc searchString;
59     private String JavaDoc name;
60     private Integer JavaDoc languageId;
61     private Integer JavaDoc contentTypeDefinitionId;
62     private Integer JavaDoc caseSensitive;
63     private Integer JavaDoc inverseSearch;
64     private Integer JavaDoc stateId;
65     private boolean advancedEnabled = false;
66     
67     private int maxRows = 0;
68     
69     //This is for advanced search
70
private List JavaDoc principals = null;
71     private List JavaDoc availableLanguages = null;
72     private List JavaDoc contentTypeDefinitions = null;
73     
74     //This is for replace
75
private String JavaDoc replaceString = null;
76     //private String[] contentVersionId = null;
77

78     public void setSearchString(String JavaDoc s)
79     {
80         this.searchString = s;
81         //this.searchString = s.replaceAll("'","");
82
}
83     
84     public String JavaDoc getSearchString()
85     {
86         return this.searchString;
87     }
88     
89     public void setMaxRows(int r)
90     {
91         this.maxRows = r;
92     }
93     
94     public int getMaxRows()
95     {
96         if(maxRows == 0)
97             maxRows=100;
98         
99         return this.maxRows;
100     }
101
102     public List JavaDoc getContentVersionVOList()
103     {
104         return this.contentVersionVOList;
105     }
106     
107     public String JavaDoc doExecute() throws Exception JavaDoc
108     {
109         int maxRows = 100;
110         try
111         {
112             maxRows = Integer.parseInt(CmsPropertyHandler.getMaxRows());
113         }
114         catch(Exception JavaDoc e)
115         {
116         }
117
118         contentVersionVOList = SearchController.getContentVersions(this.repositoryId, this.getSearchString(), maxRows, name, languageId, contentTypeDefinitionId, caseSensitive, stateId);
119         
120         this.principals = UserControllerProxy.getController().getAllUsers();
121         this.availableLanguages = LanguageController.getController().getLanguageVOList(this.repositoryId);
122         this.contentTypeDefinitions = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOList();
123
124         return "success";
125     }
126     
127     /**
128      * This method returns the advanced search interface to the user.
129      */

130
131     public String JavaDoc doInput() throws Exception JavaDoc
132     {
133         this.principals = UserControllerProxy.getController().getAllUsers();
134         this.availableLanguages = LanguageController.getController().getLanguageVOList(this.repositoryId);
135         this.contentTypeDefinitions = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOList();
136         
137         return Action.INPUT;
138     }
139     
140     
141     public ContentVO getContentVO(Integer JavaDoc contentId)
142     {
143         ContentVO contentVO = null;
144         
145         try
146         {
147             if(contentId != null)
148             {
149                 contentVO = ContentController.getContentController().getContentVOWithId(contentId);
150             }
151         }
152         catch(Exception JavaDoc e)
153         {
154             logger.error("An error occurred when we tried to get the content for this version:" + e.getMessage(), e);
155         }
156         
157         return contentVO;
158     }
159
160     public LanguageVO getLanguageVO(Integer JavaDoc languageId)
161     {
162         LanguageVO languageVO = null;
163         
164         try
165         {
166             if(languageId != null)
167             {
168                 languageVO = LanguageController.getController().getLanguageVOWithId(languageId);
169             }
170         }
171         catch(Exception JavaDoc e)
172         {
173             logger.error("An error occurred when we tried to get the language for this version:" + e.getMessage(), e);
174         }
175         
176         return languageVO;
177     }
178
179     public Integer JavaDoc getRepositoryId()
180     {
181         return repositoryId;
182     }
183
184     public void setRepositoryId(Integer JavaDoc integer)
185     {
186         repositoryId = integer;
187     }
188
189     public List JavaDoc getAvailableLanguages()
190     {
191         return availableLanguages;
192     }
193     
194     public List JavaDoc getContentTypeDefinitions()
195     {
196         return contentTypeDefinitions;
197     }
198     
199     public List JavaDoc getPrincipals()
200     {
201         return principals;
202     }
203  
204    /*
205     public String[] getContentVersionId()
206     {
207         return contentVersionId;
208     }
209     
210     public void setContentVersionIds(String[] contentVersionId)
211     {
212         this.contentVersionId = contentVersionId;
213     }
214     */

215     public String JavaDoc getReplaceString()
216     {
217         return replaceString;
218     }
219     
220     public void setReplaceString(String JavaDoc replaceString)
221     {
222         this.replaceString = replaceString;
223     }
224     
225     public Integer JavaDoc getCaseSensitive()
226     {
227         return caseSensitive;
228     }
229     
230     public void setCaseSensitive(Integer JavaDoc caseSensitive)
231     {
232         this.caseSensitive = caseSensitive;
233     }
234     
235     public Integer JavaDoc getContentTypeDefinitionId()
236     {
237         return contentTypeDefinitionId;
238     }
239     
240     public void setContentTypeDefinitionId(Integer JavaDoc contentTypeDefinitionId)
241     {
242         this.contentTypeDefinitionId = contentTypeDefinitionId;
243     }
244     
245     public Integer JavaDoc getInverseSearch()
246     {
247         return inverseSearch;
248     }
249     
250     public void setInverseSearch(Integer JavaDoc inverseSearch)
251     {
252         this.inverseSearch = inverseSearch;
253     }
254     
255     public Integer JavaDoc getLanguageId()
256     {
257         return languageId;
258     }
259     
260     public void setLanguageId(Integer JavaDoc languageId)
261     {
262         this.languageId = languageId;
263     }
264     
265     public String JavaDoc getName()
266     {
267         return name;
268     }
269     
270     public void setName(String JavaDoc name)
271     {
272         this.name = name;
273     }
274     
275     public Integer JavaDoc getStateId()
276     {
277         return stateId;
278     }
279     
280     public void setStateId(Integer JavaDoc stateId)
281     {
282         this.stateId = stateId;
283     }
284     
285     public boolean isAdvancedEnabled()
286     {
287         return advancedEnabled;
288     }
289     
290     public void setAdvancedEnabled(boolean advancedEnabled)
291     {
292         this.advancedEnabled = advancedEnabled;
293     }
294 }
295
Popular Tags