diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java
deleted file mode 100644
index 616759d..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationWithPublisherRepository.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 4f26b60..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractUnPublishedRepository.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 9f1942b..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInCollectedVolumeRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 68033fc..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/ArticleInJournalRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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/Authorship.java b/sci-publications/src/main/java/org/scientificcms/publications/Authorship.java
new file mode 100644
index 0000000..8bd96c4
--- /dev/null
+++ b/sci-publications/src/main/java/org/scientificcms/publications/Authorship.java
@@ -0,0 +1,172 @@
+/*
+ * 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.hibernate.envers.Audited;
+import org.librecms.assets.Person;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import static org.scientificcms.publications.SciPublicationsConstants.*;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+@Entity
+@Table(name = "AUTHORSHIPS", schema = DB_SCHEMA)
+@Audited
+public class Authorship implements Serializable, Comparable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Column(name = "AUTHORSHIP_ID")
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private long authorshipId;
+
+ @Column(name = "UUID", length = 36, nullable = false)
+ private String uuid;
+
+ @ManyToOne
+ @JoinColumn(name = "PUBLICATION_ID")
+ private Publication publication;
+
+ @ManyToOne
+ @JoinColumn(name = "AUTHOR_ID")
+ private Person author;
+
+ @Column(name = "EDITOR")
+ private boolean editor;
+
+ @Column(name = "AUTHOR_ORDER")
+ private long authorOrder;
+
+ public long getAuthorshipId() {
+ return authorshipId;
+ }
+
+ protected void setAuthorshipId(final long authorshipId) {
+ this.authorshipId = authorshipId;
+ }
+
+ public String getUuid() {
+ return uuid;
+ }
+
+ protected void setUuid(final String uuid) {
+ this.uuid = uuid;
+ }
+
+ public Publication getPublication() {
+ return publication;
+ }
+
+ protected void setPublication(final Publication publication) {
+ this.publication = publication;
+ }
+
+ public Person getAuthor() {
+ return author;
+ }
+
+ protected void setAuthor(final Person author) {
+ this.author = author;
+ }
+
+ public boolean isEditor() {
+ return editor;
+ }
+
+ public void setEditor(final boolean editor) {
+ this.editor = editor;
+ }
+
+ public long getAuthorOrder() {
+ return authorOrder;
+ }
+
+ public void setAuthorOrder(final long authorOrder) {
+ this.authorOrder = authorOrder;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 7;
+ hash = 59 * hash + (int) (authorshipId ^ (authorshipId >>> 32));
+ hash = 59 * hash + Objects.hashCode(uuid);
+ hash = 59 * hash + (editor ? 1 : 0);
+ hash = 59 * hash + (int) (authorOrder ^ (authorOrder >>> 32));
+ return hash;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (!(obj instanceof Authorship)) {
+ return false;
+ }
+ final Authorship other = (Authorship) obj;
+ if (!other.canEqual(this)) {
+ return false;
+ }
+ if (authorshipId != other.getAuthorshipId()) {
+ return false;
+ }
+ if (editor != other.isEditor()) {
+ return false;
+ }
+ return authorOrder == other.getAuthorOrder();
+ }
+
+ public boolean canEqual(final Object obj) {
+ return obj instanceof Authorship;
+ }
+
+ @Override
+ public int compareTo(final Authorship other) {
+ return Long.compare(authorOrder, other.getAuthorOrder());
+ }
+
+ @Override
+ public final String toString() {
+ return toString("");
+ }
+
+ public String toString(final String data) {
+
+ return String.format("%s{ "
+ + "authorshipId = %d, "
+ + "uuid = %s, "
+ + "author = %s"
+ + "editor = %b,"
+ + "authorOrder = %d%s "
+ + "}",
+ super.toString(),
+ authorshipId,
+ uuid,
+ Objects.toString(author),
+ editor,
+ authorOrder,
+ data);
+ }
+
+}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java
deleted file mode 100644
index 479f09c..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/CollectedVolumeRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 03f0cb2..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/ExpertiseRepository.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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
deleted file mode 100644
index d30d8ff..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/GreyLiteratureRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 31f86ab..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/InProceedingsRepository.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 6adf3aa..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/InternetArticleRepository.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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/MonographRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/MonographRepository.java
deleted file mode 100644
index 9fbce21..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/MonographRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 0794e60..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/ProceedingsRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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/Publication.java b/sci-publications/src/main/java/org/scientificcms/publications/Publication.java
index ccbade6..8f9b97c 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/Publication.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/Publication.java
@@ -9,13 +9,18 @@ import org.hibernate.envers.Audited;
import org.libreccm.l10n.LocalizedString;
import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Locale;
import java.util.Objects;
import javax.persistence.AssociationOverride;
+import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@@ -23,6 +28,8 @@ import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
import javax.persistence.Table;
import static org.scientificcms.publications.SciPublicationsConstants.*;
@@ -51,6 +58,13 @@ public class Publication implements Serializable {
@Column(name = "YEAR_OF_PUBLICATION")
private Integer yearOfPublication;
+ @OneToMany(cascade = CascadeType.ALL,
+ fetch = FetchType.LAZY,
+ mappedBy = "author",
+ orphanRemoval = true)
+ @OrderBy("authorOrder")
+ private List authorships;
+
@Embedded
@AssociationOverride(
name = "values",
@@ -103,8 +117,9 @@ public class Publication implements Serializable {
@Column(name = "LANGUAGE_OF_PUBLICATION")
private Locale languageOfPublication;
-
+
public Publication() {
+ authorships = new ArrayList<>();
title = new LocalizedString();
shortDescription = new LocalizedString();
publicationAbstract = new LocalizedString();
@@ -135,6 +150,30 @@ public class Publication implements Serializable {
this.yearOfPublication = yearOfPublication;
}
+ public List getAuthorships() {
+ if (authorships == null) {
+ return null;
+ } else {
+ return Collections.unmodifiableList(authorships);
+ }
+ }
+
+ protected void addAuthorship(final Authorship authorship) {
+ authorships.add(authorship);
+ }
+
+ protected void removeAuthorship(final Authorship authorship) {
+ authorships.remove(authorship);
+ }
+
+ protected void setAuthorships(final List authorships) {
+ if (authorships == null) {
+ this.authorships = null;
+ } else {
+ this.authorships = new ArrayList<>(authorships);
+ }
+ }
+
public LocalizedString getTitle() {
return title;
}
@@ -197,6 +236,7 @@ public class Publication implements Serializable {
hash = 97 * hash + (int) (publicationId ^ (publicationId >>> 32));
hash = 97 * hash + Objects.hashCode(uuid);
hash = 97 * hash + Objects.hashCode(yearOfPublication);
+ hash = 97 * hash + Objects.hashCode(authorships);
hash = 97 * hash + Objects.hashCode(title);
hash = 97 * hash + Objects.hashCode(shortDescription);
hash = 97 * hash + Objects.hashCode(publicationAbstract);
@@ -232,6 +272,9 @@ public class Publication implements Serializable {
if (!Objects.equals(yearOfPublication, other.getYearOfPublication())) {
return false;
}
+ if (!Objects.equals(authorships, other.getAuthorships())) {
+ return false;
+ }
if (!Objects.equals(title, other.getTitle())) {
return false;
}
@@ -266,6 +309,7 @@ public class Publication implements Serializable {
+ "publicationId = %d, "
+ "uuid = \"%s\""
+ "yearOfPublication = %d, "
+ + "authorships = %s, "
+ "title = %s, "
+ "shortDescription = %s, "
+ "publicationAbstract = %s, "
@@ -278,6 +322,7 @@ public class Publication implements Serializable {
publicationId,
uuid,
yearOfPublication,
+ authorships,
Objects.toString(title),
Objects.toString(shortDescription),
Objects.toString(publicationAbstract),
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java b/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java
new file mode 100644
index 0000000..d0244d4
--- /dev/null
+++ b/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java
@@ -0,0 +1,141 @@
+/*
+ * 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.security.AuthorizationRequired;
+import org.libreccm.security.RequiresPrivilege;
+import org.librecms.assets.Person;
+import org.librecms.contentsection.privileges.ItemPrivileges;
+
+import java.util.Objects;
+import java.util.Optional;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.transaction.Transactional;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+@RequestScoped
+public class PublicationManager {
+
+ @Inject
+ private PublicationRepository publicationRepository;
+
+ @Inject
+ private EntityManager entityManager;
+
+ public void addAuthor(final Person person,
+ final Publication toPublication) {
+
+ Objects.requireNonNull(person);
+ Objects.requireNonNull(toPublication);
+
+ addAuthor(person,
+ toPublication,
+ false,
+ toPublication.getAuthorships().size());
+ }
+
+ public void addAuthor(final Person person,
+ final Publication toPublication,
+ final boolean asEditor) {
+ Objects.requireNonNull(person);
+ Objects.requireNonNull(toPublication);
+
+ addAuthor(person,
+ toPublication,
+ asEditor,
+ toPublication.getAuthorships().size());
+ }
+
+ /**
+ * Adds an person as author to a publication.
+ *
+ * @param person
+ * @param toPublication
+ * @param asEditor
+ * @param atPosition
+ */
+ @AuthorizationRequired
+ @RequiresPrivilege(ItemPrivileges.EDIT)
+ @Transactional(Transactional.TxType.REQUIRED)
+ public void addAuthor(final Person person,
+ final Publication toPublication,
+ final boolean asEditor,
+ final long atPosition) {
+
+ Objects.requireNonNull(person);
+ Objects.requireNonNull(toPublication);
+ if (atPosition < 0) {
+ throw new IllegalArgumentException("position can't less than 0");
+ }
+
+ // First check if person is already an author.
+ final boolean alreadyAdded = toPublication
+ .getAuthorships()
+ .stream()
+ .map(Authorship::getAuthor)
+ .anyMatch(author -> author.equals(person));
+ if (alreadyAdded) {
+ throw new IllegalArgumentException(
+ String.format(
+ "Person %s is already an author of "
+ + "publication %s.",
+ Objects.toString(person),
+ Objects.toString(toPublication)
+ )
+ );
+ }
+
+ // Create authorship relation
+ final long numberOfAuthors = toPublication.getAuthorships().size();
+ final Authorship authorship = new Authorship();
+ authorship.setAuthor(person);
+ authorship.setPublication(toPublication);
+ authorship.setEditor(asEditor);
+ if (atPosition >= numberOfAuthors) {
+ authorship.setAuthorOrder(numberOfAuthors);
+ } else {
+ authorship.setAuthorOrder(atPosition);
+ toPublication
+ .getAuthorships()
+ .stream()
+ .filter(obj -> obj.getAuthorOrder() >= atPosition)
+ .forEach(obj -> obj.setAuthorOrder(obj.getAuthorOrder() + 1));
+
+ }
+ toPublication.addAuthorship(authorship);
+ publicationRepository.save(toPublication);
+ }
+
+ public void removeAuthor(final Person author,
+ final Publication fromPublication) {
+
+ final Optional result = fromPublication
+ .getAuthorships()
+ .stream()
+ .filter(authorship -> authorship.getAuthor().equals(author))
+ .findAny();
+
+ if (!result.isPresent()) {
+ return ;
+ }
+
+ final Authorship remove = result.get();
+ fromPublication.removeAuthorship(remove);
+
+ for(int i = 0; i < fromPublication.getAuthorships().size(); i++) {
+ fromPublication.getAuthorships().get(i).setAuthorOrder(i);
+ }
+
+ entityManager.remove(remove);
+ publicationRepository.save(fromPublication);
+ }
+}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/PublicationRepository.java
similarity index 63%
rename from sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java
rename to sci-publications/src/main/java/org/scientificcms/publications/PublicationRepository.java
index eb02997..714b601 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/AbstractPublicationRepository.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/PublicationRepository.java
@@ -7,13 +7,15 @@ package org.scientificcms.publications;
import org.libreccm.core.AbstractEntityRepository;
+import javax.enterprise.context.RequestScoped;
+
/**
*
* @author Jens Pelzetter
- * @param
*/
-public abstract class AbstractPublicationRepository
- extends AbstractEntityRepository {
+@RequestScoped
+public class PublicationRepository
+ extends AbstractEntityRepository {
private static final long serialVersionUID = 1L;
@@ -23,13 +25,18 @@ public abstract class AbstractPublicationRepository
}
@Override
- public Long getIdOfEntity(final T entity) {
+ public Long getIdOfEntity(final Publication entity) {
return entity.getPublicationId();
}
@Override
- public boolean isNew(final T entity) {
+ public boolean isNew(final Publication entity) {
return entity.getPublicationId() == 0;
}
+ @Override
+ public Class getEntityClass() {
+ return Publication.class;
+ }
+
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java
deleted file mode 100644
index 964b57c..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/TalkRepository.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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
deleted file mode 100644
index 2d36632..0000000
--- a/sci-publications/src/main/java/org/scientificcms/publications/WorkingPaperRepository.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * 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;
- }
-
-}
diff --git a/sci-publications/src/test/java/org/scientificcms/publications/EqualsAndHashCodeTest.java b/sci-publications/src/test/java/org/scientificcms/publications/EqualsAndHashCodeTest.java
index 389d649..8de3ade 100644
--- a/sci-publications/src/test/java/org/scientificcms/publications/EqualsAndHashCodeTest.java
+++ b/sci-publications/src/test/java/org/scientificcms/publications/EqualsAndHashCodeTest.java
@@ -32,6 +32,7 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
return Arrays.asList(new Class>[]{
ArticleInCollectedVolume.class,
ArticleInJournal.class,
+ Authorship.class,
CollectedVolume.class,
Expertise.class,
GreyLiterature.class,