1 package de.webman.sitetree.eventhandler; 2 3 import com.teamkonzept.web.*; 4 import com.teamkonzept.webman.*; 5 import com.teamkonzept.webman.db.TKWebmanDBManager; 6 import com.teamkonzept.webman.mainint.*; 7 import com.teamkonzept.webman.mainint.db.*; 8 9 10 import com.teamkonzept.webman.mainint.db.queries.*; 11 import com.teamkonzept.webman.mainint.events.*; 12 import com.teamkonzept.lib.*; 13 import com.teamkonzept.field.*; 14 import com.teamkonzept.field.db.*; 15 import com.teamkonzept.db.*; 16 17 import java.sql.*; 18 import java.io.*; 19 import java.util.*; 20 21 22 28 public class STEditHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 29 { 30 31 private STEditHandler() 32 {} 33 34 35 private static STEditHandler instance = new STEditHandler(); 36 37 public static STEditHandler getInstance() 38 { 39 return instance; 40 } 41 42 public void handleEvent(TKEvent evt) throws TKException 43 { 44 try 45 { 46 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE); 47 String sNodeId = evt.getParameter( PARAMETER, "SITE_NODE_ID" ); 48 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_docList.tmpl" ); 49 50 TKQuery q = TKDBManager.newQuery(TKDBStructContGet.class); 51 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 52 q.execute(); 53 ResultSet rs = q.fetchResultSet(); 54 TKDBTemplate.prepareListTemplate( rs, t, "STRUCTURE_DOCUMENTS_PER_NODE" ); 55 56 q = TKDBManager.newQuery(TKDBStructContGetFreeForm.class); 57 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 58 q.execute(); 59 TKDBResult dbrs = new TKDBResult( q.fetchResultSet() ); 60 if( dbrs.size() >= 1 ) { 61 TKDBTemplate.prepareListTemplate( dbrs, t, "ST_FREE_STRUCFORM_LIST" ); 62 t.set( "ST_FREEFORMS", "1" ); 63 } 64 65 q = TKDBManager.newQuery(TKDBPresentationGet.class); 66 q.execute(); 67 rs = q.fetchResultSet(); 68 TKDBTemplate.prepareListTemplate( rs, t, "ST_PRESENTATION_LIST" ); 69 70 q = TKDBManager.newQuery(TKDBSiteDocGetHeretable.class); 71 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 72 q.execute(); 73 dbrs = new TKDBResult( q.fetchResultSet() ); 74 if( dbrs.size() >= 1 ) { 75 TKDBTemplate.prepareListTemplate( dbrs, t, "HERETED_DOCUMENTS_PER_NODE" ); 76 t.set( "ST_HER_DOCS", "1" ); 77 } 78 79 q = TKDBManager.newQuery(TKDBSiteDocGet.class); 80 q.setQueryParams( "SITE_NODE_ID", new Integer (sNodeId) ); 81 q.execute(); 82 dbrs = new TKDBResult( q.fetchResultSet() ); 83 if( dbrs.size() >= 1 ) { 84 TKDBTemplate.prepareListTemplate( dbrs, t, "DOCUMENTS_PER_NODE" ); 85 t.set( "ST_OWN_DOCS", "1" ); 86 } 87 88 t.set( evt.getParams().getClass( PARAMETER ) ); 89 t.set( "NEW_SITE_NODE_ID", sNodeId ); 90 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE); 91 evt.finishTemplate(t); 92 } 93 catch (Throwable e) 94 { 95 throw WebmanExceptionHandler.getException(e); 97 } 98 } 99 100 public boolean isHandler(TKEvent evt) 101 { 102 return evt.getName().equalsIgnoreCase("ST_EDIT"); 103 } 104 } 105 | Popular Tags |