X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2FFeedServlet.java;h=de27c6528be0f339a46b45022c3685dae575cdc4;hb=0ad65c47b4fbddd5d1b653c5e38dcdf84884de9f;hp=4fc0b7fa99b7da48327e8eab303aee522d514c39;hpb=6125df9402379605e28188c61433eaf75930102d;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/FeedServlet.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/FeedServlet.java index 4fc0b7fa..de27c652 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/FeedServlet.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/FeedServlet.java @@ -24,12 +24,14 @@ package org.onap.dmaap.datarouter.provisioning; +import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; import java.io.IOException; import java.io.InvalidObjectException; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.json.JSONException; import org.json.JSONObject; import org.onap.dmaap.datarouter.authz.AuthorizationResponse; @@ -37,10 +39,7 @@ import org.onap.dmaap.datarouter.provisioning.beans.EventLogRecord; import org.onap.dmaap.datarouter.provisioning.beans.Feed; import org.onap.dmaap.datarouter.provisioning.eelf.EelfMsgs; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.sendResponseError; /** * This servlet handles provisioning for the <feedURL> which is generated by the provisioning @@ -51,6 +50,7 @@ import static org.onap.dmaap.datarouter.provisioning.utils.HttpServletUtils.send * @version $Id$ */ @SuppressWarnings("serial") + public class FeedServlet extends ProxyServlet { //Adding EELF Logger Rally:US664892 @@ -66,7 +66,8 @@ public class FeedServlet extends ProxyServlet { setIpFqdnRequestIDandInvocationIDForEelf("doDelete", req); eelfLogger.info(EelfMsgs.ENTRY); try { - eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER),getIdFromPath(req)+""); + eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, + req.getHeader(BEHALF_HEADER),getIdFromPath(req) + ""); EventLogRecord elr = new EventLogRecord(req); String message = isAuthorizedForProvisioning(req); if (message != null) { @@ -82,7 +83,7 @@ public class FeedServlet extends ProxyServlet { } String bhdr = req.getHeader(BEHALF_HEADER); if (bhdr == null) { - message = "Missing "+BEHALF_HEADER+" header."; + message = MISSING_ON_BEHALF; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); @@ -91,7 +92,7 @@ public class FeedServlet extends ProxyServlet { } int feedid = getIdFromPath(req); if (feedid < 0) { - message = "Missing or bad feed number."; + message = MISSING_FEED; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); @@ -100,7 +101,7 @@ public class FeedServlet extends ProxyServlet { } Feed feed = Feed.getFeedById(feedid); if (feed == null || feed.isDeleted()) { - message = "Missing or bad feed number."; + message = MISSING_FEED; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_NOT_FOUND); eventlogger.error(elr.toString()); @@ -113,10 +114,10 @@ public class FeedServlet extends ProxyServlet { * CADI code - check on permissions based on Legacy/AAF users to allow to delete/remove feed */ String aafInstance = feed.getAafInstance(); - if (aafInstance == null || aafInstance.equals("") || aafInstance.equalsIgnoreCase("legacy")) { + if (aafInstance == null || "".equals(aafInstance) || "legacy".equalsIgnoreCase(aafInstance)) { AuthorizationResponse aresp = authz.decide(req); if (! aresp.isAuthorized()) { - message = "Policy Engine disallows access."; + message = POLICY_ENGINE; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_FORBIDDEN); eventlogger.error(elr.toString()); @@ -157,6 +158,7 @@ public class FeedServlet extends ProxyServlet { eelfLogger.info(EelfMsgs.EXIT); } } + /** * Get information on the feed at the address /feed/<feednumber>. * See the Retrieving Information about a Feed section in the Provisioning API @@ -167,7 +169,8 @@ public class FeedServlet extends ProxyServlet { setIpFqdnRequestIDandInvocationIDForEelf("doGet", req); eelfLogger.info(EelfMsgs.ENTRY); try { - eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER),getIdFromPath(req)+""); + eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, + req.getHeader(BEHALF_HEADER),getIdFromPath(req) + ""); EventLogRecord elr = new EventLogRecord(req); String message = isAuthorizedForProvisioning(req); if (message != null) { @@ -183,7 +186,7 @@ public class FeedServlet extends ProxyServlet { } String bhdr = req.getHeader(BEHALF_HEADER); if (bhdr == null) { - message = "Missing "+BEHALF_HEADER+" header."; + message = MISSING_ON_BEHALF; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); @@ -192,7 +195,7 @@ public class FeedServlet extends ProxyServlet { } int feedid = getIdFromPath(req); if (feedid < 0) { - message = "Missing or bad feed number."; + message = MISSING_FEED; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); @@ -201,7 +204,7 @@ public class FeedServlet extends ProxyServlet { } Feed feed = Feed.getFeedById(feedid); if (feed == null || feed.isDeleted()) { - message = "Missing or bad feed number."; + message = MISSING_FEED; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_NOT_FOUND); eventlogger.error(elr.toString()); @@ -211,7 +214,7 @@ public class FeedServlet extends ProxyServlet { // Check with the Authorizer AuthorizationResponse aresp = authz.decide(req); if (! aresp.isAuthorized()) { - message = "Policy Engine disallows access."; + message = POLICY_ENGINE; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_FORBIDDEN); eventlogger.error(elr.toString()); @@ -233,6 +236,7 @@ public class FeedServlet extends ProxyServlet { eelfLogger.info(EelfMsgs.EXIT); } } + /** * PUT on the <feedURL> for a feed. * See the Modifying a Feed section in the Provisioning API @@ -243,7 +247,8 @@ public class FeedServlet extends ProxyServlet { setIpFqdnRequestIDandInvocationIDForEelf("doPut", req); eelfLogger.info(EelfMsgs.ENTRY); try { - eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, req.getHeader(BEHALF_HEADER),getIdFromPath(req)+""); + eelfLogger.info(EelfMsgs.MESSAGE_WITH_BEHALF_AND_FEEDID, + req.getHeader(BEHALF_HEADER),getIdFromPath(req) + ""); EventLogRecord elr = new EventLogRecord(req); String message = isAuthorizedForProvisioning(req); if (message != null) { @@ -259,7 +264,7 @@ public class FeedServlet extends ProxyServlet { } String bhdr = req.getHeader(BEHALF_HEADER); if (bhdr == null) { - message = "Missing "+BEHALF_HEADER+" header."; + message = MISSING_ON_BEHALF; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); @@ -268,7 +273,7 @@ public class FeedServlet extends ProxyServlet { } int feedid = getIdFromPath(req); if (feedid < 0) { - message = "Missing or bad feed number."; + message = MISSING_FEED; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); @@ -277,7 +282,7 @@ public class FeedServlet extends ProxyServlet { } Feed oldFeed = Feed.getFeedById(feedid); if (oldFeed == null || oldFeed.isDeleted()) { - message = "Missing or bad feed number."; + message = MISSING_FEED; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_NOT_FOUND); eventlogger.error(elr.toString()); @@ -287,7 +292,7 @@ public class FeedServlet extends ProxyServlet { // check content type is FEED_CONTENT_TYPE, version 1.0 ContentHeader ch = getContentHeader(req); String ver = ch.getAttribute("version"); - if (!ch.getType().equals(FEED_BASECONTENT_TYPE) || !(ver.equals("1.0") || ver.equals("2.0"))) { + if (!ch.getType().equals(FEED_BASECONTENT_TYPE) || !("1.0".equals(ver) || "2.0".equals(ver))) { message = "Incorrect content-type"; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); @@ -297,15 +302,13 @@ public class FeedServlet extends ProxyServlet { } JSONObject jo = getJSONfromInput(req); if (jo == null) { - message = "Badly formed JSON"; + message = BAD_JSON; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_BAD_REQUEST); eventlogger.error(elr.toString()); sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger); return; } - if (intlogger.isDebugEnabled()) - intlogger.debug(jo.toString()); Feed feed; try { feed = new Feed(jo); @@ -320,7 +323,8 @@ public class FeedServlet extends ProxyServlet { feed.setFeedid(feedid); feed.setPublisher(bhdr); // set from X-DMAAP-DR-ON-BEHALF-OF header - String subjectgroup = (req.getHeader("X-DMAAP-DR-ON-BEHALF-OF-GROUP")); //Adding for group feature:Rally US708115 + //Adding for group feature:Rally US708115 + String subjectgroup = (req.getHeader("X-DMAAP-DR-ON-BEHALF-OF-GROUP")); if (!oldFeed.getPublisher().equals(feed.getPublisher()) && subjectgroup == null) { message = "This feed must be modified by the same publisher that created it."; elr.setMessage(message); @@ -338,15 +342,14 @@ public class FeedServlet extends ProxyServlet { return; } // US DSCDR-19 for DCAE if version is not null, version can't be changed - if ((oldFeed.getVersion() != null) && (feed.getVersion() != null)) { - if (!oldFeed.getVersion().equals(feed.getVersion())) { - message = "The version of the feed may not be updated."; - elr.setMessage(message); - elr.setResult(HttpServletResponse.SC_BAD_REQUEST); - eventlogger.error(elr.toString()); - sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger); - return; - } + if ((oldFeed.getVersion() != null) && (feed.getVersion() != null) + && !oldFeed.getVersion().equals(feed.getVersion())) { + message = "The version of the feed may not be updated."; + elr.setMessage(message); + elr.setResult(HttpServletResponse.SC_BAD_REQUEST); + eventlogger.error(elr.toString()); + sendResponseError(resp, HttpServletResponse.SC_BAD_REQUEST, message, eventlogger); + return; } /* @@ -355,11 +358,11 @@ public class FeedServlet extends ProxyServlet { * CADI code - check on permissions based on Legacy/AAF users to allow feed edit/update/modify */ String aafInstance = feed.getAafInstance(); - if (aafInstance == null || aafInstance.equals("") || aafInstance.equalsIgnoreCase("legacy")) { + if (aafInstance == null || "".equals(aafInstance) || "legacy".equalsIgnoreCase(aafInstance)) { // Check with the Authorizer AuthorizationResponse aresp = authz.decide(req); if (!aresp.isAuthorized()) { - message = "Policy Engine disallows access."; + message = POLICY_ENGINE; elr.setMessage(message); elr.setResult(HttpServletResponse.SC_FORBIDDEN); eventlogger.error(elr.toString()); @@ -396,7 +399,7 @@ public class FeedServlet extends ProxyServlet { } - /**Change Owner ship of Feed //Adding for group feature:Rally US708115*/ + /**Change Owner ship of Feed //Adding for group feature. :Rally US708115*/ if (jo.has("changeowner") && subjectgroup != null) { try { Boolean changeowner = (Boolean) jo.get("changeowner"); @@ -408,7 +411,7 @@ public class FeedServlet extends ProxyServlet { eventlogger.error("PROV0103 FeedServlet.doPut: " + je.getMessage(), je); } } - /***End of change ownership*/ + /***End of change ownership.*/ provisioningDataChanged(); } else { @@ -421,6 +424,7 @@ public class FeedServlet extends ProxyServlet { eelfLogger.info(EelfMsgs.EXIT); } } + /** * POST on the <feedURL> -- not supported. */ @@ -437,7 +441,7 @@ public class FeedServlet extends ProxyServlet { eventlogger.error(elr.toString()); sendResponseError(resp, HttpServletResponse.SC_METHOD_NOT_ALLOWED, message, eventlogger); } finally { - eelfLogger.info(EelfMsgs.EXIT); - } + eelfLogger.info(EelfMsgs.EXIT); + } } }