001package org.nuxeo.template.xdocreport.jaxrs;
002
003import org.nuxeo.template.api.adapters.TemplateSourceDocument;
004
005import fr.opensagres.xdocreport.remoting.resources.domain.Resource;
006import fr.opensagres.xdocreport.remoting.resources.domain.ResourceType;
007
008/**
009 * @author <a href="mailto:tdelprat@nuxeo.com">Tiry</a>
010 */
011public class ResourceWrapper {
012
013    public static Resource wrap(TemplateSourceDocument srcDocument) {
014        Resource rs = new Resource();
015        rs.setType(ResourceType.TEMPLATE);
016
017        rs.setName(srcDocument.getName());
018        rs.setId(srcDocument.getId());
019
020        Resource fileResource = new NonRecursiveResource();
021        fileResource.setName(srcDocument.getFileName());
022        fileResource.setId(srcDocument.getId());
023        fileResource.setType(ResourceType.DOCUMENT);
024
025        Resource METAResource = new NonRecursiveResource();
026        METAResource.setName("META-INF");
027        METAResource.setId(srcDocument.getId() + "/META-INF");
028        METAResource.setType(ResourceType.CATEGORY);
029
030        Resource fieldResource = new NonRecursiveResource();
031        fieldResource.setName(srcDocument.getName() + ".fields.xml");
032        fieldResource.setId(srcDocument.getId() + ".fields.xml");
033        fieldResource.setType(ResourceType.DOCUMENT);
034
035        METAResource.getChildren().add(fieldResource);
036
037        rs.getChildren().add(fileResource);
038        rs.getChildren().add(METAResource);
039
040        return rs;
041    }
042}