1 23 24 package org.apache.slide.projector.processor.core; 25 26 import java.util.Map ; 27 28 import org.apache.slide.projector.Context; 29 import org.apache.slide.projector.Processor; 30 import org.apache.slide.projector.Projector; 31 import org.apache.slide.projector.Result; 32 import org.apache.slide.projector.descriptor.BooleanValueDescriptor; 33 import org.apache.slide.projector.descriptor.MapValueDescriptor; 34 import org.apache.slide.projector.descriptor.ParameterDescriptor; 35 import org.apache.slide.projector.descriptor.ResultDescriptor; 36 import org.apache.slide.projector.descriptor.StateDescriptor; 37 import org.apache.slide.projector.i18n.ParameterMessage; 38 import org.apache.slide.projector.value.BooleanValue; 39 import org.apache.slide.projector.value.MapValue; 40 41 45 public class Event implements Processor { 46 public final static String INFORMATION = "information"; 47 public final static String VETOABLE = "vetoable"; 48 49 private final static ParameterDescriptor[] parameterDescriptors = new ParameterDescriptor[] { 50 new ParameterDescriptor(INFORMATION, new ParameterMessage("event/information"), MapValueDescriptor.ANY), 51 new ParameterDescriptor(VETOABLE, new ParameterMessage("event/vetoable"), new BooleanValueDescriptor(), new BooleanValue(false)) 52 }; 53 private final static ResultDescriptor resultDescriptor = new ResultDescriptor(new StateDescriptor[] { StateDescriptor.OK_DESCRIPTOR }); 54 55 public Result process(Map parameter, Context context) throws Exception { 56 Map information = ((MapValue)parameter.get(INFORMATION)).getMap(); 57 boolean vetoable = ((BooleanValue)parameter.get(VETOABLE)).booleanValue(); 58 if ( vetoable ) { 59 Projector.getRepository().fireVetoableEvent(information, context.getCredentials()); 60 } else { 61 Projector.getRepository().fireEvent(information, context.getCredentials()); 62 } 63 return new Result(StateDescriptor.OK); 64 } 65 66 public ParameterDescriptor[] getParameterDescriptors() { 67 return parameterDescriptors; 68 } 69 70 public ResultDescriptor getResultDescriptor() { 71 return resultDescriptor; 72 } 73 } 74 | Popular Tags |