Changeset 91:cf44d9e1a4a7 in AnnotationManagerN4J for src
- Timestamp:
- Feb 8, 2015, 5:09:00 PM (10 years ago)
- Branch:
- default
- Children:
- 92:aadf8760216d, 94:fcb6fe10e08c
- Location:
- src/main/java/de/mpiwg/itgroup/annotations/restlet
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotations.java
r88 r91 55 55 public class AnnotatorAnnotations extends AnnotatorResourceImpl { 56 56 57 protected String getAllowedMethodsForHeader() {58 return "OPTIONS,GET,POST,PUT,DELETE";59 }60 61 57 /** 62 58 * GET with JSON content-type. … … 68 64 public Representation doGetJSON(Representation entity) { 69 65 logger.fine("AnnotatorAnnotations doGetJSON!"); 70 setCorsHeaders();71 66 // id from URI /annotations/{id} 72 67 String id = null; … … 165 160 public Representation doPostJson(Representation entity) { 166 161 logger.fine("AnnotatorAnnotations doPostJSON!"); 167 // set headers168 setCorsHeaders();169 162 170 163 // do authentication TODO: who's allowed to create? … … 220 213 public Representation doPutJSON(Representation entity) { 221 214 logger.fine("AnnotatorAnnotations doPutJSON!"); 222 setCorsHeaders();223 215 // id from URI /annotations/{id} 224 216 String jsonId = (String) getRequest().getAttributes().get("id"); … … 283 275 public Representation doDeleteJSON(Representation entity) { 284 276 logger.fine("AnnotatorAnnotations doDeleteJSON!"); 285 setCorsHeaders();286 277 // id from URI /annotations/{id} 287 278 String jsonId = (String) getRequest().getAttributes().get("id"); -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotationsByResources.java
r88 r91 50 50 */ 51 51 public class AnnotatorAnnotationsByResources extends AnnotatorResourceImpl { 52 protected String getAllowedMethodsForHeader() {53 return "OPTIONS,GET";54 }55 52 56 53 @Get("json") 57 54 public Representation doGetJSON(Representation entity) { 58 55 logger.fine("AnnotatorAnnotatonsByResource doGetJSON!"); 59 setCorsHeaders();60 56 61 57 // do authentication -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorAnnotationsByTags.java
r88 r91 49 49 */ 50 50 public class AnnotatorAnnotationsByTags extends AnnotatorResourceImpl { 51 protected String getAllowedMethodsForHeader() {52 return "OPTIONS,GET";53 }54 51 55 52 @Get("json") 56 53 public Representation doGetJSON(Representation entity) { 57 54 logger.fine("AnnotatorAnnotatonsBytag doGetJSON!"); 58 setCorsHeaders();59 55 60 56 // do authentication -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorGroups.java
r88 r91 48 48 */ 49 49 public class AnnotatorGroups extends AnnotatorResourceImpl { 50 protected String getAllowedMethodsForHeader() {51 return "OPTIONS,GET";52 }53 50 54 51 /** … … 64 61 public Representation doGetJSON(Representation entity) { 65 62 logger.fine("AnnotatorGroups doGetJSON!"); 66 setCorsHeaders();67 63 // get user from auth token (preferred) 68 64 Person authUser = getUserFromAuthToken(entity); -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResourceImpl.java
r90 r91 45 45 import org.json.JSONException; 46 46 import org.json.JSONObject; 47 import org.restlet.data.Header; 47 48 import org.restlet.data.Status; 48 import org.restlet.data.Header;49 49 import org.restlet.representation.Representation; 50 import org.restlet.resource.Options;51 50 import org.restlet.resource.ServerResource; 52 51 import org.restlet.util.Series; … … 77 76 private AnnotationStore store; 78 77 79 protected String getAllowedMethodsForHeader() {80 return "OPTIONS,GET,POST";81 }82 83 78 protected AnnotationStore getAnnotationStore() { 84 79 if (store == null) { … … 106 101 return null; 107 102 } 108 }109 110 /**111 * Handle options request to allow CORS for AJAX.112 *113 * @param entity114 */115 @Options116 public void doOptions(Representation entity) {117 logger.fine("AnnotatorResourceImpl doOptions!");118 setCorsHeaders();119 }120 121 /**122 * set headers to allow CORS for AJAX.123 */124 protected void setCorsHeaders() {125 Series<Header> responseHeaders = (Series<Header>) getResponse().getHeaders();126 if (responseHeaders == null) {127 responseHeaders = new Series<Header>(Header.class);128 getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders);129 }130 responseHeaders.add("Access-Control-Allow-Methods", getAllowedMethodsForHeader());131 // echo back Origin and Request-Headers132 @SuppressWarnings("unchecked")133 Series<Header> requestHeaders = (Series<Header>) getRequest().getAttributes().get("org.restlet.http.headers");134 String origin = requestHeaders.getFirstValue("Origin", true);135 if (origin == null) {136 responseHeaders.add("Access-Control-Allow-Origin", "*");137 } else {138 responseHeaders.add("Access-Control-Allow-Origin", origin);139 }140 String allowHeaders = requestHeaders.getFirstValue("Access-Control-Request-Headers", true);141 if (allowHeaders != null) {142 responseHeaders.add("Access-Control-Allow-Headers", allowHeaders);143 }144 responseHeaders.add("Access-Control-Allow-Credentials", "true");145 responseHeaders.add("Access-Control-Max-Age", "60");146 103 } 147 104 -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResources.java
r75 r91 49 49 */ 50 50 public class AnnotatorResources extends AnnotatorResourceImpl { 51 protected String getAllowedMethodsForHeader() {52 return "OPTIONS,GET";53 }54 51 55 52 /** … … 63 60 public Representation doGetJSON(Representation entity) { 64 61 logger.fine("AnnotatorResources doGetJSON!"); 65 setCorsHeaders();66 62 67 63 String jsonId = (String) getRequest().getAttributes().get("id"); -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorRestlet.java
r89 r91 23 23 */ 24 24 25 import java.util.Arrays; 26 import java.util.HashSet; 27 25 28 import org.restlet.Restlet; 29 import org.restlet.engine.application.CorsFilter; 26 30 import org.restlet.routing.Router; 27 31 … … 32 36 public class AnnotatorRestlet extends BaseRestlet { 33 37 34 public final String version = "AnnotationManagerN4J/Annotator 0.5. 0";38 public final String version = "AnnotationManagerN4J/Annotator 0.5.1"; 35 39 36 40 /* … … 41 45 @Override 42 46 public Restlet createInboundRoot() { 43 // this.authenticator = createAuthenticator();44 47 45 48 Router router = new Router(getContext()); 46 49 47 50 router.attach("/annotations", AnnotatorAnnotations.class); 48 51 router.attach("/annotations/{id}", AnnotatorAnnotations.class); … … 56 59 router.attach("/resources/{id}/annotations", AnnotatorAnnotationsByResources.class); 57 60 router.attach("/", AnnotatorInfo.class); 61 //return router; 62 63 // this.authenticator = createAuthenticator(); 58 64 // authenticator.setNext(router); 59 65 // return authenticator; 60 66 61 return router; 67 // handle Cross-Origin-Resource-Security headers 68 CorsFilter corsFilter = new CorsFilter(getContext(), router); 69 corsFilter.setAllowedOrigins(new HashSet<String>(Arrays.asList("*"))); 70 corsFilter.setAllowedCredentials(true); 71 corsFilter.setNext(router); 72 return corsFilter; 73 62 74 } 63 75 -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorSearch.java
r89 r91 1 /**2 * Implements the "search" uri of the Annotator API.3 */4 1 package de.mpiwg.itgroup.annotations.restlet; 5 2 … … 52 49 public class AnnotatorSearch extends AnnotatorResourceImpl { 53 50 54 protected String getAllowedMethodsForHeader() {55 return "OPTIONS,GET";56 }57 58 51 /** 59 52 * result for JSON content-type. optional search parameters: uri, user, limit, … … 66 59 public Representation doGetJSON(Representation entity) { 67 60 logger.fine("AnnotatorSearch doGetJSON!"); 68 setCorsHeaders();69 61 // do authentication 70 62 Person authUser = getUserFromAuthToken(entity); -
src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorTags.java
r75 r91 1 /**2 * ReST API for accessing groups in the Annotation store.3 */4 1 package de.mpiwg.itgroup.annotations.restlet; 5 2 … … 49 46 */ 50 47 public class AnnotatorTags extends AnnotatorResourceImpl { 51 protected String getAllowedMethodsForHeader() {52 return "OPTIONS,GET";53 }54 48 55 49 /** … … 65 59 public Representation doGetJSON(Representation entity) { 66 60 logger.fine("AnnotatorGroups doGetJSON!"); 67 setCorsHeaders();68 61 69 62 String jsonId = (String) getRequest().getAttributes().get("id");
Note: See TracChangeset
for help on using the changeset viewer.