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 import com.teamkonzept.publishing.markups.*; 17 18 import java.sql.*; 19 import java.io.*; 20 import java.util.*; 21 22 32 public class STEditNodeHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 33 { 34 private STEditNodeHandler() 35 {} 36 37 private static STEditNodeHandler instance = new STEditNodeHandler(); 38 39 public static STEditNodeHandler getInstance() 40 { 41 return instance; 42 } 43 44 public void handleEvent(TKEvent evt) throws TKException 45 { 46 try 47 { 48 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE); 49 String str = evt.getParameter( PARAMETER, "ST_EDIT_NODE" ); 50 int lastPos = 0; 51 int nextPos; 52 53 nextPos = str.indexOf( ',', lastPos ); 54 String sNodeId = str.substring( lastPos, nextPos ); 55 lastPos = nextPos+1; 56 57 nextPos = str.indexOf( ',', lastPos ); 58 String sNodeType = str.substring( lastPos, nextPos ); 59 lastPos = nextPos+1; 60 61 nextPos = str.indexOf( ',', lastPos ); 62 String pgcNode = str.substring( lastPos, nextPos ); 63 lastPos = nextPos+1; 64 65 nextPos = str.indexOf( ',', lastPos ); 66 String pgSelType = str.substring( lastPos, nextPos ); 67 lastPos = nextPos+1; 68 69 nextPos = str.indexOf( ',', lastPos ); 70 String pgSelId = str.substring( lastPos, nextPos ); 71 lastPos = nextPos+1; 72 73 nextPos = str.indexOf( ',', lastPos ); 74 String sNodeShortName = str.substring( lastPos, nextPos ); 75 lastPos = nextPos+1; 76 77 String sName = str.substring( lastPos ); 78 79 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_editNode.tmpl" ); 80 SiteTreeUtils.prepareNodeParams( t, sNodeType ); 81 82 if( !pgSelId.equals( "" ) ) { 83 TKQuery q = TKDBManager.newQuery(TKDBContentSelectionGet.class); 84 q.setQueryParams( "SELECTION_ID", new Integer ( pgSelId ) ); 85 q.execute(); 86 ResultSet rs = q.fetchResultSet(); 87 if( rs.next() ) { 88 pgSelType = rs.getString( "SELECTION_TYPE" ); 89 } 90 } 91 TreeUtils.keepOpenNodes( evt, t ); 92 t.set( "SITE_NODE_ID", sNodeId ); 93 t.set( "SITE_NODE_TYPE", sNodeType ); 94 t.set( "SITE_NODE_SHORTNAME", sNodeShortName ); 95 t.set( "SITE_NODE_NAME", sName ); 96 t.set( "SELECTION_ID", pgSelId ); 97 t.set( "THE_CONTENT_NODE_ID", pgcNode ); 98 t.set( "THE_SELECTION_TYPE", pgSelType ); 99 100 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, SITE_TREE); 101 evt.finishTemplate(t); 102 } 103 catch (Throwable e) 104 { 105 throw WebmanExceptionHandler.getException(e); 107 } 108 } 109 110 public boolean isHandler(TKEvent evt) 111 { 112 return evt.getName().equalsIgnoreCase("ST_EDIT_NODE"); 113 } 114 } 115 | Popular Tags |