KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > form > eventhandler > CTShowStructureHandler


1 package de.webman.form.eventhandler;
2
3 import com.teamkonzept.international.LanguageManager;
4 import com.teamkonzept.web.*;
5 import com.teamkonzept.webman.*;
6 import com.teamkonzept.webman.db.TKWebmanDBManager;
7 import com.teamkonzept.webman.mainint.*;
8 import com.teamkonzept.webman.mainint.db.*;
9 import com.teamkonzept.webman.mainint.db.queries.*;
10 import com.teamkonzept.webman.mainint.events.*;
11 import com.teamkonzept.lib.*;
12 import com.teamkonzept.field.*;
13 import com.teamkonzept.field.db.*;
14 import com.teamkonzept.db.*;
15 import de.webman.template.xslt.*;
16 import de.webman.form.Form;
17
18 /**
19  * Visualizes the form structure.
20  *
21  * @author $Author: uli $
22  * @version $Revision: 1.14 $
23  */

24 public class CTShowStructureHandler
25     extends DefaultEventHandler
26     implements ParameterTypes,
27                FrameConstants,
28                DatabaseDefaults
29 {
30
31     /**
32      * The singleton instance.
33      */

34     private static final CTShowStructureHandler INSTANCE = new CTShowStructureHandler();
35
36     /**
37      * Avoids outside intstantiation.
38      */

39     private CTShowStructureHandler()
40     {
41         // NOP
42
}
43
44     /**
45      * Returns the singleton instance.
46      *
47      * @return the singleton instance.
48      */

49     public static CTShowStructureHandler getInstance ()
50     {
51         return INSTANCE;
52     }
53
54     /**
55      * Handles the specified event.
56      *
57      * @param event the event to be handled.
58      * @throws TKException if any error occurred during event handling.
59      */

60     public void handleEvent (TKEvent event)
61         throws TKException
62     {
63         try
64         {
65             // Check event.
66
WebManEvent.checkEvent(event.getRemoteUser(), event.getName(), ContextConstants.CONTENT_TREE);
67
68             // Get form.
69
Form form = new Form(Integer.valueOf(event.getParameter(PARAMETER, "FORM_ID")));
70
71             TKBaseField field = CTUtils.getStructure(form.getTypeAsInt());
72             TKFormDBData data = new TKFormDBData(form.getIdentifierAsInt(), form.getTypeAsInt());
73             TKFormDBInterface.Get(data);
74             String JavaDoc classId = ((TKFieldTableData) data.field.firstElement()).field_type;
75             TKBaseField editField = TKFieldRegistry.getFieldFromDB(data);
76             Object JavaDoc editFieldData = editField.toData();
77
78             if (form.isFormFragment())
79             {
80                 TKFieldSwitchData switchFieldData = new TKFieldSwitchData(classId, classId, editFieldData);
81                 TKHashtable groupData = new TKHashtable(1);
82                 groupData.put(TKBaseField.SUB_TYPE_KEY, switchFieldData);
83                 editFieldData = groupData;
84             }
85
86             TemplateBasic template = event.getPrepTemplate("ct_structure.wsl");
87             DOMTemplateData dom = template.getDOMData();
88
89             dom.set("webman-form-type", LanguageManager.getText("general", CTUtils.getFormTypeDescription(form)));
90             dom.set("webman-form-id", LanguageManager.getText("general", "ID"));
91             dom.set("webman-form-name", LanguageManager.getText("general", "NAME"));
92             dom.set("webman-form-element", LanguageManager.getText("form", "FORM_ELEMENT"));
93             dom.set("webman-structure-view", LanguageManager.getText("form", "STRUCTURE_VIEW"));
94             dom.set("webman-show-structure", LanguageManager.getText("form", "SHOW_STRUCTURE"));
95             dom.set("webman-form-is-fragment", String.valueOf(form.isFormFragment()));
96             dom.set("webman-move-back", LanguageManager.getText("general", "BACK"));
97
98             field.fillIntoDOM(dom.getDocument(), dom.getRoot(), editFieldData);
99             event.finishTemplate(template);
100         }
101         catch (Throwable JavaDoc e)
102         {
103             // TO DO : Analyze Exception !
104
throw WebmanExceptionHandler.getException(e);
105         }
106     }
107
108     /**
109      * Checks wether this handler is capable to handle the specified event.
110      *
111      * @param event the event to be handled.
112      * @return <CODE>true</CODE> if this handler is capable to handle the
113      * specified event, otherwise <CODE>false</CODE>.
114      */

115     public boolean isHandler (TKEvent event)
116     {
117         return event.getName().equalsIgnoreCase("CT_SHOW_STRUCTURE") ;
118     }
119
120 }
121
Popular Tags