1 package de.webman.documenttype.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.international.LanguageManager; 14 import com.teamkonzept.field.*; 15 import com.teamkonzept.field.db.*; 16 import com.teamkonzept.db.*; 17 import com.teamkonzept.publishing.markups.*; 18 19 import java.util.*; 20 import java.sql.*; 21 22 33 public class DTDeletePresHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults 34 { 35 private DTDeletePresHandler() 36 {} 37 38 private static DTDeletePresHandler instance = new DTDeletePresHandler(); 39 40 public static DTDeletePresHandler getInstance() 41 { 42 return instance; 43 } 44 45 public void handleEvent(TKEvent evt) throws TKException 46 { 47 try 48 { 49 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.PRESENTATIONS); 50 Integer presId = Integer.valueOf(evt.getParameter(PARAMETER, "PRESENTATION_ID")); 51 52 TKVector refs = DTUtils.getDependencies(presId); 54 if (refs.size() > 0) 55 { 56 TKHTMLTemplate error = evt.getPrepHTMLTemplate( "error_message.tmpl" ); 57 String errorText = LanguageManager.getText("documenttype", "DELETE_DEPENDENCY"); 58 error.set("ERROR_TEXT", errorText); 59 error.setListIterator( new TKStandardPluginIterator("REFERENCES", null, refs, false, error.getListIterator())); 60 evt.finishTemplate(error); 61 return; 62 } 63 TKQuery q = TKDBManager.newQuery(TKDBPresDelete.class); 64 q.setQueryParams("PRESENTATION_ID", presId); 65 q.execute(); 66 q.fetchResultSet(); 68 69 TKHTMLTemplate frame = evt.getPrepHTMLTemplate( "f_pr.tmpl" ); 70 HTMLUtils.fillFrameSet( frame, LEFT_FRAME_WIDTH_SMALL, "PR_SHOWLIST", "PR_EMPTY" ); 71 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), frame, PRESENTATIONS); 72 evt.finishTemplate(frame); 73 } 74 catch (TKSQLError error) 75 { 76 TKException e = WebmanExceptionHandler.getException(error); 78 if (e.getErrorCode() == FK_CONSTRAINT_VIOLATION) 79 throw new TKUserException("Dokumenttyp", OBJECT_IN_USE, USER_SEVERITY, true, error.getSQLException()); 80 throw e; 81 } 82 catch (Throwable e) 83 { 84 throw WebmanExceptionHandler.getException(e); 85 } 86 } 87 88 public boolean isHandler(TKEvent evt) 89 { 90 return evt.getName().equalsIgnoreCase("PR_DELETE_PRES") ; 91 } 92 } 93 | Popular Tags |