From 95d7f28259cc943ad1f4b73b0e2d1e78b4590ce3 Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Wed, 4 Dec 2013 11:46:44 -0500 Subject: [PATCH] vivo610 when rangeUri empty ensure error does not occur for adding new object of type --- .../DefaultObjectPropertyFormGenerator.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java index 11cf0210d..4d29a23d1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/DefaultObjectPropertyFormGenerator.java @@ -112,7 +112,7 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene Individual subject = EditConfigurationUtils.getSubjectIndividual(vreq); String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); String rangeUri = EditConfigurationUtils.getRangeUri(vreq); - if (rangeUri != null) { + if (rangeUri != null && !rangeUri.isEmpty()) { VClass rangeVClass = ctxDaoFact.getVClassDao().getVClassByURI(rangeUri); if (!rangeVClass.isUnion()) { types.add(rangeVClass); @@ -125,18 +125,23 @@ public class DefaultObjectPropertyFormGenerator implements EditConfigurationGene } WebappDaoFactory wDaoFact = vreq.getWebappDaoFactory(); //Get all vclasses applicable to subject - List vClasses = subject.getVClasses(); - HashMap typesHash = new HashMap(); - for(VClass vclass: vClasses) { - List rangeVclasses = wDaoFact.getVClassDao().getVClassesForProperty(vclass.getURI(),predicateUri); - if(rangeVclasses != null) { - for(VClass range: rangeVclasses) { - //a hash will keep a unique list of types and so prevent duplicates - typesHash.put(range.getURI(), range); + if(subject != null) { + List vClasses = subject.getVClasses(); + HashMap typesHash = new HashMap(); + for(VClass vclass: vClasses) { + List rangeVclasses = wDaoFact.getVClassDao().getVClassesForProperty(vclass.getURI(),predicateUri); + if(rangeVclasses != null) { + for(VClass range: rangeVclasses) { + //a hash will keep a unique list of types and so prevent duplicates + typesHash.put(range.getURI(), range); + } } - } - } - types.addAll(typesHash.values()); + } + types.addAll(typesHash.values()); + } else { + log.error("Subject individual was null for"); + } + return types; }