1 package de.webman.documenttype.eventhandler; 2 3 import java.sql.ResultSet ; 4 import com.teamkonzept.db.TKDBManager; 5 import com.teamkonzept.db.TKQuery; 6 import com.teamkonzept.lib.TKException; 7 import com.teamkonzept.web.TKEvent; 8 import com.teamkonzept.web.TKHTMLTemplate; 9 import com.teamkonzept.webman.WebManEvent; 10 import com.teamkonzept.webman.mainint.ContextConstants; 11 import com.teamkonzept.webman.mainint.DatabaseDefaults; 12 import com.teamkonzept.webman.mainint.FrameConstants; 13 import com.teamkonzept.webman.mainint.HTMLUtils; 14 import com.teamkonzept.webman.mainint.WebmanExceptionHandler; 15 import com.teamkonzept.webman.mainint.db.queries.presentation.SelectPresentation; 16 import com.teamkonzept.webman.mainint.events.DefaultEventHandler; 17 import com.teamkonzept.webman.mainint.events.ParameterTypes; 18 19 25 public class DTForwardHandler 26 extends DefaultEventHandler 27 implements ParameterTypes, 28 FrameConstants, 29 DatabaseDefaults 30 { 31 32 35 private static final DTForwardHandler INSTANCE = new DTForwardHandler(); 36 37 40 private DTForwardHandler () 41 { 42 } 44 45 50 public static DTForwardHandler getInstance () 51 { 52 return INSTANCE; 53 } 54 55 61 public void handleEvent (TKEvent event) 62 throws TKException 63 { 64 try 65 { 66 WebManEvent.checkEvent(event.getRemoteUser(), event.getName(), ContextConstants.PRESENTATIONS); 67 68 String target = event.getParameter(PARAMETER, "TARGET_EVENT"); 69 Integer id = new Integer (event.getParameter(PARAMETER, "PRESENTATION_ID")); 70 71 TKHTMLTemplate frame = event.getPrepHTMLTemplate("f_pr.tmpl"); 72 73 if (target.equals("PR_EDIT")) 74 { 75 prepareFrameSet(frame, target, id); 76 } 77 78 if (target.equals("PR_EDIT_PRES_COMP")) 79 { 80 prepareFrameSet(frame, target, id); 81 frame.set("COMPONENT_ID", event.getParameter(PARAMETER, "COMPONENT_ID")); 82 } 83 84 WebManEvent.fillEventsIntoTemplate(event.getRemoteUser(), frame, PRESENTATIONS); 85 event.finishTemplate(frame); 86 } 87 catch (Throwable e) 88 { 89 throw WebmanExceptionHandler.getException(e); 91 } 92 } 93 94 101 public boolean isHandler (TKEvent event) 102 { 103 return event.getName().equalsIgnoreCase("PR_FORWARD"); 104 } 105 106 114 private void prepareFrameSet (TKHTMLTemplate frame, 115 String event, 116 Integer id) 117 throws Throwable 118 { 119 HTMLUtils.fillFrameSet(frame, LEFT_FRAME_WIDTH_SMALL, "PR_SHOWLIST", event); 120 121 frame.set("PRESENTATION_ID", id); 122 123 TKQuery query = TKDBManager.newQuery(SelectPresentation.class); 124 query.setQueryParams("PRESENTATION_ID", id); 125 query.execute(); 126 127 ResultSet result = query.fetchResultSet(); 128 129 if (result.next()) 130 { 131 frame.set("PRESENTATION_NAME", result.getString("PRESENTATION_NAME")); 132 frame.set("PRESENTATION_SHORTNAME", result.getString("PRESENTATION_SHORTNAME")); 133 frame.set("TEMPLATE_ID", new Integer (result.getInt("TEMPLATE_ID"))); 134 } 135 } 136 137 } 138 | Popular Tags |