KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > workflowtool > function > defaultvalue > ExpireDatePopulator


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 package org.infoglue.cms.applications.workflowtool.function.defaultvalue;
24
25 import java.util.Calendar JavaDoc;
26
27 import org.apache.log4j.Logger;
28 import org.infoglue.cms.applications.workflowtool.function.ContentPopulator;
29 import org.infoglue.cms.applications.workflowtool.function.UserCreator;
30 import org.infoglue.cms.applications.workflowtool.util.ContentValues;
31
32 import com.opensymphony.workflow.WorkflowException;
33
34 public class ExpireDatePopulator extends DatePopulator
35 {
36     private final static Logger logger = Logger.getLogger(ExpireDatePopulator.class.getName());
37
38     /**
39      *
40      */

41     private static final String JavaDoc YEARS_AHEAD_ARGUMENT = "yearsAhead";
42     
43     /**
44      *
45      */

46     private static final int DEFAULT_YEARS_AHEAD = 50;
47     
48     /**
49      *
50      */

51     private int yearsAhead = DEFAULT_YEARS_AHEAD;
52     
53     
54     
55     /**
56      *
57      */

58     public ExpireDatePopulator()
59     {
60         super();
61     }
62     
63     /**
64      *
65      */

66     protected void populate() throws WorkflowException
67     {
68         final Calendar JavaDoc calendar = Calendar.getInstance();
69         calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + yearsAhead);
70         super.populate(ContentPopulator.CONTENT_PROPERTYSET_PREFIX + ContentValues.EXPIRE_DATE_TIME, calendar.getTime());
71     }
72     
73     /**
74      *
75      */

76     protected void populate(final String JavaDoc name) throws WorkflowException
77     {
78         populate();
79     }
80
81     /**
82      *
83      */

84     protected void populate(final String JavaDoc name, final String JavaDoc value) throws WorkflowException
85     {
86         populate();
87     }
88
89     /**
90      * Method used for initializing the function; will be called before <code>execute</code> is called.
91      * <p><strong>Note</strong>! You must call <code>super.initialize()</code> first.</p>
92      *
93      * @throws WorkflowException if an error occurs during the initialization.
94      */

95     protected void initialize() throws WorkflowException
96     {
97         super.initialize();
98         initializeYearsAhead();
99     }
100     
101     /**
102      *
103      */

104     private void initializeYearsAhead()
105     {
106         if(argumentExists(YEARS_AHEAD_ARGUMENT))
107         {
108             try
109             {
110                 int temporary = Integer.parseInt(getArgument(YEARS_AHEAD_ARGUMENT).toString());
111                 if(temporary > 0)
112                 {
113                     yearsAhead = temporary;
114                     logger.debug("Using [" + temporary + "] as years ahead value.");
115                 }
116                 else
117                     logger.warn("Illegal years ahead argument [" + temporary + "].");
118                         
119             }
120             catch(Exception JavaDoc e)
121             {
122                 logger.warn("Illegal years ahead argument [" + e.getMessage() + "].");
123             }
124         }
125         else
126         {
127             logger.debug("Using default years ahead value.");
128         }
129     }
130 }
131
Popular Tags