From d9c8c10ac581b620da05eaa14d290634e18e248f Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Sat, 7 Sep 2019 18:03:39 +0200 Subject: [PATCH] Repositories for Publications --- .../AbstractPublicationRepository.java | 35 +++++++++++++++++ ...actPublicationWithPublisherRepository.java | 18 +++++++++ .../AbstractUnPublishedRepository.java | 17 ++++++++ .../ArticleInCollectedVolumeRepository.java | 22 +++++++++++ .../ArticleInJournalRepository.java | 22 +++++++++++ .../CollectedVolumeRepository.java | 22 +++++++++++ .../publications/ExpertiseRepository.java | 21 ++++++++++ .../GreyLiteratureRepository.java | 22 +++++++++++ .../publications/InProceedingsRepository.java | 21 ++++++++++ .../InternetArticleRepository.java | 21 ++++++++++ .../publications/JournalRepository.java | 38 ++++++++++++++++++ .../publications/MonographRepository.java | 22 +++++++++++ .../publications/ProceedingsRepository.java | 22 +++++++++++ .../PublicationWithPublisher.java | 2 +- .../publications/PublisherRepository.java | 39 +++++++++++++++++++ .../publications/TalkRepository.java | 21 ++++++++++ .../publications/WorkingPaperRepository.java | 21 ++++++++++ 17 files changed, 385 insertions(+), 1 deletion(-) create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolumeRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournalRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/ExpertiseRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/GreyLiteratureRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/InProceedingsRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/InternetArticleRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/JournalRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/MonographRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/ProceedingsRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/PublisherRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java create mode 100644 sci-publications/src/main/java/org/scientificcms/publications/WorkingPaperRepository.java diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java new file mode 100644 index 0000000..eb02997 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java @@ -0,0 +1,35 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +import org.libreccm.core.AbstractEntityRepository; + +/** + * + * @author Jens Pelzetter + * @param + */ +public abstract class AbstractPublicationRepository + extends AbstractEntityRepository { + + private static final long serialVersionUID = 1L; + + @Override + public String getIdAttributeName() { + return "publicationId"; + } + + @Override + public Long getIdOfEntity(final T entity) { + return entity.getPublicationId(); + } + + @Override + public boolean isNew(final T entity) { + return entity.getPublicationId() == 0; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java new file mode 100644 index 0000000..616759d --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java @@ -0,0 +1,18 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + * @param + */ +public abstract class AbstractPublicationWithPublisherRepository + extends AbstractPublicationRepository { + + private static final long serialVersionUID = 1L; + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedRepository.java new file mode 100644 index 0000000..4f26b60 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedRepository.java @@ -0,0 +1,17 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + * @param + */ +public abstract class AbstractUnPublishedRepository extends AbstractPublicationRepository { + + private static final long serialVersionUID = 1L; + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolumeRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolumeRepository.java new file mode 100644 index 0000000..9f1942b --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolumeRepository.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class ArticleInCollectedVolumeRepository + extends AbstractPublicationRepository { + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return ArticleInCollectedVolume.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournalRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournalRepository.java new file mode 100644 index 0000000..68033fc --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournalRepository.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class ArticleInJournalRepository + extends AbstractPublicationRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return ArticleInJournal.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java new file mode 100644 index 0000000..479f09c --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class CollectedVolumeRepository + extends AbstractPublicationWithPublisherRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return CollectedVolume.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseRepository.java new file mode 100644 index 0000000..03f0cb2 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseRepository.java @@ -0,0 +1,21 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class ExpertiseRepository extends AbstractPublicationRepository { + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return Expertise.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/GreyLiteratureRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/GreyLiteratureRepository.java new file mode 100644 index 0000000..d30d8ff --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/GreyLiteratureRepository.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class GreyLiteratureRepository + extends AbstractUnPublishedRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return GreyLiterature.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/InProceedingsRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/InProceedingsRepository.java new file mode 100644 index 0000000..31f86ab --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/InProceedingsRepository.java @@ -0,0 +1,21 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class InProceedingsRepository extends AbstractPublicationRepository { + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return InProceedings.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/InternetArticleRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/InternetArticleRepository.java new file mode 100644 index 0000000..6adf3aa --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/InternetArticleRepository.java @@ -0,0 +1,21 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class InternetArticleRepository extends AbstractPublicationRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return InternetArticle.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/JournalRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/JournalRepository.java new file mode 100644 index 0000000..6afc28e --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/JournalRepository.java @@ -0,0 +1,38 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +import org.libreccm.core.AbstractEntityRepository; + +/** + * + * @author Jens Pelzetter + */ +public class JournalRepository extends AbstractEntityRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return Journal.class; + } + + @Override + public String getIdAttributeName() { + return "journalId"; + } + + @Override + public Long getIdOfEntity(final Journal entity) { + return entity.getJournalId(); + } + + @Override + public boolean isNew(final Journal entity) { + return entity.getJournalId() == 0; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/MonographRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/MonographRepository.java new file mode 100644 index 0000000..9fbce21 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/MonographRepository.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class MonographRepository + extends AbstractPublicationWithPublisherRepository { + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return Monograph.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/ProceedingsRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/ProceedingsRepository.java new file mode 100644 index 0000000..0794e60 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/ProceedingsRepository.java @@ -0,0 +1,22 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class ProceedingsRepository + extends AbstractPublicationWithPublisherRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return Proceedings.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java b/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java index 21643a5..a94975f 100644 --- a/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java +++ b/sci-publications/src/main/java/org/scientificcms/publications/PublicationWithPublisher.java @@ -65,7 +65,7 @@ public class PublicationWithPublisher extends Publication { return publisher; } - public void setPublisher(final Publisher publisher) { + protected void setPublisher(final Publisher publisher) { this.publisher = publisher; } diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublisherRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/PublisherRepository.java new file mode 100644 index 0000000..fd7d0e1 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/PublisherRepository.java @@ -0,0 +1,39 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +import org.libreccm.core.AbstractEntityRepository; + +/** + * + * @author Jens Pelzetter + */ +public class PublisherRepository + extends AbstractEntityRepository{ + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return Publisher.class; + } + + @Override + public String getIdAttributeName() { + return "publisherId"; + } + + @Override + public Long getIdOfEntity(final Publisher entity) { + return entity.getPublisherId(); + } + + @Override + public boolean isNew(final Publisher entity) { + return entity.getPublisherId() == 0; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java new file mode 100644 index 0000000..964b57c --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java @@ -0,0 +1,21 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class TalkRepository extends AbstractPublicationRepository { + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return Talk.class; + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaperRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaperRepository.java new file mode 100644 index 0000000..2d36632 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaperRepository.java @@ -0,0 +1,21 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.scientificcms.publications; + +/** + * + * @author Jens Pelzetter + */ +public class WorkingPaperRepository extends AbstractUnPublishedRepository { + + private static final long serialVersionUID = 1L; + + @Override + public Class getEntityClass() { + return WorkingPaper.class; + } + +}