summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/Communicator.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2011-03-28 18:32:25 -0400
committerBernard Normier <bernard@zeroc.com>2011-03-28 18:32:25 -0400
commit7ab21a7df484b0186cca1c7f5dc931c016cbe4de (patch)
treeaafe7e530246b75adac36d3eacf54b45c2bb3452 /java/src/IceGridGUI/Application/Communicator.java
parent5004 - Slice file UTF-8 BOM and #define (diff)
downloadice-7ab21a7df484b0186cca1c7f5dc931c016cbe4de.tar.bz2
ice-7ab21a7df484b0186cca1c7f5dc931c016cbe4de.tar.xz
ice-7ab21a7df484b0186cca1c7f5dc931c016cbe4de.zip
Fixed NPE when loading bad XML file (bug #4859)
Diffstat (limited to 'java/src/IceGridGUI/Application/Communicator.java')
-rw-r--r--java/src/IceGridGUI/Application/Communicator.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/java/src/IceGridGUI/Application/Communicator.java b/java/src/IceGridGUI/Application/Communicator.java
index a52ed16e0cf..b7d2c0b2ffd 100644
--- a/java/src/IceGridGUI/Application/Communicator.java
+++ b/java/src/IceGridGUI/Application/Communicator.java
@@ -699,14 +699,24 @@ abstract class Communicator extends TreeNode implements DescriptorHolder
TemplateDescriptor templateDescriptor
= getRoot().findServiceTemplateDescriptor(descriptor.template);
- assert templateDescriptor != null;
+ if(templateDescriptor == null)
+ {
+ throw new UpdateFailedException("Cannot find template descriptor '" +
+ descriptor.template +
+ "' referenced by service-instance");
+ }
serviceResolver = new Utils.Resolver(getResolver(),
descriptor.parameterValues,
templateDescriptor.parameterDefaults);
ServiceDescriptor serviceDescriptor = (ServiceDescriptor)templateDescriptor.descriptor;
- assert serviceDescriptor != null;
+
+ //
+ // If it's not null, it's a bug in the provider of this descriptor, e.g.
+ // the icegridadmin parsing code.
+ //
+ assert serviceDescriptor != null;
serviceName = serviceResolver.substitute(serviceDescriptor.name);
serviceResolver.put("service", serviceName);