KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > sitetree > eventhandler > STArrangeStartHandler


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 /************************************************************************
23 /**
24 * Startevent: Anzeigen der Maske zum Neuordnen des Sitetree
25 *
26 *
27 */

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" ); // initial bei Root den Baum oeffnen
49
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 JavaDoc e)
67         {
68             // TO DO : Analyze Exception !
69
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