From f5231075891bdfd7664ef20f5d83aaf8c9fae7e4 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Tue, 19 Nov 2019 16:57:37 +0100 Subject: [PATCH] Renderers for Assets of sci-publications --- .../assets/JournalAssetRenderer.java | 57 +++++++++++++++++++ .../assets/PublisherAssetRenderer.java | 51 +++++++++++++++++ .../pagemodel/assets/SeriesAssetRenderer.java | 55 ++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 sci-publications/src/main/java/org/scientificcms/pagemodel/assets/JournalAssetRenderer.java create mode 100644 sci-publications/src/main/java/org/scientificcms/pagemodel/assets/PublisherAssetRenderer.java create mode 100644 sci-publications/src/main/java/org/scientificcms/pagemodel/assets/SeriesAssetRenderer.java diff --git a/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/JournalAssetRenderer.java b/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/JournalAssetRenderer.java new file mode 100644 index 0000000..606b7ea --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/JournalAssetRenderer.java @@ -0,0 +1,57 @@ +/* + * 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.pagemodel.assets; + +import org.librecms.contentsection.Asset; +import org.librecms.pagemodel.assets.AbstractAssetRenderer; +import org.librecms.pagemodel.assets.AssetRenderer; +import org.scientificcms.publications.Journal; +import org.scientificcms.publications.assets.JournalAsset; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +import javax.enterprise.context.RequestScoped; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@AssetRenderer(renders = JournalAsset.class) +public class JournalAssetRenderer extends AbstractAssetRenderer { + + @Override + protected void renderAsset( + final Asset asset, + final Locale language, + final Map result + ) { + final JournalAsset journalAsset; + if (asset instanceof JournalAsset) { + journalAsset = (JournalAsset) asset; + } else { + return; + } + + final Journal journal = journalAsset.getJournal(); + final Map journalData = new HashMap<>(); + journalData.put( + "description", journal.getDescription().getValue(language) + ); + journalData.put("firstYear", journal.getFirstYear()); + journalData.put("issn", journal.getIssn()); + journalData.put("journalId", journal.getJournalId()); + journalData.put("lastYear", journal.getLastYear()); + journalData.put("symbol", journal.getSymbol()); + journalData.put("title", journal.getTitle()); + journalData.put("uuid", journal.getUuid()); + + result.put("journal", journalData); + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/PublisherAssetRenderer.java b/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/PublisherAssetRenderer.java new file mode 100644 index 0000000..7372de0 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/PublisherAssetRenderer.java @@ -0,0 +1,51 @@ +/* + * 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.pagemodel.assets; + +import org.librecms.contentsection.Asset; +import org.librecms.pagemodel.assets.AbstractAssetRenderer; +import org.librecms.pagemodel.assets.AssetRenderer; +import org.scientificcms.publications.Publisher; +import org.scientificcms.publications.assets.PublisherAsset; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +import javax.enterprise.context.RequestScoped; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@AssetRenderer(renders = PublisherAsset.class) +public class PublisherAssetRenderer extends AbstractAssetRenderer { + + @Override + protected void renderAsset( + final Asset asset, + final Locale language, + final Map result + ) { + final PublisherAsset publisherAsset; + if (asset instanceof PublisherAsset) { + publisherAsset = (PublisherAsset) asset; + } else { + return; + } + + final Publisher publisher = publisherAsset.getPublisher(); + final Map publisherData = new HashMap<>(); + publisherData.put("publisherId", publisher.getPublisherId()); + publisherData.put("uuid", publisher.getUuid()); + publisherData.put("name", publisher.getName()); + publisherData.put("place", publisher.getPlace()); + + result.put("publisher", publisherData); + } + +} diff --git a/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/SeriesAssetRenderer.java b/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/SeriesAssetRenderer.java new file mode 100644 index 0000000..0e3ebe8 --- /dev/null +++ b/sci-publications/src/main/java/org/scientificcms/pagemodel/assets/SeriesAssetRenderer.java @@ -0,0 +1,55 @@ +/* + * 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.pagemodel.assets; + +import org.librecms.contentsection.Asset; +import org.librecms.pagemodel.assets.AbstractAssetRenderer; +import org.librecms.pagemodel.assets.AssetRenderer; +import org.scientificcms.publications.Series; +import org.scientificcms.publications.assets.SeriesAsset; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; + +import javax.enterprise.context.RequestScoped; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@AssetRenderer(renders = SeriesAsset.class) +public class SeriesAssetRenderer extends AbstractAssetRenderer { + + @Override + protected void renderAsset( + final Asset asset, + final Locale language, + final Map result + ) { + final SeriesAsset seriesAsset; + if (asset instanceof SeriesAsset) { + seriesAsset = (SeriesAsset) asset; + } else { + return; + } + + final Series series = seriesAsset.getSeries(); + + final Map seriesData = new HashMap<>(); + + seriesData.put( + "description", series.getDescription().getValue(language) + ); + seriesData.put("seriesId", series.getSeriesId()); + seriesData.put("title", series.getTitle().getValue(language)); + seriesData.put("uuid", series.getUuid()); + + result.put("series", seriesData); + } + +}