From 9ac7796c6729df015432deed567007ac7efef91a Mon Sep 17 00:00:00 2001 From: rjy7 Date: Fri, 14 Jan 2011 22:22:44 +0000 Subject: [PATCH] NIHVIVO-1667 Don't display an add link for data properties whose display limit has already been reached. --- .../individual/DataPropertyTemplateModel.java | 21 +++++++++++-------- .../individual/GroupedPropertyList.java | 5 +++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java index 629c14f48..71277ac36 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/DataPropertyTemplateModel.java @@ -33,15 +33,7 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel { super(dp, subject, policyHelper); setName(dp.getPublicName()); - - // Determine whether a new statement can be added - if (policyHelper != null) { - RequestedAction action = new AddDataPropStmt(subjectUri, propertyUri,RequestActionConstants.SOME_LITERAL, null, null); - if (policyHelper.isAuthorizedAction(action)) { - addAccess = true; - } - } - + // Get the data property statements via a sparql query DataPropertyStatementDao dpDao = vreq.getWebappDaoFactory().getDataPropertyStatementDao(); List values = dpDao.getDataPropertyValuesForIndividualByProperty(subject, dp); @@ -49,6 +41,17 @@ public class DataPropertyTemplateModel extends PropertyTemplateModel { for (Literal value : values) { statements.add(new DataPropertyStatementTemplateModel(subjectUri, propertyUri, value, policyHelper)); } + + // Determine whether a new statement can be added + if (policyHelper != null) { + // If the display limit has already been reached, we can't add a new statement + if ( dp.getDisplayLimit() > statements.size() ) { + RequestedAction action = new AddDataPropStmt(subjectUri, propertyUri,RequestActionConstants.SOME_LITERAL, null, null); + if (policyHelper.isAuthorizedAction(action)) { + addAccess = true; + } + } + } } /* Access methods for templates */ diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java index 626a6e2be..27148b10c 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/individual/GroupedPropertyList.java @@ -99,8 +99,8 @@ public class GroupedPropertyList extends BaseTemplateModel { // Build the template data model from the groupList groups = new ArrayList(propertyGroupList.size()); - for (PropertyGroup pg : propertyGroupList) { - groups.add(new PropertyGroupTemplateModel(vreq, pg, subject, policyHelper)); + for (PropertyGroup propertyGroup: propertyGroupList) { + groups.add(new PropertyGroupTemplateModel(vreq, propertyGroup, subject, policyHelper)); } } @@ -425,5 +425,6 @@ public class GroupedPropertyList extends BaseTemplateModel { } return null; } + }