import java.io.IOException;
import java.io.InvalidObjectException;
-import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONObject;
-import org.onap.dmaap.datarouter.authz.AuthorizationResponse;
-import org.onap.dmaap.datarouter.provisioning.BaseServlet.ContentHeader;
import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord;
import org.onap.dmaap.datarouter.provisioning.beans.Group;
-import org.onap.dmaap.datarouter.provisioning.beans.Subscription;
-import org.onap.dmaap.datarouter.provisioning.utils.JSONUtilities;
+
+import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;
/**
* This servlet handles provisioning for the <groups> which is generated by the provisioning
* DELETE on the <GRUPS> -- not supported.
*/
@Override
- public void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ public void doDelete(HttpServletRequest req, HttpServletResponse resp) {
String message = "DELETE not allowed for the GROUPS.";
EventLogRecord elr = new EventLogRecord(req);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, message);
+ sendResponseError(resp, HttpServletResponse.SC_METHOD_NOT_ALLOWED, message, eventlogger);
}
/**
* GET on the the list of groups to a feed/sub.
* document for details on how this method should be invoked.
*/
@Override
- public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ public void doGet(HttpServletRequest req, HttpServletResponse resp) {
EventLogRecord elr = new EventLogRecord(req);
String message = isAuthorizedForProvisioning(req);
if (message != null) {
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_FORBIDDEN);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, message);
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, message, eventlogger);
return;
}
if (isProxyServer()) {
- super.doGet(req, resp);
+ try {
+ super.doGet(req, resp);
+ } catch (IOException ioe) {
+ eventlogger.error("IOException" + ioe.getMessage());
+ }
return;
}
String bhdr = req.getHeader(BEHALF_HEADER);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
eventlogger.info(elr);
resp.setStatus(HttpServletResponse.SC_OK);
resp.setContentType(GROUPFULL_CONTENT_TYPE);
- resp.getOutputStream().print(gup.asJSONObject().toString());
+ try {
+ resp.getOutputStream().print(gup.asJSONObject().toString());
+ } catch (IOException ioe) {
+ eventlogger.error("IOException" + ioe.getMessage());
+ }
// Display a list of Groups
/*Collection<Group> list = Group.getGroupById(groupid);
* PUT on the <GROUPS> -- not supported.
*/
@Override
- public void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ public void doPut(HttpServletRequest req, HttpServletResponse resp) {
EventLogRecord elr = new EventLogRecord(req);
String message = isAuthorizedForProvisioning(req);
if (message != null) {
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_FORBIDDEN);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, message);
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, message, eventlogger);
return;
}
if (isProxyServer()) {
- super.doPut(req, resp);
+ try {
+ super.doPut(req, resp);
+ } catch (IOException ioe) {
+ eventlogger.error("IOException" + ioe.getMessage());
+ }
return;
}
String bhdr = req.getHeader(BEHALF_HEADER);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
int groupid = getIdFromPath(req);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
Group oldgup = Group.getGroupById(groupid);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_NOT_FOUND);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, message);
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, message, eventlogger);
return;
}
// Check with the Authorizer
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, message);
+ sendResponseError(resp, HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, message, eventlogger);
return;
}
JSONObject jo = getJSONfromInput(req);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
if (intlogger.isDebugEnabled())
intlogger.debug(jo.toString());
- Group gup = null;
+ Group gup;
try {
gup = new Group(jo);
} catch (InvalidObjectException e) {
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
gup.setGroupid(oldgup.getGroupid());
-
-
Group gb2 = Group.getGroupMatching(gup, oldgup.getGroupid());
if (gb2 != null) {
eventlogger.warn("PROV0011 Creating a duplicate Group: "+gup.getName());
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Duplicate Group:"+gup.getName());
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Duplicate Group:"+gup.getName(), eventlogger);
return;
}
eventlogger.info(elr);
resp.setStatus(HttpServletResponse.SC_OK);
resp.setContentType(GROUPFULL_CONTENT_TYPE);
- resp.getOutputStream().print(gup.asJSONObject().toString());
+ try {
+ resp.getOutputStream().print(gup.asJSONObject().toString());
+ } catch (IOException ioe) {
+ eventlogger.error("IOException" + ioe.getMessage());
+ }
provisioningDataChanged();
} else {
// Something went wrong with the UPDATE
elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG);
+ sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);
}
}
/**
* document for details on how this method should be invoked.
*/
@Override
- public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
EventLogRecord elr = new EventLogRecord(req);
String message = isAuthorizedForProvisioning(req);
if (message != null) {
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_FORBIDDEN);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, message);
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, message, eventlogger);
return;
}
if (isProxyServer()) {
- super.doPost(req, resp);
+ try {
+ super.doPost(req, resp);
+ } catch (IOException ioe) {
+ eventlogger.error("IOException" + ioe.getMessage());
+ }
return;
}
String bhdr = req.getHeader(BEHALF_HEADER);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
/*int feedid = getIdFromPath(req);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, message);
+ sendResponseError(resp, HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE, message, eventlogger);
return;
}
JSONObject jo = getJSONfromInput(req);
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
if (intlogger.isDebugEnabled())
intlogger.debug(jo.toString());
- Group gup = null;
+ Group gup;
try {
gup = new Group(jo);
} catch (InvalidObjectException e) {
elr.setMessage(message);
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, message);
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger);
return;
}
//gup.setFeedid(feedid);
if (gb2 != null) {
eventlogger.warn("PROV0011 Creating a duplicate Group: "+gup.getName());
elr.setResult(HttpServletResponse.SC_BAD_REQUEST);
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Duplicate Group:"+gup.getName());
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Duplicate Group:"+gup.getName(), eventlogger);
return;
}
eventlogger.info(elr);
resp.setStatus(HttpServletResponse.SC_CREATED);
resp.setContentType(GROUPFULL_CONTENT_TYPE);
- resp.getOutputStream().print(gup.asJSONObject().toString());
+ try {
+ resp.getOutputStream().print(gup.asJSONObject().toString());
+ } catch (IOException ioe) {
+ eventlogger.error("IOException" + ioe.getMessage());
+ }
provisioningDataChanged();
} else {
// Something went wrong with the INSERT
elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
eventlogger.info(elr);
- resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG);
+ sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);
}
}
}
import javax.servlet.http.HttpServletRequest;\r
import javax.servlet.http.HttpServletResponse;\r
\r
+import org.json.JSONException;\r
import org.json.JSONObject;\r
import org.onap.dmaap.datarouter.provisioning.beans.Deleteable;\r
import org.onap.dmaap.datarouter.provisioning.beans.EgressRoute;\r
import org.onap.dmaap.datarouter.provisioning.beans.NetworkRoute;\r
import org.onap.dmaap.datarouter.provisioning.beans.NodeClass;\r
\r
+import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;\r
+\r
/**\r
* <p>\r
* This servlet handles requests to URLs under /internal/route/ on the provisioning server.\r
* DELETE route table entries by deleting part of the route table tree.\r
*/\r
@Override\r
- public void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doDelete(HttpServletRequest req, HttpServletResponse resp) {\r
EventLogRecord elr = new EventLogRecord(req);\r
if (!isAuthorizedForInternal(req)) {\r
elr.setMessage("Unauthorized.");\r
elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, "Unauthorized.");\r
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
return;\r
}\r
if (isProxyOK(req) && isProxyServer()) {\r
- super.doDelete(req, resp);\r
+ try {\r
+ super.doDelete(req, resp);\r
+ } catch (IOException ioe) {\r
+ eventlogger.error("IOException" + ioe.getMessage());\r
+ }\r
return;\r
}\r
\r
int feedid = Integer.parseInt(parts[1]);\r
IngressRoute er = IngressRoute.getIngressRoute(feedid, parts[2], parts[3].replaceAll("!", "/"));\r
if (er == null) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "The specified ingress route does not exist.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "The specified ingress route does not exist.", eventlogger);\r
return;\r
}\r
d = new Deleteable[] { er };\r
} catch (NumberFormatException e) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Invalid feed ID in 'delete ingress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid feed ID in 'delete ingress' command.", eventlogger);\r
return;\r
}\r
} else if (parts.length == 2) {\r
Set<IngressRoute> set = IngressRoute.getIngressRoutesForSeq(seq);\r
d = set.toArray(new Deleteable[0]);\r
} catch (NumberFormatException e) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Invalid sequence number in 'delete ingress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid sequence number in 'delete ingress' command.", eventlogger);\r
return;\r
}\r
} else {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete ingress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete ingress' command.", eventlogger);\r
return;\r
}\r
} else if (parts[0].equals("egress")) {\r
int subid = Integer.parseInt(parts[1]);\r
EgressRoute er = EgressRoute.getEgressRoute(subid);\r
if (er == null) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "The specified egress route does not exist.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "The specified egress route does not exist.", eventlogger);\r
return;\r
}\r
d = new Deleteable[] { er };\r
} catch (NumberFormatException e) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Invalid sub ID in 'delete egress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid sub ID in 'delete egress' command.", eventlogger);\r
return;\r
}\r
} else {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete egress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete egress' command.", eventlogger);\r
return;\r
}\r
} else if (parts[0].equals("network")) {\r
);\r
d = new Deleteable[] { nr };\r
} catch (IllegalArgumentException e) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "The specified network route does not exist.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "The specified network route does not exist.", eventlogger);\r
return;\r
}\r
} else {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete network' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Invalid number of arguments in 'delete network' command.", eventlogger);\r
return;\r
}\r
}\r
if (d == null) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Bad URL.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", eventlogger);\r
return;\r
}\r
boolean rv = true;\r
// Something went wrong with the DELETE\r
elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG);\r
+ sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, eventlogger);\r
}\r
}\r
/**\r
* GET route table entries from the route table tree specified by the URL path.\r
*/\r
@Override\r
- public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doGet(HttpServletRequest req, HttpServletResponse resp) {\r
EventLogRecord elr = new EventLogRecord(req);\r
if (!isAuthorizedForInternal(req)) {\r
elr.setMessage("Unauthorized.");\r
elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, "Unauthorized.");\r
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
return;\r
}\r
if (isProxyOK(req) && isProxyServer()) {\r
- super.doGet(req, resp);\r
+ try {\r
+ super.doGet(req, resp);\r
+ } catch (IOException ioe) {\r
+ eventlogger.error("IOException" + ioe.getMessage());\r
+ }\r
return;\r
}\r
\r
if (!path.endsWith("/"))\r
path += "/";\r
if (!path.equals("/") && !path.equals("/ingress/") && !path.equals("/egress/") && !path.equals("/network/")) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Bad URL.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", eventlogger);\r
return;\r
}\r
\r
for (String key : jx.keySet()) {\r
sb.append(pfx);\r
sb.append(" \"").append(key).append("\": ");\r
- sb.append("\"").append(jx.getString(key)).append("\"");\r
+ try {\r
+ sb.append("\"").append(jx.getString(key)).append("\"");\r
+ } catch (JSONException je) {\r
+ eventlogger.error("JSONException" + je.getMessage());\r
+ }\r
pfx = ",\n";\r
}\r
}\r
sb.append("}\n");\r
resp.setStatus(HttpServletResponse.SC_OK);\r
resp.setContentType("application/json");\r
- resp.getOutputStream().print(sb.toString());\r
+ try {\r
+ resp.getOutputStream().print(sb.toString());\r
+ } catch (IOException ioe) {\r
+ eventlogger.error("IOException" + ioe.getMessage());\r
+ }\r
}\r
/**\r
* PUT on </internal/route/*> -- not supported.\r
*/\r
@Override\r
- public void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doPut(HttpServletRequest req, HttpServletResponse resp) {\r
EventLogRecord elr = new EventLogRecord(req);\r
if (!isAuthorizedForInternal(req)) {\r
elr.setMessage("Unauthorized.");\r
elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, "Unauthorized.");\r
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
return;\r
}\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Bad URL.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", eventlogger);\r
}\r
/**\r
* POST - modify existing route table entries in the route table tree specified by the URL path.\r
*/\r
@Override\r
- public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) {\r
EventLogRecord elr = new EventLogRecord(req);\r
if (!isAuthorizedForInternal(req)) {\r
elr.setMessage("Unauthorized.");\r
elr.setResult(HttpServletResponse.SC_FORBIDDEN);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_FORBIDDEN, "Unauthorized.");\r
+ sendResponseError(resp, HttpServletResponse.SC_FORBIDDEN, "Unauthorized.", eventlogger);\r
return;\r
}\r
if (isProxyOK(req) && isProxyServer()) {\r
- super.doPost(req, resp);\r
+ try {\r
+ super.doPost(req, resp);\r
+ } catch (IOException ioe) {\r
+ intlogger.error("IOException" + ioe.getMessage());\r
+ }\r
return;\r
}\r
String path = req.getPathInfo();\r
ins = new Insertable[] { new IngressRoute(seq, feedid, user, subnet, NodeClass.lookupNodeNames(nodepatt)) };\r
} catch (Exception e) {\r
intlogger.info(e);\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add ingress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add ingress' command.", intlogger);\r
return;\r
}\r
} else if (path.startsWith("/egress/")) {\r
int subid = Integer.parseInt(req.getParameter("sub"));\r
EgressRoute er = EgressRoute.getEgressRoute(subid);\r
if (er != null) {\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "An egress route already exists for that subscriber.");\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "An egress route already exists for that subscriber.", intlogger);\r
return;\r
}\r
String node = NodeClass.normalizeNodename(req.getParameter("node"));\r
ins = new Insertable[] { new EgressRoute(subid, node) };\r
} catch (Exception e) {\r
intlogger.info(e);\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add egress' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add egress' command.", intlogger);\r
return;\r
}\r
} else if (path.startsWith("/network/")) {\r
String nto = req.getParameter("to");\r
String nvia = req.getParameter("via");\r
if (nfrom == null || nto == null || nvia == null) {\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing arguments in 'add network' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Missing arguments in 'add network' command.", intlogger);\r
return;\r
}\r
nfrom = NodeClass.normalizeNodename(nfrom);\r
NetworkRoute nr = new NetworkRoute(nfrom, nto, nvia);\r
for (NetworkRoute route : NetworkRoute.getAllNetworkRoutes()) {\r
if (route.getFromnode() == nr.getFromnode() && route.getTonode() == nr.getTonode()) {\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Network route table already contains a route for "+nfrom+" and "+nto);\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Network route table already contains a route for " + nfrom + " and " + nto, intlogger);\r
return;\r
}\r
}\r
ins = new Insertable[] { nr };\r
} catch (IllegalArgumentException e) {\r
intlogger.info(e);\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add network' command.");\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments in 'add network' command.", intlogger);\r
return;\r
}\r
}\r
if (ins == null) {\r
- resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Bad URL.");\r
+ sendResponseError(resp, HttpServletResponse.SC_NOT_FOUND, "Bad URL.", intlogger);\r
return;\r
}\r
boolean rv = true;\r
// Something went wrong with the INSERT\r
elr.setResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG);\r
+ sendResponseError(resp, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, DB_PROBLEM_MSG, intlogger);\r
}\r
}\r
}\r
import java.sql.PreparedStatement;\r
import java.sql.ResultSet;\r
import java.sql.SQLException;\r
-import java.sql.Statement;\r
import java.text.ParseException;\r
import java.text.SimpleDateFormat;\r
import java.util.Calendar;\r
import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
import org.onap.dmaap.datarouter.provisioning.utils.LOGJSONObject;\r
\r
+import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError;\r
+\r
/**\r
* This Servlet handles requests to the <Statistics API> and <Statistics consilidated\r
* resultset>,\r
* DELETE a logging URL -- not supported.\r
*/\r
@Override\r
- public void doDelete(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doDelete(HttpServletRequest req, HttpServletResponse resp) {\r
String message = "DELETE not allowed for the logURL.";\r
EventLogRecord elr = new EventLogRecord(req);\r
elr.setMessage(message);\r
elr.setResult(HttpServletResponse.SC_METHOD_NOT_ALLOWED);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, message);\r
+ sendResponseError(resp, HttpServletResponse.SC_METHOD_NOT_ALLOWED, message, eventlogger);\r
}\r
\r
/**\r
* <b>Statistics API</b> document for details on how this method should be invoked.\r
*/\r
@Override\r
- public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doGet(HttpServletRequest req, HttpServletResponse resp) {\r
\r
Map<String, String> map = buildMapFromRequest(req);\r
if (map.get("err") != null) {\r
- resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments: " + map.get("err"));\r
+ sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, "Invalid arguments: " + map.get("err"), eventlogger);\r
return;\r
}\r
// check Accept: header??\r
\r
resp.setStatus(HttpServletResponse.SC_OK);\r
resp.setContentType(LOGLIST_CONTENT_TYPE);\r
- ServletOutputStream out = resp.getOutputStream();\r
\r
String outputType = "json";\r
String feedids = null;\r
\r
if (req.getParameter("feedid") == null && req.getParameter("groupid") == null) {\r
- out.print("Invalid request, Feedid or Group ID is required.");\r
+ try {\r
+ resp.getOutputStream().print("Invalid request, Feedid or Group ID is required.");\r
+ } catch (IOException ioe) {\r
+ eventlogger.error("IOException: " + ioe.getMessage());\r
+ }\r
}\r
\r
if (req.getParameter("feedid") != null && req.getParameter("groupid") == null) {\r
System.out.println("groupid1" + groupid1.toString());\r
\r
\r
- } catch (NumberFormatException e) {\r
- e.printStackTrace();\r
- } catch (SQLException e) {\r
- e.printStackTrace();\r
+ } catch (NumberFormatException | SQLException e) {\r
+ eventlogger.error(e.getMessage());\r
}\r
}\r
if (req.getParameter("groupid") != null && req.getParameter("feedid") != null) {\r
System.out.println("groupid1" + groupid1.toString());\r
\r
\r
- } catch (NumberFormatException e) {\r
- e.printStackTrace();\r
- } catch (SQLException e) {\r
- e.printStackTrace();\r
+ } catch (NumberFormatException | SQLException e) {\r
+ eventlogger.error(e.getMessage());\r
}\r
}\r
\r
if (req.getParameter("output_type") != null) {\r
outputType = req.getParameter("output_type");\r
}\r
-\r
- this.getRecordsForSQL(map, outputType, out, resp);\r
+ try {\r
+ this.getRecordsForSQL(map, outputType, resp.getOutputStream(), resp);\r
+ } catch (IOException ioe) {\r
+ eventlogger.error("IOException: " + ioe.getMessage());\r
+ }\r
\r
}\r
\r
System.out.println("feedIds" + feedIds.toString());\r
}\r
} catch (SQLException e) {\r
- e.printStackTrace();\r
+ eventlogger.error(e.getMessage());\r
} finally {\r
try {\r
if (resultSet != null) {\r
db.release(conn);\r
}\r
} catch (Exception e) {\r
- e.printStackTrace();\r
+ eventlogger.error(e.getMessage());\r
}\r
}\r
return feedIds;\r
* PUT a Statistics URL -- not supported.\r
*/\r
@Override\r
- public void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doPut(HttpServletRequest req, HttpServletResponse resp) {\r
String message = "PUT not allowed for the StatisticsURL.";\r
EventLogRecord elr = new EventLogRecord(req);\r
elr.setMessage(message);\r
elr.setResult(HttpServletResponse.SC_METHOD_NOT_ALLOWED);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, message);\r
+ sendResponseError(resp, HttpServletResponse.SC_METHOD_NOT_ALLOWED, message, eventlogger);\r
}\r
\r
/**\r
* POST a Statistics URL -- not supported.\r
*/\r
@Override\r
- public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {\r
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) {\r
String message = "POST not allowed for the StatisticsURL.";\r
EventLogRecord elr = new EventLogRecord(req);\r
elr.setMessage(message);\r
elr.setResult(HttpServletResponse.SC_METHOD_NOT_ALLOWED);\r
eventlogger.info(elr);\r
- resp.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, message);\r
+ sendResponseError(resp, HttpServletResponse.SC_METHOD_NOT_ALLOWED, message, eventlogger);\r
}\r
\r
private Map<String, String> buildMapFromRequest(HttpServletRequest req) {\r
}\r
}\r
} catch (SQLException e) {\r
- e.printStackTrace();\r
+ eventlogger.error("SQLException:" + e);\r
}\r
intlogger.debug("Time: " + (System.currentTimeMillis() - start) + " ms");\r
} catch (IOException e) {\r
eventlogger.error("IOException - Generating JSON/CSV:" + e);\r
- e.printStackTrace();\r
} catch (JSONException e) {\r
eventlogger.error("JSONException - executing SQL query:" + e);\r
- e.printStackTrace();\r
} catch (ParseException e) {\r
eventlogger.error("ParseException - executing SQL query:" + e);\r
- e.printStackTrace();\r
}\r
}\r
}\r