From 83472ae7f58775fbb35308f1379083eef9b79920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Maur=C3=ADcio?= Date: Wed, 7 May 2014 13:59:07 +0000 Subject: [PATCH] =?UTF-8?q?Primeiro=20Commit=20do=20Z=C3=A9=20de=20Set?= =?UTF-8?q?=C3=BAbal.=20Grande=20m=C3=A9todo=20espectacular=20para=20leitu?= =?UTF-8?q?ra=20de=20pasta=20e=20obten=C3=A7=C3=A3o=20do=20conte=C3=BAdo?= =?UTF-8?q?=20de=20ficheiros=20HTML.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.coded.pt/svn/SIPRP@1890 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../webservices/jaxrs/FichasClinicasImpl.java | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java index ac2ea623..f2ec37d9 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java @@ -2,13 +2,17 @@ package shst.medicina.fichasclinicas.webservices.jaxrs; +import java.io.File; +import java.io.FileNotFoundException; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Scanner; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.Consumes; @@ -1303,7 +1307,73 @@ public class FichasClinicasImpl { return Response.status(200).entity(rsp).build(); } + @GET + @Path("/getViews") + @Produces(MediaType.TEXT_HTML) + public Response getViews(@Context HttpServletRequest req) { + + String html = ""; + + try + { + + DirectoryFileUtils dff = new DirectoryFileUtils(); + + //TODO: check the alternative to getRealPath + String basePath = req.getRealPath("/static/html/app"); + + File baseFolder = new File(basePath); + + List foundFiles = dff.getFilesContents(baseFolder, ".html"); + + for(int i=0; i < foundFiles.toArray().length; i++){ + + html += foundFiles.get(i); + } + + } + catch (Exception e) + { + + } + + return Response.status(200).entity(html).build(); + } + + //TODO: place this class elsewhere + public class DirectoryFileUtils { + private List fileContents = new ArrayList(); + + private String content; + private Scanner scanner; + public List getFilesContents(File file, String extension) throws FileNotFoundException { + + if (file.isFile() && file.getName().endsWith(extension)) { + + scanner = new Scanner(new File(file.getAbsoluteFile().toString())); + content = scanner.useDelimiter("\\Z").next(); + fileContents.add(content); + + } else if (file.isDirectory()) { + + File[] listOfFiles = file.listFiles(); + if (listOfFiles != null) { + for (int i = 0; i < listOfFiles.length; i++){ + getFilesContents(listOfFiles[i], extension); + } + } else { + System.out.println("[ACCESS DENIED]"); + } + } + return fileContents; + } + } + + + + + }