Mercurial > hg > MetaDataManager
view src/de/mpiwg/itgroup/metadataManager/indexMeta/server/IndexMetaProvider.java @ 1:2267d8c80a99
intial
author | dwinter |
---|---|
date | Sun, 23 Oct 2011 21:29:45 +0200 |
parents | |
children |
line wrap: on
line source
/** * */ package de.mpiwg.itgroup.metadataManager.indexMeta.server; import java.io.File; import java.io.InputStream; import org.apache.log4j.Logger; import org.restlet.data.Form; import org.restlet.data.MediaType; import org.restlet.data.Status; import org.restlet.representation.FileRepresentation; import org.restlet.representation.InputRepresentation; import org.restlet.representation.Representation; import org.restlet.representation.StringRepresentation; import org.restlet.resource.Get; import org.restlet.resource.Options; import org.restlet.resource.ServerResource; /** * @author dwinter * */ public class IndexMetaProvider extends ServerResource { Logger logger = Logger.getRootLogger(); String basePermanentPath="/Volumes/online_permanent/"; /** * Erlaubt cross scripting bei Aufruf aus Javascript * @param entity */ @Options public void doOptions(Representation entity) { Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); if (responseHeaders == null) { responseHeaders = new Form(); getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); } responseHeaders.add("Access-Control-Allow-Origin", "*"); responseHeaders.add("Access-Control-Allow-Methods", "POST,OPTIONS,GET"); responseHeaders.add("Access-Control-Allow-Headers", "Content-Type"); responseHeaders.add("Access-Control-Allow-Credentials", "false"); responseHeaders.add("Access-Control-Max-Age", "60"); } @Get("xml") public Representation getXML(){ logger.debug("getIndexMeta"); String restPath = getRequest().getResourceRef().getRemainingPart(); String newpath=restPath.replace("/permanent/", basePermanentPath); String indexMetaStr=newpath+"/index.meta"; File indexMetaFile = new File(indexMetaStr); if (!indexMetaFile.exists()){ getResponse().setStatus(Status.CLIENT_ERROR_NOT_FOUND); logger.debug("file not found"); return new StringRepresentation("Can't find:"+indexMetaStr); } return new FileRepresentation(indexMetaStr, MediaType.TEXT_XML); } }