KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > content > eventhandler > CEArrangeStartHandler


1 package de.webman.content.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 import com.teamkonzept.webman.mainint.db.queries.*;
9 import com.teamkonzept.webman.mainint.events.*;
10 import com.teamkonzept.lib.*;
11 import com.teamkonzept.field.*;
12 import com.teamkonzept.field.db.*;
13 import com.teamkonzept.db.*;
14 import com.teamkonzept.publishing.markups.*;
15
16 import java.sql.*;
17 import java.io.*;
18
19 /**
20 * Startevent: Anzeigen der Maske zum Neuordnen des Contenttree
21 *
22 *
23  * @author $Author: mischa $
24  * @version $Revision: 1.4 $
25 */

26 public class CEArrangeStartHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
27 {
28     private CEArrangeStartHandler()
29     {}
30     
31     private static CEArrangeStartHandler instance = new CEArrangeStartHandler();
32     
33     public static CEArrangeStartHandler getInstance()
34     {
35         return instance;
36     }
37     
38     public void handleEvent(TKEvent evt) throws TKException
39     {
40         try
41         {
42             CEUtils.checkEvent(evt);
43
44             TKHTMLTemplate t = evt.getPrepHTMLTemplate( "ce_arrange.tmpl" );
45
46             TKVector openNodes = new TKVector();
47             openNodes.put( 0, "-1" ); // initial bei Root den Baum oeffnen
48
TKStandardIterator iterator1 = new TKStandardIterator( openNodes, t.getListIterator(), "OPEN_NODES", "OPEN_NODES" );
49             t.setListIterator( iterator1 );
50
51             TKQuery q = TKDBManager.newQuery(TKDBContentTreeGetOpen.class);
52             q.setQueryParams( "NODE_ID", TKNull.NULL );
53             q.execute();
54             TKDBResult tree = new TKDBResult( q.fetchResultSet() );
55
56             int maxDepth = TreeUtils.getMaxDepth( tree, "CONTENT" );
57             TKOpenContentTreeIterator iterator = new TKOpenContentTreeIterator( tree, t.getListIterator(), "CE_NODE_LIST", maxDepth );
58             t.set( "IS_TOP", "1" );
59             t.setListIterator( iterator );
60
61             t.set( "MAXDEPTH_PLUS_ONE", Integer.toString(maxDepth+1));
62             t.set( "MAXDEPTH_PLUS_TWO", Integer.toString(maxDepth+2));
63             evt.finishTemplate(t);
64         }
65         catch (Throwable JavaDoc e)
66         {
67             // TO DO : Analyze Exception !
68
throw WebmanExceptionHandler.getException(e);
69         }
70     }
71     
72     public boolean isHandler(TKEvent evt)
73     {
74         return evt.getName().equalsIgnoreCase("CE_ARRANGE_START");
75     }
76 }
77
Popular Tags