package org.osivia.nuxeo.fragment; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import org.nuxeo.ecm.core.api.ClientException; import org.nuxeo.ecm.core.api.DocumentModel; import org.osivia.nuxeo.component.Fragment; import org.osivia.nuxeo.component.FragmentServiceException; /** * * Service dédié aux fragments html * */ public class HtmlFragment implements Fragment { private static final String HTML_SCHEMA = "html_fragments"; @Override public String prepareCreation(DocumentModel doc, String uri, String region, String belowUri, String code2) throws FragmentServiceException { Map properties; try { properties = doc.getProperties(HTML_SCHEMA); Collection values = properties.values(); // Une seule liste dans ce schéma Object liste = values.iterator().next(); if (liste instanceof List) { List> listeData = (List>) liste; Map newEntry = new HashMap(); newEntry.put("refURI", uri); newEntry.put("data", "Nouveau contenu"); listeData.add(newEntry); doc.setProperties(HTML_SCHEMA, properties); } } catch (ClientException e) { throw new FragmentServiceException(e); } return uri; } }