KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > de > webman > documenttype > eventhandler > DTDeletePresHandler


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 /**
23 * doPRDeletePres
24 *
25 * Loeschen einer Presentation
26 *
27 * Reihenfolge der params im String PR_DELETE_PRES:
28 * <TK_PRESENTATION_ID>
29 *
30  * @author $Author: uli $
31  * @version $Revision: 1.6 $
32 */

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 JavaDoc presId = Integer.valueOf(evt.getParameter(PARAMETER, "PRESENTATION_ID"));
51
52             // Checken, ob der DokumentTyp noch in der Sitestruktur benutzt wird
53
TKVector refs = DTUtils.getDependencies(presId);
54             if (refs.size() > 0)
55             {
56                     TKHTMLTemplate error = evt.getPrepHTMLTemplate( "error_message.tmpl" );
57                     String JavaDoc 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             //ResultSet rs = q.fetchResultSet();
67
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             // entweder allgemeine Probleme, oder aber die Praesentation wird noch gebraucht
77
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 JavaDoc 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