KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > ui > authoring > struts > formbeans > WebsiteFormEx


1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */

18 /*
19  * Created on Feb 14, 2004
20  */

21 package org.apache.roller.ui.authoring.struts.formbeans;
22
23 import java.sql.Timestamp JavaDoc;
24 import java.util.Date JavaDoc;
25 import org.apache.commons.lang.StringUtils;
26 import org.apache.roller.RollerException;
27 import org.apache.roller.model.RollerFactory;
28 import org.apache.roller.model.WeblogManager;
29 import org.apache.roller.pojos.WeblogCategoryData;
30 import org.apache.roller.pojos.WebsiteData;
31 import org.apache.roller.ui.authoring.struts.forms.WebsiteForm;
32 import org.apache.roller.util.DateUtil;
33
34 /**
35  * @struts.form name="websiteFormEx"
36  */

37 public class WebsiteFormEx extends WebsiteForm {
38     private String JavaDoc bloggerCategoryId;
39     private String JavaDoc defaultCategoryId;
40     private String JavaDoc[] defaultPluginsArray;
41     private Boolean JavaDoc applyCommentDefaults = Boolean.FALSE;
42     
43     /**
44      * @return Returns the bloggerCategoryId.
45      */

46     public String JavaDoc getBloggerCategoryId() {
47         return bloggerCategoryId;
48     }
49     
50     /**
51      * @param bloggerCategoryId The bloggerCategoryId to set.
52      */

53     public void setBloggerCategoryId(String JavaDoc bloggerCategoryId) {
54         this.bloggerCategoryId = bloggerCategoryId;
55     }
56     
57     /**
58      * @return Returns the defeaultCategoryId.
59      */

60     public String JavaDoc getDefaultCategoryId() {
61         return defaultCategoryId;
62     }
63     
64     /**
65      * @param defeaultCategoryId The defeaultCategoryId to set.
66      */

67     public void setDefaultCategoryId(String JavaDoc defeaultCategoryId) {
68         this.defaultCategoryId = defeaultCategoryId;
69     }
70     
71     /**
72      * @return
73      */

74     public String JavaDoc[] getDefaultPluginsArray() {
75         return defaultPluginsArray;
76     }
77     
78     /**
79      * @param strings
80      */

81     public void setDefaultPluginsArray(String JavaDoc[] strings) {
82         defaultPluginsArray = strings;
83     }
84     
85     public Boolean JavaDoc getApplyCommentDefaults() {
86         return applyCommentDefaults;
87     }
88     
89     public void setApplyCommentDefaults(Boolean JavaDoc applyCommentDefaults) {
90         this.applyCommentDefaults = applyCommentDefaults;
91     }
92     
93     /**
94      * @see org.apache.roller.ui.authoring.struts.forms.WebsiteForm#copyFrom(org.apache.roller.pojos.WebsiteData)
95      */

96     public void copyFrom(WebsiteData dataHolder, java.util.Locale JavaDoc locale) throws RollerException {
97         super.copyFrom(dataHolder, locale);
98         if (dataHolder.getDefaultCategory() != null) {
99             defaultCategoryId = dataHolder.getDefaultCategory().getId();
100         }
101         if (dataHolder.getBloggerCategory() != null) {
102             bloggerCategoryId = dataHolder.getBloggerCategory().getId();
103         }
104         if (dataHolder.getDefaultPlugins() != null) {
105             defaultPluginsArray = StringUtils.split(dataHolder.getDefaultPlugins(), ",");
106         }
107     }
108     
109     /**
110      * Utility to convert from String to Date.
111      */

112     public void setDateCreatedAsString(String JavaDoc value) {
113         if ( value == null || value.trim().length() == 0 ) {
114             this.setDateCreated(null);
115         } else {
116             try {
117                 Date JavaDoc pubDate = DateUtil.parse(
118                         value, DateUtil.friendlyTimestampFormat());
119                 this.setDateCreated(new Timestamp JavaDoc(pubDate.getTime()));
120             } catch (java.text.ParseException JavaDoc pe) {
121                 // wasn't properly formatted
122
throw new RuntimeException JavaDoc("improperly formatted date", pe);
123             }
124         }
125     }
126     
127     /**
128      * Returns a formatted pubTime string.
129      */

130     public String JavaDoc getDateCreatedAsString() {
131         return DateUtil.friendlyTimestamp(this.getDateCreated());
132     }
133     
134     /**
135      * @see org.apache.roller.ui.authoring.struts.forms.WebsiteForm#copyTo(org.apache.roller.pojos.WebsiteData)
136      */

137     public void copyTo(WebsiteData dataHolder, java.util.Locale JavaDoc locale) throws RollerException {
138         Date JavaDoc dateCreated = dataHolder.getDateCreated();
139         
140         super.copyTo(dataHolder, locale);
141         
142         dataHolder.setDateCreated(dateCreated);
143         dataHolder.setDefaultPlugins( StringUtils.join(this.defaultPluginsArray,",") );
144         
145         // checkboxes return no value when not checked
146
if (getAllowComments() == null) {
147             dataHolder.setAllowComments(Boolean.FALSE);
148         }
149         if (getEmailComments() == null) {
150             dataHolder.setEmailComments(Boolean.FALSE);
151         }
152         if (getEnableBloggerApi() == null) {
153             dataHolder.setEnableBloggerApi(Boolean.FALSE);
154         }
155         if (getDefaultAllowComments() == null) {
156             dataHolder.setDefaultAllowComments(Boolean.FALSE);
157         }
158         if (getModerateComments() == null) {
159             dataHolder.setModerateComments(Boolean.FALSE);
160         }
161         if (this.getActive() == null) {
162             dataHolder.setActive(Boolean.FALSE);
163         }
164         
165         WeblogManager wmgr = RollerFactory.getRoller().getWeblogManager();
166         
167         if (getDefaultCategoryId() != null) {
168             WeblogCategoryData defaultCat =
169                 wmgr.getWeblogCategory(getDefaultCategoryId());
170             dataHolder.setDefaultCategory(defaultCat);
171         }
172         
173         if (getBloggerCategoryId() != null) {
174             WeblogCategoryData bloggerCat =
175                 wmgr.getWeblogCategory(getBloggerCategoryId());
176             dataHolder.setBloggerCategory(bloggerCat);
177         }
178     }
179     
180     public void reset(
181             org.apache.struts.action.ActionMapping mapping,
182             javax.servlet.ServletRequest JavaDoc request) {
183         doReset(mapping, request);
184         defaultPluginsArray = new String JavaDoc[0];
185         applyCommentDefaults = Boolean.FALSE;
186     }
187     
188     public void reset(
189             org.apache.struts.action.ActionMapping mapping,
190             javax.servlet.http.HttpServletRequest JavaDoc request) {
191         doReset(mapping, request);
192         defaultPluginsArray = new String JavaDoc[0];
193         applyCommentDefaults = Boolean.FALSE;
194     }
195     
196 }
197
Popular Tags