diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/AbstractPublicationCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/AbstractPublicationCreateForm.java
new file mode 100644
index 0000000..add170c
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/AbstractPublicationCreateForm.java
@@ -0,0 +1,61 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.FormData;
+import com.arsdigita.bebop.PageState;
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+import com.arsdigita.cms.ui.authoring.PageCreateForm;
+
+import org.librecms.contentsection.ContentItemInitializer;
+import org.scientificcms.publications.Publication;
+import org.scientificcms.publications.contenttypes.PublicationItem;
+
+import java.util.Locale;
+
+/**
+ *
+ * @author Jens Pelzetter
+ * @param
+ * @param
+ */
+public abstract class AbstractPublicationCreateForm>
+ extends PageCreateForm {
+
+ public AbstractPublicationCreateForm(
+ final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam
+ ) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ protected ContentItemInitializer> getItemInitializer(
+ final FormData data, final PageState state) {
+
+ return item -> ((T) item).setPublication(
+ createPublication(data)
+ );
+ }
+
+ protected P createPublication(final FormData data) {
+
+ final Locale locale = new Locale((String) data.get(LANGUAGE));
+ final String title = (String) data.get(TITLE);
+
+ final P publication = createPublication();
+ publication.getTitle().addValue(locale, title);
+
+ return publication;
+ }
+
+ protected abstract P createPublication();
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCreateForm.java
new file mode 100644
index 0000000..766feea
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ArticleInCollectedVolumeCreateForm.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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.ArticleInCollectedVolume;
+import org.scientificcms.publications.contenttypes.ArticleInCollectedVolumeItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class ArticleInCollectedVolumeCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public ArticleInCollectedVolumeCreateForm(
+ final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam
+ ) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected ArticleInCollectedVolume createPublication() {
+ return new ArticleInCollectedVolume();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ArticleInJournalCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ArticleInJournalCreateForm.java
new file mode 100644
index 0000000..0111a6d
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ArticleInJournalCreateForm.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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.ArticleInJournal;
+import org.scientificcms.publications.contenttypes.ArticleInJournalItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class ArticleInJournalCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public ArticleInJournalCreateForm(
+ final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam
+ ) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected ArticleInJournal createPublication() {
+ return new ArticleInJournal();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/CollectedVolumeCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/CollectedVolumeCreateForm.java
new file mode 100644
index 0000000..1b0d10b
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/CollectedVolumeCreateForm.java
@@ -0,0 +1,37 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.CollectedVolume;
+import org.scientificcms.publications.Publication;
+import org.scientificcms.publications.contenttypes.CollectedVolumeItem;
+import org.scientificcms.publications.contenttypes.PublicationItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class CollectedVolumeCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public CollectedVolumeCreateForm(
+ final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam
+ ) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected CollectedVolume createPublication() {
+ return new CollectedVolume();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ExpertiseCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ExpertiseCreateForm.java
new file mode 100644
index 0000000..edd039a
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ExpertiseCreateForm.java
@@ -0,0 +1,33 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.Expertise;
+import org.scientificcms.publications.contenttypes.ExpertiseItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class ExpertiseCreateForm
+ extends AbstractPublicationCreateForm{
+
+ public ExpertiseCreateForm(final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected Expertise createPublication() {
+ return new Expertise();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/GreyLiteratureCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/GreyLiteratureCreateForm.java
new file mode 100644
index 0000000..bb1a75c
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/GreyLiteratureCreateForm.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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.GreyLiterature;
+import org.scientificcms.publications.contenttypes.GreyLiteratureItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class GreyLiteratureCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public GreyLiteratureCreateForm(
+ final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam
+ ) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected GreyLiterature createPublication() {
+ return new GreyLiterature();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/InProceedingsCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/InProceedingsCreateForm.java
new file mode 100644
index 0000000..f879e1a
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/InProceedingsCreateForm.java
@@ -0,0 +1,33 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.InProceedings;
+import org.scientificcms.publications.contenttypes.InProceedingsItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class InProceedingsCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public InProceedingsCreateForm(final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected InProceedings createPublication() {
+ return new InProceedings();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/InternetArticleCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/InternetArticleCreateForm.java
new file mode 100644
index 0000000..47f29e1
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/InternetArticleCreateForm.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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.InternetArticle;
+import org.scientificcms.publications.contenttypes.InternetArticleItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class InternetArticleCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public InternetArticleCreateForm(
+ final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam
+ ) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected InternetArticle createPublication() {
+ return new InternetArticle();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/MonographCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/MonographCreateForm.java
new file mode 100644
index 0000000..d630a12
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/MonographCreateForm.java
@@ -0,0 +1,34 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.Monograph;
+import org.scientificcms.publications.contenttypes.MonographItem;
+
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class MonographCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public MonographCreateForm(final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected Monograph createPublication() {
+ return new Monograph();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ProceedingsCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ProceedingsCreateForm.java
new file mode 100644
index 0000000..aa2fbce
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/ProceedingsCreateForm.java
@@ -0,0 +1,33 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.Proceedings;
+import org.scientificcms.publications.contenttypes.ProceedingsItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class ProceedingsCreateForm
+ extends AbstractPublicationCreateForm{
+
+ public ProceedingsCreateForm(final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected Proceedings createPublication() {
+ return new Proceedings();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/TalkCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/TalkCreateForm.java
new file mode 100644
index 0000000..e0ac972
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/TalkCreateForm.java
@@ -0,0 +1,33 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.Talk;
+import org.scientificcms.publications.contenttypes.TalkItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class TalkCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public TalkCreateForm(final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected Talk createPublication() {
+ return new Talk();
+ }
+
+}
diff --git a/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/WorkingPaperCreateForm.java b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/WorkingPaperCreateForm.java
new file mode 100644
index 0000000..6aedba1
--- /dev/null
+++ b/sci-publications/src/main/java/com/arsdigita/cms/contenttypes/ui/WorkingPaperCreateForm.java
@@ -0,0 +1,33 @@
+/*
+ * 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 com.arsdigita.cms.contenttypes.ui;
+
+import com.arsdigita.bebop.parameters.StringParameter;
+import com.arsdigita.cms.ItemSelectionModel;
+import com.arsdigita.cms.ui.authoring.CreationSelector;
+
+import org.scientificcms.publications.WorkingPaper;
+import org.scientificcms.publications.contenttypes.WorkingPaperItem;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class WorkingPaperCreateForm
+ extends AbstractPublicationCreateForm {
+
+ public WorkingPaperCreateForm(final ItemSelectionModel itemModel,
+ final CreationSelector creationSelector,
+ final StringParameter selectedLanguageParam) {
+ super(itemModel, creationSelector, selectedLanguageParam);
+ }
+
+ @Override
+ protected WorkingPaper createPublication() {
+ return new WorkingPaper();
+ }
+
+}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java b/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java
index 0245ace..bf6d121 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/PublicationManager.java
@@ -169,7 +169,7 @@ public class PublicationManager {
.filter(authorship -> authorship.getAuthor().equals(author))
.findAny();
- if (result.isEmpty()) {
+ if (!result.isPresent()) {
throw new IllegalArgumentException(
String.format(
"Person %s is not an author of the publication %s.",
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/CollectedVolumeAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/CollectedVolumeAsset.java
index 4e375e9..67568fb 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/assets/CollectedVolumeAsset.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/CollectedVolumeAsset.java
@@ -42,7 +42,7 @@ public class CollectedVolumeAsset extends Asset {
return collectedVolume;
}
- protected void setCollectedVolume(final CollectedVolume collectedVolume) {
+ public void setCollectedVolume(final CollectedVolume collectedVolume) {
this.collectedVolume = collectedVolume;
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java
index 10f0b2a..807b3dc 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/JournalAsset.java
@@ -43,7 +43,7 @@ public class JournalAsset extends Asset {
return journal;
}
- protected void setJournal(final Journal journal) {
+ public void setJournal(final Journal journal) {
this.journal = journal;
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java
index e288865..cf2b413 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/assets/PublisherAsset.java
@@ -44,7 +44,7 @@ public class PublisherAsset extends Asset {
return publisher;
}
- protected void setPublisher(final Publisher publisher) {
+ public void setPublisher(final Publisher publisher) {
this.publisher = publisher;
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInCollectedVolumeItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInCollectedVolumeItem.java
index 64c4328..36c31ad 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInCollectedVolumeItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInCollectedVolumeItem.java
@@ -25,33 +25,33 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "ARTICLE_IN_COLLECTED_VOLUME_ITEMS", schema = DB_SCHEMA)
@Audited
-public class ArticleInCollectedVolumeItem
- extends AbstractPublicationItem {
+public class ArticleInCollectedVolumeItem
+ extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "ARTICLE_ID")
- private ArticleInCollectedVolume article;
-
- @Override
- public ArticleInCollectedVolume getPublication() {
- return article;
- }
-
- @Override
- protected void setPublication(final ArticleInCollectedVolume article) {
- this.article = article;
- }
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "ARTICLE_ID")
+// private ArticleInCollectedVolume article;
+//
+// @Override
+// public ArticleInCollectedVolume getPublication() {
+// return article;
+// }
+//
+// @Override
+// protected void setPublication(final ArticleInCollectedVolume article) {
+// this.article = article;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(article);
+// hash = 67 * hash + Objects.hashCode(article);
return hash;
}
@@ -71,10 +71,11 @@ public class ArticleInCollectedVolumeItem
}
final ArticleInCollectedVolumeItem other
= (ArticleInCollectedVolumeItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(article, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(article, other.getPublication());
+return other.canEqual(this);
}
@Override
@@ -82,11 +83,11 @@ public class ArticleInCollectedVolumeItem
return obj instanceof ArticleInCollectedVolumeItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", article = %s%s",
- Objects.toString(article),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", article = %s%s",
+// Objects.toString(article),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInJournalItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInJournalItem.java
index b278b73..a8df79a 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInJournalItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ArticleInJournalItem.java
@@ -8,12 +8,7 @@ package org.scientificcms.publications.contenttypes;
import org.hibernate.envers.Audited;
import org.scientificcms.publications.ArticleInJournal;
-import java.util.Objects;
-
-import javax.persistence.CascadeType;
import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
import javax.persistence.Table;
import static org.scientificcms.publications.SciPublicationsConstants.*;
@@ -25,33 +20,30 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "ARTICLE_IN_COLLECTED_VOLUME_ITEMS", schema = DB_SCHEMA)
@Audited
-public class ArticleInJournalItem
- extends AbstractPublicationItem {
+public class ArticleInJournalItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "ARTICLE_ID")
- private ArticleInJournal article;
-
- @Override
- public ArticleInJournal getPublication() {
- return article;
- }
-
- @Override
- protected void setPublication(final ArticleInJournal article) {
- this.article = article;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "ARTICLE_ID")
+// private ArticleInJournal article;
+// @Override
+// public ArticleInJournal getPublication() {
+// return article;
+// }
+//
+// @Override
+// protected void setPublication(final ArticleInJournal article) {
+// this.article = article;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(this.article);
+// hash = 67 * hash + Objects.hashCode(this.article);
return hash;
}
@@ -70,11 +62,12 @@ public class ArticleInJournalItem
return false;
}
final ArticleInJournalItem other
- = (ArticleInJournalItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.article, other.getPublication());
+ = (ArticleInJournalItem) obj;
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.article, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -82,11 +75,11 @@ public class ArticleInJournalItem
return obj instanceof ArticleInJournalItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", article = %s%s",
- Objects.toString(article),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", article = %s%s",
+// Objects.toString(article),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/CollectedVolumeItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/CollectedVolumeItem.java
index 0e289cf..c1d450d 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/CollectedVolumeItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/CollectedVolumeItem.java
@@ -27,32 +27,32 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Table(name = "COLLECTED_VOLUME_ITEMS", schema = DB_SCHEMA)
@Audited
public class CollectedVolumeItem
- extends AbstractPublicationWithPublisherItem {
+ extends PublicationWithPublisherItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "COLLECTED_VOLUME_ID")
- private CollectedVolume collectedVolume;
-
- @Override
- public CollectedVolume getPublication() {
- return collectedVolume;
- }
-
- @Override
- protected void setPublication(final CollectedVolume collectedVolume) {
- this.collectedVolume = collectedVolume;
- }
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "COLLECTED_VOLUME_ID")
+// private CollectedVolume collectedVolume;
+//
+// @Override
+// public CollectedVolume getPublication() {
+// return collectedVolume;
+// }
+//
+// @Override
+// protected void setPublication(final CollectedVolume collectedVolume) {
+// this.collectedVolume = collectedVolume;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 59 * hash + Objects.hashCode(collectedVolume);
+// hash = 59 * hash + Objects.hashCode(collectedVolume);
return hash;
}
@@ -71,10 +71,11 @@ public class CollectedVolumeItem
return false;
}
final CollectedVolumeItem other = (CollectedVolumeItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(collectedVolume, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(collectedVolume, other.getPublication());
+return other.canEqual(this);
}
@Override
@@ -82,11 +83,11 @@ public class CollectedVolumeItem
return obj instanceof CollectedVolumeItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", collectedVolume = %s%s",
- Objects.toString(collectedVolume),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", collectedVolume = %s%s",
+// Objects.toString(collectedVolume),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ExpertiseItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ExpertiseItem.java
index e2b8e32..7b24e05 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ExpertiseItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ExpertiseItem.java
@@ -25,33 +25,32 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "EXPERTISE_ITEMS", schema = DB_SCHEMA)
@Audited
-public class ExpertiseItem
- extends AbstractPublicationItem {
+public class ExpertiseItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "EXPERTISE_ID")
- private Expertise expertise;
-
- @Override
- public Expertise getPublication() {
- return expertise;
- }
-
- @Override
- protected void setPublication(final Expertise expertise) {
- this.expertise = expertise;
- }
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "EXPERTISE_ID")
+// private Expertise expertise;
+//
+// @Override
+// public Expertise getPublication() {
+// return expertise;
+// }
+//
+// @Override
+// protected void setPublication(final Expertise expertise) {
+// this.expertise = expertise;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(expertise);
+// hash = 67 * hash + Objects.hashCode(expertise);
return hash;
}
@@ -71,10 +70,11 @@ public class ExpertiseItem
}
final ExpertiseItem other
= (ExpertiseItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.expertise, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.expertise, other.getPublication());
+return other.canEqual(this);
}
@Override
@@ -82,11 +82,11 @@ public class ExpertiseItem
return obj instanceof ExpertiseItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", expertise = %s%s",
- Objects.toString(expertise),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", expertise = %s%s",
+// Objects.toString(expertise),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/GreyLiteratureItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/GreyLiteratureItem.java
index b8cec4c..238ec7e 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/GreyLiteratureItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/GreyLiteratureItem.java
@@ -25,33 +25,31 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "GREY_LITERATURE_ITEMS", schema = DB_SCHEMA)
@Audited
-public class GreyLiteratureItem
- extends AbstractPublicationItem {
+public class GreyLiteratureItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "GREY_LITERATURE_ID")
- private GreyLiterature greyLiterature;
-
- @Override
- public GreyLiterature getPublication() {
- return greyLiterature;
- }
-
- @Override
- protected void setPublication(final GreyLiterature greyLiterature) {
- this.greyLiterature = greyLiterature;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "GREY_LITERATURE_ID")
+// private GreyLiterature greyLiterature;
+//
+// @Override
+// public GreyLiterature getPublication() {
+// return greyLiterature;
+// }
+//
+// @Override
+// protected void setPublication(final GreyLiterature greyLiterature) {
+// this.greyLiterature = greyLiterature;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(greyLiterature);
+// hash = 67 * hash + Objects.hashCode(greyLiterature);
return hash;
}
@@ -70,11 +68,12 @@ public class GreyLiteratureItem
return false;
}
final GreyLiteratureItem other
- = (GreyLiteratureItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.greyLiterature, other.getPublication());
+ = (GreyLiteratureItem) obj;
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.greyLiterature, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -82,11 +81,11 @@ public class GreyLiteratureItem
return obj instanceof GreyLiteratureItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", greyLiterature = %s%s",
- Objects.toString(greyLiterature),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", greyLiterature = %s%s",
+// Objects.toString(greyLiterature),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InProceedingsItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InProceedingsItem.java
index b0b5815..1e722bb 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InProceedingsItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InProceedingsItem.java
@@ -25,33 +25,32 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "INPROCEEDINGS_ITEMS", schema = DB_SCHEMA)
@Audited
-public class InProceedingsItem
- extends AbstractPublicationItem {
+public class InProceedingsItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "INPROCEEDINGS_ID")
- private InProceedings inProcedings;
-
- @Override
- public InProceedings getPublication() {
- return inProcedings;
- }
-
- @Override
- protected void setPublication(final InProceedings inProceedings) {
- this.inProcedings = inProceedings;
- }
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "INPROCEEDINGS_ID")
+// private InProceedings inProcedings;
+//
+// @Override
+// public InProceedings getPublication() {
+// return inProcedings;
+// }
+//
+// @Override
+// protected void setPublication(final InProceedings inProceedings) {
+// this.inProcedings = inProceedings;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(inProcedings);
+// hash = 67 * hash + Objects.hashCode(inProcedings);
return hash;
}
@@ -70,11 +69,12 @@ public class InProceedingsItem
return false;
}
final InProceedingsItem other
- = (InProceedingsItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.inProcedings, other.getPublication());
+ = (InProceedingsItem) obj;
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.inProcedings, other.getPublication());
+return other.canEqual(this);
}
@Override
@@ -82,11 +82,11 @@ public class InProceedingsItem
return obj instanceof InProceedingsItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", inProceedings = %s%s",
- Objects.toString(inProcedings),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", inProceedings = %s%s",
+// Objects.toString(inProcedings),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InternetArticleItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InternetArticleItem.java
index becb01a..8a547a5 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InternetArticleItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/InternetArticleItem.java
@@ -25,33 +25,31 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "INTERNET_ARTICLE_ITEMS", schema = DB_SCHEMA)
@Audited
-public class InternetArticleItem
- extends AbstractPublicationItem {
+public class InternetArticleItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "EXPERTISE_ID")
- private InternetArticle expertise;
-
- @Override
- public InternetArticle getPublication() {
- return expertise;
- }
-
- @Override
- protected void setPublication(final InternetArticle internetArticle) {
- this.expertise = internetArticle;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "EXPERTISE_ID")
+// private InternetArticle expertise;
+//
+// @Override
+// public InternetArticle getPublication() {
+// return expertise;
+// }
+//
+// @Override
+// protected void setPublication(final InternetArticle internetArticle) {
+// this.expertise = internetArticle;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(expertise);
+// hash = 67 * hash + Objects.hashCode(expertise);
return hash;
}
@@ -71,10 +69,11 @@ public class InternetArticleItem
}
final InternetArticleItem other
= (InternetArticleItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.expertise, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.expertise, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -82,11 +81,11 @@ public class InternetArticleItem
return obj instanceof InternetArticleItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", internetArticle = %s%s",
- Objects.toString(expertise),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", internetArticle = %s%s",
+// Objects.toString(expertise),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/MonographItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/MonographItem.java
index e650095..ee659e4 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/MonographItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/MonographItem.java
@@ -7,12 +7,7 @@ package org.scientificcms.publications.contenttypes;
import org.scientificcms.publications.Monograph;
-import java.util.Objects;
-
-import javax.persistence.CascadeType;
import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
import javax.persistence.Table;
import static org.scientificcms.publications.SciPublicationsConstants.*;
@@ -23,33 +18,31 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
*/
@Entity
@Table(name = "MONOGRAPH_ITEMS", schema = DB_SCHEMA)
-public class MonographItem
- extends AbstractPublicationWithPublisherItem {
+public class MonographItem extends PublicationWithPublisherItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "MONOGRAPH_ID")
- private Monograph monograph;
-
- @Override
- public Monograph getPublication() {
- return monograph;
- }
-
- @Override
- protected void setPublication(final Monograph monograph) {
- this.monograph = monograph;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "MONOGRAPH_ID")
+// private Monograph monograph;
+//
+// @Override
+// public Monograph getPublication() {
+// return monograph;
+// }
+//
+// @Override
+// protected void setPublication(final Monograph monograph) {
+// this.monograph = monograph;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 29 * hash + Objects.hashCode(monograph);
+// hash = 29 * hash + Objects.hashCode(monograph);
return hash;
}
@@ -68,10 +61,11 @@ public class MonographItem
return false;
}
final MonographItem other = (MonographItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(monograph, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(monograph, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -79,11 +73,11 @@ public class MonographItem
return obj instanceof MonographItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", publication = %s%s",
- Objects.toString(monograph),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", publication = %s%s",
+// Objects.toString(monograph),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ProceedingsItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ProceedingsItem.java
index 0be31bb..4ba3958 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ProceedingsItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/ProceedingsItem.java
@@ -7,12 +7,7 @@ package org.scientificcms.publications.contenttypes;
import org.scientificcms.publications.Proceedings;
-import java.util.Objects;
-
-import javax.persistence.CascadeType;
import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
import javax.persistence.Table;
import static org.scientificcms.publications.SciPublicationsConstants.*;
@@ -23,33 +18,31 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
*/
@Entity
@Table(name = "PROCEEDINGS_ITEMS", schema = DB_SCHEMA)
-public class ProceedingsItem
- extends AbstractPublicationWithPublisherItem {
+public class ProceedingsItem extends PublicationWithPublisherItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "PROCEEDINGS_ID")
- private Proceedings article;
-
- @Override
- public Proceedings getPublication() {
- return article;
- }
-
- @Override
- protected void setPublication(final Proceedings article) {
- this.article = article;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "PROCEEDINGS_ID")
+// private Proceedings article;
+//
+// @Override
+// public Proceedings getPublication() {
+// return article;
+// }
+//
+// @Override
+// protected void setPublication(final Proceedings article) {
+// this.article = article;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(article);
+// hash = 67 * hash + Objects.hashCode(article);
return hash;
}
@@ -69,10 +62,11 @@ public class ProceedingsItem
}
final ProceedingsItem other
= (ProceedingsItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.article, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.article, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -80,11 +74,11 @@ public class ProceedingsItem
return obj instanceof ProceedingsItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", proceedings = %s%s",
- Objects.toString(article),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", proceedings = %s%s",
+// Objects.toString(article),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/AbstractPublicationItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationItem.java
similarity index 53%
rename from sci-publications/src/main/java/org/scientificcms/publications/contenttypes/AbstractPublicationItem.java
rename to sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationItem.java
index 78800e5..6d59eb6 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/AbstractPublicationItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationItem.java
@@ -9,27 +9,51 @@ import org.hibernate.envers.Audited;
import org.librecms.contentsection.ContentItem;
import org.scientificcms.publications.Publication;
+import javax.persistence.CascadeType;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToOne;
import javax.persistence.Table;
import static org.scientificcms.publications.SciPublicationsConstants.*;
/**
- *
+ * Base Item for Publications.
+ *
* @author Jens Pelzetter
* @param
*/
@Entity
@Table(name = "PUBLICATION_ITEMS", schema = DB_SCHEMA)
@Audited
-public abstract class AbstractPublicationItem
- extends ContentItem {
+@NamedQueries({
+ @NamedQuery(
+ name = "PublicationItem.findForPublication",
+ query = "SELECT i FROM PublicationItem i WHERE i.publication = :publication"
+ )
+})
+public class PublicationItem extends ContentItem {
private static final long serialVersionUID = 1L;
- public abstract T getPublication();
+ @OneToOne(cascade = {CascadeType.DETACH,
+ CascadeType.MERGE,
+ CascadeType.PERSIST,
+ CascadeType.REFRESH},
+ fetch = FetchType.LAZY,
+ targetEntity = Publication.class
+ )
+ private T publication;
- protected abstract void setPublication(T publication);
+ public T getPublication() {
+ return publication;
+ }
+
+ public void setPublication(final T publication) {
+ this.publication = publication;
+ }
@Override
public int hashCode() {
@@ -49,18 +73,17 @@ public abstract class AbstractPublicationItem
if (!super.equals(obj)) {
return false;
}
- if (!(obj instanceof AbstractPublicationItem)) {
+ if (!(obj instanceof PublicationItem)) {
return false;
}
- final AbstractPublicationItem> other
- = (AbstractPublicationItem>) obj;
+ final PublicationItem> other = (PublicationItem>) obj;
return other.canEqual(this);
}
@Override
public boolean canEqual(final Object obj) {
- return obj instanceof AbstractPublicationItem;
+ return obj instanceof PublicationItem;
}
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationItemRepository.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationItemRepository.java
new file mode 100644
index 0000000..6d3b569
--- /dev/null
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationItemRepository.java
@@ -0,0 +1,40 @@
+/*
+ * 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.contenttypes;
+
+import org.librecms.contentsection.ContentItemRepository;
+import org.scientificcms.publications.Publication;
+
+import java.util.Optional;
+
+import javax.persistence.NoResultException;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+public class PublicationItemRepository extends ContentItemRepository {
+
+ private static final long serialVersionUID = 1L;
+
+ @SuppressWarnings("unchecked")
+ public Optional> findForPublication(
+ final T publication, final Class publicationType
+ ) {
+ try {
+ return Optional.of(
+ (PublicationItem) getEntityManager()
+ .createNamedQuery("PublicationItem.findForPublication",
+ PublicationItem.class)
+ .setParameter("publication", publication)
+ .getSingleResult()
+ );
+ } catch (NoResultException ex) {
+ return Optional.empty();
+ }
+ }
+
+}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/AbstractPublicationWithPublisherItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationWithPublisherItem.java
similarity index 74%
rename from sci-publications/src/main/java/org/scientificcms/publications/contenttypes/AbstractPublicationWithPublisherItem.java
rename to sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationWithPublisherItem.java
index e59e1d1..7e43e9f 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/AbstractPublicationWithPublisherItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/PublicationWithPublisherItem.java
@@ -21,8 +21,8 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "PUBLICATION_WITH_PUBLISHER_ITEMS", schema = DB_SCHEMA)
@Audited
-public abstract class AbstractPublicationWithPublisherItem
- extends AbstractPublicationItem {
+public class PublicationWithPublisherItem
+ extends PublicationItem {
private static final long serialVersionUID = 1L;
@@ -44,17 +44,17 @@ public abstract class AbstractPublicationWithPublisherItem other
- = (AbstractPublicationWithPublisherItem>) obj;
+ final PublicationWithPublisherItem> other
+ = (PublicationWithPublisherItem>) obj;
return other.canEqual(this);
}
@Override
public boolean canEqual(final Object obj) {
- return obj instanceof AbstractPublicationWithPublisherItem;
+ return obj instanceof PublicationWithPublisherItem;
}
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/TalkItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/TalkItem.java
index a8648af..e619d87 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/TalkItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/TalkItem.java
@@ -25,33 +25,31 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "TALK_ITEMS", schema = DB_SCHEMA)
@Audited
-public class TalkItem
- extends AbstractPublicationItem {
+public class TalkItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "TALK_ID")
- private Talk talk;
-
- @Override
- public Talk getPublication() {
- return talk;
- }
-
- @Override
- protected void setPublication(final Talk talk) {
- this.talk = talk;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "TALK_ID")
+// private Talk talk;
+//
+// @Override
+// public Talk getPublication() {
+// return talk;
+// }
+//
+// @Override
+// protected void setPublication(final Talk talk) {
+// this.talk = talk;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(talk);
+// hash = 67 * hash + Objects.hashCode(talk);
return hash;
}
@@ -71,10 +69,11 @@ public class TalkItem
}
final TalkItem other
= (TalkItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.talk, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.talk, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -82,11 +81,11 @@ public class TalkItem
return obj instanceof TalkItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", talk = %s%s",
- Objects.toString(talk),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", talk = %s%s",
+// Objects.toString(talk),
+// data));
+// }
}
diff --git a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/WorkingPaperItem.java b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/WorkingPaperItem.java
index 6be3a53..fd7ec13 100644
--- a/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/WorkingPaperItem.java
+++ b/sci-publications/src/main/java/org/scientificcms/publications/contenttypes/WorkingPaperItem.java
@@ -8,12 +8,7 @@ package org.scientificcms.publications.contenttypes;
import org.hibernate.envers.Audited;
import org.scientificcms.publications.WorkingPaper;
-import java.util.Objects;
-
-import javax.persistence.CascadeType;
import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToOne;
import javax.persistence.Table;
import static org.scientificcms.publications.SciPublicationsConstants.*;
@@ -25,33 +20,31 @@ import static org.scientificcms.publications.SciPublicationsConstants.*;
@Entity
@Table(name = "WORKING_PAPER_ITEMS", schema = DB_SCHEMA)
@Audited
-public class WorkingPaperItem
- extends AbstractPublicationItem {
+public class WorkingPaperItem extends PublicationItem {
private static final long serialVersionUID = 1L;
- @OneToOne(cascade = {CascadeType.DETACH,
- CascadeType.MERGE,
- CascadeType.PERSIST,
- CascadeType.REFRESH
- })
- @JoinColumn(name = "EXPERTISE_ID")
- private WorkingPaper workingPaper;
-
- @Override
- public WorkingPaper getPublication() {
- return workingPaper;
- }
-
- @Override
- protected void setPublication(final WorkingPaper workingPaper) {
- this.workingPaper = workingPaper;
- }
-
+// @OneToOne(cascade = {CascadeType.DETACH,
+// CascadeType.MERGE,
+// CascadeType.PERSIST,
+// CascadeType.REFRESH
+// })
+// @JoinColumn(name = "EXPERTISE_ID")
+// private WorkingPaper workingPaper;
+//
+// @Override
+// public WorkingPaper getPublication() {
+// return workingPaper;
+// }
+//
+// @Override
+// protected void setPublication(final WorkingPaper workingPaper) {
+// this.workingPaper = workingPaper;
+// }
@Override
public int hashCode() {
int hash = super.hashCode();
- hash = 67 * hash + Objects.hashCode(workingPaper);
+// hash = 67 * hash + Objects.hashCode(workingPaper);
return hash;
}
@@ -71,10 +64,11 @@ public class WorkingPaperItem
}
final WorkingPaperItem other
= (WorkingPaperItem) obj;
- if (!other.canEqual(this)) {
- return false;
- }
- return Objects.equals(this.workingPaper, other.getPublication());
+// if (!other.canEqual(this)) {
+// return false;
+// }
+// return Objects.equals(this.workingPaper, other.getPublication());
+ return other.canEqual(this);
}
@Override
@@ -82,11 +76,11 @@ public class WorkingPaperItem
return obj instanceof WorkingPaperItem;
}
- @Override
- public String toString(final String data) {
- return super.toString(String.format(", workingPaper = %s%s",
- Objects.toString(workingPaper),
- data));
- }
+// @Override
+// public String toString(final String data) {
+// return super.toString(String.format(", workingPaper = %s%s",
+// Objects.toString(workingPaper),
+// data));
+// }
}