import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.strategy.cache.reference.ArticleDefaultCacheStrategy;
+import eu.etaxonomy.cdm.strategy.cache.reference.BookDefaultCacheStrategy;
+import eu.etaxonomy.cdm.strategy.cache.reference.INomenclaturalReferenceCacheStrategy;
import eu.etaxonomy.cdm.strategy.cache.reference.IReferenceBaseCacheStrategy;
+import eu.etaxonomy.cdm.strategy.cache.reference.JournalDefaultCacheStrategy;
import eu.etaxonomy.cdm.strategy.match.IMatchable;
import eu.etaxonomy.cdm.strategy.match.Match;
import eu.etaxonomy.cdm.strategy.match.MatchMode;
return (IThesis) ref;
}
- //FIXME!
+
public String getNomenclaturalCitation(String microReference) {
- return null;
+ if (cacheStrategy == null){
+ logger.warn("No CacheStrategy defined for "+ this.getClass() + ": " + this.getUuid());
+ return null;
+ }else{
+ if (cacheStrategy instanceof INomenclaturalReferenceCacheStrategy){
+ return ((INomenclaturalReferenceCacheStrategy)cacheStrategy).getNomenclaturalCitation(this,microReference);
+ }else {
+ logger.warn("No INomenclaturalReferenceCacheStrategy defined for "+ this.getClass() + ": " + this.getUuid());
+ return null;
+ }
+ }
}
public IJournal getInJournal() {
}
public void setInJournal(IJournal journal) {
- this.inReference = (ReferenceBase) journal;
+ this.inReference = (ReferenceBase<JournalDefaultCacheStrategy<ReferenceBase>>) journal;
}
}
public void setInSeries(IPrintSeries inSeries) {
- this.inReference = (ReferenceBase) inSeries;
+ this.inReference = (ReferenceBase<IReferenceBaseCacheStrategy<ReferenceBase>>) inSeries;
}
}
public void setInBook(IBook book) {
- this.inReference = (ReferenceBase) book;
+ this.inReference = (ReferenceBase<BookDefaultCacheStrategy<ReferenceBase>>) book;
}
import eu.etaxonomy.cdm.model.reference.IVolumeReference;\r
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceType;\r
import eu.etaxonomy.cdm.strategy.exceptions.StringNotParsableException;\r
import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;\r
\r
nameToBeFilled.addParsingProblems(ref.getParsingProblem());\r
}\r
\r
- IReferenceBase nomRef;\r
- if ( (nomRef = (IReferenceBase)nameToBeFilled.getNomenclaturalReference()) != null ){\r
+ ReferenceBase nomRef;\r
+ if ( (nomRef = (ReferenceBase)nameToBeFilled.getNomenclaturalReference()) != null ){\r
nomRef.setAuthorTeam((TeamOrPersonBase)nameToBeFilled.getCombinationAuthorTeam());\r
}\r
}\r
}\r
TimePeriod datePublished = TimePeriod.parseString(year);\r
\r
- if (nomRef instanceof IBookSection){\r
+ if (nomRef.getType().equals(ReferenceType.BookSection)){\r
handleBookSectionYear((IBookSection)nomRef, datePublished);\r
}else if (nomRef instanceof ReferenceBase){\r
((ReferenceBase)nomRef).setDatePublished(datePublished); \r
assertEquals(fullReference, name2.getFullTitleCache());\r
assertFalse(name2.hasProblem());\r
INomenclaturalReference ref = name2.getNomenclaturalReference();\r
- assertEquals(eu.etaxonomy.cdm.model.reference.ReferenceType.Book, ((ReferenceBase)ref).getType());\r
+ assertEquals(eu.etaxonomy.cdm.model.reference.ReferenceType.BookSection, ((ReferenceBase)ref).getType());\r
IBookSection bookSection = (IBookSection) ref;\r
IBook inBook = bookSection.getInBook();\r
assertNotNull(inBook);\r