1 package de.webman.sitetree.eventhandler; 2 3 import java.sql.ResultSet ; 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.sitetree.eventhandler.SiteTreeUtils; 16 17 23 public class STEditStructureDocHandler 24 extends DefaultEventHandler 25 implements ParameterTypes, 26 FrameConstants, 27 DatabaseDefaults 28 { 29 30 33 private static final STEditStructureDocHandler INSTANCE = new STEditStructureDocHandler(); 34 35 38 private STEditStructureDocHandler () 39 { 40 } 42 43 48 public static STEditStructureDocHandler getInstance () 49 { 50 return INSTANCE; 51 } 52 53 59 public void handleEvent (TKEvent event) 60 throws TKException 61 { 62 try 63 { 64 WebManEvent.checkEvent(event.getRemoteUser(), event.getName(), ContextConstants.SITE_TREE); 65 66 Integer siteId = new Integer (event.getParameter(PARAMETER, "SITE_NODE_ID")); 67 Integer formId = new Integer (event.getParameter(PARAMETER, "FORM_ID")); 68 Integer contentId = null; 69 70 String content = event.getParameter(PARAMETER, "CONTENT_ID"); 71 72 if (content == null || content.length() == 0) 73 { 74 TKQuery query = TKDBManager.newQuery(TKDBStructContentGetContentID.class); 75 query.setQueryParams("SITE_NODE_ID", siteId); 76 query.setQueryParams("FORM_ID", formId); 77 query.execute(); 78 79 ResultSet result = query.fetchResultSet(); 80 81 if (result.next()) 82 { 83 contentId = new Integer (result.getInt("CONTENT_ID")); 84 } 85 } 86 else 87 { 88 contentId = new Integer (content); 89 } 90 91 TKHTMLTemplate t = event.getPrepHTMLTemplate("st_fields.tmpl"); 92 TKFormDBData data = new TKFormDBData(formId.intValue(), STRUCTURE_FORM_TYPE); 93 TKFormDBInterface.Get(data); 94 TKBaseField field = TKFieldRegistry.getFieldFromDB(data); 95 TKContentDBData conDB = new TKContentDBData(); 96 conDB.content_id = contentId.intValue(); 97 TKContentDBInterface.Get(conDB); 98 Object contentData = field.getDataFromDB(conDB); 99 field.fillIntoTemplate(t, contentData, ""); 100 t.set("FORM_ID", formId); 101 t.set("CONTENT_ID", contentId); 102 t.set("UPBASE", SiteTreeUtils.getCurrentPath(siteId)); 103 SiteTreeUtils.keepSTContext(event, t); 104 WebManEvent.fillEventsIntoTemplate(event.getRemoteUser(), t, SITE_TREE); 105 event.finishTemplate(t); 106 } 107 catch (Throwable e) 108 { 109 throw WebmanExceptionHandler.getException(e); 111 } 112 } 113 114 121 public boolean isHandler (TKEvent event) 122 { 123 return event.getName().equalsIgnoreCase("ST_EDIT_STRUC_DOC"); 124 } 125 126 } 127 | Popular Tags |