Mercurial > hg > ismi-richfaces
diff src/main/java/de/mpiwg/itgroup/diva/rest/DivaProxy.java @ 1:2e911857a759
(none)
| author | jurzua |
|---|---|
| date | Wed, 29 Oct 2014 14:00:28 +0000 |
| parents | |
| children | 84d20006521c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/mpiwg/itgroup/diva/rest/DivaProxy.java Wed Oct 29 14:00:28 2014 +0000 @@ -0,0 +1,74 @@ +package de.mpiwg.itgroup.diva.rest; + +import java.io.PrintWriter; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import de.mpiwg.itgroup.diva.utils.JSONParam; +import de.mpiwg.itgroup.ismi.utils.HTTPUtils; +import de.mpiwg.itgroup.ismi.utils.HTTPUtils.HttpResponse; +import de.mpiwg.itgroup.ismi.utils.HTTPUtils.HttpStringResponse; + +@Path("/diva/proxy") +public class DivaProxy { + + private static String IMG_SERVER = "https://images.rasi.mcgill.ca/fcgi-bin/iipsrv.fcgi?FIF=/data7/srv/images/"; + + @GET + @Path("/image") + @Produces("image/jpeg") + public Response + image( + @QueryParam("f") String f, + @QueryParam("w") String w) throws Exception{ + + String dirName = getDirName(f); + + String url = IMG_SERVER + dirName + "/" + f + "&WID=" + w + "&CVT=JPG"; + + + HttpResponse resp = HTTPUtils.getHttpSSLResponse(url); + + if(resp.code == 200){ + return Response.ok(resp.content).build(); + } + + return Response.status(Response.Status.NOT_FOUND).build(); + } + + + @GET + @Path("/json/{file}") + @Produces(MediaType.APPLICATION_JSON) + public Response + json( + @PathParam("file") String file) throws Exception{ + + HttpStringResponse resp = HTTPUtils.getHttpSSLStringResponse("https://images.rasi.mcgill.ca/data/" + file + ".json"); + if(resp.code == 200){ + return Response.ok(resp.content).build(); + } + + return Response.status(Response.Status.NOT_FOUND).build(); + + } + + + + private String getDirName(String fileName){ + String[] array = fileName.split("_"); + return fileName.replace("_" + array[array.length-1], ""); + } + + +}
