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 ACTaskDeleteActionEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants 18 { 19 private ACTaskDeleteActionEventHandler() {} 20 21 private static ACTaskDeleteActionEventHandler instance = new ACTaskDeleteActionEventHandler(); 22 23 public static ACTaskDeleteActionEventHandler 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 String taskId = evt.getParameter( PARAMETER, "TASK_ID"); 33 TKParams params = evt.getParams(); 34 if (taskId != null) { 35 Task theTask = null; 36 theTask = TaskFactory.getInstance().getTask(new Integer (taskId)); 37 if (theTask != null) { 38 removeAction(theTask, params, "DEL_ACTION_ID"); 39 } 40 } 41 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "f_ac_task.tmpl" ); 42 HTMLUtils.fillFrameSet( t, LEFT_FRAME_WIDTH, "AC_TASK_LIST", "AC_TASK_EDIT" ); 43 t.set("TASK_ID", new Integer (taskId)); 44 String editPage = evt.getParameter(PARAMETER, "EDIT_PAGE"); 45 t.set("EDIT_PAGE", (editPage == null ? "1" : editPage)); 46 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL); 47 evt.finishTemplate( t ); 48 } catch (Throwable e) { 49 throw WebmanExceptionHandler.getException(e); 50 } 51 } 52 53 public boolean isHandler(TKEvent evt) 54 { 55 return evt.getName().equalsIgnoreCase( "AC_TASK_DELETE_ACTION" ); 56 } 57 58 61 private void removeAction(Task task, TKParams params, String parameter) throws Exception 62 { 63 TKVector vec = new TKVector(); 64 if ( params.hasMultiple( PARAMETER, parameter )) 65 vec = params.getVector( PARAMETER, parameter ); 66 else if ( params.get( PARAMETER, parameter ) != null ) 67 vec.addElement( params.get( PARAMETER, parameter )); 68 Enumeration vecEnum = vec.elements(); 69 while (vecEnum.hasMoreElements()) { 70 String lId = (String )vecEnum.nextElement(); 71 Action action = ActionFactory.getInstance().getAction(new Integer (lId)); 72 if (action != null) { 73 task.removeAction(action); 74 TaskFactory.getInstance().modifyTask(task); 75 } 76 } 77 } 78 79 80 } 81 | Popular Tags |