comparison src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResourceImpl.java @ 72:4c2cea836bc0

restlet 2.1 works now. (it's the start() method, stupid!)
author casties
date Tue, 11 Mar 2014 17:43:00 +0100
parents 2b1e6df5e21a
children 4b8c909cabf3
comparison
equal deleted inserted replaced
71:326369d4bc4d 72:4c2cea836bc0
49 import org.json.JSONArray; 49 import org.json.JSONArray;
50 import org.json.JSONException; 50 import org.json.JSONException;
51 import org.json.JSONObject; 51 import org.json.JSONObject;
52 import org.restlet.data.Form; 52 import org.restlet.data.Form;
53 import org.restlet.data.Status; 53 import org.restlet.data.Status;
54 import org.restlet.engine.header.Header;
54 import org.restlet.representation.Representation; 55 import org.restlet.representation.Representation;
55 import org.restlet.resource.Options; 56 import org.restlet.resource.Options;
56 import org.restlet.resource.ServerResource; 57 import org.restlet.resource.ServerResource;
58 import org.restlet.util.Series;
57 59
58 import de.mpiwg.itgroup.annotations.Actor; 60 import de.mpiwg.itgroup.annotations.Actor;
59 import de.mpiwg.itgroup.annotations.Annotation; 61 import de.mpiwg.itgroup.annotations.Annotation;
60 import de.mpiwg.itgroup.annotations.Annotation.FragmentTypes; 62 import de.mpiwg.itgroup.annotations.Annotation.FragmentTypes;
61 import de.mpiwg.itgroup.annotations.Group; 63 import de.mpiwg.itgroup.annotations.Group;
120 122
121 /** 123 /**
122 * set headers to allow CORS for AJAX. 124 * set headers to allow CORS for AJAX.
123 */ 125 */
124 protected void setCorsHeaders() { 126 protected void setCorsHeaders() {
125 Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); 127 @SuppressWarnings("unchecked")
128 Series<Header> responseHeaders = (Series<Header>) getResponse().getAttributes().get("org.restlet.http.headers");
126 if (responseHeaders == null) { 129 if (responseHeaders == null) {
127 responseHeaders = new Form(); 130 responseHeaders = new Series<Header>(Header.class);
128 getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); 131 getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders);
129 } 132 }
130 responseHeaders.add("Access-Control-Allow-Methods", getAllowedMethodsForHeader()); 133 responseHeaders.add("Access-Control-Allow-Methods", getAllowedMethodsForHeader());
131 // echo back Origin and Request-Headers 134 // echo back Origin and Request-Headers
132 Form requestHeaders = (Form) getRequest().getAttributes().get("org.restlet.http.headers"); 135 @SuppressWarnings("unchecked")
136 Series<Header> requestHeaders = (Series<Header>) getRequest().getAttributes().get("org.restlet.http.headers");
133 String origin = requestHeaders.getFirstValue("Origin", true); 137 String origin = requestHeaders.getFirstValue("Origin", true);
134 if (origin == null) { 138 if (origin == null) {
135 responseHeaders.add("Access-Control-Allow-Origin", "*"); 139 responseHeaders.add("Access-Control-Allow-Origin", "*");
136 } else { 140 } else {
137 responseHeaders.add("Access-Control-Allow-Origin", origin); 141 responseHeaders.add("Access-Control-Allow-Origin", origin);
161 * 165 *
162 * @param entity 166 * @param entity
163 * @return 167 * @return
164 */ 168 */
165 public String checkAuthToken(Representation entity) { 169 public String checkAuthToken(Representation entity) {
166 Form requestHeaders = (Form) getRequest().getAttributes().get("org.restlet.http.headers"); 170 @SuppressWarnings("unchecked")
171 Series<Header> requestHeaders = (Series<Header>) getRequest().getAttributes().get("org.restlet.http.headers");
167 String authToken = requestHeaders.getFirstValue("x-annotator-auth-token", true); 172 String authToken = requestHeaders.getFirstValue("x-annotator-auth-token", true);
168 if (authToken == null) { 173 if (authToken == null) {
169 if (!((BaseRestlet) getApplication()).isAuthorizationMode()) { 174 if (!((BaseRestlet) getApplication()).isAuthorizationMode()) {
170 return "anonymous"; 175 return "anonymous";
171 } 176 }