Mercurial > dive4elements > framework
comparison artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java @ 21:1cd268e07e44
Added resource to create artifacts to web server.
artifacts/trunk@54 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 09 Sep 2009 15:43:47 +0000 |
parents | |
children | 72abee95fd64 |
comparison
equal
deleted
inserted
replaced
20:ff666592c1c3 | 21:1cd268e07e44 |
---|---|
1 package de.intevation.artifactdatabase.rest; | |
2 | |
3 import org.w3c.dom.Document; | |
4 | |
5 import org.restlet.ext.xml.DomRepresentation; | |
6 | |
7 import org.restlet.resource.Post; | |
8 import org.restlet.resource.ServerResource; | |
9 | |
10 import org.restlet.data.Request; | |
11 import org.restlet.data.Response; | |
12 import org.restlet.data.Status; | |
13 | |
14 import org.restlet.data.MediaType; | |
15 | |
16 import org.apache.log4j.Logger; | |
17 | |
18 import de.intevation.artifactdatabase.XMLUtils; | |
19 import de.intevation.artifactdatabase.Config; | |
20 | |
21 import org.restlet.representation.Representation; | |
22 import org.restlet.representation.EmptyRepresentation; | |
23 | |
24 import java.io.IOException; | |
25 | |
26 /** | |
27 * @author Sascha L. Teichmann (sascha.teichmann@intevation) | |
28 */ | |
29 public class CreateResource | |
30 extends ServerResource | |
31 { | |
32 private static Logger logger = Logger.getLogger(CreateResource.class); | |
33 | |
34 public static final String PATH = "/create"; | |
35 | |
36 @Post("xml:xml") | |
37 public Representation represent() { | |
38 | |
39 Request request = getRequest(); | |
40 | |
41 Representation requestRepr = request.getEntity(); | |
42 | |
43 Document inputDocument = null; | |
44 try { | |
45 DomRepresentation input = new DomRepresentation(requestRepr); | |
46 inputDocument = input.getDocument(); | |
47 } | |
48 catch (IOException ioe) { | |
49 logger.error(ioe.getMessage()); | |
50 Response response = getResponse(); | |
51 response.setStatus(Status.CLIENT_ERROR_BAD_REQUEST, ioe); | |
52 return new EmptyRepresentation(); | |
53 } | |
54 | |
55 Document outputDocument = XMLUtils.newDocument(); | |
56 | |
57 return new DomRepresentation( | |
58 MediaType.APPLICATION_XML, outputDocument); | |
59 } | |
60 } | |
61 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: |