Minor Update
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-gwt-service@95536 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
85fcced0cb
commit
27729fdc4d
|
@ -0,0 +1,112 @@
|
|||
package org.gcube.portlets.user.td.gwtservice.server;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.StringWriter;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletInputStream;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author "Giancarlo Panichi" <a
|
||||
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
||||
*
|
||||
*/
|
||||
public class TabularDataRowsXServlet extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 3995054634540860599L;
|
||||
|
||||
protected Logger logger = LoggerFactory
|
||||
.getLogger(TabularDataRowsXServlet.class);
|
||||
|
||||
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
|
||||
throws ServletException, IOException {
|
||||
handleRequest(req, resp);
|
||||
}
|
||||
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
|
||||
throws ServletException, IOException {
|
||||
handleRequest(req, resp);
|
||||
}
|
||||
|
||||
protected void handleRequest(HttpServletRequest request,
|
||||
HttpServletResponse response) throws ServletException, IOException {
|
||||
logger.debug("TabularDataServlet handleRequest");
|
||||
|
||||
try {
|
||||
|
||||
HttpSession session = request.getSession();
|
||||
|
||||
if(session==null){
|
||||
logger.error("Error getting the upload session, no session valid found: "+session);
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "ERROR-Error getting the user session, no session found"+session);
|
||||
return ;
|
||||
}
|
||||
logger.info("Session id: "+session.getId());
|
||||
|
||||
|
||||
ServletInputStream in = request.getInputStream();
|
||||
InputStreamReader buffIn = new InputStreamReader(in);
|
||||
char[] buffer = new char[1024];
|
||||
int n = 0;
|
||||
StringWriter out = new StringWriter();
|
||||
|
||||
while (-1 != (n = buffIn.read(buffer))) {
|
||||
out.write(buffer, 0, n);
|
||||
}
|
||||
;
|
||||
logger.debug("Stream: " + out);
|
||||
|
||||
JSONObject jsonRequest = new JSONObject(out.toString());
|
||||
logger.debug("JSON request:" + jsonRequest.toString());
|
||||
|
||||
//RowIds
|
||||
JSONArray ids = null;
|
||||
ArrayList<String> rowsIds=new ArrayList<String>();
|
||||
try {
|
||||
ids = jsonRequest.getJSONArray("rowsIds");
|
||||
} catch (JSONException e) {
|
||||
logger.debug("rowsIds: " + e.getLocalizedMessage());
|
||||
}
|
||||
|
||||
if (ids != null) {
|
||||
for (int i = 0; i < ids.length(); i++) {
|
||||
String filter = ids.getString(i);
|
||||
|
||||
rowsIds.add(filter);
|
||||
}
|
||||
}
|
||||
logger.debug("rowsIds:" + rowsIds.size());
|
||||
|
||||
/*
|
||||
DataSourceX dataSource = SessionUtil.getDataSource(
|
||||
request.getSession(), tdSessionId);*/
|
||||
String json=new String();// = dataSource.getRowsAsJson(rowsIds);
|
||||
|
||||
|
||||
response.getOutputStream().write(json.getBytes());
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
// logger.trace("JSON: "+json);
|
||||
logger.trace("Response sent (" + json.length() + " bytes)");
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error("Error processing the json data request", e);
|
||||
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
|
||||
"Error processing the json data request: " + e.getMessage());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package org.gcube.portlets.user.td.gwtservice.server.trservice;
|
||||
|
||||
public class DataService {
|
||||
|
||||
}
|
Loading…
Reference in New Issue