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]