Mercurial > hg > MetaDataManagerRestlet
diff src/de/mpiwg/itgroup/metaDataManagerRestlet/pid/PIDcreator.java @ 0:813aa2c5bc4b
first ingest
author | dwinter |
---|---|
date | Wed, 24 Nov 2010 16:56:28 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/de/mpiwg/itgroup/metaDataManagerRestlet/pid/PIDcreator.java Wed Nov 24 16:56:28 2010 +0100 @@ -0,0 +1,60 @@ +package de.mpiwg.itgroup.metaDataManagerRestlet.pid; + +import java.io.InputStream; + +import org.apache.log4j.Logger; +import org.restlet.data.Form; +import org.restlet.data.MediaType; +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.Post; +import org.restlet.resource.ServerResource; + +import de.mpiwg.itgroup.metadataManager.pid.PidGenerator; + + + +public class PIDcreator extends ServerResource { + +private Logger logger = Logger.getRootLogger(); + + /** + * 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"); + } + + @Post + public Representation createPid(){ + PidGenerator pg = new PidGenerator(); + String pid = pg.getPID(); + Representation rep = new StringRepresentation(pid, MediaType.TEXT_PLAIN); + return rep; + } + + @Get("html") + public Representation getHTML(){ + InputStream is = getClass().getResourceAsStream("/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/PID.html"); + + Representation rep = new InputRepresentation(is,MediaType.TEXT_HTML); + return rep; + + } + +} +