KickJava   Java API By Example, From Geeks To Geeks.

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


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 * Speichern eines editierten node (Name)
21 *
22 *
23  * @author $Author: alex $
24  * @version $Revision: 1.7 $
25 */

26 public class CEUpdateNodeHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
27 {
28     private CEUpdateNodeHandler()
29     {}
30     
31     private static CEUpdateNodeHandler instance = new CEUpdateNodeHandler();
32     
33     public static CEUpdateNodeHandler getInstance()
34     {
35         return instance;
36     }
37     
38     public void handleEvent(TKEvent evt) throws TKException
39     {
40         try
41         {
42             CEUtils.checkEvent(evt);
43             ContentContext ceContext = new ContentContext(evt.getParams());
44             String JavaDoc openNode = ceContext.getParam ("OPEN_NODE");
45             if (openNode == null) openNode = "-1";
46
47             if( !CEUtils.isValidPathname( ceContext.conNodeShortName ))
48                 return;
49
50             TKQuery q = TKDBManager.newQuery(TKDBContentTreeUpdateNode.class);
51             q.setQueryParams( "CONTENT_NODE_ID", ceContext.conNodeId );
52             q.setQueryParams( "CONTENT_NODE_NAME", ceContext.conNodeName );
53             q.setQueryParams( "CONTENT_NODE_SHORTNAME", ceContext.conNodeShortName );
54             q.setQueryParams( "CONTENT_NODE_TYPE", ceContext.conNodeType );
55             q.setQueryParams( "TREE_ID", new Integer JavaDoc(0) );
56             q.setQueryParams( "PROTOTYPE_ID", TKNull.NULL );
57             q.setQueryParams( "CONTENT_FORM", ceContext.formId);
58
59             if( ceContext.conNodeType.intValue() == DIRECTORY_NODE_INTEGER.intValue() ) {
60                 q.setQueryParams( "CONTENT_FORM", TKNull.NULL );
61             }
62             else {
63                 q.setQueryParams( "CONTENT_FORM", ceContext.formId);
64             }
65             q.execute();
66             if( ceContext.conNodeType.equals( DIRECTORY_NODE_INTEGER ) || ceContext.conNodeType.equals( GROUP_INTEGER )) {
67                 // DirectoryNode
68
TKHTMLTemplate frame = evt.getPrepHTMLTemplate( "f_ce.tmpl" );
69                 HTMLUtils.fillFrameSet( frame, LEFT_FRAME_WIDTH, "CE_SHOWLIST", "CE_EMPTY" );
70                 // behalte Sortier-Parameter
71
CEUtils.keepSortParameter(evt, frame);
72                 
73                 TreeUtils.keepOpenNodes(evt, frame);
74                 evt.finishTemplate(frame);
75             }
76             else
77             {
78                 evt.getParams().put(PARAMETER, "RECALCULATE", "a");
79                 CEBrowseHandler.getInstance().handleEvent(evt);
80             }
81         }
82         catch (Throwable JavaDoc e)
83         {
84             // TO DO : Analyze Exception !
85
throw WebmanExceptionHandler.getException(e);
86         }
87     }
88     
89     public boolean isHandler(TKEvent evt)
90     {
91         return evt.getName().equalsIgnoreCase("CE_UPDATE_NODE");
92     }
93 }
94
Popular Tags