DDAS-VRE-Servlet/src/main/java/org/gcube/portal/ddas/DdasVREService.java

73 lines
2.3 KiB
Java

package org.gcube.portal.ddas;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Base64;
import javax.portlet.PortletRequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.json.JSONObject;
import com.liferay.portal.kernel.log.LogFactoryUtil;
/**
* Servlet implementation class DdasVREService
*/
public class DdasVREService extends HttpServlet {
private static final long serialVersionUID = 1L;
private static com.liferay.portal.kernel.log.Log _log = LogFactoryUtil.getLog(DdasVREService.class);
/**
* @see HttpServlet#HttpServlet()
*/
public DdasVREService() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String toReturn = "<DIV>Blue-Cloud VRE - DD&amp;AS integration accepts POST method only</DIV>";
response.setContentType("text/html");
response.getWriter().write(toReturn);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
StringBuffer sb = new StringBuffer();
String line = null;
JSONObject jsonObject = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
System.out.println("GOT String: "+sb.toString());
jsonObject = JSONFactoryUtil.createJSONObject(sb.toString());
} catch (Exception e) {
_log.error("Error parsing JSON request string", e);
}
Base64.Encoder withoutPaddingEncoder = Base64.getEncoder().withoutPadding();
String requestIdParam = withoutPaddingEncoder.encodeToString("request_id".getBytes());
String requestId = jsonObject.getString("request_id");
System.out.println("GOT JSON");
System.out.println("JSON="+jsonObject.toString());
String redirect_url = "/group/nomesito/vre-data-pool-pagina?"+requestIdParam+"="+requestId;
String toReturn = "{\"success\": true, \"redirect_url\": \""+redirect_url+"\"}";
response.setContentType("application/json");
response.getWriter().write(toReturn);
}
}