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 28 public class STArrangeStartHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 29 { 30 private STArrangeStartHandler() 31 {} 32 33 private static STArrangeStartHandler instance = new STArrangeStartHandler(); 34 35 public static STArrangeStartHandler getInstance() 36 { 37 return instance; 38 } 39 40 public void handleEvent(TKEvent evt) throws TKException 41 { 42 try 43 { 44 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE); 45 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "st_arrange.tmpl" ); 46 47 TKVector openNodes = new TKVector(); 48 openNodes.put( 0, "-1" ); TKStandardIterator iterator1 = new TKStandardIterator( openNodes, t.getListIterator(), "OPEN_NODES", "OPEN_NODES" ); 50 t.setListIterator( iterator1 ); 51 52 TKQuery q = TKDBManager.newQuery(TKDBSiteTreeGetOpen.class); 53 q.setQueryParams( "NODE_ID", TKNull.NULL ); 54 q.execute(); 55 TKDBResult tree = new TKDBResult( q.fetchResultSet() ); 56 57 int maxDepth = TreeUtils.getMaxDepth( tree, "SITE" ); 58 TKOpenSiteTreeIterator iterator = new TKOpenSiteTreeIterator( tree, t.getListIterator(), "ST_NODE_LIST", maxDepth ); 59 t.set( "IS_TOP", "1" ); 60 t.setListIterator( iterator ); 61 62 t.set( "MAXDEPTH_PLUS_ONE", Integer.toString(maxDepth+1)); 63 t.set( "MAXDEPTH_PLUS_TWO", Integer.toString(maxDepth+2)); 64 evt.finishTemplate(t); 65 } 66 catch (Throwable e) 67 { 68 throw WebmanExceptionHandler.getException(e); 70 } 71 } 72 73 public boolean isHandler(TKEvent evt) 74 { 75 return evt.getName().equalsIgnoreCase("ST_ARRANGE_START"); 76 } 77 } 78 | Popular Tags |