KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > forum > actions > areagroup > Edit


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 /**
27  *
28  */

29 package net.killingar.forum.actions.areagroup;
30
31 import net.killingar.forum.actions.Utils;
32 import net.killingar.forum.internal.AreaGroup;
33
34 import java.util.ArrayList JavaDoc;
35 import java.util.List JavaDoc;
36
37 public class Edit extends net.killingar.forum.actions.area.ActionAreaSupport
38 {
39     // Private --------------------------------------------------------
40

41     // Attributes -----------------------------------------------------
42
AreaGroup areagroup = new AreaGroup();
43   boolean confirmed = false;
44     List areaGroups = new ArrayList JavaDoc();
45
46     // Methods --------------------------------------------------------
47

48     // Types ----------------------------------------------------------
49

50     // Setters --------------------------------------------------------
51
public void setAreaGroupID(long in) { areagroup.ID = in; }
52     public void setConfirmed(boolean in) {confirmed = in; }
53
54     // Getters --------------------------------------------------------
55
public AreaGroup getAreaGroup() { return areagroup; }
56     public List getAreaGroups() { return areaGroups; }
57
58   // Implementation -------------------------------------------------
59
protected String JavaDoc doExecute()
60     {
61         try
62         {
63             if (!confirmed)
64             {
65                 areagroup = areamgr.getAreaGroup(areagroup.ID);
66                 AreaGroup[] areaGroups = areamgr.getAreaGroups();
67                 long indents[] = new long[areaGroups.length];
68         Utils.buildFlatTree(areaGroups, indents);
69
70                 for (int i = 0; i < areaGroups.length; i++)
71                     this.areaGroups.add(new net.killingar.forum.actions.areagroup.List.AreaGroupData(areaGroups[i], false, indents[i])); // FIXME: second argument should be read/unread status
72

73                 return INPUT;
74             }
75             else
76             {
77                 AreaGroup a = areamgr.getAreaGroup(areagroup.ID);
78                 if (a == null)
79                 {
80                     throw new Exception JavaDoc("error getting areagroup "+areagroup.ID);
81                 }
82                 a.parentID = areagroup.parentID;
83         a.name = areagroup.name;
84
85                 areamgr.changeAreaGroup(a);
86                 areagroup = a;
87
88                 return SUCCESS;
89             }
90         }
91         catch (Exception JavaDoc e)
92         {
93             e.printStackTrace();
94             addErrorMessage("executing "+getClass().toString()+" action failed, exception thrown: "+e.toString());
95             return ERROR;
96         }
97     }
98 }
99
Popular Tags