henning     2003/03/19 06:19:15

  Modified:    src/java/org/apache/turbine/services/intake IntakeTool.java
  Log:
  - Add a constant for the hidden field name
  - Bugfix: If you remove a group, then you must also
            remove it from the hidden field name.
  
  Revision  Changes    Path
  1.15      +23 -5     
jakarta-turbine-2/src/java/org/apache/turbine/services/intake/IntakeTool.java
  
  Index: IntakeTool.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-2/src/java/org/apache/turbine/services/intake/IntakeTool.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- IntakeTool.java   9 Mar 2003 03:06:26 -0000       1.14
  +++ IntakeTool.java   19 Mar 2003 14:19:15 -0000      1.15
  @@ -61,6 +61,7 @@
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +
   import org.apache.turbine.om.Retrievable;
   import org.apache.turbine.services.intake.model.Group;
   import org.apache.turbine.services.pull.ApplicationTool;
  @@ -73,6 +74,7 @@
    * The main class through which Intake is accessed.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">John D. McNally</a>
  + * @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Quinton McCombs</a>
    * @version $Id$
    */
  @@ -85,12 +87,15 @@
       /** Constant for default key */
       public static final String DEFAULT_KEY = "_0";
   
  +    /** Constant for the hidden fieldname */
  +    public static final String INTAKE_GRP = "intake-grp";
  +
       /** Groups from intake.xml */
       private HashMap groups;
   
       /** ValueParser instance */
       private ValueParser pp;
  -
  +  
       HashMap declaredGroups = new HashMap();
       StringBuffer allGroupsSB = new StringBuffer(256);
       StringBuffer groupSB = new StringBuffer(128);
  @@ -125,7 +130,7 @@
       {
           this.pp = ((RunData) runData).getParameters();
   
  -        String[] groupKeys = pp.getStrings("intake-grp");
  +        String[] groupKeys = pp.getStrings(INTAKE_GRP);
           String[] groupNames = null;
           if (groupKeys == null || groupKeys.length == 0)
           {
  @@ -146,7 +151,7 @@
               try
               {
                   List foundGroups = TurbineIntake.getGroup(groupNames[i])
  -                        .getObjects(pp);
  +                    .getObjects(pp);
   
                   if (foundGroups != null)
                   {
  @@ -220,7 +225,8 @@
           {
               declaredGroups.put(group.getIntakeGroupName(), null);
               sb.append("<input type=\"hidden\" name=\"")
  -                    .append("intake-grp\" value=\"")
  +                    .append(INTAKE_GRP)
  +                    .append("\" value=\"")
                       .append(group.getGID())
                       .append("\"/>\n");
           }
  @@ -422,6 +428,18 @@
       {
           groups.remove(group.getObjectKey());
           group.removeFromRequest();
  +
  +        String[] groupKeys = pp.getStrings(INTAKE_GRP);
  +
  +        pp.remove(INTAKE_GRP);
  +
  +        for (int i = 0; i < groupKeys.length; i++)
  +        {
  +            if (!groupKeys[i].equals(group.getGID()))
  +            {
  +                pp.add(INTAKE_GRP, groupKeys[i]);
  +            }
  +        }
   
           try
           {
  
  
  

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

Reply via email to