# HG changeset patch # User Svata Dedic # Date 1351612070 -3600 # Node ID f93ef9fcf584edd27aa53fa29d224f8cf505f61a # Parent 763b154268173cbd1ef460413ffad9af8906b727 Bugfix #215583: avoiding NPE diff -r 763b15426817 -r f93ef9fcf584 xml.schema.ui.basic/src/org/netbeans/modules/xml/schema/ui/nodes/categorized/customizer/ComplexTypeCustomizer.java --- a/xml.schema.ui.basic/src/org/netbeans/modules/xml/schema/ui/nodes/categorized/customizer/ComplexTypeCustomizer.java Fri Apr 22 14:52:57 2011 -0400 +++ b/xml.schema.ui.basic/src/org/netbeans/modules/xml/schema/ui/nodes/categorized/customizer/ComplexTypeCustomizer.java Tue Oct 30 16:47:50 2012 +0100 @@ -67,6 +67,7 @@ import org.netbeans.modules.xml.schema.model.ComplexExtensionDefinition; import org.netbeans.modules.xml.schema.model.ComplexType; import org.netbeans.modules.xml.schema.model.ComplexTypeDefinition; +import org.netbeans.modules.xml.schema.model.Extension; import org.netbeans.modules.xml.schema.model.GlobalComplexType; import org.netbeans.modules.xml.schema.model.GlobalGroup; import org.netbeans.modules.xml.schema.model.GlobalSimpleType; @@ -84,6 +85,7 @@ import org.netbeans.modules.xml.schema.model.SimpleContentRestriction; import org.netbeans.modules.xml.schema.model.SimpleExtension; import org.netbeans.modules.xml.schema.ui.basic.editors.SchemaComponentSelectionPanel; +import org.netbeans.modules.xml.xam.Reference; import org.netbeans.modules.xml.xam.ui.customizer.MessageDisplayer; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; @@ -110,6 +112,11 @@ this(reference,null); } + static GlobalType getBase(Extension ext) { + Reference ref = ext.getBase(); + return ref == null ? null : ref.get(); + } + /** * non UI component (model) initialization and access methods */ @@ -137,7 +144,7 @@ contentType = ContentType.Restriction; ComplexContentRestriction ccr = (ComplexContentRestriction)cc.getLocalDefinition(); - gRef = ccr.getBase().get(); + gRef = getBase(ccr); ComplexTypeDefinition innerDefinition = ccr.getDefinition(); if(innerDefinition instanceof All) { innerContentType = ContentType.All; @@ -152,7 +159,7 @@ contentType = ContentType.Extension; ComplexExtension ce = (ComplexExtension)cc.getLocalDefinition(); - gRef = ce.getBase().get(); + gRef = getBase(ce); ComplexExtensionDefinition innerDefinition = ce.getLocalDefinition(); if(innerDefinition instanceof All) { innerContentType = ContentType.All; @@ -172,11 +179,11 @@ contentType = ContentType.Restriction; SimpleContentRestriction scr = (SimpleContentRestriction)sc.getLocalDefinition(); - if(scr.getBase()!=null) - gRef = scr.getBase().get(); + Reference ref = scr.getBase(); + gRef = ref == null ? null : ref.get(); } else if(sc.getLocalDefinition() instanceof SimpleExtension) { contentType = ContentType.Extension; - gRef = ((SimpleExtension)sc.getLocalDefinition()).getBase().get(); + gRef = getBase(((SimpleExtension)sc.getLocalDefinition())); } } }