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 24 public class CTShowStructureHandler 25 extends DefaultEventHandler 26 implements ParameterTypes, 27 FrameConstants, 28 DatabaseDefaults 29 { 30 31 34 private static final CTShowStructureHandler INSTANCE = new CTShowStructureHandler(); 35 36 39 private CTShowStructureHandler() 40 { 41 } 43 44 49 public static CTShowStructureHandler getInstance () 50 { 51 return INSTANCE; 52 } 53 54 60 public void handleEvent (TKEvent event) 61 throws TKException 62 { 63 try 64 { 65 WebManEvent.checkEvent(event.getRemoteUser(), event.getName(), ContextConstants.CONTENT_TREE); 67 68 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 classId = ((TKFieldTableData) data.field.firstElement()).field_type; 75 TKBaseField editField = TKFieldRegistry.getFieldFromDB(data); 76 Object 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 e) 102 { 103 throw WebmanExceptionHandler.getException(e); 105 } 106 } 107 108 115 public boolean isHandler (TKEvent event) 116 { 117 return event.getName().equalsIgnoreCase("CT_SHOW_STRUCTURE") ; 118 } 119 120 } 121 | Popular Tags |