KickJava   Java API By Example, From Geeks To Geeks.

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


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 org.infoglue.cms.controllers.kernel.impl.simple.UserControllerProxy;
26 import org.infoglue.cms.entities.management.SystemUserVO;
27 import org.infoglue.cms.util.ConstraintExceptionBuffer;
28
29 import com.opensymphony.workflow.WorkflowException;
30
31 /**
32  *
33  */

34 public class UserErrorPopulator extends ErrorPopulator
35 {
36     /**
37      *
38      */

39     private static final String JavaDoc USER_ERROR_PROPERTYSET_PREFIX = ERROR_PROPERTYSET_PREFIX + "systemuser_";
40     
41     
42     /**
43      *
44      */

45     private SystemUserVO systemUserVO;
46
47     /**
48      *
49      */

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

58     protected void clean() throws WorkflowException
59     {
60         clean(USER_ERROR_PROPERTYSET_PREFIX);
61     }
62
63     protected void populate() throws WorkflowException
64     {
65         final ConstraintExceptionBuffer ceb = systemUserVO.validate();
66         populate(ceb);
67         if(ceb.isEmpty())
68         {
69             checkUniqueUserName();
70         }
71     }
72
73     /**
74      *
75      */

76     protected void checkUniqueUserName() throws WorkflowException
77     {
78         try
79         {
80             if(UserControllerProxy.getController().getUser(systemUserVO.getUserName()) != null)
81             {
82                 setPropertySetString(USER_ERROR_PROPERTYSET_PREFIX + UserProvider.USER_NAME_ATTRIBUTE, getStringManager().getString("302"));
83             }
84         }
85         catch(Exception JavaDoc e)
86         {
87             // ignore...
88
}
89     }
90     
91     /**
92      * Method used for initializing the function; will be called before <code>execute</code> is called.
93      * <p><strong>Note</strong>! You must call <code>super.initialize()</code> first.</p>
94      *
95      * @throws WorkflowException if an error occurs during the initialization.
96      */

97     protected void initialize() throws WorkflowException
98     {
99         super.initialize();
100         systemUserVO = (SystemUserVO) getParameter(UserProvider.USER_PARAMETER);
101     }
102 }
103
Popular Tags