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.db.queries.content.*; 10 import com.teamkonzept.webman.mainint.events.*; 11 import com.teamkonzept.lib.*; 12 import com.teamkonzept.field.*; 13 import com.teamkonzept.field.db.*; 14 import com.teamkonzept.db.*; 15 import com.teamkonzept.publishing.markups.*; 16 17 import java.sql.*; 18 import java.io.*; 19 20 26 public class CEArrangeMoveHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 27 { 28 private static final String INSIDE ="0"; 31 32 private CEArrangeMoveHandler() 33 {} 34 35 private static CEArrangeMoveHandler instance = new CEArrangeMoveHandler(); 36 37 public static CEArrangeMoveHandler getInstance() 38 { 39 return instance; 40 } 41 42 public void handleEvent(TKEvent evt) throws TKException 43 { 44 try 45 { 46 CEUtils.checkEvent(evt); 47 String mode = evt.getParameter( PARAMETER, "MOVE_MODE" ); 48 String src = evt.getParameter( PARAMETER, "SRC_NODE" ); 49 String dst = evt.getParameter( PARAMETER, "DST_NODE" ); 50 51 59 if( (mode != null) && (src != null) && (dst != null) ) 60 { 61 TKQuery q; 62 q = TKDBManager.newQuery(SelectContentTree.class); 65 q.setQueryParams( "ID", new Integer ( src ) ); 66 q.execute(); 67 ResultSet rs = q.fetchResultSet(); 68 rs.next(); 69 String srcType = rs.getString("CONTENT_NODE_TYPE"); 70 String srcForm = rs.getString("CONTENT_FORM"); 71 72 q = TKDBManager.newQuery(TKDBContentTreeGetParentInfo.class); 74 q.setQueryParams( "CONTENT_NODE_ID", new Integer ( dst ) ); 76 q.execute(); 77 rs = q.fetchResultSet(); 78 rs.next(); 79 String destParentTyp = rs.getString("CONTENT_NODE_TYPE"); 82 String destParentForm = rs.getString("CONTENT_FORM"); 83 rs.next(); 84 String destTyp = rs.getString("CONTENT_NODE_TYPE"); 87 String destForm = rs.getString("CONTENT_FORM"); 88 89 if (destTyp.equals(DIRECTORY_NODE)) 90 { 91 } 93 else if (destTyp.equals(SINGLE)) 94 { 95 if (destParentTyp.equals(GROUP) && !destParentForm.equals(srcForm)) 97 throw new TKUserException("Typen stimmen nicht ueberein", NO_MATCHING_TYPES, USER_SEVERITY, false, null); 98 } 100 else 101 { 102 if (srcType.equals(DIRECTORY_NODE)) 104 throw new TKUserException("Typen stimmen nicht ueberein", NO_MATCHING_TYPES, USER_SEVERITY, false, null); 105 106 if (mode.equals(INSIDE)) 107 { 108 if ( !destForm.equals(srcForm)) 109 throw new TKUserException("Typen stimmen nicht ueberein", NO_MATCHING_TYPES, USER_SEVERITY, false, null); 110 } 111 else 112 { 113 } 115 } 116 q = TKDBManager.newQuery(TKDBContentTreeMoveNode.class); 119 q.setQueryParams( "SRC_NODE_ID", new Integer ( src ) ); 120 q.setQueryParams( "DEST_NODE_ID", new Integer ( dst ) ); 121 q.setQueryParams( "UPORDOWN", new Integer ( mode ) ); 122 q.execute(); 123 } 124 CEArrangeShowHandler.getInstance().handleEvent(evt); 125 } 126 catch (Throwable e) 127 { 128 throw WebmanExceptionHandler.getException(e); 130 } 131 } 132 133 public boolean isHandler(TKEvent evt) 134 { 135 return evt.getName().equalsIgnoreCase("CE_ARRANGE_MOVE"); 136 } 137 } 138 | Popular Tags |