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 ACRoleAddTaskEventHandler extends DefaultEventHandler implements ParameterTypes, DatabaseDefaults, FrameConstants 18 { 19 private ACRoleAddTaskEventHandler() {} 20 21 private static ACRoleAddTaskEventHandler instance = new ACRoleAddTaskEventHandler(); 22 23 public static ACRoleAddTaskEventHandler 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 roleId = evt.getParameter( PARAMETER, "ROLE_ID"); 34 35 TKParams params = evt.getParams(); 36 if (roleId != null) { 37 Role theRole = null; 38 theRole = RoleFactory.getInstance().getRole(new Integer (roleId)); 39 if (theRole != null) { 40 addTask(theRole, params, "ADD_TASK_ID"); 41 42 RoleFactory.getInstance().modifyRole(theRole); 43 } 44 } 45 TKHTMLTemplate t = evt.getPrepHTMLTemplate( "f_ac_role.tmpl" ); 46 String editPage = evt.getParameter(PARAMETER, "EDIT_PAGE"); 47 t.set("EDIT_PAGE", (editPage == null ? "1" : editPage)); 48 HTMLUtils.fillFrameSet( t, LEFT_FRAME_WIDTH, "AC_ROLE_LIST", "AC_ROLE_EDIT" ); 49 t.set("ROLE_ID", new Integer (roleId)); 50 WebManEvent.fillEventsIntoTemplate(evt.getRemoteUser(), t, ACCESS_CONTROL); 51 evt.finishTemplate( t ); 52 } catch (Throwable e) { 53 throw WebmanExceptionHandler.getException(e); 54 } 55 } 56 57 public boolean isHandler(TKEvent evt) 58 { 59 return evt.getName().equalsIgnoreCase( "AC_ROLE_ADD_TASK" ); 60 } 61 62 65 private void addTask(Role role, TKParams params, String parameter) throws Exception 66 { 67 TKVector vec = new TKVector(); 68 if ( params.hasMultiple( PARAMETER, parameter )) 69 vec = params.getVector( PARAMETER, parameter ); 70 else if ( params.get( PARAMETER, parameter ) != null ) 71 vec.addElement( params.get( PARAMETER, parameter )); 72 Enumeration vecEnum = vec.elements(); 73 while (vecEnum.hasMoreElements()) { 74 String lId = (String )vecEnum.nextElement(); 75 Task task = TaskFactory.getInstance().getTask(new Integer (lId)); 76 if (task != null) { 77 role.addTask(task); 78 } 79 } 80 } 81 82 83 } 84 | Popular Tags |