01: package de.webman.acl.eventhandler;
02:
03: import java.util.*;
04:
05: import com.teamkonzept.web.*;
06: import com.teamkonzept.lib.*;
07: import com.teamkonzept.webman.*;
08: import com.teamkonzept.webman.mainint.*;
09: import com.teamkonzept.webman.mainint.events.*;
10: import de.webman.acl.*;
11:
12: /**
13: Updates a task definition in the database
14: * @author $Author: sebastian $
15: * @version $Revision: 1.4 $
16: */
17: public class ACTaskUpdateEventHandler extends DefaultEventHandler
18: implements ParameterTypes, DatabaseDefaults, FrameConstants {
19: private ACTaskUpdateEventHandler() {
20: }
21:
22: private static ACTaskUpdateEventHandler instance = new ACTaskUpdateEventHandler();
23:
24: public static ACTaskUpdateEventHandler getInstance() {
25: return instance;
26: }
27:
28: public void handleEvent(TKEvent evt) throws TKException {
29: try {
30: WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(),
31: ContextConstants.ACCESS_CONTROL);
32: String taskId = evt.getParameter(PARAMETER, "TASK_ID");
33: String taskName = evt.getParameter(PARAMETER, "TASK_NAME");
34: String contextId = evt
35: .getParameter(PARAMETER, "CONTEXT_ID");
36: Task theTask = null;
37:
38: checkParameter(taskName, "Name");
39: checkParameter(contextId, "Context");
40:
41: Context theContext = ContextFactory.getInstance()
42: .getContext(new Integer(contextId));
43:
44: if (taskId == null) {
45: theTask = TaskFactory.getInstance().createTask(
46: taskName, theContext);
47: } else {
48: theTask = TaskFactory.getInstance().getTask(
49: new Integer(taskId));
50:
51: if (theTask != null) {
52: theTask.setName(taskName);
53: theTask.setContext(theContext);
54:
55: TaskFactory.getInstance().modifyTask(theTask);
56: }
57: }
58:
59: TKHTMLTemplate t = evt
60: .getPrepHTMLTemplate("f_ac_task.tmpl");
61: HTMLUtils.fillFrameSet(t, HTMLUtils.LEFT_FRAME_WIDTH,
62: "AC_TASK_LIST", "AC_TASK_EDIT");
63: t.set("TASK_ID", theTask.getID());
64: String editPage = evt.getParameter(PARAMETER, "EDIT_PAGE");
65: t.set("EDIT_PAGE", (editPage == null ? "1" : editPage));
66: WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t,
67: ACCESS_CONTROL);
68: evt.finishTemplate(t);
69: } catch (Throwable e) {
70: throw WebmanExceptionHandler.getException(e);
71: }
72: }
73:
74: public boolean isHandler(TKEvent evt) {
75: return evt.getName().equalsIgnoreCase("AC_TASK_UPDATE");
76: }
77:
78: }
|