Renderers for Assets of sci-publications

pull/1/head
Jens Pelzetter 2019-11-19 16:57:37 +01:00
parent bb80add4a7
commit f523107589
3 changed files with 163 additions and 0 deletions

View File

@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@AssetRenderer(renders = JournalAsset.class)
public class JournalAssetRenderer extends AbstractAssetRenderer {
@Override
protected void renderAsset(
final Asset asset,
final Locale language,
final Map<String, Object> result
) {
final JournalAsset journalAsset;
if (asset instanceof JournalAsset) {
journalAsset = (JournalAsset) asset;
} else {
return;
}
final Journal journal = journalAsset.getJournal();
final Map<String, Object> 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);
}
}

View File

@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@AssetRenderer(renders = PublisherAsset.class)
public class PublisherAssetRenderer extends AbstractAssetRenderer {
@Override
protected void renderAsset(
final Asset asset,
final Locale language,
final Map<String, Object> result
) {
final PublisherAsset publisherAsset;
if (asset instanceof PublisherAsset) {
publisherAsset = (PublisherAsset) asset;
} else {
return;
}
final Publisher publisher = publisherAsset.getPublisher();
final Map<String, Object> 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);
}
}

View File

@ -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 <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@AssetRenderer(renders = SeriesAsset.class)
public class SeriesAssetRenderer extends AbstractAssetRenderer {
@Override
protected void renderAsset(
final Asset asset,
final Locale language,
final Map<String, Object> result
) {
final SeriesAsset seriesAsset;
if (asset instanceof SeriesAsset) {
seriesAsset = (SeriesAsset) asset;
} else {
return;
}
final Series series = seriesAsset.getSeries();
final Map<String, Object> 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);
}
}