NIHVIVO-646 add authors to publications custom form

This commit is contained in:
rjy7 2010-06-11 21:11:17 +00:00
parent 5e4d133bbd
commit 6adee49eef
4 changed files with 122 additions and 10 deletions

View file

@ -48,6 +48,10 @@ public interface Individual extends ResourceBean, VitroTimeWindowedResource, Com
void setDataPropertyStatements(List<DataPropertyStatement> list); void setDataPropertyStatements(List<DataPropertyStatement> list);
List<DataPropertyStatement> getDataPropertyStatements(); List<DataPropertyStatement> getDataPropertyStatements();
List<DataPropertyStatement> getDataPropertyStatements(String propertyUri);
List<String> getDataValues(String propertyUri);
String getDataValue(String propertyUri);
VClass getVClass(); VClass getVClass();
void setVClass(VClass class1); void setVClass(VClass class1);
@ -59,6 +63,10 @@ public interface Individual extends ResourceBean, VitroTimeWindowedResource, Com
void setObjectPropertyStatements(List<ObjectPropertyStatement> list); void setObjectPropertyStatements(List<ObjectPropertyStatement> list);
List<ObjectPropertyStatement> getObjectPropertyStatements(); List<ObjectPropertyStatement> getObjectPropertyStatements();
List<ObjectPropertyStatement> getObjectPropertyStatements(String propertyUri);
List<Individual> getRelatedIndividuals(String propertyUri);
Individual getRelatedIndividual(String propertyUri);
List<DataPropertyStatement> getExternalIds(); List<DataPropertyStatement> getExternalIds();
void setExternalIds(List<DataPropertyStatement> externalIds); void setExternalIds(List<DataPropertyStatement> externalIds);

View file

@ -125,8 +125,34 @@ public class IndividualImpl extends BaseResourceBean implements Individual, Comp
public void setDataPropertyStatements(List <DataPropertyStatement>list) { public void setDataPropertyStatements(List <DataPropertyStatement>list) {
dataPropertyStatements = list; dataPropertyStatements = list;
} }
public List <DataPropertyStatement>getDataPropertyStatements(){ public List<DataPropertyStatement> getDataPropertyStatements(){
return dataPropertyStatements; 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() { public VClass getVClass() {
@ -160,8 +186,33 @@ public class IndividualImpl extends BaseResourceBean implements Individual, Comp
objectPropertyStatements = list; objectPropertyStatements = list;
} }
public List <ObjectPropertyStatement>getObjectPropertyStatements(){ public List <ObjectPropertyStatement> getObjectPropertyStatements(){
return objectPropertyStatements; 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(){ public List<DataPropertyStatement> getExternalIds(){

View file

@ -3,6 +3,7 @@
package edu.cornell.mannlib.vitro.webapp.dao.filtering; package edu.cornell.mannlib.vitro.webapp.dao.filtering;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
@ -71,10 +72,21 @@ public class IndividualFiltering implements Individual {
public List<DataPropertyStatement> getDataPropertyStatements() { public List<DataPropertyStatement> getDataPropertyStatements() {
List<DataPropertyStatement> dstmts = _innerIndividual.getDataPropertyStatements(); List<DataPropertyStatement> dstmts = _innerIndividual.getDataPropertyStatements();
List<DataPropertyStatement> outDstmts = new LinkedList<DataPropertyStatement>(); return filterDataPropertyStatements(dstmts);
Filter.filter(dstmts,_filters.getDataPropertyStatementFilter(), outDstmts);
return outDstmts;
} }
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);
return outDstmts;
}
public Map<String, DataProperty> getDataPropertyMap() { public Map<String, DataProperty> getDataPropertyMap() {
Map<String,DataProperty> innerMap = _innerIndividual.getDataPropertyMap(); Map<String,DataProperty> innerMap = _innerIndividual.getDataPropertyMap();
@ -109,7 +121,7 @@ public class IndividualFiltering implements Individual {
public List<ObjectPropertyStatement> getObjectPropertyStatements() { public List<ObjectPropertyStatement> getObjectPropertyStatements() {
List<ObjectPropertyStatement> stmts = _innerIndividual.getObjectPropertyStatements(); List<ObjectPropertyStatement> stmts = _innerIndividual.getObjectPropertyStatements();
return ObjectPropertyStatementDaoFiltering.filterAndWrapList(stmts, _filters); return filterObjectPropertyStatements(stmts);
// //
// //filter ObjectPropertyStatements from inner // //filter ObjectPropertyStatements from inner
// List<ObjectPropertyStatement> filteredStmts = new LinkedList<ObjectPropertyStatement>(); // List<ObjectPropertyStatement> filteredStmts = new LinkedList<ObjectPropertyStatement>();
@ -133,6 +145,17 @@ public class IndividualFiltering implements Individual {
// return stmts; // 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 //TODO: may cause problems since one can get ObjectPropertyStatement list from
// the ObjectProperty, and that won't be filtered. // the ObjectProperty, and that won't be filtered.
//might need to make a ObjectPropertyFiltering and a ObjectPropertyStatementFiltering //might need to make a ObjectPropertyFiltering and a ObjectPropertyStatementFiltering
@ -560,5 +583,36 @@ public class IndividualFiltering implements Individual {
public void setSearchBoost(Float boost) { _innerIndividual.setSearchBoost( boost ); } public void setSearchBoost(Float boost) { _innerIndividual.setSearchBoost( boost ); }
public Float getSearchBoost() {return _innerIndividual.getSearchBoost(); } 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();
}
} }

View file

@ -47,9 +47,8 @@ public class VClassGroupView extends ViewObject {
if (classes == null) { if (classes == null) {
List<VClass> classList = vClassGroup.getVitroClassList(); List<VClass> classList = vClassGroup.getVitroClassList();
classes = new ArrayList<VClassView>(); classes = new ArrayList<VClassView>();
Iterator<VClass> i = classList.iterator(); for (VClass vc : classList) {
while (i.hasNext()) { classes.add(new VClassView(vc));
classes.add(new VClassView((VClass) i.next()));
} }
} }