1 package de.webman.duplication.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.db.*; 14 15 import java.sql.*; 16 import java.io.*; 17 18 import com.teamkonzept.webman.mainint.*; 19 20 21 28 public class DUChooseStartHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 29 { 30 private DUChooseStartHandler() 31 {} 32 33 private static DUChooseStartHandler instance = new DUChooseStartHandler(); 34 35 public static DUChooseStartHandler getInstance() 36 { 37 return instance; 38 } 39 40 public void handleEvent(TKEvent evt) throws TKException 41 { 42 try{ 43 TKParams params = evt.getParams(); 44 45 46 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "du_choose.tmpl" ); 47 if(params.getClass("PAR") != null){ 48 t.set(params.getClass("PAR")); 49 } 50 51 52 String siteTreeFlag = (params.get("PAR", "SITE_TREE_FLAG")) == null? "OFF":params.get("PAR", "SITE_TREE_FLAG") ; 53 String contentTreeFlag = (params.get( "PAR", "CONTENT_FLAG" ))==null?"OFF":params.get( "PAR", "CONTENT_FLAG" ); 54 55 if(!contentTreeFlag.equals("ON") && !siteTreeFlag.equals("ON")) 56 { 57 Utils.doErrorSide(evt); 58 return; 59 } 60 61 t.set("SITE_TREE_FLAG", siteTreeFlag); 62 t.set("CONTENT_FLAG", contentTreeFlag); 63 64 TKVector openCTNodes = new TKVector(); 65 openCTNodes.put( 0, "-1" ); TKStandardIterator iteratorCT1 = new TKStandardIterator( openCTNodes, t.getListIterator(), "CT_OPEN_NODES", "CT_OPEN_NODES" ); 67 t.setListIterator( iteratorCT1 ); 68 69 TKStandardIterator iteratorSC1 = new TKStandardIterator( openCTNodes, t.getListIterator(), "SC_OPEN_NODES", "SC_OPEN_NODES" ); 70 t.setListIterator( iteratorSC1 ); 71 72 73 TKQuery qCT = TKDBManager.newQuery( TKDBContentTreeGetOpen.class ); 74 qCT.setQueryParams( "NODE_ID", TKNull.NULL ); 75 qCT.execute(); 76 TKDBResult CTtree = new TKDBResult( qCT.fetchResultSet() ); 77 78 int maxDepth = TreeUtils.getMaxDepth( CTtree, "CONTENT" ); 79 TKOpenContentTreeIterator iterator = new TKOpenContentTreeIterator( CTtree, t.getListIterator(), "CE_NODE_LIST", maxDepth ); 80 t.set( "CT_IS_TOP", "1" ); 81 t.setListIterator( iterator ); 82 83 85 doSTChooseStart(t); 86 t.set( "CT_MAXDEPTH_PLUS_TWO", Integer.toString(maxDepth+2)); 87 88 Integer number; 90 TKVector aVector = new TKVector(Utils.MAX_DUPLICATION); 91 for (int i = 1; i<= Utils.MAX_DUPLICATION; i++){ 92 number = new Integer (i); 93 aVector.addElement(number); 94 } 95 96 TKStandardIterator iteratorNum = new TKStandardIterator( aVector, t.getListIterator(), "NUMBERS_LIST", "NUMBER" ); 97 t.setListIterator( iteratorNum ); 98 99 evt.finishTemplate(t); 100 } 101 catch (Throwable e) 102 { 103 throw WebmanExceptionHandler.getException(e); 105 } 106 } 107 108 public boolean isHandler(TKEvent evt) 109 { 110 return evt.getName().equalsIgnoreCase("DU_SECOND"); 111 } 112 113 114 121 public void doSTChooseStart(TKHTMLTemplate t ) throws Throwable 122 { 123 124 TKVector openNodes = new TKVector(); 125 openNodes.put( 0, "-1" ); TKStandardIterator iterator1 = new TKStandardIterator( openNodes, t.getListIterator(), "ST_OPEN_NODES", "ST_OPEN_NODES" ); 127 t.setListIterator( iterator1 ); 128 129 TKVector openCSNodes = new TKVector(); 130 openCSNodes.put( 0, "-1" ); 131 TKStandardIterator iteratorSC1 = new TKStandardIterator( openCSNodes, t.getListIterator(), "CS_OPEN_NODES", "CS_OPEN_NODES" ); 133 t.setListIterator( iteratorSC1 ); 134 135 TKQuery q = TKDBManager.newQuery( TKDBSiteTreeGetOpen.class ); 136 q.setQueryParams( "NODE_ID", TKNull.NULL ); 137 q.execute(); 138 TKDBResult tree = new TKDBResult( q.fetchResultSet() ); 139 140 int maxDepth = TreeUtils.getMaxDepth( tree, "SITE" ); 141 TKOpenSiteTreeIterator iterator = new TKOpenSiteTreeIterator( tree, t.getListIterator(), "ST_NODE_LIST", maxDepth ); 142 t.setListIterator( iterator ); 143 144 t.set( "ST_MAXDEPTH_PLUS_TWO", Integer.toString(maxDepth+2)); 145 146 } 147 148 149 } 150 | Popular Tags |