| <%-- |
| /** |
| * @@@ START COPYRIGHT @@@ |
| * |
| * (C) Copyright 2015 Hewlett-Packard Development Company, L.P. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * @@@ END COPYRIGHT @@@ |
| */ |
| --%> |
| <%@ page contentType="text/html;charset=UTF-8" |
| import="java.io.*" |
| import="java.util.*" |
| import="org.apache.hadoop.conf.Configuration" |
| import="org.trafodion.dcs.master.DcsMaster" |
| import="org.trafodion.dcs.util.DcsConfiguration" |
| import="org.trafodion.dcs.Constants" |
| import="org.trafodion.dcs.util.Bytes" |
| import="org.codehaus.jettison.json.JSONArray" |
| import="org.codehaus.jettison.json.JSONException" |
| import="org.codehaus.jettison.json.JSONObject" |
| import="org.trafodion.dcs.master.QueryPlanModel" |
| import="org.trafodion.dcs.master.QueryPlanResponse" |
| import="org.codehaus.jackson.JsonGenerationException" |
| import="org.codehaus.jackson.map.JsonMappingException" |
| import="org.codehaus.jackson.map.ObjectMapper" |
| %> |
| <% |
| try { |
| DcsMaster master = (DcsMaster)getServletContext().getAttribute(DcsMaster.MASTER); |
| Configuration conf = master.getConfiguration(); |
| |
| BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream())); |
| String json = ""; |
| if(br != null) { |
| json = br.readLine(); |
| } |
| |
| JSONObject jsonObject = new JSONObject(json); |
| String sQuery = jsonObject.getString("sQuery"); |
| String sControlStmts = jsonObject.getString("sControlStmts"); |
| |
| if(sQuery == null || sQuery.trim().length() < 1) { |
| response.setContentType("text/plain"); |
| response.setStatus(response.SC_INTERNAL_SERVER_ERROR); |
| response.getWriter().print("The query text cannot be empty"); |
| return; |
| } |
| |
| QueryPlanModel qpm = new QueryPlanModel(); |
| qpm.GeneratePlan(master.getServerManager().getJdbcT4Util(),sQuery, sControlStmts); |
| QueryPlanResponse qpr = qpm.getQueryPlanResponse(); |
| ObjectMapper mapper = new ObjectMapper(); |
| JSONObject queryPlanJson = null; |
| queryPlanJson = new JSONObject(mapper.writeValueAsString(qpr)); |
| response.setContentType("application/json"); |
| response.getWriter().print(queryPlanJson); |
| } catch (Exception e) { |
| response.setContentType("text/plain"); |
| response.setStatus(response.SC_INTERNAL_SERVER_ERROR); |
| response.getWriter().print(e.getMessage()); |
| } |
| %> |