diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/windowdetail/ResultRowDetailsFiller.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/windowdetail/ResultRowDetailsFiller.java index 14353d6..531529a 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/windowdetail/ResultRowDetailsFiller.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/client/windowdetail/ResultRowDetailsFiller.java @@ -40,6 +40,7 @@ import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Image; + public class ResultRowDetailsFiller implements DetailsFiller { @@ -296,56 +297,95 @@ public class ResultRowDetailsFiller implements DetailsFiller { lcRRTables.add(loading); String urlRequest = GWT.getModuleBaseURL() + ConstantsSpeciesDiscovery.RESULT_ROW_TABLE + "?" +"oid=" + arrayRowID.get(i); - - RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, urlRequest); - - try { - - requestBuilder.sendRequest("", new RequestCallback() { - @Override - public void onResponseReceived(Request request, Response response) { - -// int status = response.getStatusCode(); -// System.out.println("status: "+status); - lcRRTables.remove(loading); -// lcRRTables.setLayout(new FitLayout()); - Html respHtml = new Html(response.getText()); -// respHtml.setId("respHtml"+respHtml.getId()); -// respHtml.setStyleAttribute("width", "99%"); -// System.out.println("response text is: "+response.getText()); - lcRRTables.add(respHtml); - lcRRTables.layout(); -// panelDetails.layout(); -// if(status==200){ -// lcRRTables.add(new Html(response.getText())); -// }else{ //OK STATUS + + + + +// Frame frame = new Frame(urlRequest); +// +// frame.addDomHandler(new LoadHandler() { // -// } - } - - @Override - public void onError(Request request, Throwable exception) { - lcRRTables.remove(loading); - lcRRTables.add(new Html("Sorry, an error occurred while contacting server, try again")); - } - }); +// @Override +// public void onLoad(LoadEvent event) { +// lcRRTables.remove(loading); +// lcRRTables.layout(); +// +// } +// +// }, LoadEvent.getType()); +// +// lcRRTables.add(frame); + + + RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, urlRequest); - } catch (RequestException e) { - lcRRTables.remove(loading); - lcRRTables.add(new Html("Sorry, an error occurred while contacting server, try again")); - } + try { + + requestBuilder.sendRequest("", new RequestCallback() { + + @Override + public void onResponseReceived(Request request, Response response) { + + lcRRTables.remove(loading); + + /* + String bodyString = ""; + int start = response.getText().indexOf(bodyString)+bodyString.length(); + int end = response.getText().indexOf(""); + +// System.out.println("start "+start); +// System.out.println("end "+end); + + String text=""; + + if(start getBodyElement(String htmlResponse) /*-{ +// var el = document.createElement('div'); +// el.innerHTML = htmlResponse; +// alert(el.toString()); +// return el.getElementsByTagName('BODY'); +// +// }-*/; + + @Override public List getLastlistDataSourceFound() { return lastlistDataSourceFound; diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/ResultRowTable.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/ResultRowTable.java index c6eadf7..d885e5c 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/ResultRowTable.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/ResultRowTable.java @@ -1,6 +1,7 @@ package org.gcube.portlets.user.speciesdiscovery.server; import java.io.IOException; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.Collections; import java.util.Iterator; @@ -47,6 +48,21 @@ public class ResultRowTable extends HttpServlet { protected Logger logger = Logger.getLogger(ResultRowTable.class); + public static final String DOCTYPE = ""; + public static final String HTML = ""; + public static final String HTMLCLOSE = ""; + public static final String HEAD = ""; + public static final String HEADCLOSE = ""; + public static final String TITLE = ""; + public static final String TITLECLOSE = ""; + public static final String BODY = ""; + public static final String BODYCLOSE = ""; + + public static String headWithTitle(String title) { +// return (DOCTYPE + "\n" + HTML+"\n" + HEAD+TITLE + title + TITLECLOSE+HEADCLOSE+"\n"); + return (DOCTYPE + "\n" + HTML+ "\n"+HEAD + "\n"+TITLE + title + TITLECLOSE+"\n"+HEADCLOSE+"\n"); + + } protected ASLSession getASLSession(HttpServletRequest req) { @@ -60,11 +76,15 @@ public class ResultRowTable extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String resultServiceRowID = ""; - PrintWriter out = resp.getWriter(); - - resp.setContentType(TEXT_HTML); - resp.setCharacterEncoding(UTF_8); + resp.setContentType(TEXT_HTML); +// PrintWriter out = resp.getWriter(); + PrintWriter out = new PrintWriter(new OutputStreamWriter(resp.getOutputStream(), UTF_8), true); +// resp.setCharacterEncoding(UTF_8); + + + out.println(headWithTitle("")); + out.println(BODY); try { // get parameters resultServiceRowID = req.getParameter("oid"); @@ -113,13 +133,15 @@ public class ResultRowTable extends HttpServlet { logger.trace("table for ResultRowPersistence is empty "+table.isEmpty()); out.println(table); + } catch (Exception e) { logger.error("Error in ResultRowTable servlet ",e); throw new Exception("Error in ResultRowTable servlet ", e); } } - + out.println(BODYCLOSE); + out.println(HTMLCLOSE); out.close(); //CLOSE STREAM }catch (Exception e) { @@ -131,7 +153,8 @@ public class ResultRowTable extends HttpServlet { // throw new ServletException(error); // logger.error(error, e); - + out.println(BODYCLOSE); + out.println(HTMLCLOSE); out.close(); //CLOSE STREAM } diff --git a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomyRowTable.java b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomyRowTable.java index c2b631f..dec897e 100644 --- a/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomyRowTable.java +++ b/src/main/java/org/gcube/portlets/user/speciesdiscovery/server/TaxonomyRowTable.java @@ -1,6 +1,7 @@ package org.gcube.portlets.user.speciesdiscovery.server; import java.io.IOException; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.Arrays; import java.util.Collections; @@ -56,6 +57,22 @@ public class TaxonomyRowTable extends HttpServlet { */ public static final String TEXT_HTML = "text/html; charset=UTF-8"; + public static final String DOCTYPE = ""; + public static final String HTML = ""; + public static final String HTMLCLOSE = ""; + public static final String HEAD = ""; + public static final String HEADCLOSE = ""; + public static final String TITLE = ""; + public static final String TITLECLOSE = ""; + public static final String BODY = ""; + public static final String BODYCLOSE = ""; + + public static String headWithTitle(String title) { +// return (DOCTYPE + "\n" + HTML+"\n" + HEAD+TITLE + title + TITLECLOSE+HEADCLOSE+"\n"); + return (DOCTYPE + "\n" + HTML+ "\n"+HEAD + "\n"+TITLE + title + TITLECLOSE+"\n"+HEADCLOSE+"\n"); + + } + protected Logger logger = Logger.getLogger(TaxonomyRowTable.class); @@ -88,14 +105,16 @@ public class TaxonomyRowTable extends HttpServlet { private void retrieveTaxonomyRowAsHtmlTable(HttpServletRequest req, HttpServletResponse resp) { String taxonomyServiceRowID = ""; +// resp.setCharacterEncoding(UTF_8); resp.setContentType(TEXT_HTML); - resp.setCharacterEncoding(UTF_8); - + TaxonomyRow row = null; PrintWriter out = null; try { - out = resp.getWriter(); + out = new PrintWriter(new OutputStreamWriter(resp.getOutputStream(), UTF_8), true); + out.println(headWithTitle("")); + out.println(BODY); // get parameters taxonomyServiceRowID = req.getParameter("oid"); @@ -191,7 +210,8 @@ public class TaxonomyRowTable extends HttpServlet { throw new Exception("Error in ResultRowTable servlet ", e); } } - + out.println(BODYCLOSE); + out.println(HTMLCLOSE); out.close(); //CLOSE STREAM }catch (Exception e) { @@ -205,6 +225,8 @@ public class TaxonomyRowTable extends HttpServlet { } } out.println(error); + out.println(BODYCLOSE); + out.println(HTMLCLOSE); out.close(); //CLOSE STREAM } diff --git a/src/main/resources/org/gcube/portlets/user/speciesdiscovery/SpeciesDiscovery.gwt.xml b/src/main/resources/org/gcube/portlets/user/speciesdiscovery/SpeciesDiscovery.gwt.xml index 2b3d2f2..38b6f13 100644 --- a/src/main/resources/org/gcube/portlets/user/speciesdiscovery/SpeciesDiscovery.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/speciesdiscovery/SpeciesDiscovery.gwt.xml @@ -11,11 +11,11 @@ - + + - +