1 package org.apache.slide.projector.processor.security; 2 3 import java.util.Map ; 4 5 import org.apache.slide.projector.Context; 6 import org.apache.slide.projector.Information; 7 import org.apache.slide.projector.Processor; 8 import org.apache.slide.projector.Projector; 9 import org.apache.slide.projector.Result; 10 import org.apache.slide.projector.descriptor.ParameterDescriptor; 11 import org.apache.slide.projector.descriptor.ResultDescriptor; 12 import org.apache.slide.projector.descriptor.ResultEntryDescriptor; 13 import org.apache.slide.projector.descriptor.StateDescriptor; 14 import org.apache.slide.projector.descriptor.StringValueDescriptor; 15 import org.apache.slide.projector.i18n.DefaultMessage; 16 import org.apache.slide.projector.i18n.ErrorMessage; 17 import org.apache.slide.projector.i18n.ParameterMessage; 18 import org.apache.slide.projector.repository.RoleExistsException; 19 import org.apache.slide.projector.value.NullValue; 20 import org.apache.slide.projector.value.URIValue; 21 import org.apache.slide.projector.value.Value; 22 23 26 27 public class CreateRole implements Processor { 28 private final static String ROLENAME = "rolename"; 29 30 private final static String ROLE = "role"; 31 private final static String OK = "ok"; 32 private final static String FAILED = "failed"; 33 34 private final static ParameterDescriptor [] parameterDescriptor = new ParameterDescriptor[] { 35 new ParameterDescriptor(ROLENAME, new ParameterMessage("createRole/parameter/rolename"), new StringValueDescriptor(1,24)), 36 }; 37 38 private final static ResultDescriptor resultDescriptor = new ResultDescriptor( 39 new StateDescriptor[] { 40 new StateDescriptor(OK, new DefaultMessage("createRole/state/ok")), 41 new StateDescriptor(FAILED, new DefaultMessage("createRole/state/failed")) 42 }, new ResultEntryDescriptor[] { 43 new ResultEntryDescriptor(ROLE, new DefaultMessage("createRole/result/role"), URIValue.CONTENT_TYPE, false) 44 }); 45 46 public Result process(Map parameter, Context context) throws Exception { 47 String rolename = parameter.get(ROLENAME).toString(); 48 String state = OK; 49 Value role = NullValue.NULL; 50 try { 51 role = Projector.getRepository().createRole(rolename, context.getCredentials()); 52 } catch ( RoleExistsException exception ) { 53 context.addInformation(new Information(Information.ERROR, exception.getErrorMessage(), new String [] { ROLENAME })); 54 state = FAILED; 55 } 56 if ( role == null ) { 57 context.addInformation(new Information(Information.ERROR, new ErrorMessage("createRole/failed"), new String [0])); 58 state = FAILED; 59 } 60 return new Result(state, ROLE, role); 61 } 62 63 public ParameterDescriptor[] getParameterDescriptors() { 64 return parameterDescriptor; 65 } 66 67 public ResultDescriptor getResultDescriptor() { 68 return resultDescriptor; 69 } 70 } | Popular Tags |