dflorey     2004/06/23 07:42:57

  Modified:    proposals/projector/src/java/org/apache/slide/projector/processor/core
                        Link.java
               proposals/projector/src/java/org/apache/slide/projector/processor/table
                        TableGenerator.java
  Log:
  Improved table generation
  
  Revision  Changes    Path
  1.2       +3 -3      
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/core/Link.java
  
  Index: Link.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/core/Link.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Link.java 8 Jun 2004 09:10:53 -0000       1.1
  +++ Link.java 23 Jun 2004 14:42:57 -0000      1.2
  @@ -31,20 +31,20 @@
   public class Link implements Processor {
        private final static String PROCESSOR = "processor";
        private final static String CONTINUE = "continue";
  -     private final static String PARAMETER = "parameter";
  +     private final static String PARAMETERS = "parameterS";
        
        private final static ParameterDescriptor[] parameterDescriptors = new 
ParameterDescriptor[] {
                        new ParameterDescriptor(PROCESSOR, new 
ParameterMessage("link/parameter/processor"), new URIValueDescriptor()),
                        new ParameterDescriptor(Process.STEP, new 
ParameterMessage("link/parameter/step"), new StringValueDescriptor(), new NullValue()),
                        new ParameterDescriptor(CONTINUE, new 
ParameterMessage("link/parameter/continue"), new BooleanValueDescriptor(), 
BooleanValue.TRUE),
  -                     new ParameterDescriptor(PARAMETER, new 
ParameterMessage("link/parameter/parameter"), new MapValueDescriptor(), new 
MapValue(new HashMap()))
  +                     new ParameterDescriptor(PARAMETERS, new 
ParameterMessage("link/parameter/parameters"), new MapValueDescriptor(), new 
MapValue(new HashMap()))
        };
        private final static ResultDescriptor resultDescriptor = new 
ResultDescriptor(new StateDescriptor[] { StateDescriptor.OK_DESCRIPTOR });
        
        public Result process(Map parameter, Context context) throws Exception {
                URI uri = (URI)parameter.get(PROCESSOR); 
                boolean continueProcess = 
((BooleanValue)parameter.get(CONTINUE)).booleanValue();
  -             MapValue parameterMap = (MapValue)parameter.get(PARAMETER);
  +             MapValue parameterMap = (MapValue)parameter.get(PARAMETERS);
                Value step = (Value)parameter.get(Process.STEP);
                StringBuffer linkBuffer = new StringBuffer(128);
                if ( context instanceof HttpContext ) {
  
  
  
  1.9       +13 -13    
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/table/TableGenerator.java
  
  Index: TableGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/table/TableGenerator.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TableGenerator.java       23 Jun 2004 13:23:47 -0000      1.8
  +++ TableGenerator.java       23 Jun 2004 14:42:57 -0000      1.9
  @@ -52,6 +52,7 @@
       final private static String VALUE = "value";
       final private static String PROCESSOR = "processor";
       final private static String PARAMETERS = "parameters";
  +    final private static String RESULT = "result";
       
       final private static String HEADERS = "headers";
       final private static String COLUMNS = "columns";
  @@ -87,6 +88,7 @@
           headerParameterDescriptors.add(new ParameterDescriptor(SORTABLE, new 
ParameterMessage("tableGenerator/parameter/columns/sortable"), new 
BooleanValueDescriptor(), BooleanValue.FALSE));
           headerParameterDescriptors.add(new ParameterDescriptor(PROCESSOR, new 
ParameterMessage("tableGenerator/parameter/columns/processor"), new 
URIValueDescriptor(), NullValue.NULL));
           headerParameterDescriptors.add(new ParameterDescriptor(PARAMETERS, new 
ParameterMessage("tableGenerator/parameter/columns/parameters"), new 
MapValueDescriptor(), NullValue.NULL));
  +        headerParameterDescriptors.add(new ParameterDescriptor(RESULT, new 
ParameterMessage("tableGenerator/parameter/columns/result"), new 
StringValueDescriptor(), NullValue.NULL));
           parameterDescriptorList.add(new ParameterDescriptor(COLUMNS_PARAMETER, new 
ParameterMessage("tableGenerator/parameter/columns"),
                        new ArrayValueDescriptor(new 
MapValueDescriptor((ParameterDescriptor [])headerParameterDescriptors.toArray(new 
ParameterDescriptor[headerParameterDescriptors.size()])))));
           parameterDescriptorList.add(new ParameterDescriptor(PARAMETER, new 
ParameterMessage("tableGenerator/parameter/parameter"), new MapValueDescriptor(), new 
MapValue(new HashMap())));
  @@ -175,27 +177,25 @@
                        Map columnParameters = new HashMap();
                        columnParameters.putAll(parameter);
                        String key = columnMap.get(KEY).toString();
  +                     Object value = columnMap.get(VALUE);
  +                     if ( value == null || value == NullValue.NULL ) {
  +                             value = inputParameter.get(key);
  +                     }
  +                     columnParameters.put(VALUE, value);
                        if ( processorUri != NullValue.NULL ) {
                        Processor processor = 
ProcessorManager.getInstance().getProcessor((URI)processorUri);
                        Value processorParameters = (Value)columnMap.get(PARAMETERS);
  -                     Map columnProcessorParamters;
                        if ( processorParameters instanceof MapValue ) {
  -                             columnProcessorParamters = 
((MapValue)processorParameters).getMap();
  -                     } else {
  -                             columnProcessorParamters = new HashMap();
  +                             
columnParameters.putAll(((MapValue)processorParameters).getMap());
                        }
  -                     ProcessorHelper.validate(processor.getParameterDescriptors(), 
columnProcessorParamters, context);
  -                     Result processorResult = 
processor.process(columnProcessorParamters, context);
  -                     Value resultEntry = 
(Value)processorResult.getResultEntries().get(key);
  +                     ProcessorHelper.validate(processor.getParameterDescriptors(), 
columnParameters, context);
  +                     Result processorResult = processor.process(columnParameters, 
context);
  +                     String resultKey = columnMap.get(RESULT).toString();
  +                     Value resultEntry = 
(Value)processorResult.getResultEntries().get(resultKey);
                        if ( resultEntry instanceof PrintableValue ) {
                                ((PrintableValue)resultEntry).print(columnsBuffer);
                        }
                        } else {
  -                     Object value = columnMap.get(VALUE);
  -                     if ( value == null || value == NullValue.NULL ) {
  -                             value = inputParameter.get(key);
  -                     }
  -                     columnParameters.put(VALUE, value);
                        Template template = columnTemplate;
                                if ( size != null && 
TableHandler.COLLAPSED.equals(size.get(key))) {
                                        template = collapsedColumnTemplate;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to