annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
1 package de.mpiwg.itgroup.metaDataManagerRestlet.pid;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
2
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
3 import java.io.InputStream;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
4
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
5 import org.apache.log4j.Logger;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
6 import org.restlet.data.Form;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
7 import org.restlet.data.MediaType;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
8 import org.restlet.representation.InputRepresentation;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
9 import org.restlet.representation.Representation;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
10 import org.restlet.representation.StringRepresentation;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
11 import org.restlet.resource.Get;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
12 import org.restlet.resource.Options;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
13 import org.restlet.resource.Post;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
14 import org.restlet.resource.ServerResource;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
15
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
16 import de.mpiwg.itgroup.metadataManager.pid.PidGenerator;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
17
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
18
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
19
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
20 public class PIDcreator extends ServerResource {
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
21
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
22 private Logger logger = Logger.getRootLogger();
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
23
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
24 /**
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
25 * Erlaubt cross scripting bei Aufruf aus Javascript
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
26 * @param entity
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
27 */
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
28 @Options
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
29 public void doOptions(Representation entity) {
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
30 Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
31 if (responseHeaders == null) {
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
32 responseHeaders = new Form();
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
33 getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders);
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
34 }
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
35 responseHeaders.add("Access-Control-Allow-Origin", "*");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
36 responseHeaders.add("Access-Control-Allow-Methods", "POST,OPTIONS,GET");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
37 responseHeaders.add("Access-Control-Allow-Headers", "Content-Type");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
38 responseHeaders.add("Access-Control-Allow-Credentials", "false");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
39 responseHeaders.add("Access-Control-Max-Age", "60");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
40 }
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
41
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
42 @Post
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
43 public Representation createPid(){
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
44 PidGenerator pg = new PidGenerator();
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
45 String pid = pg.getPID();
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
46 Representation rep = new StringRepresentation(pid, MediaType.TEXT_PLAIN);
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
47 return rep;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
48 }
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
49
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
50 @Get("html")
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
51 public Representation getHTML(){
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
52 InputStream is = getClass().getResourceAsStream("/de/mpiwg/itgroup/metaDataManagerRestlet/staticPages/PID.html");
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
53
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
54 Representation rep = new InputRepresentation(is,MediaType.TEXT_HTML);
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
55 return rep;
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
56
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
57 }
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
58
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
59 }
813aa2c5bc4b first ingest
dwinter
parents:
diff changeset
60