KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > slide > projector > processor > security > CreateRole


1 package org.apache.slide.projector.processor.security;
2
3 import java.util.Map JavaDoc;
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 /**
24  * @version $Revision: 1.3 $
25  */

26
27 public class CreateRole implements Processor {
28     private final static String JavaDoc ROLENAME = "rolename";
29     
30     private final static String JavaDoc ROLE = "role";
31     private final static String JavaDoc OK = "ok";
32     private final static String JavaDoc 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 JavaDoc parameter, Context context) throws Exception JavaDoc {
47         String JavaDoc rolename = parameter.get(ROLENAME).toString();
48         String JavaDoc 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 JavaDoc[] { ROLENAME }));
54             state = FAILED;
55         }
56         if ( role == null ) {
57             context.addInformation(new Information(Information.ERROR, new ErrorMessage("createRole/failed"), new String JavaDoc[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