dflorey     2004/05/06 07:19:48

  Modified:    proposals/projector/src/java/org/apache/slide/projector/processor/form
                        ControlComposer.java Control.java
  Added:       proposals/projector/src/java/org/apache/slide/projector/processor/form
                        ControlContainer.java
  Log:
  Improved form handling
  
  Revision  Changes    Path
  1.4       +4 -4      
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/form/ControlComposer.java
  
  Index: ControlComposer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/form/ControlComposer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ControlComposer.java      6 May 2004 12:54:11 -0000       1.3
  +++ ControlComposer.java      6 May 2004 14:19:48 -0000       1.4
  @@ -11,7 +11,6 @@
   import org.apache.slide.projector.processor.TemplateRenderer;
   import org.apache.slide.projector.resource.*;
   import org.apache.slide.projector.util.ProcessorHelper;
  -import org.apache.slide.projector.util.StoreHelper;
   
   import java.util.*;
   
  @@ -146,14 +145,15 @@
                controlParameters.put(Control.STATE, controlState);
                   controlParameters.put(Control.VALUE, controlValue);
                   Result controlResult = control.process(controlParameters, context);
  -                Resource controlContainerUri = 
(Resource)controlParameters.get(CONTROL_CONTAINER); 
  +                String controlContainerUri = 
(String)controlParameters.get(CONTROL_CONTAINER); 
                   if ( controlContainerUri != null ) {
  -                     Processor controlContainer = 
ProcessorManager.getInstance().getProcessor((URI)controlContainerUri);
  +                     Processor controlContainer = 
ProcessorManager.getInstance().getProcessor(new URIResource(controlContainerUri));
                        Map controlContainerParameters = new HashMap();
                        controlContainerParameters.putAll(parameter);
                        if ( hasErrors(informations, parameterName) ) {
                                explodeInformations(controlContainerParameters, 
informations, parameterName, locale);
  -                     }
  +                     } 
  +                     controlContainerParameters.put(Control.STATE, controlState);
                        controlContainerParameters.put(CONTROL, 
controlResult.getResultEntries().get(OUTPUT));
                        controlContainerParameters.put(TITLE, 
description.getTitle(locale, parameterName ));
                        try {
  
  
  
  1.4       +4 -4      
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/form/Control.java
  
  Index: Control.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/form/Control.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Control.java      5 May 2004 17:53:12 -0000       1.3
  +++ Control.java      6 May 2004 14:19:48 -0000       1.4
  @@ -22,7 +22,7 @@
    */
   
   public class Control extends TemplateRenderer {
  -    private final static String CONTROL = " control";
  +    private final static String NAME = " control";
   
       public final static String OPTIONAL_VALID_CONTROL = "valid optional";
       public final static String OPTIONAL_INVALID_CONTROL = "invalid optional";
  @@ -64,7 +64,7 @@
           } else if ( state.equals(REQUIRED_VALID_CONTROL) ) {
               fragment = validRequiredFragment;
           } else if ( state.equals(REQUIRED_INVALID_CONTROL) ) {
  -            fragment = validRequiredFragment;
  +            fragment = invalidRequiredFragment;
           }
           return new Result(state, OUTPUT, renderFragment(fragment, parameter));
       }
  @@ -119,6 +119,6 @@
       }
   
       protected String getName() {
  -        return CONTROL;
  +        return NAME;
       }
   }
  
  
  
  1.1                  
jakarta-slide/proposals/projector/src/java/org/apache/slide/projector/processor/form/ControlContainer.java
  
  Index: ControlContainer.java
  ===================================================================
  package org.apache.slide.projector.processor.form;
  
  import org.apache.slide.projector.ConfigurationException;
  import org.apache.slide.projector.descriptor.ParameterDescriptor;
  import org.apache.slide.projector.descriptor.StringValueDescriptor;
  import org.apache.slide.projector.i18n.ParameterMessage;
  import org.apache.slide.projector.resource.StreamableResource;
  
  public class ControlContainer extends Control {
      private final static String CONTROL = "control";
  
        private ParameterDescriptor[] parameterDescriptors;
  
      public ParameterDescriptor[] getParameterDescriptors() {
          return parameterDescriptors;
      }
  
      public void configure(StreamableResource config) throws ConfigurationException {
          super.configure(config);
          ParameterDescriptor[] parentParameterDescriptors = 
super.getParameterDescriptors();
          parameterDescriptors = new 
ParameterDescriptor[parentParameterDescriptors.length - 2];
          int counter = 0;
          for ( int i = 0; i < parentParameterDescriptors.length; i++ ) {
                if (!parentParameterDescriptors[i].getName().equals(ACTION) 
                                && 
!parentParameterDescriptors[i].getName().equals(PARAMETER) 
                                        && 
!parentParameterDescriptors[i].getName().equals(VALUE)) {
                  parameterDescriptors[counter] = parentParameterDescriptors[i];
                  counter++;
              }
          }
          parameterDescriptors[parentParameterDescriptors.length - 3] =
                  new ParameterDescriptor(CONTROL, new 
ParameterMessage("controlContainer/control"), new StringValueDescriptor());
      }
  }
  
  

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

Reply via email to