KickJava   Java API By Example, From Geeks To Geeks.

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


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.international.*;
17
18 import com.teamkonzept.publishing.markups.*;
19
20 import java.sql.*;
21 import java.io.*;
22 import java.util.*;
23
24 /**
25 * Loeschen eines node aus SITE_TREE
26 * @author $Author: alex $
27 * @version $Revision: 1.5 $
28 */

29 public class STNodeDeleteHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
30 {
31     private STNodeDeleteHandler()
32     {}
33     
34     private static STNodeDeleteHandler instance = new STNodeDeleteHandler();
35     
36     public static STNodeDeleteHandler getInstance()
37     {
38         return instance;
39     }
40     
41     public void handleEvent(TKEvent evt) throws TKException
42     {
43         try
44         {
45             WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.SITE_TREE);
46             StringTokenizer tokens = new StringTokenizer( evt.getParameter( PARAMETER, "ST_NODE_DELETE" ), "," );
47             String JavaDoc sNodeId = tokens.nextToken(); // 2. Element
48
String JavaDoc sNodeParent = tokens.nextToken(); // 3. Element
49
TKVector depends = new TKVector();
50             if (SiteTreeUtils.checkReferences(new Integer JavaDoc(sNodeId), null, depends))
51             {
52                 TKHTMLTemplate error = evt.getPrepHTMLTemplate( "error_message.tmpl" );
53                 String JavaDoc errorText = LanguageManager.getText("sitestructure", "DEPENDENCY");
54                 error.set("ERROR_TEXT", errorText);
55                 error.setListIterator( new TKStandardPluginIterator("REFERENCES", null, depends, false, error.getListIterator()));
56                 evt.finishTemplate(error);
57                 return;
58             }
59
60             TKVector openNodes = new TKVector();
61             if( evt.getParams().hasMultiple( PARAMETER, "OPEN_NODES" ) ) {
62                 openNodes = evt.getParams().getVector( PARAMETER, "OPEN_NODES" );
63             }
64             else {
65                 openNodes.put( 0, evt.getParameter( PARAMETER, "OPEN_NODES" ) );
66             }
67             openNodes = TreeUtils.updateOpenNodes( openNodes, sNodeParent, "1", sNodeId, TKDBSiteTreeIsChild.class );
68
69             TKQuery q = TKDBManager.newQuery(TKDBSiteTreeDeleteNode.class);
70             q.setQueryParams( "SITE_NODE_ID", new Integer JavaDoc( sNodeId ) );
71             q.execute();
72
73             TKHTMLTemplate frame = evt.getPrepHTMLTemplate( "f_st.tmpl" );
74             HTMLUtils.fillFrameSet( frame, LEFT_FRAME_WIDTH, "ST_SHOWLIST", "ST_EMPTY" );
75
76             TKStandardIterator iterator1 = new TKStandardIterator( openNodes, frame.getListIterator(), "OPEN_NODES", "OPEN_NODES" );
77             frame.setListIterator( iterator1 );
78
79             evt.finishTemplate(frame);
80         }
81         catch (Throwable JavaDoc e)
82         {
83             // TO DO : Analyze Exception !
84
throw WebmanExceptionHandler.getException(e);
85         }
86     }
87     
88     public boolean isHandler(TKEvent evt)
89     {
90         return evt.getName().equalsIgnoreCase("ST_NODE_DELETE");
91     }
92 }
93
Popular Tags