View Javadoc

1   /*
2    * Copyright 2002-2004 the original author or authors.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not 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.
15   */ 
16  
17  package net.sf.fridaymvc.sample.actions;
18  
19  import net.sf.fridaymvc.Parameters;
20  import net.sf.fridaymvc.RunData;
21  import net.sf.fridaymvc.actions.AbstractAction;
22  import net.sf.fridaymvc.sample.hibernate.HibernateRole;
23  import net.sf.fridaymvc.sample.hibernate.HibernateUser;
24  import net.sf.fridaymvc.sample.hibernate.dao.RoleDao;
25  import net.sf.fridaymvc.sample.hibernate.dao.UserDao;
26  
27  /***
28   * @author <a href="mailto:arto.pastinen@ofw.fi">Arto Pastinen</a>
29   * @version $Id: AddUser.java,v 1.1 2004/11/23 20:36:44 artsi Exp $
30   * 
31   * @@ net.sf.fridaymvc.metadata.commons.ActionAttribute(name="adduser")
32   * 
33   * @@ net.sf.fridaymvc.metadata.commons.AccessRoleAttribute(name="admin")
34   * 
35   * @@ net.sf.fridaymvc.metadata.commons.RegExpValidatorAttribute("username", "username", "//p{ASCII}{3,32}")
36   * @@ net.sf.fridaymvc.metadata.commons.RegExpValidatorAttribute("password", "password", "//p{ASCII}{3,32}")
37   * @@ net.sf.fridaymvc.metadata.commons.RegExpValidatorAttribute("firstname", "firstname", "//p{ASCII}{1,32}")
38   * @@ net.sf.fridaymvc.metadata.commons.RegExpValidatorAttribute("surname", "surname", "//p{ASCII}{1,32}")
39   * @@ net.sf.fridaymvc.metadata.commons.RegExpValidatorAttribute("email", "email", "//p{ASCII}+@//p{ASCII}+")
40   * @@ net.sf.fridaymvc.metadata.commons.RegExpValidatorAttribute("phone", "phone", "[0-9]{1,32}")
41   */
42  public class AddUser extends AbstractAction {
43  
44      /* (non-Javadoc)
45       * @see org.fridaymvc.actions.Action#service()
46       */
47      public void service() throws Exception {
48          try {
49  	        RoleDao rd = (RoleDao) RunData.getInstance().getBean("roleDao");
50  	        HibernateRole anonymous = rd.findRoleByName("anonymous");
51  	        
52  	        Parameters p = RunData.getInstance().getParameters();
53  	        
54  	        HibernateUser hu = new HibernateUser();
55  	        hu.setEmail(p.getString("email"));
56  	        hu.setFirstName(p.getString("firstname"));
57  	        hu.setPassword(p.getString("password"));
58  	        hu.setSurName(p.getString("surname"));
59  	        hu.setUsername(p.getString("username"));
60  	        hu.setPhoneNumber(p.getString("phone"));
61  	        hu.addRole(anonymous);
62  	        
63  	        UserDao ud = (UserDao) RunData.getInstance().getBean("userDao");
64  	        ud.save(hu);
65  	        setAttribute("success", new Boolean(true));
66          }
67          catch(Throwable t) {
68              t.printStackTrace();
69              setAttribute("failed", new Boolean(true));
70          }
71      }
72  }