aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdatarouter-node/pom.xml2
-rwxr-xr-xdatarouter-prov/pom.xml7
-rwxr-xr-xdatarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/BaseServlet.java38
-rw-r--r--datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java2
-rw-r--r--datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/URLUtilities.java12
-rwxr-xr-xdatarouter-subscriber/pom.xml2
-rw-r--r--docs/data-router/DataRouterUserGuide.rst25
-rw-r--r--docs/data-router/administration.rst14
-rw-r--r--docs/data-router/architecture.rst25
-rw-r--r--docs/data-router/configuration.rst7
-rw-r--r--docs/data-router/consumedapis.rst7
-rwxr-xr-xdocs/data-router/data-router.rst7
-rw-r--r--docs/data-router/delivery.rst32
-rw-r--r--docs/data-router/dr_arch.pngbin0 -> 28300 bytes
-rw-r--r--docs/data-router/humaninterfaces.rst10
-rw-r--r--docs/data-router/logging.rst25
-rw-r--r--docs/data-router/release-notes.rst29
-rw-r--r--docs/index.rst19
-rwxr-xr-xpom.xml3
-rw-r--r--version.properties2
20 files changed, 227 insertions, 41 deletions
diff --git a/datarouter-node/pom.xml b/datarouter-node/pom.xml
index f9bdce67..29e3ce47 100755
--- a/datarouter-node/pom.xml
+++ b/datarouter-node/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.dmaap.datarouter</groupId>
<artifactId>parent</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>datarouter-node</artifactId>
diff --git a/datarouter-prov/pom.xml b/datarouter-prov/pom.xml
index c9c0c2ff..0bb54170 100755
--- a/datarouter-prov/pom.xml
+++ b/datarouter-prov/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.dmaap.datarouter</groupId>
<artifactId>parent</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>datarouter-prov</artifactId>
@@ -43,6 +43,11 @@
</properties>
<dependencies>
<dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ <version>${xml-apis.version}</version>
+ </dependency>
+ <dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>${dom4j.version}</version>
diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/BaseServlet.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/BaseServlet.java
index 047043b1..3838cadf 100755
--- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/BaseServlet.java
+++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/BaseServlet.java
@@ -121,7 +121,6 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
private static final int DEFAULT_POKETIMER2 = 30;
private static final String DEFAULT_DOMAIN = "onap";
private static final String DEFAULT_PROVSRVR_NAME = "dmaap-dr-prov";
- private static final String RESEARCH_SUBNET = "10.42.0.0/16";
private static final String STATIC_ROUTING_NODES = ""; //Adding new param for static Routing - Rally:US664862-1610
/**
@@ -139,11 +138,11 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
/**
* The set of authorized addresses and networks; pulled from the DB (PROV_AUTH_ADDRESSES)
*/
- private static Set<String> authorizedAddressesAndNetworks = new HashSet<String>();
+ private static Set<String> authorizedAddressesAndNetworks = new HashSet<>();
/**
* The set of authorized names; pulled from the DB (PROV_AUTH_SUBJECTS)
*/
- private static Set<String> authorizedNames = new HashSet<String>();
+ private static Set<String> authorizedNames = new HashSet<>();
/**
* The FQDN of the initially "active" provisioning server in this Data Router ecosystem
*/
@@ -199,19 +198,13 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
/**
* The standard FQDN of the provisioning server in this Data Router ecosystem
*/
- public static String provName = "feeds-drtr.web.att.com";
+ private static String provName = "feeds-drtr.web.att.com";
+
/**
* The standard FQDN of the ACTIVE provisioning server in this Data Router ecosystem
*/
- public static String activeProvName = "feeds-drtr.web.att.com";
- /**
- * Special subnet that is allowed access to /internal
- */
- private static String researchSubnet = RESEARCH_SUBNET;
- /**
- * Special subnet that is allowed access to /internal to Lab Machine
- */
- private static String researchSubnet1 = RESEARCH_SUBNET;
+ private static String activeProvName = "feeds-drtr.web.att.com";
+
private static String staticRoutingNodes = STATIC_ROUTING_NODES; //Adding new param for static Routing - Rally:US664862-1610
/**
@@ -389,13 +382,6 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
if (loopback != null && ip.equals(loopback)) {
return true;
}
- // Also allow the "special subnet" access
- if (addressMatchesNetwork(ip, researchSubnet1)) {
- return true;
- }
- if (addressMatchesNetwork(ip, researchSubnet)) {
- return true;
- }
} catch (UnknownHostException e) {
// ignore
}
@@ -473,7 +459,6 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
provDomain = getString(map, Parameters.PROV_DOMAIN, DEFAULT_DOMAIN);
provName = getString(map, Parameters.PROV_NAME, DEFAULT_PROVSRVR_NAME);
activeProvName = getString(map, Parameters.PROV_ACTIVE_NAME, provName);
- researchSubnet = getString(map, Parameters.PROV_SPECIAL_SUBNET, RESEARCH_SUBNET);
staticRoutingNodes = getString(map, Parameters.STATIC_ROUTING_NODES,
""); //Adding new param for static Routing - Rally:US664862-1610
initialActivePod = getString(map, Parameters.ACTIVE_POD, "");
@@ -630,6 +615,13 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
}
}
+ public static String getProvName() {
+ return provName;
+ }
+
+ public static String getActiveProvName() {
+ return activeProvName;
+ }
/**
* Get an array of all node names in the DR network.
@@ -784,7 +776,7 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
}
private static Set<String> getSet(Map<String, String> map, String name) {
- Set<String> set = new HashSet<String>();
+ Set<String> set = new HashSet<>();
String s = map.get(name);
if (s != null) {
String[] pp = s.split("\\|");
@@ -807,7 +799,7 @@ public class BaseServlet extends HttpServlet implements ProvDataProvider {
public class ContentHeader {
private String type = "";
- private Map<String, String> map = new HashMap<String, String>();
+ private Map<String, String> map = new HashMap<>();
ContentHeader() {
this("", "1.0");
diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java
index e1eeb786..f9d0867d 100644
--- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java
+++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/SynchronizerTask.java
@@ -302,7 +302,7 @@ public class SynchronizerTask extends TimerTask {
String thisPod = myaddr.getHostName();
Set<String> pods = new TreeSet<>(Arrays.asList(BaseServlet.getPods()));
if (pods.contains(thisPod)) {
- InetAddress pserver = InetAddress.getByName(BaseServlet.activeProvName);
+ InetAddress pserver = InetAddress.getByName(BaseServlet.getActiveProvName());
newstate = myaddr.equals(pserver) ? ACTIVE : STANDBY;
if (logger.isDebugEnabled() && System.currentTimeMillis() >= nextMsg) {
logger.debug("Active POD = " + pserver + ", Current state is " + stnames[newstate]);
diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/URLUtilities.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/URLUtilities.java
index d0178fd6..0c6afdd7 100644
--- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/URLUtilities.java
+++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/URLUtilities.java
@@ -45,7 +45,7 @@ public class URLUtilities {
* @return the URL
*/
public static String generateFeedURL(int feedid) {
- return "https://" + BaseServlet.provName + "/feed/" + feedid;
+ return "https://" + BaseServlet.getProvName() + "/feed/" + feedid;
}
/**
@@ -55,7 +55,7 @@ public class URLUtilities {
* @return the URL
*/
public static String generatePublishURL(int feedid) {
- return "https://" + BaseServlet.provName + "/publish/" + feedid;
+ return "https://" + BaseServlet.getProvName() + "/publish/" + feedid;
}
/**
@@ -65,7 +65,7 @@ public class URLUtilities {
* @return the URL
*/
public static String generateSubscribeURL(int feedid) {
- return "https://" + BaseServlet.provName + "/subscribe/" + feedid;
+ return "https://" + BaseServlet.getProvName() + "/subscribe/" + feedid;
}
/**
@@ -75,7 +75,7 @@ public class URLUtilities {
* @return the URL
*/
public static String generateFeedLogURL(int feedid) {
- return "https://" + BaseServlet.provName + "/feedlog/" + feedid;
+ return "https://" + BaseServlet.getProvName() + "/feedlog/" + feedid;
}
/**
@@ -85,7 +85,7 @@ public class URLUtilities {
* @return the URL
*/
public static String generateSubscriptionURL(int subid) {
- return "https://" + BaseServlet.provName + "/subs/" + subid;
+ return "https://" + BaseServlet.getProvName() + "/subs/" + subid;
}
/**
@@ -95,7 +95,7 @@ public class URLUtilities {
* @return the URL
*/
public static String generateSubLogURL(int subid) {
- return "https://" + BaseServlet.provName + "/sublog/" + subid;
+ return "https://" + BaseServlet.getProvName() + "/sublog/" + subid;
}
/**
diff --git a/datarouter-subscriber/pom.xml b/datarouter-subscriber/pom.xml
index cc1d4868..87b82f1d 100755
--- a/datarouter-subscriber/pom.xml
+++ b/datarouter-subscriber/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.dmaap.datarouter</groupId>
<artifactId>parent</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>datarouter-subscriber</artifactId>
diff --git a/docs/data-router/DataRouterUserGuide.rst b/docs/data-router/DataRouterUserGuide.rst
new file mode 100644
index 00000000..8f7b9ef1
--- /dev/null
+++ b/docs/data-router/DataRouterUserGuide.rst
@@ -0,0 +1,25 @@
+===========================
+Data Router (DR) User Guide
+===========================
+
+Standalone Mode
+---------------
+
+Installation
+============
+
+1. Find the datarouter project on the gerrit website: https://gerrit.onap.org/r/#/admin/projects/dmaap/datarouter
+
+2. Clone the repo onto your server using the clone command found on the datarouter page on gerrit.
+
+3. cd into the docker-compose directory and run docker-compose up.
+
+Configurations
+==============
+
+Using the Data Router
+---------------------
+
+For information on how to use the Data Router refer to the Data Router API guide at:
+
+ :ref:`data_router_api_guide` \ No newline at end of file
diff --git a/docs/data-router/administration.rst b/docs/data-router/administration.rst
new file mode 100644
index 00000000..b050a1fe
--- /dev/null
+++ b/docs/data-router/administration.rst
@@ -0,0 +1,14 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Administration
+==============
+
+
+Processes
+---------
+NA
+
+Actions
+-------
+NA
diff --git a/docs/data-router/architecture.rst b/docs/data-router/architecture.rst
new file mode 100644
index 00000000..b18f7bb3
--- /dev/null
+++ b/docs/data-router/architecture.rst
@@ -0,0 +1,25 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Architecture
+============
+
+
+Capabilities
+------------
+Data Router is a RESTful web service used for the transfer of data across networks any larger than a Message Router message (> 1Mb).
+
+Usage Scenarios
+---------------
+ Data Router endpoints are used to create/view/delete Feeds, Subscribers and Published files. Clients can use the Data Router endpoints
+ to publish a file to a feed and subscribe to this feed to receive the file.
+
+Interactions
+------------
+Data Router REST service uses the Data Router API to allow users to publish to and subscribe to a feed, in order to send and receive files.
+
+
+
+ |image0|
+
+ .. |image0| image:: dr_arch.png
diff --git a/docs/data-router/configuration.rst b/docs/data-router/configuration.rst
new file mode 100644
index 00000000..2a7096a1
--- /dev/null
+++ b/docs/data-router/configuration.rst
@@ -0,0 +1,7 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Configuration
+=============
+
+NA \ No newline at end of file
diff --git a/docs/data-router/consumedapis.rst b/docs/data-router/consumedapis.rst
new file mode 100644
index 00000000..aa1a8bd1
--- /dev/null
+++ b/docs/data-router/consumedapis.rst
@@ -0,0 +1,7 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Consumed APIs
+=============
+
+Data Router does not consume any API
diff --git a/docs/data-router/data-router.rst b/docs/data-router/data-router.rst
index ecce2096..aaee3851 100755
--- a/docs/data-router/data-router.rst
+++ b/docs/data-router/data-router.rst
@@ -1,10 +1,15 @@
+.. _data_router_api_guide:
+
==========================
Data Router (DR) API Guide
==========================
Introduction
------------
-The DataRouter(DR) provisioning API is an HTTPS-based, REST-like API for creating and managing DR feeds and subscriptions. The Data Routing System project is intended to provide a common framework by which data producers can make data available to data consumers and a way for potential consumers to find feeds with the data they require.
+The DataRouter(DR) provisioning API is an HTTPS-based, REST-like API for creating and managing DR feeds
+and subscriptions. The Data Routing System project is intended to provide a common framework by which
+data producers can make data available to data consumers and a way for potential consumers to find feeds
+with the data they require.
HTTP Service APIs
diff --git a/docs/data-router/delivery.rst b/docs/data-router/delivery.rst
new file mode 100644
index 00000000..775841a4
--- /dev/null
+++ b/docs/data-router/delivery.rst
@@ -0,0 +1,32 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Delivery
+==============
+
+Data Router is comprised of a datarouter-provisioning container, a datarouter-node container and a mariadb container.
+
+.. blockdiag::
+
+
+ blockdiag layers {
+ orientation = portrait
+ MARIADB -> DR-PROV;
+ DR-PROV -> DR-NODE;
+ group l1 {
+ color = blue;
+ label = "dr-prov Container";
+ DR-PROV;
+ }
+ group l2 {
+ color = yellow;
+ label = "dr-node Container";
+ DR-NODE;
+ }
+ group l3 {
+ color = orange;
+ label = "MariaDb Container";
+ MARIADB;
+ }
+
+ }
diff --git a/docs/data-router/dr_arch.png b/docs/data-router/dr_arch.png
new file mode 100644
index 00000000..1655edad
--- /dev/null
+++ b/docs/data-router/dr_arch.png
Binary files differ
diff --git a/docs/data-router/humaninterfaces.rst b/docs/data-router/humaninterfaces.rst
new file mode 100644
index 00000000..71a2b730
--- /dev/null
+++ b/docs/data-router/humaninterfaces.rst
@@ -0,0 +1,10 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Human Interfaces
+================
+
+Data Router does not have human interfaces
+
+
+
diff --git a/docs/data-router/logging.rst b/docs/data-router/logging.rst
new file mode 100644
index 00000000..ac6aa95c
--- /dev/null
+++ b/docs/data-router/logging.rst
@@ -0,0 +1,25 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Logging
+=======
+
+
+Where to Access Information
+---------------------------
+Data Router uses logback framework to generate logs.
+
+Error / Warning Messages
+------------------------
+Currently Data Router does not have any unique error codes. However the following are the common HTTP error codes that
+could possibly occur in Data Router:
+
+ OK = 200 : The normal response from a successful update or get of a feed or subscription
+ CREATED = 201 : the normal response from successfully creating or subscribing to a feed.
+ NO_CONTENT = 204 : the normal response from a successful publish attempt and on successfully deleting a feed or subscription
+ MOVED_PERMANENTLY = 301 :the normal redirect response from prov to a publisher
+ BAD_REQUEST = 400: Usually indicates that either Json object in request body is incorrect in some way, or an Invalid parameter value was included in query string.
+ UNAUTHORIZED = 401 : Usually indicated either request was missing Authorization header, or indicates incorrect Username/password credentials
+ FORBIDDEN = 403 : Usually indicates the request originated from an unauthorized IP address, or that a client certificate was not a part of authorized list.
+ NOT_FOUND = 404 : Usually indicates an incorrect URI
+ METHOD_NOT_ALLOWED = 405 : Indicates an HTTP method is not accepted for given URI \ No newline at end of file
diff --git a/docs/data-router/release-notes.rst b/docs/data-router/release-notes.rst
new file mode 100644
index 00000000..f69ea2c8
--- /dev/null
+++ b/docs/data-router/release-notes.rst
@@ -0,0 +1,29 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Release-notes
+==============
+
+Version: 1.0.1
+--------------
+
+:Release Date: 2018-09-20
+
+
+New Features:
+
+ - Implements a RESTful HTTPS API for creating feeds to publish files to and subscribe to,
+ as well as perform CRUD operations on these feeds.
+ - Implements a RESTful HTTPS API for subscribing to feeds and perform CRUD operations on these subscriptions.
+ - Implements a RESTful HTTPS API for publishing to feeds and perform CRUD operations on these published files.
+
+
+
+Bug Fixes
+NA
+
+Known Issues
+NA
+
+Other
+NA \ No newline at end of file
diff --git a/docs/index.rst b/docs/index.rst
index f7dae490..99f0f281 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -14,15 +14,24 @@ The DataRouter(DR)provisioning API is an HTTPS-based,REST-like API for creating
HTTP Service APIs
------------------
-DMaaP Message Router utilizes an HTTP REST API to service all transactions. HTTP and REST standards are followed so
-clients as varied as CURL, Java applications and even Web Browsers will
-work to interact with the Data Router.
+DMaaP Data Router utilizes an HTTPS REST API to service all transactions. HTTPS and REST standards are followed so
+clients as varied as CURL, Java applications and even Web Browsers will work to interact with the Data Router.
.. toctree::
- :maxdepth: 3
+ :maxdepth: 1
- data-router/data-router
+ data-router/data-router.rst
+ data-router/administration.rst
+ data-router/architecture.rst
+ data-router/configuration.rst
+ data-router/consumedapis.rst
+ data-router/DataRouterUserGuide.rst
+ data-router/delivery.rst
+ data-router/humaninterfaces.rst
+ data-router/logging.rst
+ data-router/release-notes.rst
+
diff --git a/pom.xml b/pom.xml
index afbbf929..17744adf 100755
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
<groupId>org.onap.dmaap.datarouter</groupId>
<artifactId>parent</artifactId>
<name>dmaap-datarouter</name>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.2-SNAPSHOT</version>
<packaging>pom</packaging>
<url>https://github.com/att/DMAAP_DATAROUTER</url>
<parent>
@@ -49,6 +49,7 @@
<jetty.websocket.version>8.2.0.v20160908</jetty.websocket.version>
<javax.mail-api.version>1.5.5</javax.mail-api.version>
<dom4j.version>1.6</dom4j.version>
+ <xml-apis.version>1.4.01</xml-apis.version>
<thoughtworks.version>1.4.10</thoughtworks.version>
<google.guava.version>26.0-jre</google.guava.version>
<qos.logback.version>1.2.3</qos.logback.version>
diff --git a/version.properties b/version.properties
index 30cdf7e2..b042a353 100644
--- a/version.properties
+++ b/version.properties
@@ -27,7 +27,7 @@
major=1
minor=0
-patch=1
+patch=2
base_version=${major}.${minor}.${patch}