Added resource and annotation services.
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/AnnotationService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/AnnotationService.java
index e519a10..06b4299 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/AnnotationService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/AnnotationService.java
@@ -12,10 +12,16 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
import com.sun.jersey.spi.container.ResourceFilters;
+import de.ids_mannheim.korap.dao.AnnotationDao;
+import de.ids_mannheim.korap.entity.Annotation;
+import de.ids_mannheim.korap.entity.AnnotationPair;
import de.ids_mannheim.korap.exceptions.StatusCodes;
+import de.ids_mannheim.korap.utils.JsonUtils;
import de.ids_mannheim.korap.web.KustvaktServer;
import de.ids_mannheim.korap.web.filter.AuthFilter;
import de.ids_mannheim.korap.web.filter.DemoUserFilter;
@@ -28,7 +34,8 @@
* @author margaretha
*
*/
-@Path(KustvaktServer.API_VERSION + "/annotation/")
+@Controller
+@Path("annotation/")
@ResourceFilters({ AuthFilter.class, DemoUserFilter.class, PiwikFilter.class })
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public class AnnotationService {
@@ -36,12 +43,20 @@
private static Logger jlog = LoggerFactory
.getLogger(AnnotationService.class);
-
+ @Autowired
+ private AnnotationDao annotationDao;
+
+ /** Returns information about all supported layers
+ *
+ * @return a json serialization of all supported layers
+ */
@GET
@Path("layers")
public Response getLayers () {
- // TODO Auto-generated method stub
- return Response.status(200).build();
+ List<AnnotationPair> layers = annotationDao.getAllFoundryLayerPairs();
+ String result = JsonUtils.toJSON(layers);
+ jlog.debug("/layers "+layers.toString());
+ return Response.ok(result).build();
}
@@ -49,6 +64,7 @@
@Path("description")
public Response getAnnotations (@QueryParam("symbol") List<String> symbols,
String language) {
+ List<AnnotationPair> annotationPairs = null;
if (language == null || language.isEmpty()) {
language = "en";
}
@@ -56,24 +72,31 @@
throw KustvaktResponseHandler.throwit(StatusCodes.MISSING_ARGUMENT);
}
if (symbols.isEmpty() || symbols.contains("*")){
- // select all
+ annotationPairs = annotationDao.getAllAnnotationDescriptions();
}
else {
- String[] annotationPair;
+ String[] annotationSymbols;
String foundry, layer;
for (String s : symbols){
- annotationPair = s.split("/");
- if (annotationPair.length != 2){
+ annotationSymbols = s.split("/");
+ if (annotationSymbols.length != 2){
throw KustvaktResponseHandler.throwit(StatusCodes.PARAMETER_VALIDATION_ERROR);
}
- foundry = annotationPair[0];
- layer = annotationPair[1];
+ foundry = annotationSymbols[0];
+ layer = annotationSymbols[1];
// select
}
}
- return Response.status(200).build();
+ if (annotationPairs != null && !annotationPairs.isEmpty()){
+ String result = JsonUtils.toJSON(annotationPairs);
+ jlog.debug("/layers "+annotationPairs.toString());
+ return Response.ok(result).build();
+ }
+ else{
+ return Response.ok().build();
+ }
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
index 9e669b4..5407c35 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
@@ -1,5 +1,6 @@
package de.ids_mannheim.korap.web.service.full;
+import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.GET;
@@ -13,11 +14,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import com.sun.jersey.spi.container.ResourceFilters;
import de.ids_mannheim.korap.dao.ResourceDao;
+import de.ids_mannheim.korap.dto.ResourceDto;
import de.ids_mannheim.korap.entity.Resource;
import de.ids_mannheim.korap.utils.JsonUtils;
import de.ids_mannheim.korap.web.filter.AuthFilter;
@@ -30,32 +33,24 @@
* @author margaretha
*
*/
-@Service
+@Controller
@Path("resource/")
@ResourceFilters({ AuthFilter.class, DemoUserFilter.class, PiwikFilter.class })
@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")
public class ResourceService {
private static Logger jlog = LoggerFactory.getLogger(ResourceService.class);
-
+
@Autowired
- private ResourceDao resourceDao;
-
+ private ResourceDao resourceDao;
+
@GET
@Path("info")
public Response getAllResourceInfo () {
List<Resource> resources = resourceDao.getAllResources();
String result = JsonUtils.toJSON(resources);
-// System.out.println(result);
+ jlog.debug("/info " + resources.toString());
return Response.ok(result).build();
}
-
- @POST
- @Path("layers")
- public Response getResourceLayers (
- @QueryParam("resourceId") List<String> resourceIds) {
- // TODO Auto-generated method stub
- return Response.status(200).build();
- }
}