import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;\r
import eu.etaxonomy.cdm.model.occurrence.Specimen;\r
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;\r
-import eu.etaxonomy.cdm.model.reference.Article;\r
-import eu.etaxonomy.cdm.model.reference.Book;\r
-import eu.etaxonomy.cdm.model.reference.BookSection;\r
-import eu.etaxonomy.cdm.model.reference.CdDvd;\r
-import eu.etaxonomy.cdm.model.reference.Database;\r
-import eu.etaxonomy.cdm.model.reference.Generic;\r
-import eu.etaxonomy.cdm.model.reference.InProceedings;\r
-import eu.etaxonomy.cdm.model.reference.Journal;\r
-import eu.etaxonomy.cdm.model.reference.Map;\r
-import eu.etaxonomy.cdm.model.reference.Patent;\r
-import eu.etaxonomy.cdm.model.reference.PersonalCommunication;\r
-import eu.etaxonomy.cdm.model.reference.PrintSeries;\r
-import eu.etaxonomy.cdm.model.reference.PrintedUnitBase;\r
-import eu.etaxonomy.cdm.model.reference.Proceedings;\r
+import eu.etaxonomy.cdm.model.reference.IBook;\r
+import eu.etaxonomy.cdm.model.reference.IBookSection;\r
import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
-import eu.etaxonomy.cdm.model.reference.Report;\r
-import eu.etaxonomy.cdm.model.reference.SectionBase;\r
-import eu.etaxonomy.cdm.model.reference.Thesis;\r
-import eu.etaxonomy.cdm.model.reference.WebPage;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
import eu.etaxonomy.cdm.model.taxon.Synonym;\r
import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;\r
import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;\r
@SpringBeanByType\r
private IAgentDao agentDao;\r
\r
- \r
+ ReferenceFactory refFactory = ReferenceFactory.newInstance();\r
/**\r
* @throws java.lang.Exception\r
*/\r
@Test\r
@Ignore\r
public void testDelete(){\r
- ReferenceBase ref1 = Book.NewInstance();\r
- ReferenceBase ref2 = Book.NewInstance();\r
+ ReferenceBase ref1 = refFactory.newBook();\r
+ ReferenceBase ref2 = refFactory.newBook();\r
Annotation annotation = Annotation.NewInstance("Anno1", null);\r
ref1.addAnnotation(annotation);\r
cdmGenericDao.saveOrUpdate(ref1);\r
BotanicalName name2 = BotanicalName.NewInstance(Rank.SPECIES());\r
name2.setTitleCache("BotanicalName2");\r
\r
- ReferenceBase article1 = Article.NewInstance();\r
- ReferenceBase article2 = Article.NewInstance();\r
+ ReferenceBase article1 = refFactory.newArticle();\r
+ ReferenceBase article2 = refFactory.newArticle();\r
\r
\r
name1.setNomenclaturalReference(article1);\r
PreservationMethod.class, \r
Specimen.class, \r
SpecimenOrObservationBase.class, \r
- Article.class, \r
- Book.class, \r
- BookSection.class, \r
- CdDvd.class, \r
- Database.class, \r
- Generic.class, \r
- InProceedings.class, \r
- Journal.class, \r
- Map.class, \r
- Patent.class, \r
- PersonalCommunication.class, \r
- PrintedUnitBase.class, \r
- PrintSeries.class, \r
- Proceedings.class, \r
ReferenceBase.class, \r
- Report.class, \r
- SectionBase.class, \r
- Thesis.class, \r
- WebPage.class, \r
Synonym.class, \r
SynonymRelationship.class, \r
SynonymRelationshipType.class, \r
public void testGetReferencingObjectsCdmBase() {\r
BotanicalName name = BotanicalName.NewInstance(Rank.SPECIES());\r
name.setTitleCache("A name");\r
- ReferenceBase ref1 = Article.NewInstance();\r
+ ReferenceBase ref1 = refFactory.newArticle();\r
Taxon taxon = Taxon.NewInstance(name, ref1);\r
Person author = Person.NewInstance();\r
author.setTitleCache("Author");\r
for (CdmBase obj: referencedObjects){\r
System.out.println("Object1: " + obj.getClass().getSimpleName() + " - " + obj);\r
}\r
- assertEquals(2, referencedObjects.size());\r
+ assertEquals(3, referencedObjects.size());\r
System.out.println("############## ENDE ###################");\r
\r
// UUID uuidAuthor = UUID.fromString("4ce66544-a5a3-4601-ab0b-1f0a1338327b");\r
ZoologicalName zooName1 = ZoologicalName.NewInstance(Rank.SPECIES());\r
name1.setTitleCache("ZoologicalName1");\r
\r
- ReferenceBase article1 = Article.NewInstance();\r
- ReferenceBase article2 = Article.NewInstance();\r
+ ReferenceBase article1 = refFactory.newArticle();\r
+ ReferenceBase article2 = refFactory.newArticle();\r
\r
\r
name1.setNomenclaturalReference(article1);\r
BotanicalName name3 = BotanicalName.NewInstance(Rank.SPECIES());\r
name3.setTitleCache("BotanicalName3");\r
\r
- ReferenceBase database = Database.NewInstance();\r
+ ReferenceBase database = refFactory.newDatabase();\r
\r
Taxon taxon1 = Taxon.NewInstance(name1, database);\r
Taxon taxon2 = Taxon.NewInstance(name2, database);\r
BotanicalName name2 = BotanicalName.NewInstance(Rank.SPECIES());\r
name2.setTitleCache("BotanicalName2");\r
\r
- Book book1 = Book.NewInstance();\r
- Book book2 = Book.NewInstance();\r
+ IBook book1 = refFactory.newBook();\r
+ IBook book2 = refFactory.newBook();\r
\r
Team team1 = Team.NewInstance();\r
Team team2 = Team.NewInstance();\r
agentDao.save(team1);\r
agentDao.save(team2);\r
agentDao.save(team3);\r
- cdmGenericDao.save(book1);\r
- cdmGenericDao.save(book2);\r
+ cdmGenericDao.save((ReferenceBase)book1);\r
+ cdmGenericDao.save((ReferenceBase)book2);\r
\r
cdmGenericDao.merge(team2, team3, null);\r
\r
\r
@Test\r
public void findMatching(){\r
- Book book1 = Book.NewInstance();\r
- Book book2 = Book.NewInstance();\r
- Book book3 = Book.NewInstance();\r
- Book book4 = Book.NewInstance();\r
+ IBook book1 = refFactory.newBook();\r
+ IBook book2 = refFactory.newBook();\r
+ IBook book3 = refFactory.newBook();\r
+ IBook book4 = refFactory.newBook();\r
\r
String title1 = "title1";\r
String title2 = "title2";\r
book2.setTitle(title2);\r
book3.setTitle(title1);\r
\r
- cdmGenericDao.saveOrUpdate(book1);\r
- cdmGenericDao.saveOrUpdate(book2);\r
- cdmGenericDao.saveOrUpdate(book3);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book1);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book2);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book3);\r
\r
- IMatchStrategy matchStrategy = DefaultMatchStrategy.NewInstance(Book.class);\r
+ IMatchStrategy matchStrategy = DefaultMatchStrategy.NewInstance(ReferenceBase.class);\r
\r
try {\r
- List<Book> matchResult = cdmGenericDao.findMatching(book3, matchStrategy);\r
+ List<IBook> matchResult = cdmGenericDao.findMatching(book3, matchStrategy);\r
Assert.assertNotNull("Resultlist must not be null", matchResult);\r
Assert.assertEquals("Resultlist must have 1 entries", 1, matchResult.size());\r
Assert.assertSame("Resultlist entry must be book 1", book1, matchResult.get(0));\r
Assert.assertSame("Resultlist entry must be book 1", book1, matchResult.get(0));\r
\r
//BookSection\r
- BookSection section1 = BookSection.NewInstance(book1, null, "SecTitle", "22-33");\r
- BookSection section2 = BookSection.NewInstance(book2, null, "SecTitle", "22-33");\r
- BookSection section3 = BookSection.NewInstance(book1, null, "SecTitle", "22-33");\r
- cdmGenericDao.saveOrUpdate(section1);\r
- cdmGenericDao.saveOrUpdate(section2);\r
- cdmGenericDao.saveOrUpdate(section3);\r
+ IBookSection section1 = refFactory.newBookSection();\r
+ section1.setInBook(book1);\r
+ section1.setTitle("SecTitle");\r
+ section1.setPages("22-33");\r
+ IBookSection section2 = refFactory.newBookSection();\r
+ section2.setInBook(book2);\r
+ section2.setTitle("SecTitle");\r
+ section2.setPages("22-33");\r
+ IBookSection section3 = refFactory.newBookSection();\r
+ section3.setInBook(book1);\r
+ section3.setTitle("SecTitle");\r
+ section3.setPages("22-33");\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)section1);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)section2);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)section3);\r
\r
- List<BookSection> sectionResult = cdmGenericDao.findMatching(section3, null);\r
+ List<IBookSection> sectionResult = cdmGenericDao.findMatching(section3, null);\r
Assert.assertEquals("Resultlist must have 1 entries", 1, sectionResult.size());\r
Assert.assertSame("Resultlist entry must be section1", section1, sectionResult.get(0));\r
- section2.setInBook(book2 = (Book)book1.clone());\r
- cdmGenericDao.saveOrUpdate(book2);\r
- cdmGenericDao.saveOrUpdate(book1);\r
+ section2.setInBook(book2 = (IBook)((ReferenceBase) book1).clone());\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book2);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book1);\r
\r
matchResult = cdmGenericDao.findMatching(book3, matchStrategy);\r
Assert.assertEquals("Resultlist must have 2 entries", 2, matchResult.size());\r
\r
@Test\r
public void findMatchingCache(){\r
- Book book1 = Book.NewInstance();\r
+ IBook book1 = refFactory.newBook();\r
Team team1 = Team.NewInstance();\r
Team team2 = Team.NewInstance();\r
team1.setTitleCache("Team1");\r
book1.setAuthorTeam(team1);\r
\r
\r
- Book book2 = (Book)book1.clone();\r
- Book book3 = (Book)book1.clone();\r
+ IBook book2 = (IBook) ((ReferenceBase)book1).clone();\r
+ IBook book3 = (IBook) ((ReferenceBase)book1).clone();\r
\r
// Assert.assertTrue("Cloned book should match", matchStrategy.invoke(book1, bookClone));\r
// book1.setTitleCache("cache1");\r
// bookClone.setEdition(null);\r
// Assert.assertTrue("Cached book with a defined and a null edition should match", matchStrategy.invoke(book1, bookClone));\r
\r
- cdmGenericDao.saveOrUpdate(book1);\r
- cdmGenericDao.saveOrUpdate(book2);\r
- cdmGenericDao.saveOrUpdate(book3);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book1);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book2);\r
+ cdmGenericDao.saveOrUpdate((ReferenceBase)book3);\r
cdmGenericDao.saveOrUpdate(team1);\r
cdmGenericDao.saveOrUpdate(team2);\r
\r
\r
- IMatchStrategy matchStrategy = DefaultMatchStrategy.NewInstance(Book.class);\r
+ IMatchStrategy matchStrategy = DefaultMatchStrategy.NewInstance(ReferenceBase.class);\r
\r
try {\r
- List<Book> matchResult = cdmGenericDao.findMatching(book3, matchStrategy);\r
+ List<IBook> matchResult = cdmGenericDao.findMatching(book3, matchStrategy);\r
Assert.assertNotNull("Resultlist must not be null", matchResult);\r
Assert.assertEquals("Resultlist must have 2 entries", 2, matchResult.size());\r
Assert.assertTrue("Resultlist must contain book 1", matchResult.contains(book1));\r