java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartPartitionEditAction.java | 2
java/code/src/com/redhat/rhn/frontend/action/kickstart/test/KickstartPartitionActionTest.java | 20 -
java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/profile/system/SystemDetailsHandler.java | 2
java/code/src/com/redhat/rhn/manager/kickstart/KickstartPartitionCommand.java | 157 ----------
java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartPartitionCommandTest.java | 4
5 files changed, 5 insertions(+), 180 deletions(-)
New commits:
commit 29e66d7da550556ef8de7e3be77e8f563d263d9a
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Aug 31 17:04:01 2010 -0400
628097 - Removed kickstart partition validation logic
To account for snippets and reworked kickstart partition stuff.
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartPartitionEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartPartitionEditAction.java
index c793f37..eaf6ba2 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartPartitionEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartPartitionEditAction.java
@@ -40,7 +40,7 @@ public class KickstartPartitionEditAction extends BaseKickstartEditAction {
DynaActionForm form,
BaseKickstartCommand cmdIn) {
KickstartPartitionCommand cmd = (KickstartPartitionCommand) cmdIn;
- return cmd.parsePartitions(form.getString(PARTITIONS));
+ return cmd.setPartitionData(form.getString(PARTITIONS));
}
@Override
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/test/KickstartPartitionActionTest.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/test/KickstartPartitionActionTest.java
index c345d91..104507c 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/test/KickstartPartitionActionTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/test/KickstartPartitionActionTest.java
@@ -71,26 +71,6 @@ public class KickstartPartitionActionTest extends RhnMockStrutsTestCase {
}
- public void testDuplicateMountPoint() throws Exception {
-
- String data = "part /boot --size=1000 --grow --maxsize=3000\n" +
- "part /boot --size=2000 --grow --maxsize=3000\n" +
- "volgroup myvg pv.01\n" +
- "raid swap --fstype swap --level 0 --device 1 raid.05 raid.06 raid.07 raid.08";
- setRequestPathInfo("/kickstart/KickstartPartitionEdit");
- addRequestParameter(KickstartPartitionEditAction.SUBMITTED,
- Boolean.TRUE.toString());
- addRequestParameter(KickstartPartitionEditAction.PARTITIONS, data);
- actionPerform();
- DynaActionForm form = (DynaActionForm) getActionForm();
- String formval = (String)form.get(KickstartPartitionEditAction.PARTITIONS);
-
- assertTrue(formval.length() > 0);
-
- String[] keys = {"kickstart.partition.duplicate"};
- verifyActionErrors(keys);
- }
-
public void testMultipleSwapsSubmit() throws Exception {
String data = "part swap --size=1000 --grow --maxsize=3000\n" +
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/profile/system/SystemDetailsHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/profile/system/SystemDetailsHandler.java
index 94facae..127b3f9 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/profile/system/SystemDetailsHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/kickstart/profile/system/SystemDetailsHandler.java
@@ -353,7 +353,7 @@ public class SystemDetailsHandler extends BaseHandler {
sb.append(s);
sb.append('\n');
}
- ValidatorError err = command.parsePartitions(sb.toString());
+ ValidatorError err = command.setPartitionData(sb.toString());
if (err != null) {
throw new FaultException(-4, "PartitioningSchemeInvalid", err
.toString());
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartPartitionCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartPartitionCommand.java
index aa0022f..821197b 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/KickstartPartitionCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/KickstartPartitionCommand.java
@@ -17,42 +17,15 @@ package com.redhat.rhn.manager.kickstart;
import com.redhat.rhn.common.validator.ValidatorError;
import com.redhat.rhn.domain.user.User;
-import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
-import java.text.ParseException;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.StringTokenizer;
-
/**
* KickstartPrePostCommand - for editing the pre and post steps
* in a kickstart.
* @version $Rev$
*/
public class KickstartPartitionCommand extends BaseKickstartCommand {
-
private static Logger log = Logger.getLogger(KickstartPartitionCommand.class);
-
- private static final String SWAP = "swap";
- private static final String SPACE = " ";
- private static final String NEWLINE = "\n";
- private static final String WHITESPACE = "\\s";
- private static final String RAID = "raid";
- private static final String LOGVOL = "logvol";
- private static final String INCLUDE = "include";
- private static final String VOLGROUP = "volgroup";
- private static final String EMPTY_STRING = "";
-
-
- private LinkedHashMap partitions = new LinkedHashMap(Collections.EMPTY_MAP);
- private LinkedHashMap includes = new LinkedHashMap(Collections.EMPTY_MAP);
- private LinkedHashMap logvols = new LinkedHashMap(Collections.EMPTY_MAP);
- private LinkedHashMap volgroups = new LinkedHashMap(Collections.EMPTY_MAP);
- private LinkedHashMap raids = new LinkedHashMap(Collections.EMPTY_MAP);
-
- private int partSwaps = 0;
- private int raidSwaps = 0;
/**
* Constructor
* @param ksidIn id of the Kickstart to lookup
@@ -67,136 +40,8 @@ public class KickstartPartitionCommand extends BaseKickstartCommand {
* @param partitionsIn String from dynaform
* @return ValidatorError if validation error exists
*/
- public ValidatorError parsePartitions(String partitionsIn) {
- if (log.isDebugEnabled()) {
- log.debug("parsePartitions() : partitionsIn: " + partitionsIn);
- }
- for (StringTokenizer strtok = new StringTokenizer(partitionsIn, NEWLINE); strtok
- .hasMoreTokens();) {
- String token = strtok.nextToken();
- if (token == null || token.length() == 0) {
- continue;
- }
- String[] tokens = token.split(WHITESPACE);
- if (tokens == null || tokens.length == 0) {
- continue;
- }
-
- String key = "";
- if (tokens.length > 1) {
- key = tokens[1]; // mount point is the key
- }
- String stripped = StringUtils.trim(token.replaceFirst(tokens[0],
- EMPTY_STRING));
- if (log.isDebugEnabled()) {
- log.debug("Token: " + token);
- }
- try {
- if (token.startsWith("part")) {
- handlePartitions(key, stripped);
- }
- else if (token.startsWith(RAID)) {
- handleRaids(key, stripped);
- }
- else if (token.startsWith(VOLGROUP)) {
- handleVolGroups(key, stripped);
- }
- else if (token.startsWith("%" + INCLUDE) || token.startsWith(INCLUDE)) {
- handleIncludes(key, stripped);
- }
- else if (token.startsWith(LOGVOL)) {
- handleLogVols(key, stripped);
- }
- }
- catch (ParseException e) {
- return new ValidatorError("kickstart.partition.duplicate", key);
- }
- }
+ public ValidatorError setPartitionData(String partitionsIn) {
ksdata.setPartitionData(partitionsIn);
-
return null;
}
-
-
- /**
- *
- * @param keyIn mount point coming in
- * @param partIn partition string coming in
- * @throws ParseException if we have duplicate mount points in the set
- */
- private void handlePartitions(String keyIn, String partIn) throws ParseException {
- // we can have multiple swaps...follow perl pattern of storing swap, swap1..swapN
-
- if (keyIn.startsWith(SWAP)) {
- if (partSwaps > 0) {
- partIn.replaceFirst(SWAP, SWAP + partSwaps);
- keyIn = SWAP + partSwaps;
- }
- partSwaps++;
- }
- else if (partitions.containsKey(keyIn)) {
- throw new ParseException(keyIn, 0);
- }
- partitions.put(keyIn, partIn);
- }
-
- /**
- *
- * @param keyIn mount point coming in
- * @param includeIn include string coming in
- * @throws ParseException if we have duplicate mount points in the set
- */
- private void handleIncludes(String keyIn, String includeIn) throws ParseException {
- if (includes.containsKey(keyIn)) {
- throw new ParseException(keyIn, 0);
- }
- includes.put(keyIn, includeIn);
- }
-
- /**
- *
- * @param keyIn mount point coming in
- * @param logvolIn string coming in
- * @throws ParseException if we have duplicate mount points in the set
- */
- private void handleLogVols(String keyIn, String logvolIn) throws ParseException {
- if (logvols.containsKey(keyIn)) {
- throw new ParseException(keyIn, 0);
- }
- logvols.put(keyIn, logvolIn);
- }
-
- /**
- *
- * @param keyIn mount point coming in
- * @param raidIn raid string coming in
- * @throws ParseException if we have duplicate mount points in the set
- */
- private void handleRaids(String keyIn, String raidIn) throws ParseException {
- // we can have multiple swaps...follow perl pattern of storing swap, swap1..swapN
- if (raidIn.startsWith(SWAP + SPACE)) {
- if (raidSwaps > 0) {
- raidIn.replaceFirst(SWAP, SWAP + raidSwaps);
- keyIn = SWAP + raidSwaps;
- }
- raidSwaps++;
- }
- else if (raids.containsKey(keyIn)) {
- throw new ParseException(keyIn, 0);
- }
- raids.put(keyIn, raidIn);
- }
-
- /**
- *
- * @param keyIn mount point coming in
- * @param volgroupIn volgroup coming in
- * @throws ParseException if we have duplicate mount points in the set
- */
- private void handleVolGroups(String keyIn, String volgroupIn) throws ParseException {
- if (volgroups.containsKey(keyIn)) {
- throw new ParseException(keyIn, 0);
- }
- volgroups.put(keyIn, volgroupIn);
- }
}
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartPartitionCommandTest.java b/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartPartitionCommandTest.java
index b110d85..3ef6235 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartPartitionCommandTest.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/test/KickstartPartitionCommandTest.java
@@ -40,7 +40,7 @@ public class KickstartPartitionCommandTest extends BaseTestCaseWithUser {
"volgroup myvg pv.01\n" +
"logvol / --vgname=myvg --name=rootvol --size=1000 --grow\n";
- assertNull(cmd.parsePartitions(partitions));
+ assertNull(cmd.setPartitionData(partitions));
assertNotNull(k.getPartitionData());
assertNotNull(cmd);
@@ -61,7 +61,7 @@ public class KickstartPartitionCommandTest extends BaseTestCaseWithUser {
"volgroup myvg pv.01\n" +
"logvol / --vgname=myvg --name=rootvol --size=2112 --grow\n";
- assertNull(cmd.parsePartitions(partitions));
+ assertNull(cmd.setPartitionData(partitions));
assertNull(cmd.store());
k = (KickstartData) reload(k);
assertNotNull(k.getPartitionData());