NIHVIVO-646 add authors to publications custom form
This commit is contained in:
parent
5e4d133bbd
commit
6adee49eef
4 changed files with 122 additions and 10 deletions
|
@ -48,6 +48,10 @@ public interface Individual extends ResourceBean, VitroTimeWindowedResource, Com
|
|||
|
||||
void setDataPropertyStatements(List<DataPropertyStatement> list);
|
||||
List<DataPropertyStatement> getDataPropertyStatements();
|
||||
List<DataPropertyStatement> getDataPropertyStatements(String propertyUri);
|
||||
|
||||
List<String> getDataValues(String propertyUri);
|
||||
String getDataValue(String propertyUri);
|
||||
|
||||
VClass getVClass();
|
||||
void setVClass(VClass class1);
|
||||
|
@ -59,6 +63,10 @@ public interface Individual extends ResourceBean, VitroTimeWindowedResource, Com
|
|||
|
||||
void setObjectPropertyStatements(List<ObjectPropertyStatement> list);
|
||||
List<ObjectPropertyStatement> getObjectPropertyStatements();
|
||||
List<ObjectPropertyStatement> getObjectPropertyStatements(String propertyUri);
|
||||
|
||||
List<Individual> getRelatedIndividuals(String propertyUri);
|
||||
Individual getRelatedIndividual(String propertyUri);
|
||||
|
||||
List<DataPropertyStatement> getExternalIds();
|
||||
void setExternalIds(List<DataPropertyStatement> externalIds);
|
||||
|
|
|
@ -129,6 +129,32 @@ public class IndividualImpl extends BaseResourceBean implements Individual, Comp
|
|||
return dataPropertyStatements;
|
||||
}
|
||||
|
||||
public List<DataPropertyStatement> getDataPropertyStatements(String propertyUri) {
|
||||
List<DataPropertyStatement> stmts = getDataPropertyStatements();
|
||||
List<DataPropertyStatement> stmtsForProp = new ArrayList<DataPropertyStatement>();
|
||||
for (DataPropertyStatement stmt : stmts) {
|
||||
if (stmt.getDatapropURI().equals(propertyUri)) {
|
||||
stmtsForProp.add(stmt);
|
||||
}
|
||||
}
|
||||
return stmtsForProp;
|
||||
}
|
||||
|
||||
public List<String> getDataValues(String propertyUri) {
|
||||
List<DataPropertyStatement> stmts = getDataPropertyStatements(propertyUri);
|
||||
List<String> dataValues = new ArrayList<String>(stmts.size());
|
||||
for (DataPropertyStatement stmt : stmts) {
|
||||
dataValues.add(stmt.getData());
|
||||
}
|
||||
return dataValues;
|
||||
}
|
||||
|
||||
|
||||
public String getDataValue(String propertyUri) {
|
||||
List<DataPropertyStatement> stmts = getDataPropertyStatements(propertyUri);
|
||||
return stmts.isEmpty() ? null : stmts.get(0).getData();
|
||||
}
|
||||
|
||||
public VClass getVClass() {
|
||||
return vClass;
|
||||
}
|
||||
|
@ -164,6 +190,31 @@ public class IndividualImpl extends BaseResourceBean implements Individual, Comp
|
|||
return objectPropertyStatements;
|
||||
}
|
||||
|
||||
public List<ObjectPropertyStatement> getObjectPropertyStatements(String propertyUri) {
|
||||
List<ObjectPropertyStatement> stmts = getObjectPropertyStatements();
|
||||
List<ObjectPropertyStatement> stmtsForProp = new ArrayList<ObjectPropertyStatement>();
|
||||
for (ObjectPropertyStatement stmt : stmts) {
|
||||
if (stmt.getPropertyURI().equals(propertyUri)) {
|
||||
stmtsForProp.add(stmt);
|
||||
}
|
||||
}
|
||||
return stmtsForProp;
|
||||
}
|
||||
|
||||
public List<Individual> getRelatedIndividuals(String propertyUri) {
|
||||
List<ObjectPropertyStatement> stmts = getObjectPropertyStatements(propertyUri);
|
||||
List<Individual> relatedIndividuals = new ArrayList<Individual>(stmts.size());
|
||||
for (ObjectPropertyStatement stmt : stmts) {
|
||||
relatedIndividuals.add(stmt.getObject());
|
||||
}
|
||||
return relatedIndividuals;
|
||||
}
|
||||
|
||||
public Individual getRelatedIndividual(String propertyUri) {
|
||||
List<ObjectPropertyStatement> stmts = getObjectPropertyStatements(propertyUri);
|
||||
return stmts.isEmpty() ? null : stmts.get(0).getObject();
|
||||
}
|
||||
|
||||
public List<DataPropertyStatement> getExternalIds(){
|
||||
return externalIds;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
package edu.cornell.mannlib.vitro.webapp.dao.filtering;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
|
@ -71,11 +72,22 @@ public class IndividualFiltering implements Individual {
|
|||
|
||||
public List<DataPropertyStatement> getDataPropertyStatements() {
|
||||
List<DataPropertyStatement> dstmts = _innerIndividual.getDataPropertyStatements();
|
||||
return filterDataPropertyStatements(dstmts);
|
||||
}
|
||||
|
||||
public List<DataPropertyStatement> getDataPropertyStatements(String propertyUri) {
|
||||
List<DataPropertyStatement> dstmts = _innerIndividual.getDataPropertyStatements(propertyUri);
|
||||
return filterDataPropertyStatements(dstmts);
|
||||
}
|
||||
|
||||
private List<DataPropertyStatement> filterDataPropertyStatements(List<DataPropertyStatement> dStmts) {
|
||||
List<DataPropertyStatement> outDstmts = new LinkedList<DataPropertyStatement>();
|
||||
Filter.filter(dstmts,_filters.getDataPropertyStatementFilter(), outDstmts);
|
||||
Filter.filter(dStmts,_filters.getDataPropertyStatementFilter(), outDstmts);
|
||||
return outDstmts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Map<String, DataProperty> getDataPropertyMap() {
|
||||
Map<String,DataProperty> innerMap = _innerIndividual.getDataPropertyMap();
|
||||
if( innerMap == null )
|
||||
|
@ -109,7 +121,7 @@ public class IndividualFiltering implements Individual {
|
|||
public List<ObjectPropertyStatement> getObjectPropertyStatements() {
|
||||
|
||||
List<ObjectPropertyStatement> stmts = _innerIndividual.getObjectPropertyStatements();
|
||||
return ObjectPropertyStatementDaoFiltering.filterAndWrapList(stmts, _filters);
|
||||
return filterObjectPropertyStatements(stmts);
|
||||
//
|
||||
// //filter ObjectPropertyStatements from inner
|
||||
// List<ObjectPropertyStatement> filteredStmts = new LinkedList<ObjectPropertyStatement>();
|
||||
|
@ -133,6 +145,17 @@ public class IndividualFiltering implements Individual {
|
|||
// return stmts;
|
||||
}
|
||||
|
||||
public List<ObjectPropertyStatement> getObjectPropertyStatements(String propertyUri) {
|
||||
List<ObjectPropertyStatement> stmts = _innerIndividual.getObjectPropertyStatements(propertyUri);
|
||||
return filterObjectPropertyStatements(stmts);
|
||||
}
|
||||
|
||||
private List<ObjectPropertyStatement> filterObjectPropertyStatements(List<ObjectPropertyStatement> opStmts) {
|
||||
return ObjectPropertyStatementDaoFiltering.filterAndWrapList(opStmts, _filters);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//TODO: may cause problems since one can get ObjectPropertyStatement list from
|
||||
// the ObjectProperty, and that won't be filtered.
|
||||
//might need to make a ObjectPropertyFiltering and a ObjectPropertyStatementFiltering
|
||||
|
@ -561,4 +584,35 @@ public class IndividualFiltering implements Individual {
|
|||
public void setSearchBoost(Float boost) { _innerIndividual.setSearchBoost( boost ); }
|
||||
public Float getSearchBoost() {return _innerIndividual.getSearchBoost(); }
|
||||
|
||||
public List<String> getDataValues(String propertyUri) {
|
||||
List<DataPropertyStatement> stmts = getDataPropertyStatements(propertyUri);
|
||||
// Since the statements have been filtered, we can just take the data values without filtering.
|
||||
List<String> dataValues = new ArrayList<String>(stmts.size());
|
||||
for (DataPropertyStatement stmt : stmts) {
|
||||
dataValues.add(stmt.getData());
|
||||
}
|
||||
return dataValues;
|
||||
}
|
||||
|
||||
public String getDataValue(String propertyUri) {
|
||||
List<DataPropertyStatement> stmts = getDataPropertyStatements(propertyUri);
|
||||
// Since the statements have been filtered, we can just take the first data value without filtering.
|
||||
return stmts.isEmpty() ? null : stmts.get(0).getData();
|
||||
}
|
||||
|
||||
public List<Individual> getRelatedIndividuals(String propertyUri) {
|
||||
List<ObjectPropertyStatement> stmts = getObjectPropertyStatements(propertyUri);
|
||||
// Since the statements have been filtered, we can just take the individuals without filtering.
|
||||
List<Individual> relatedIndividuals = new ArrayList<Individual>(stmts.size());
|
||||
for (ObjectPropertyStatement stmt : stmts) {
|
||||
relatedIndividuals.add(stmt.getObject());
|
||||
}
|
||||
return relatedIndividuals;
|
||||
}
|
||||
|
||||
public Individual getRelatedIndividual(String propertyUri) {
|
||||
List<ObjectPropertyStatement> stmts = getObjectPropertyStatements(propertyUri);
|
||||
// Since the statements have been filtered, we can just take the first individual without filtering.
|
||||
return stmts.isEmpty() ? null : stmts.get(0).getObject();
|
||||
}
|
||||
}
|
|
@ -47,9 +47,8 @@ public class VClassGroupView extends ViewObject {
|
|||
if (classes == null) {
|
||||
List<VClass> classList = vClassGroup.getVitroClassList();
|
||||
classes = new ArrayList<VClassView>();
|
||||
Iterator<VClass> i = classList.iterator();
|
||||
while (i.hasNext()) {
|
||||
classes.add(new VClassView((VClass) i.next()));
|
||||
for (VClass vc : classList) {
|
||||
classes.add(new VClassView(vc));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue