package no.dusken.aranea.export.model; import no.dusken.aranea.export.Util; import no.dusken.aranea.model.Page; import no.dusken.aranea.model.PageImage; import no.dusken.aranea.model.Person; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; public class ExportPage { private Map<String, String> fields = new HashMap<String, String>(); public Map<String, String> getFields() { return fields; } public ExportPage(Page page) { fields.put("title", page.getTitle()); fields.put("list_title", page.getAltTitle()); fields.put("slug", page.getSafeTitle()); fields.put("created_date", Util.format(page.getTimeCreated())); fields.put("edit_date", Util.format(page.getModified())); fields.put("pub_date", Util.format(page.getTimePublished())); fields.put("valid_from", Util.format(page.getVisibleFrom())); fields.put("valid_to", Util.format(page.getVisibleTo())); fields.put("valid_to", Util.format(page.getVisibleTo())); fields.put("authors", getAuthors(page)); fields.put("external_authors", page.getExternalAuthor()); fields.put("introduction", page.getSummary()); fields.put("list_introduction", page.getAlternaltiveSummary()); fields.put("body_images", getImages(page)); fields.put("araneaid", page.getID().toString()); fields.put("category", page.getParent().getName()); } private String getImages(Page page) { StringBuilder stringBuilder = new StringBuilder(); List<PageImage> pageImages = page.getPageImages(); for (Iterator<PageImage> iterator = pageImages.iterator(); iterator.hasNext(); ) { PageImage pageImage = iterator.next(); stringBuilder.append(pageImage.getImage().getHash()); if(iterator.hasNext()){ stringBuilder.append(","); } } return stringBuilder.toString(); } private String getAuthors(Page page) { StringBuilder stringBuilder = new StringBuilder(); List<Person> authors = page.getAuthors(); for (Iterator<Person> iterator = authors.iterator(); iterator.hasNext(); ) { Person author = iterator.next(); stringBuilder.append(author.getUsername()); if(iterator.hasNext()){ stringBuilder.append(","); } } return stringBuilder.toString(); } }