1 package de.webman.template.eventhandler; 2 3 import com.teamkonzept.db.*; 4 import com.teamkonzept.webman.mainint.db.queries.*; 5 import com.teamkonzept.webman.mainint.events.*; 6 import com.teamkonzept.webman.mainint.*; 7 import com.teamkonzept.webman.*; 8 import com.teamkonzept.web.*; 9 import com.teamkonzept.lib.*; 10 import com.teamkonzept.international.LanguageManager; 11 import java.io.*; 12 import java.sql.*; 13 19 public class TEDeleteHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants 20 { 21 private TEDeleteHandler() 22 {} 23 24 private static TEDeleteHandler instance = new TEDeleteHandler(); 25 26 public static TEDeleteHandler getInstance() 27 { 28 return instance; 29 } 30 public void handleEvent(TKEvent evt) throws TKException 31 { 32 try 33 { 34 String tmplId = evt.getParameter( PARAMETER, "TEMPLATE_ID" ); 35 String tmplName = evt.getParameter( PARAMETER, "TEMPLATE_NAME" ); 36 TKVector references = TEUtils.getDependencies(new Integer (tmplId)); 37 if (references.size() > 0) 39 { 40 TKHTMLTemplate error = evt.getPrepHTMLTemplate( "error_message.tmpl" ); 41 Object [] tmp = new Object [1]; 42 tmp[0] = tmplName; 43 String errorText = LanguageManager.getText("templates", "DELETE_DEPENDENCY", tmp); 44 45 error.set("ERROR_TEXT", errorText); 46 error.setListIterator( new TKStandardPluginIterator 47 ("REFERENCES", null, references, false, error.getListIterator())); 48 evt.finishTemplate(error); 49 return; 50 } 51 TKQuery q = TKDBManager.newQuery(TKDBTmplDelete.class); 53 q.setQueryParams( "TEMPLATE_ID", new Integer ( tmplId ) ); 54 q.execute(); 55 q.fetchResultSet(); 56 57 File datei = new File(evt.getHttpInterface().getDocumentRoot() +File.separator + TemplateUtils.getGenerationDirectory() + tmplName ); 60 datei.delete(); 61 62 TKHTMLTemplate frame = evt.getPrepHTMLTemplate( "f_te.tmpl" ); 63 HTMLUtils.fillFrameSet( frame, LEFT_FRAME_WIDTH_SMALL, "TE_SHOWLIST", "EMPTY" ); 64 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), frame, ContextConstants.TEMPLATES); 65 evt.finishTemplate(frame); 66 } 67 catch (TKSQLError error) 68 { 69 TKException e = WebmanExceptionHandler.getException(error); 71 if (e.getErrorCode() == FK_CONSTRAINT_VIOLATION) 72 throw new TKUserException("Template wird benutzt", OBJECT_IN_USE, USER_SEVERITY, false, error.getSQLException()); 73 throw e; 74 } 75 catch (Throwable t) 76 { 77 throw WebmanExceptionHandler.getException(t); 78 } 79 } 80 public boolean isHandler(TKEvent evt) 81 { 82 return evt.getName().equalsIgnoreCase("TE_DELETE"); 83 } 84 } 85 | Popular Tags |