View Javadoc

1   // Created on 16.12.2003
2   package com.pnpconsult.zeiterfassung.actions.admin;
3   
4   import java.io.Serializable;
5   import java.text.ParseException;
6   
7   import javax.servlet.http.HttpServletRequest;
8   
9   import org.apache.commons.lang.StringUtils;
10  import org.apache.struts.action.ActionErrors;
11  import org.apache.struts.action.ActionMapping;
12  
13  import com.pnpconsult.zeiterfassung.actions.EditForm;
14  import com.pnpconsult.zeiterfassung.model.Activity;
15  import com.pnpconsult.zeiterfassung.util.ActionErrorUtils;
16  import com.pnpconsult.zeiterfassung.util.NumberUtils;
17  import com.pnpconsult.zeiterfassung.util.SimpleExpressionParser;
18  
19  /***
20   * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
21   * @version $Id: EditActivityForm.java,v 1.4 2004/04/01 08:30:45 powerpete Exp $
22   * 
23   * @struts.form 
24   *      name="editActivityForm"
25   */
26  public class EditActivityForm extends EditForm
27  {
28      private float billingFactor = 1;
29      private long id;
30      private String name;
31  	private boolean billingFactorFormatError;
32      
33  	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
34  	{
35          ActionErrors errors = new ActionErrors();
36          if (StringUtils.isBlank(name))
37          {
38              ActionErrorUtils.add(errors, "errors.secure.admin.activity.name");
39          }
40          if (billingFactorFormatError)
41          {
42              ActionErrorUtils.add(errors, "errors.secure.admin.activity.billingFactor_format_error");
43          }
44          return errors;
45  	}
46      
47      /***
48       * @see com.pnpconsult.zeiterfassung.actions.EditForm#writeToDataObject(java.lang.Object)
49       */
50      protected void writeToDataObject(Object obj)
51      {
52          Activity activity = (Activity) obj;
53          activity.setBillingFactor(billingFactor);
54          activity.setName(name);
55      }
56  
57      /***
58       * @see com.pnpconsult.zeiterfassung.actions.EditForm#readFromDataObject(java.lang.Object)
59       */
60      protected void readFromDataObject(Object obj)
61      {
62          Activity activity = (Activity) obj;
63          billingFactor = activity.getBillingFactor();
64          name = activity.getName();
65      }
66  
67      /***
68       * @see com.pnpconsult.zeiterfassung.actions.EditForm#newDataObject()
69       */
70      protected Object newDataObject()
71      {
72          return new Activity();
73      }
74  
75      /***
76       * @see com.pnpconsult.zeiterfassung.actions.EditForm#dataObjectType()
77       */
78      protected Class dataObjectType()
79      {
80          return Activity.class;
81      }
82  
83      /***
84       * @see com.pnpconsult.zeiterfassung.actions.EditForm#dataObjectKey()
85       */
86      protected Serializable dataObjectKey()
87      {
88          return new Long(id);
89      }
90  
91      public String getBillingFactor()
92      {
93          return NumberUtils.formatLong(billingFactor);
94      }
95  
96      public void setBillingFactor(String str)
97      {
98          try
99          {
100             billingFactor = (float) SimpleExpressionParser.parse(str);
101         }
102         catch (ParseException e)
103         {
104             billingFactorFormatError = true;
105         }
106     }
107 
108     public long getId()
109     {
110         return id;
111     }
112 
113     public void setId(long id)
114     {
115         this.id = id;
116     }
117 
118     public String getName()
119     {
120         return name;
121     }
122 
123     public void setName(String name)
124     {
125         this.name = name;
126     }
127 
128 }