<%-- $This file is distributed under the terms of the license in /doc/license.txt$ --%> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/StringProcessorTag" prefix="p" %> <%@ taglib uri="http://vitro.mannlib.cornell.edu/vitro/tags/PropertyEditLink" prefix="edLnk" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Portal" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Individual" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.controller.VitroRequest" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.PropertyInstanceDao" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.DataPropertyDao" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.PropertyInstance" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.Property" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.KeywordProperty" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.PropertyGroup" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.PropertyGroupDao" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.ObjectPropertyDao" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataProperty" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.edit.n3editing.RdfLiteralHash" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.dao.VClassDao" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.beans.VClass" %> <%@ page import="edu.cornell.mannlib.vitro.webapp.filters.VitroRequestPrep" %> <%@ page import="edu.cornell.mannlib.vedit.beans.LoginStatusBean" %> <%@page import="edu.cornell.mannlib.vitro.webapp.web.MiscWebUtils"%> <%@ page import="java.util.Collection" %> <%@ page import="java.util.Collections" %> <%@ page import="java.util.Comparator" %> <%@ page import="java.util.List" %> <%@ page import="java.util.ArrayList" %> <%@ page import="java.util.Iterator" %> <%@ page import="java.util.HashSet" %> <%@page import="java.util.LinkedList"%> <%@page import="java.util.Set"%> <%@ page import="org.apache.commons.logging.Log" %> <%@ page import="org.apache.commons.logging.LogFactory" %> <%! public static Log log = LogFactory.getLog("edu.cornell.mannlib.vitro.webapp.jsp.templates.entity.entityMergedPropsList.jsp"); %> <% if( VitroRequestPrep.isSelfEditing(request) ) { log.debug("setting showSelfEdits true");%> <% } if (LoginStatusBean.getBean(request).isLoggedIn()) { log.debug("setting showCuratorEdits true");%> <% }%> <%-- just moving this into page scope for easy use --%> <%-- likewise --%> <% Individual subject = (Individual) request.getAttribute("entity"); if (subject==null) { throw new Error("Subject individual must be in request scope for dashboardPropsList.jsp"); } // Nick wants not to use explicit parameters to trigger visibility of a div, but for now we don't just want to always show the 1st one String openingGroupLocalName = (String) request.getParameter("curgroup"); VitroRequest vreq = new VitroRequest(request); // added to permit distinguishing links outside the current portal int currentPortalId = -1; Portal currentPortal = vreq.getPortal(); if (currentPortal!=null) { currentPortalId = currentPortal.getPortalId(); } WebappDaoFactory wdf = vreq.getWebappDaoFactory(); PropertyGroupDao pgDao = wdf.getPropertyGroupDao(); VClassDao vcDao = wdf.getVClassDao(); ArrayList propsList = (ArrayList) request.getAttribute("mergedList"); for (Property p : propsList) {%> <% if (p instanceof ObjectProperty) { ObjectProperty op = (ObjectProperty)p;%>

${objProp.label}

<%-- Verbose property display additions for object properties, using context variable verbosePropertyListing --%> <% PropertyGroup pg = pgDao.getGroupByURI(op.getGroupURI()); if (pg!=null && pg.getName()!=null) { request.setAttribute("groupName",pg.getName());%> ${localName} (object property); display tier ${displayTier} within group ${groupName}; display level: ${displayCue}; update level: ${updateCue} <% } else {%> ${localName} (object property); display tier ${displayTier}; display level: ${displayCue}; update level: ${updateCue} <% } %> ${localName} (object property); display tier ${displayTier}; display level: ${displayCue}; update level: ${updateCue} <%-- end Verbose property display additions for object properties --%> <% /* arbitrary limit if value is unset, i.e. -1 */ %>
  • ${collateCurrentClassName}
    • <% String customShortView = MiscWebUtils.getCustomShortView(request); %> ${editLinks}  (non-editable)
  • <% } else if (p instanceof DataProperty) { DataProperty dp = (DataProperty)p;%>

    ${dataProp.label}

    <%-- Verbose property display additions for data properties, using context variable verbosePropertyListing --%> <% PropertyGroup pg = pgDao.getGroupByURI(dp.getGroupURI()); if (pg!=null && pg.getName()!=null) { request.setAttribute("groupName",pg.getName());%> ${localName} (data property); display tier ${displayTier} within group ${groupName}; display level: ${displayCue}; update level: ${updateCue} <% } else {%> ${localName} (data property); display tier ${displayTier}; display level: ${displayCue}; update level: ${updateCue} <% } %> ${localName} (data property); display tier ${displayTier}; display level: ${displayCue}; update level: ${updateCue} <%-- end Verbose property display additions for data properties --%> <% /* arbitrary limit if value is unset, i.e. -1 */ %>
    <% } else { // keyword property -- ignore if (p instanceof KeywordProperty) {%>

    Not expecting keyword properties here.

    <% } else { log.warn("unexpected unknown property type found");%>

    Unknown property type found

    <% } } } // end for (Property p : g.getPropertyList() %>