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 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 sNodeId = tokens.nextToken(); String sNodeParent = tokens.nextToken(); TKVector depends = new TKVector(); 50 if (SiteTreeUtils.checkReferences(new Integer (sNodeId), null, depends)) 51 { 52 TKHTMLTemplate error = evt.getPrepHTMLTemplate( "error_message.tmpl" ); 53 String 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 ( 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 e) 82 { 83 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 |