KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > workflowtool > function > PropertysetPopulator


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;
24
25 import java.util.Iterator JavaDoc;
26
27 import com.opensymphony.workflow.WorkflowException;
28
29 /**
30  *
31  */

32 public class PropertysetPopulator extends InfoglueFunction
33 {
34     /**
35      *
36      */

37     private static final String JavaDoc PREFIX_ARGUMENT = "prefix";
38
39     /**
40      *
41      */

42     private String JavaDoc prefix;
43
44     
45     
46     /**
47      *
48      */

49     public PropertysetPopulator()
50     {
51         super();
52     }
53
54     /**
55      *
56      */

57     protected void execute() throws WorkflowException {
58         cleanPropertySet();
59         populate();
60     }
61     
62     /**
63      *
64      */

65     private void populate() throws WorkflowException
66     {
67         for(final Iterator JavaDoc i = getParameters().keySet().iterator(); i.hasNext(); )
68         {
69             String JavaDoc key = i.next().toString();
70             if(key.startsWith(prefix))
71             {
72                 setPropertySetDataString(key, getRequestParameter(key));
73             }
74         }
75     }
76     
77     /**
78      * Method used for initializing the function; will be called before <code>execute</code> is called.
79      * <p><strong>Note</strong>! You must call <code>super.initialize()</code> first.</p>
80      *
81      * @throws WorkflowException if an error occurs during the initialization.
82      */

83     protected void initialize() throws WorkflowException
84     {
85         super.initialize();
86         prefix = getArgument(PREFIX_ARGUMENT);
87     }
88     
89     /**
90      *
91      */

92     private void cleanPropertySet() throws WorkflowException
93     {
94         removeFromPropertySet(prefix, true);
95     }
96 }
97
Popular Tags