From 1abbdfc86df7670a634f12f6ef62be43a7a35410 Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Tue, 3 Dec 2013 13:39:53 -0500 Subject: [PATCH] vivo-608 only display classes that are part of classgroup in type dropdown --- .../edit/EditConfigurationTemplateModel.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java index 8a3e273ca..651cfb6b0 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/edit/EditConfigurationTemplateModel.java @@ -547,11 +547,14 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { rangeVClasses.addAll(rangeClass.getUnionComponents()); } for(VClass rangeVClass : rangeVClasses) { - vclasses.add(rangeVClass); + if(rangeVClass.getGroupURI() != null) { + vclasses.add(rangeVClass); + } List subURIs = wdf.getVClassDao().getAllSubClassURIs(rangeVClass.getURI()); for (String subClassURI : subURIs) { VClass subClass = wdf.getVClassDao().getVClassByURI(subClassURI); - if (subClass != null) { + //if the subclass exists and also belongs to a particular class group + if (subClass != null && subClass.getGroupURI() != null) { vclasses.add(subClass); } } @@ -567,7 +570,8 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { //add range vclass to hash if(rangeVclasses != null) { for(VClass v: rangeVclasses) { - if(!vclassesURIs.contains(v.getURI())) { + //Need to make sure any class added will belong to a class group + if(!vclassesURIs.contains(v.getURI()) && v.getGroupURI() != null) { vclassesURIs.add(v.getURI()); vclasses.add(v); } @@ -577,7 +581,13 @@ public class EditConfigurationTemplateModel extends BaseTemplateModel { } //if each subject vclass resulted in null being returned for range vclasses, then size of vclasses would be zero if(vclasses.size() == 0) { - vclasses = wdf.getVClassDao().getAllVclasses(); + List allVClasses = wdf.getVClassDao().getAllVclasses(); + //Since these are all vclasses, we should check whether vclasses included are in a class group + for(VClass v:allVClasses) { + if(v.getGroupURI() != null) { + vclasses.add(v); + } + } }