bitkeeper revision 1.418.1.4 (3f5f5c8a0reuxzNwVh_SoCrfv-HfGw)
authortlh20@labyrinth.cl.cam.ac.uk <tlh20@labyrinth.cl.cam.ac.uk>
Wed, 10 Sep 2003 17:16:58 +0000 (17:16 +0000)
committertlh20@labyrinth.cl.cam.ac.uk <tlh20@labyrinth.cl.cam.ac.uk>
Wed, 10 Sep 2003 17:16:58 +0000 (17:16 +0000)
Many files:
  Improve xenctl error messages

tools/control/src/org/xenoserver/control/CommandDomainNew.java
tools/control/src/org/xenoserver/control/CommandPhysicalGrant.java
tools/control/src/org/xenoserver/control/CommandPhysicalRevoke.java
tools/control/src/org/xenoserver/control/CommandVbdCreatePhysical.java

index b8341551d17b11eed6a417b5523fcc8473cf5b32..54b12e0aa0d50bb6f1e64d7d658bbe3b5fe6dab1 100644 (file)
@@ -6,6 +6,7 @@ import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.lang.NumberFormatException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.zip.GZIPInputStream;
@@ -182,7 +183,14 @@ public class CommandDomainNew extends Command {
                     br =
                         new BufferedReader(
                             new InputStreamReader(create_p.getInputStream()));
-                    domain_id = Integer.parseInt(br.readLine());
+                   try
+                     {
+                       domain_id = Integer.parseInt(br.readLine());
+                     }
+                   catch (NumberFormatException nfe) 
+                     {
+                       domain_id = -1;
+                     }
                     create_rc = create_p.waitFor();
                 }
                d.domainNumber = domain_id;
index 8e276f071d048848513a2c02b767b74b315cd252..68194e912d16bc9f91fe2c44963efd49da04e45a 100644 (file)
@@ -42,11 +42,11 @@ public class CommandPhysicalGrant extends Command {
     public String execute() throws CommandFailedException {
         Runtime r = Runtime.getRuntime();
         String output = null;
-
-        Partition partition = PartitionManager.IT.getPartition(StringPattern.parse(partition_name).resolve(domain_id));
+       String resolved = StringPattern.parse(partition_name).resolve(domain_id);
+        Partition partition = PartitionManager.IT.getPartition(resolved);
     
         if ( partition == null ) {
-          throw new CommandFailedException("Partition " + partition_name + " does not exist.");
+          throw new CommandFailedException("Partition " + partition_name + " (resolved to " + resolved + ") does not exist.");
         }
     
         // Check if this partition belongs to the VDM
index 5d4c0e8e416afd2e68bc361f0c364c8a98c11204..b752473001a8b679373f89bbeab005ff2c65be48 100644 (file)
@@ -29,12 +29,11 @@ public class CommandPhysicalRevoke extends Command {
     public String execute() throws CommandFailedException {
         Runtime r = Runtime.getRuntime();
         String output = null;
-
-        Partition partition = PartitionManager.IT.getPartition(StringPattern.parse(partition_name).resolve(domain_id));
+       String resolved = StringPattern.parse(partition_name).resolve(domain_id);
+        Partition partition = PartitionManager.IT.getPartition(resolved);
 
         if (partition == null) {
-            throw new CommandFailedException(
-                "Partition " + partition_name + " does not exist.");
+          throw new CommandFailedException("Partition " + partition_name + " (resolved to " + resolved + ") does not exist.");
         }
 
         try {
index 5e547a7a3b40625459285caa96ec765aabd7f3bb..2f63446e0150a0cb41e75e888ef3172376b1e23d 100644 (file)
@@ -38,10 +38,11 @@ public class CommandVbdCreatePhysical extends Command {
      * @see org.xenoserver.control.Command#execute()
      */
     public String execute() throws CommandFailedException {
-        Partition partition = PartitionManager.IT.getPartition(StringPattern.parse(partition_name).resolve(domain_id));
+        String resolved = StringPattern.parse(partition_name).resolve(domain_id);
+        Partition partition = PartitionManager.IT.getPartition(resolved);
         if (partition == null) {
             throw new CommandFailedException(
-                "No partition " + partition_name + " exists");
+                "No partition " + partition_name + " (resolved to " + resolved + ") exists");
         }
 
         VirtualDisk vd = new VirtualDisk("vbd:" + partition.getName());