/**
* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
+* European Distributed Institute of Taxonomy
* http://www.e-taxonomy.eu
-*
+*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* See LICENSE.TXT at the top of this package for the full license terms.
*/
private Collection collection;
@XmlElement(name = "CatalogNumber")
- @Field(index=Index.YES, analyze = Analyze.NO) //TODO H42 was UN_TOKENIZED
+ @Field(index=Index.YES, analyze = Analyze.NO)
@NullOrNotEmpty
@Length(max = 255)
private String catalogNumber;
-
+
@XmlElement(name = "AccessionNumber")
- @Field(index=Index.YES, analyze = Analyze.NO) //TODO H42 was UN_TOKENIZED
+ @Field(index=Index.YES, analyze = Analyze.NO)
@NullOrNotEmpty
@Length(max = 255)
private String accessionNumber;
-
+
@XmlElement(name = "CollectorsNumber")
- @Field(index=Index.YES, analyze = Analyze.NO) //TODO H42 was UN_TOKENIZED
+ @Field(index=Index.YES, analyze = Analyze.NO)
@NullOrNotEmpty
@Length(max = 255)
private String collectorsNumber;
-
+
@XmlElement(name = "Barcode")
- @Field(index=Index.YES, analyze = Analyze.NO) //TODO H42 was UN_TOKENIZED
+ @Field(index=Index.YES, analyze = Analyze.NO)
@NullOrNotEmpty
@Length(max = 255)
private String barcode;
-
+
@XmlElement(name = "StoredUnder")
@XmlIDREF
@XmlSchemaType(name = "IDREF")
@Cascade(CascadeType.SAVE_UPDATE)
@IndexedEmbedded
private TaxonNameBase storedUnder;
-
+
@XmlElement(name = "DerivedFrom")
@XmlIDREF
@XmlSchemaType(name = "IDREF")
@Cascade(CascadeType.SAVE_UPDATE)
@IndexedEmbedded(depth = 4)
private DerivationEvent derivedFrom;
-
+
@XmlElementWrapper(name = "SpecimenTypeDesignations")
@XmlElement(name = "SpecimenTypeDesignation")
@OneToMany(fetch = FetchType.LAZY, mappedBy = "typeSpecimen")
@Cascade({ CascadeType.SAVE_UPDATE, CascadeType.MERGE, CascadeType.DELETE })
- private Set<SpecimenTypeDesignation> specimenTypeDesignations = new HashSet<SpecimenTypeDesignation>();
+ private final Set<SpecimenTypeDesignation> specimenTypeDesignations = new HashSet<SpecimenTypeDesignation>();
/**
* Constructor
this.setDerivedFrom(derivedFrom);
}
/**
- * create new unit derived from an existing gathering event,
+ * create new unit derived from an existing gathering event,
* thereby creating a new empty field observation
- * @param gatheringEvent the gathering event this unit was collected at
+ * @param gatheringEvent the gathering event this unit was collected at
*/
protected DerivedUnitBase(GatheringEvent gatheringEvent) {
this(new FieldObservation());
public DerivationEvent getDerivedFrom() {
return derivedFrom;
}
-
+
public void setDerivedFrom(DerivationEvent derivedFrom){
if (getDerivedFrom() != null){
getDerivedFrom().getDerivatives().remove(derivedFrom);
derivedFrom.addDerivative(this);
}
}
-
+
@Transient
public Set<SpecimenOrObservationBase> getOriginals(){
if(getDerivedFrom() != null){
- return getDerivedFrom().getOriginals();
+ return getDerivedFrom().getOriginals();
}
return null;
}
public Collection getCollection(){
return this.collection;
}
-
+
public void setCollection(Collection collection){
this.collection = collection;
}
-
+
public String getCatalogNumber() {
return catalogNumber;
public void setCatalogNumber(String catalogNumber) {
this.catalogNumber = catalogNumber;
}
-
+
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public String getBarcode() {
return barcode;
}
-
+
public void setStoredUnder(TaxonNameBase storedUnder) {
this.storedUnder = storedUnder;
}
-
+
public String getAccessionNumber() {
return accessionNumber;
}
-
-
+
+
public void setAccessionNumber(String accessionNumber) {
this.accessionNumber = accessionNumber;
}
-
+
/**
* Will be removed in future versions as semantics is not clear.
- * For accessing the collecting number use
+ * For accessing the collecting number use
* {@link FieldObservation#getFieldNumber()} instead.
* @return
*/
public String getCollectorsNumber() {
return collectorsNumber;
}
-
+
/**
* Will be removed in future versions as semantics is not clear.
- * For editing the collecting number use
+ * For editing the collecting number use
* {@link FieldObservation#getFieldNumber()} instead.
* @return
*/
public void setCollectorsNumber(String collectorsNumber) {
this.collectorsNumber = collectorsNumber;
}
-
+
public TaxonNameBase getStoredUnder() {
return storedUnder;
}
-
+
public void addSpecimenTypeDesignation(SpecimenTypeDesignation specimenTypeDesignation){
if (specimenTypeDesignation.getTypeSpecimen() == this){
return ;
}else if (specimenTypeDesignation.getTypeSpecimen() != null){
specimenTypeDesignation.getTypeSpecimen().removeSpecimenTypeDesignation(specimenTypeDesignation);
-
+
}
specimenTypeDesignations.add(specimenTypeDesignation);
specimenTypeDesignation.setTypeSpecimen(this);
}
-
+
public void removeSpecimenTypeDesignation(SpecimenTypeDesignation specimenTypeDesignation){
if (specimenTypeDesignation == null){
return;
specimenTypeDesignation.setTypeSpecimen(null);
}
}
-
+
public Set<SpecimenTypeDesignation> getSpecimenTypeDesignations(){
return specimenTypeDesignations;
}
-
-//*********** CLONE **********************************/
-
- /**
+
+//*********** CLONE **********************************/
+
+ /**
* Clones <i>this</i> derivedUnitBase. This is a shortcut that enables to
* create a new instance that differs only slightly from <i>this</i> specimen
* by modifying only some of the attributes.<BR>
* This method overrides the clone method from {@link SpecimenOrObservationBase SpecimenOrObservationBase}.
- *
+ *
* @see SpecimenOrObservationBase#clone()
* @see eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity#clone()
* @see java.lang.Object#clone()
/**\r
* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;\r
import eu.etaxonomy.cdm.persistence.dao.reference.IReferenceDao;\r
+import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
import eu.etaxonomy.cdm.strategy.cache.reference.ReferenceBaseDefaultCacheStrategy;\r
\r
/**\r
@Override\r
public void rebuildIndex() {\r
FullTextSession fullTextSession = Search.getFullTextSession(getSession());\r
- \r
+\r
for(Reference reference : list(null,null)) { // re-index all agents\r
Hibernate.initialize(reference.getAuthorTeam());\r
- \r
+\r
if(reference.getType().equals(ReferenceType.Article)) {\r
Hibernate.initialize(((IArticle)reference).getInJournal());\r
} else if(reference.getType().equals(ReferenceType.BookSection)) {\r
fullTextSession.flushToIndexes();\r
}\r
\r
- public List<UuidAndTitleCache<Reference>> getUuidAndTitle(){\r
+ @Override\r
+ public List<UuidAndTitleCache<Reference>> getUuidAndTitle(){\r
List<UuidAndTitleCache<Reference>> list = new ArrayList<UuidAndTitleCache<Reference>>();\r
Session session = getSession();\r
- \r
+\r
Query query = session.createQuery("select uuid, titleCache from " + type.getSimpleName());\r
- \r
+\r
List<Object[]> result = query.list();\r
- \r
+\r
for(Object[] object : result){\r
list.add(new UuidAndTitleCache<Reference>(type, (UUID) object[0], (String) object[1]));\r
}\r
- \r
+\r
return list;\r
}\r
- \r
+\r
@Override\r
public List<UuidAndTitleCache<Reference>> getUuidAndTitleCache() {\r
List<UuidAndTitleCache<Reference>> list = new ArrayList<UuidAndTitleCache<Reference>>();\r
Session session = getSession();\r
- \r
+\r
Query query = session.createQuery("select " +\r
"r.uuid, r.titleCache, ab.titleCache from " + type.getSimpleName() + " as r left outer join r.authorTeam as ab ");//"select uuid, titleCache from " + type.getSimpleName());\r
- \r
+\r
List<Object[]> result = query.list();\r
- \r
+\r
for(Object[] object : result){\r
UuidAndTitleCache<Reference> uuidAndTitleCache;\r
String referenceTitle = (String) object[1];\r
- \r
- if(referenceTitle != null){ \r
+\r
+ if(referenceTitle != null){\r
String teamTitle = (String) object[2];\r
referenceTitle = ReferenceBaseDefaultCacheStrategy.putAuthorToEndOfString(referenceTitle, teamTitle);\r
- \r
+\r
list.add(new UuidAndTitleCache<Reference>(Reference.class, (UUID) object[0], referenceTitle));\r
}else{\r
logger.error("title cache of reference is null. UUID: " + object[0]);\r
}\r
}\r
- \r
+\r
return list;\r
}\r
- \r
- public List<Reference> getAllReferencesForPublishing(){\r
+\r
+ @Override\r
+ public List<Reference> getAllReferencesForPublishing(){\r
List<Reference> references = getSession().createQuery("Select r from Reference r "+\r
"where r.id IN "+\r
"(Select m.markedObj.id from Marker m where "+\r
"(Select dtb.id from DefinedTermBase dtb, Representation r where r member of dtb.representations and r.text='publish'))").list();\r
return references;\r
}\r
- \r
- public List<Reference> getAllNotNomenclaturalReferencesForPublishing(){\r
- \r
+\r
+ @Override\r
+ public List<Reference> getAllNotNomenclaturalReferencesForPublishing(){\r
+\r
List<Reference> references = getSession().createQuery("select t.nomenclaturalReference from TaxonNameBase t").list();\r
String queryString = "from Reference b where b not in (:referenceList) and b in (:publish)" ;\r
Query referenceQuery = getSession().createQuery(queryString).setParameterList("referenceList", references);\r
referenceQuery.setParameterList("publish", getAllReferencesForPublishing());\r
List<Reference> resultRefernces =referenceQuery.list();\r
- \r
+\r
return resultRefernces;\r
}\r
- \r
+\r
// the result list held doubles therefore i put a "distinct" in the query string\r
- public List<Reference> getAllNomenclaturalReferences() {\r
+ @Override\r
+ public List<Reference> getAllNomenclaturalReferences() {\r
List<Reference> references = getSession().createQuery(\r
"select distinct t.nomenclaturalReference from TaxonNameBase t").list();\r
return references;\r
@Override\r
public List<Reference> getSubordinateReferences(\r
Reference reference) {\r
- \r
+\r
List<Reference> references = new ArrayList();\r
List<Reference> subordinateReferences = new ArrayList();\r
- \r
+\r
Query query = getSession().createQuery("select r from Reference r where r.inReference = (:reference)");\r
query.setParameter("reference", reference);\r
references.addAll(query.list());\r
}\r
\r
@Override\r
- public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<String> propertyPaths) {\r
- \r
+ public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<OrderHint> orderHints, List<String> propertyPaths) {\r
+\r
/*\r
* <li>taxon.name.nomenclaturalreference</li>\r
* <li>taxon.descriptions.descriptionElement.sources.citation</li>\r
* <li>taxon.name.descriptions.descriptionElement.sources</li>\r
* <li>taxon.name.descriptions.descriptionSources</li>\r
*/\r
- \r
+\r
//TODO implement search in nameDescriptions\r
List<TaxonBase> taxonBaseList = new ArrayList<TaxonBase>();\r
Set<Reference> referenceSet = new HashSet<Reference>();\r
referenceSet.addAll(getSubordinateReferences(reference));\r
}\r
\r
- \r
- String taxonDescriptionSql = \r
- \r
+\r
+ StringBuilder taxonDescriptionSql = new StringBuilder();\r
+ taxonDescriptionSql.append(\r
"select distinct t from Taxon t " +\r
// TaxonDescription\r
"left join t.descriptions td " +\r
"left join nd.descriptionSources nd_s " +\r
"left join nd.descriptionElements nd_e " +\r
"left join nd_e.sources nd_e_s " +\r
- \r
+\r
"where td_e_s.citation in (:referenceBase_1) " +\r
"or td_s in (:referenceBase_2) " +\r
"or nd_e_s.citation in (:referenceBase_3) " +\r
"or nd_s in (:referenceBase_4) or " +\r
"n.nomenclaturalReference in (:referenceBase_5) or " +\r
"t.sec in (:referenceBase_6)"\r
- ;\r
- \r
- // TODO include:\r
- // name relations\r
- // taxon relations\r
- \r
- Query query2 = getSession().createQuery(taxonDescriptionSql);\r
- query2.setParameterList("referenceBase_1", referenceSet);\r
- query2.setParameterList("referenceBase_2", referenceSet);\r
- query2.setParameterList("referenceBase_3", referenceSet);\r
- query2.setParameterList("referenceBase_4", referenceSet);\r
- query2.setParameterList("referenceBase_5", referenceSet);\r
- query2.setParameterList("referenceBase_6", referenceSet);\r
- \r
- taxonBaseList = query2.list();\r
- \r
+ );\r
+\r
+ if (orderHints != null && orderHints.size() > 0){\r
+ taxonDescriptionSql.append(" order by ");\r
+ int i = 0;\r
+ for (OrderHint hint : orderHints) {\r
+ if(i > 0) {\r
+ taxonDescriptionSql.append(", ");\r
+ }\r
+ taxonDescriptionSql.append("t.").append(hint.toHql());\r
+ }\r
+ }\r
+\r
+ // TODO include:\r
+ // name relations\r
+ // taxon relations\r
+\r
+ Query query = getSession().createQuery(taxonDescriptionSql.toString());\r
+ query.setParameterList("referenceBase_1", referenceSet);\r
+ query.setParameterList("referenceBase_2", referenceSet);\r
+ query.setParameterList("referenceBase_3", referenceSet);\r
+ query.setParameterList("referenceBase_4", referenceSet);\r
+ query.setParameterList("referenceBase_5", referenceSet);\r
+ query.setParameterList("referenceBase_6", referenceSet);\r
+\r
+ taxonBaseList = query.list();\r
+\r
defaultBeanInitializer.initializeAll(taxonBaseList, propertyPaths);\r
- \r
+\r
return taxonBaseList;\r
}\r
}
\ No newline at end of file
/**\r
* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
import eu.etaxonomy.cdm.persistence.dao.common.ITitledDao;\r
+import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
\r
/**\r
* @author a.mueller\r
*\r
*/\r
public interface IReferenceDao extends IIdentifiableDao<Reference>, ITitledDao<Reference> {\r
- \r
+\r
public List<UuidAndTitleCache<Reference>> getUuidAndTitle();\r
- \r
+\r
/**\r
* TODO candidate for harmonization: rename to listAllReferencesForPublishing\r
* @return all references marked with publish-flag\r
*/\r
public List<Reference> getAllReferencesForPublishing();\r
- \r
+\r
/**\r
* TODO candidate for harmonization: rename to listAllNotNomenclaturalReferencesForPublishing\r
* @return all references not used as nomenclatural reference with publish flag\r
*/\r
public List<Reference> getAllNotNomenclaturalReferencesForPublishing();\r
- \r
+\r
/**\r
* TODO candidate for harmonization: rename to listNomenclaturalReferences\r
* @return\r
public List<Reference> getAllNomenclaturalReferences();\r
\r
/**\r
- * recursively finds all references where the <code>referenceBase</code> given as parameter \r
+ * recursively finds all references where the <code>referenceBase</code> given as parameter\r
* is the {@link Reference.getInReference inReference}.\r
* @param reference\r
* @return\r
*/\r
public List<Reference> getSubordinateReferences(Reference reference);\r
- \r
+\r
/**\r
* searches for taxa using the following relations:\r
* <ul>\r
* <li>taxon.name.descriptions.descriptionElement.sources</li>\r
* <li>taxon.name.descriptions.descriptionSources</li>\r
* </ul>\r
- * \r
+ *\r
* @param reference\r
+ * @param orderHints TODO\r
* @param propertyPaths TODO\r
* @return\r
*/\r
- public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<String> propertyPaths);\r
- \r
+ public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<OrderHint> orderHints, List<String> propertyPaths);\r
+\r
}\r
}\r
}\r
\r
- private String propertyName;\r
+ private final String propertyName;\r
\r
- private SortOrder sortOrder;\r
+ private final SortOrder sortOrder;\r
\r
public static final List<OrderHint> ORDER_BY_ID = Arrays.asList(new OrderHint[]{new OrderHint("id", SortOrder.ASCENDING)});\r
\r
return sortOrder.equals(SortOrder.ASCENDING);\r
}\r
\r
+ /**\r
+ * FIXME document this\r
+ *\r
+ * @param criteria\r
+ * @param criteriaMap\r
+ */\r
public void add(Criteria criteria, Map<String, Criteria> criteriaMap) {\r
if(getPropertyName().indexOf(".") != -1) {\r
/**\r
}\r
}\r
\r
+ /**\r
+ * FIXME document this\r
+ *\r
+ * @param query\r
+ */\r
public void add(AuditQuery query) {\r
\r
if(getPropertyName().indexOf('.', 0) >= 0){\r
}\r
}\r
\r
+ /**\r
+ * Returns a hql order by clause element which can directly be used in hql queries.\r
+ *\r
+ * e.g.: "titleCache ASC"\r
+ *\r
+ * @return an hql order by clause element\r
+ */\r
+ public String toHql(){\r
+ return propertyName + " " + sortOrder.toHql();\r
+ }\r
+\r
@Override\r
public boolean equals(Object obj) {\r
if (obj == this){\r
*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/ \r
+*/\r
\r
package eu.etaxonomy.cdm.persistence.dao.hibernate.reference;\r
\r
import static org.junit.Assert.assertEquals;\r
\r
+import java.util.Arrays;\r
import java.util.HashSet;\r
import java.util.List;\r
import java.util.Set;\r
import eu.etaxonomy.cdm.model.reference.Reference;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.persistence.dao.reference.IReferenceDao;\r
+import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;\r
\r
@DataSet\r
public class ReferenceDaoHibernateImplTest extends CdmIntegrationTest {\r
- \r
+\r
@SpringBeanByType\r
IReferenceDao referenceDao;\r
- \r
+\r
private UUID firstBookUuid;\r
private UUID firstJournalUuid;\r
private UUID genericUuid;\r
private UUID proceedingsUuid;\r
private UUID bookSectionUuid;\r
private UUID nomenclaturalReferenceBookUuid;\r
- \r
- private String firstPublisherName ="First Publisher";\r
- private String secondPublisherName ="Second Publisher";\r
- private String thirdPublisherName ="Third Publisher";\r
- private String fourthPublisherName ="Fourth Publisher";\r
- \r
- \r
+\r
+ private final String firstPublisherName ="First Publisher";\r
+ private final String secondPublisherName ="Second Publisher";\r
+ private final String thirdPublisherName ="Third Publisher";\r
+ private final String fourthPublisherName ="Fourth Publisher";\r
+\r
+\r
@Before\r
public void setUp() {\r
firstBookUuid = UUID.fromString("596b1325-be50-4b0a-9aa2-3ecd610215f2");\r
@Test\r
public void testDummy() {\r
}\r
- \r
+\r
@Test\r
public void testGetPublishers() {\r
- IJournal firstJournal = (IJournal)referenceDao.findByUuid(firstJournalUuid);\r
+ IJournal firstJournal = referenceDao.findByUuid(firstJournalUuid);\r
assert firstJournal!= null : "journal must exist";\r
- \r
+\r
// List<Publisher> publishers = firstJournal.getPublishers();\r
-// \r
+//\r
// assertNotNull("getPublishers should return a list", publishers);\r
// assertFalse("the list should not be empty", publishers.isEmpty());\r
// assertEquals("getPublishers should return 4 Publisher instances",4,publishers.size());\r
// assertEquals("second publisher should come second",secondPublisherName,publishers.get(1).getPublisherName());\r
// assertEquals("third publisher should come third",thirdPublisherName,publishers.get(2).getPublisherName());\r
// assertEquals("fourth publisher should come fourth",fourthPublisherName,publishers.get(3).getPublisherName());\r
- \r
- \r
+\r
+\r
}\r
- \r
+\r
@Test\r
public void testGetSubordinateReferences() {\r
- \r
- Reference book = referenceDao.findByUuid(firstBookUuid); \r
+\r
+ Reference book = referenceDao.findByUuid(firstBookUuid);\r
Reference proceedings = referenceDao.findByUuid(proceedingsUuid);\r
- \r
+\r
// 1.)\r
List<Reference> book_subordinateReferences = referenceDao.getSubordinateReferences(book);\r
assertEquals("expecting one subordinate reference", book_subordinateReferences.size(), 1);\r
Reference sub_1 = book_subordinateReferences.get(0);\r
assertEquals("expecting BookSection as first subordinateReferences", "Better Testing made easy", sub_1.getTitleCache());\r
assertEquals("first subordinateReferences matches uuid", bookSectionUuid, sub_1.getUuid());\r
- \r
+\r
// 2.)\r
List<Reference> proceedings_subordinateReferences = referenceDao.getSubordinateReferences(proceedings);\r
assertEquals("expecting one subordinate reference",2 ,proceedings_subordinateReferences.size());\r
assertEquals("first subordinateReferences matches uuid", firstBookUuid, sub_1.getUuid());\r
assertEquals("second subordinateReferences matches uuid", bookSectionUuid, sub_2.getUuid());\r
}\r
- \r
+\r
@Test\r
public void testListCoveredTaxa() {\r
\r
Reference<?> book = referenceDao.findByUuid(firstBookUuid);\r
- List<TaxonBase> coveredTaxa = referenceDao.listCoveredTaxa(book, false, null);\r
+ List<OrderHint> orderHints = Arrays.asList(new OrderHint[]{new OrderHint("titleCache", OrderHint.SortOrder.DESCENDING)});\r
+\r
+ List<TaxonBase> coveredTaxa = referenceDao.listCoveredTaxa(book, false, orderHints, null);\r
assertEquals("expecting one Taxa covered by this book", 1, coveredTaxa.size());\r
assertEquals("covered taxon is 'Lactuca perennis'", "Lactuca perennis", coveredTaxa.get(0).getName().getTitleCache() );\r
- \r
- coveredTaxa = referenceDao.listCoveredTaxa(book, true, null);\r
+\r
+ coveredTaxa = referenceDao.listCoveredTaxa(book, true, orderHints, null);\r
assertEquals("expecting 2 Taxa covered by this book", 2, coveredTaxa.size());\r
Set<String> titles = makeTitleCacheSet(coveredTaxa);\r
Assert.assertTrue("covered taxa must contain 'Lactuca perennis'", titles.contains("Lactuca perennis"));\r
Assert.assertTrue("covered taxon must contain 'Lactuca virosa'", titles.contains("Lactuca virosa"));\r
-// assertEquals("2nd covered taxon is 'Lactuca virosa'", "Lactuca virosa", coveredTaxa.get(1).getName().getTitleCache() );\r
- \r
+ assertEquals("2nd covered taxon is 'Lactuca virosa'", "Lactuca virosa", coveredTaxa.get(1).getName().getTitleCache() );\r
+\r
Reference bookSection = referenceDao.findByUuid(bookSectionUuid);\r
- coveredTaxa = referenceDao.listCoveredTaxa(bookSection, false, null);\r
+ coveredTaxa = referenceDao.listCoveredTaxa(bookSection, false, orderHints, null);\r
assertEquals("expecting two Taxa covered by this bookSection", 2, coveredTaxa.size());\r
titles = makeTitleCacheSet(coveredTaxa);\r
Assert.assertTrue("covered taxa must contain 'Lactuca perennis'", titles.contains("Lactuca perennis"));\r
Assert.assertTrue("covered taxon must contain 'Lactuca virosa'", titles.contains("Lactuca virosa"));\r
-// assertEquals("1st covered taxon is 'Lactuca perennis'", "Lactuca perennis", coveredTaxa.get(0).getName().getTitleCache() );\r
-// assertEquals("2nd covered taxon is 'Lactuca virosa'", "Lactuca virosa", coveredTaxa.get(1).getName().getTitleCache() );\r
- \r
+ assertEquals("1st covered taxon is 'Lactuca perennis'", "Lactuca perennis", coveredTaxa.get(0).getName().getTitleCache() );\r
+ assertEquals("2nd covered taxon is 'Lactuca virosa'", "Lactuca virosa", coveredTaxa.get(1).getName().getTitleCache() );\r
+\r
// by nomenclaturalReference\r
Reference nomRef = referenceDao.findByUuid(nomenclaturalReferenceBookUuid);\r
- coveredTaxa = referenceDao.listCoveredTaxa(nomRef, false, null);\r
+ coveredTaxa = referenceDao.listCoveredTaxa(nomRef, false, orderHints, null);\r
assertEquals("expecting two Taxa covered nomenclaturalReference", 2, coveredTaxa.size());\r
titles = makeTitleCacheSet(coveredTaxa);\r
Assert.assertTrue("covered taxa must contain 'Lactuca perennis'", titles.contains("Lactuca perennis"));\r
Assert.assertTrue("covered taxon must contain 'Lactuca virosa'", titles.contains("Lactuca virosa"));\r
-// assertEquals("covered taxon is 'Lactuca perennis'", "Lactuca perennis", coveredTaxa.get(0).getName().getTitleCache() );\r
-// assertEquals("2nd covered taxon is 'Lactuca virosa'", "Lactuca virosa", coveredTaxa.get(1).getName().getTitleCache() );\r
- \r
+ assertEquals("covered taxon is 'Lactuca perennis'", "Lactuca perennis", coveredTaxa.get(0).getName().getTitleCache() );\r
+ assertEquals("2nd covered taxon is 'Lactuca virosa'", "Lactuca virosa", coveredTaxa.get(1).getName().getTitleCache() );\r
+\r
}\r
\r
private Set<String> makeTitleCacheSet(List<TaxonBase> coveredTaxa) {\r
@Override\r
public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<String> propertyPaths) {\r
\r
- List<TaxonBase> taxonList = dao.listCoveredTaxa(reference, includeSubordinateReferences, propertyPaths);\r
+ List<TaxonBase> taxonList = dao.listCoveredTaxa(reference, includeSubordinateReferences, null, propertyPaths);\r
\r
return taxonList;\r
}\r