1 package de.webman.acl.eventhandler; 2 3 import java.util.*; 4 5 import com.teamkonzept.web.*; 6 import com.teamkonzept.lib.*; 7 import com.teamkonzept.webman.*; 8 import com.teamkonzept.webman.mainint.*; 9 import com.teamkonzept.webman.mainint.events.*; 10 import de.webman.acl.*; 11 12 17 public class ACTaskAddActionEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants 18 { 19 private ACTaskAddActionEventHandler() {} 20 21 private static ACTaskAddActionEventHandler instance = new ACTaskAddActionEventHandler(); 22 23 public static ACTaskAddActionEventHandler getInstance() 24 { 25 return instance; 26 } 27 28 public void handleEvent(TKEvent evt) throws TKException 29 { 30 try { 31 WebManEvent.checkEvent(evt.getRemoteUser(), evt.getName(), ContextConstants.ACCESS_CONTROL); 32 33 String taskId = evt.getParameter( PARAMETER, "TASK_ID"); 34 TKParams params = evt.getParams(); 35 if (taskId != null) { 36 Task theTask = null; 37 theTask = TaskFactory.getInstance().getTask(new Integer (taskId)); 38 if (theTask != null) { 39 addAction(theTask, params, "ADD_ACTION_ID"); 40 41 TaskFactory.getInstance().modifyTask(theTask); 42 } 43 } 44 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "f_ac_task.tmpl" ); 45 HTMLUtils.fillFrameSet( t, LEFT_FRAME_WIDTH, "AC_TASK_LIST", "AC_TASK_EDIT" ); 46 t.set("TASK_ID", new Integer (taskId)); 47 String editPage = evt.getParameter(PARAMETER, "EDIT_PAGE"); 48 t.set("EDIT_PAGE", (editPage == null ? "1" : editPage)); 49 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL); 50 evt.finishTemplate( t ); 51 } catch (Throwable e) { 52 throw WebmanExceptionHandler.getException(e); 53 } 54 } 55 56 public boolean isHandler(TKEvent evt) 57 { 58 return evt.getName().equalsIgnoreCase( "AC_TASK_ADD_ACTION" ); 59 } 60 61 64 private void addAction(Task task, TKParams params, String parameter) throws Exception 65 { 66 TKVector vec = new TKVector(); 67 if ( params.hasMultiple( PARAMETER, parameter )) 68 vec = params.getVector( PARAMETER, parameter ); 69 else if ( params.get( PARAMETER, parameter ) != null ) 70 vec.addElement( params.get( PARAMETER, parameter )); 71 Enumeration vecEnum = vec.elements(); 72 while (vecEnum.hasMoreElements()) { 73 String lId = (String )vecEnum.nextElement(); 74 Action action = ActionFactory.getInstance().getAction(new Integer (lId)); 75 if (action != null) { 76 task.addAction(action); 77 } 78 } 79 } 80 81 82 } 83 | Popular Tags |