SDNR prepare for readthedocs 95/83695/1
authorHerbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Fri, 29 Mar 2019 09:53:28 +0000 (10:53 +0100)
committerHerbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Fri, 29 Mar 2019 09:54:18 +0000 (10:54 +0100)
Adjust helpserver to generate help content

Change-Id: I913615019d1415d88942b8d2050ed39e55e1dc2e
Issue-ID: SDNC-716
Signed-off-by: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
28 files changed:
sdnr/wt/helpserver/feature/pom.xml
sdnr/wt/helpserver/installer/pom.xml
sdnr/wt/helpserver/pom.xml
sdnr/wt/helpserver/provider/README.md [new file with mode: 0644]
sdnr/wt/helpserver/provider/pom.xml
sdnr/wt/helpserver/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/helpserver/HelpServlet.java
sdnr/wt/helpserver/provider/src/main/resources/help/mediatorserver/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/mediatorserver/0.4.0/README.md with 89% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/mediatorserver/installation/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/mediatorserver/installation/0.4.0/README.md with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/mediatorserver/mediator/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/mediatorserver/mediator/0.4.0/README.md with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/meta.json
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/about.md [deleted file]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/ONAP-SDN-R.png [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/ONAP-SDN-R.png with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/README.md with 83% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/abbreviations.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/abbreviations.md with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/connect/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/connect/0.4.0/README.md with 85% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/faq.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/faq.md with 68% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/mwtnLog/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/mwtnLog/0.4.0/README.md with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/mwtnTest/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/mwtnTest/0.4.0/README.md with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfConfig/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfConfig/0.4.0/README.md with 95% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfFault/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfFault/0.4.0/README.md with 71% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfInventory/0.4.0/README.md [deleted file]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfInventory/README.md [new file with mode: 0644]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMaintenance/0.4.0/README.md [deleted file]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMaintenance/README.md [new file with mode: 0644]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMediator/README.md [moved from sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMediator/0.4.0/README.md with 100% similarity]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfPerformance/0.4.0/README.md [deleted file]
sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfPerformance/README.md [new file with mode: 0644]
sdnr/wt/helpserver/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/helpserver/test/TestMyServlet.java

index 7545ce3..e2d22b9 100644 (file)
@@ -21,7 +21,9 @@
  * ============LICENSE_END=========================================================
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
@@ -34,7 +36,7 @@
     <groupId>org.onap.ccsdk.parent</groupId>
     <artifactId>single-feature-parent</artifactId>
     <version>1.2.2-SNAPSHOT</version>
-    <relativePath/>
+    <relativePath />
   </parent>
 
   
index cdf810e..84ad2c9 100755 (executable)
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
 
        <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
@@ -12,7 +14,7 @@
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-lite</artifactId>
                <version>1.2.2-SNAPSHOT</version>
-               <relativePath/>
+               <relativePath />
        </parent>
 
        <properties>
index 89070da..dcc7dd6 100755 (executable)
@@ -21,7 +21,9 @@
  * ============LICENSE_END=========================================================
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
 
        <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
@@ -47,4 +49,4 @@
        <properties>
                <feature-name>sdnr-wt-helpserver</feature-name>
        </properties>
-</project>
+</project>
\ No newline at end of file
diff --git a/sdnr/wt/helpserver/provider/README.md b/sdnr/wt/helpserver/provider/README.md
new file mode 100644 (file)
index 0000000..d35aeb5
--- /dev/null
@@ -0,0 +1,34 @@
+##Creating help files
+
+#### Link and references to pictures.
+
+All links are relative to the current md-file.
+
+Link to pages located in the same directory:
+
+```
+[linkname](file.md)
+```
+
+Link to subpages located in subdirectories:
+
+```
+[linkname](subfolder/file.md)
+```
+
+External Links:
+
+```
+[linkname](linkurl "linktitle")
+```
+
+Images:
+
+```
+![SDN-R in ONAP](./ONAP-SDN-R.png "SDN-R in ONAP")
+```
+
+#### Supported formates
+
+md-format:
+Picture formats: PNG
index 392ae1a..7c7d1fd 100644 (file)
@@ -1,83 +1,75 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- * ============LICENSE_START======================================================= 
-       * ONAP : CCSDK.sdnr.wt.apigateway.provider * ================================================================================ 
-       * Copyright (C) 2018 highstreet technologies GmbH Intellectual Property. 
-       * All rights reserved. * ================================================================================ 
-       * 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. 
-       * ============LICENSE_END========================================================= -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<!-- * ============LICENSE_START=======================================================
+    * ONAP : CCSDK.sdnr.wt.apigateway.provider * ================================================================================
+    * Copyright (C) 2018 highstreet technologies GmbH Intellectual Property.
+    * All rights reserved. * ================================================================================
+    * 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.
+    * ============LICENSE_END========================================================= -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
-       <modelVersion>4.0.0</modelVersion>
+    <modelVersion>4.0.0</modelVersion>
 
-       <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
-       <artifactId>sdnr-wt-helpserver-provider</artifactId>
-       <version>0.4.2-SNAPSHOT</version>
-       <name>ccsdk-features-sdnr-wt :: ${project.artifactId}</name>
-       <packaging>bundle</packaging>
-       <properties>
-               <checkstyle.skip>true</checkstyle.skip>
-               <buildtime>${maven.build.timestamp} UTC</buildtime>
-               <distversion>ONAP Dublin (Flourine-SR1)</distversion>
-               <buildno>1.15b7491</buildno>
-       </properties>
-       <parent>
-               <groupId>org.onap.ccsdk.parent</groupId>
-               <artifactId>binding-parent</artifactId>
-               <version>1.2.2-SNAPSHOT</version>
-               <relativePath/>
-       </parent>
-       <dependencies>
-               <dependency>
-                       <groupId>javax.servlet</groupId>
-                       <artifactId>servlet-api</artifactId>
-                       <version>2.5</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-simple</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.json</groupId>
-                       <artifactId>json</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.osgi</groupId>
-                       <artifactId>org.osgi.core</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.osgi</groupId>
-                       <artifactId>org.osgi.compendium</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.mockito</groupId>
-                       <artifactId>mockito-core</artifactId>
-                       <scope>test</scope>
-               </dependency>
+    <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
+    <artifactId>sdnr-wt-helpserver-provider</artifactId>
+    <version>0.4.2-SNAPSHOT</version>
+    <name>ccsdk-features-sdnr-wt :: ${project.artifactId}</name>
+    <packaging>bundle</packaging>
+    <properties>
+        <checkstyle.skip>true</checkstyle.skip>
+     </properties>
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>1.2.2-SNAPSHOT</version>
+        <relativePath />
+    </parent>
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <version>2.5</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
 
-       </dependencies>
-       <build>
-               <resources>
-                       <!-- replace properties in about.md -->
-                       <resource>
-                       <directory>src/main/resources</directory>
-                       <filtering>true</filtering>
-                       </resource>
-               </resources>
-               <plugins>
-                       <!-- fixed bug for sonarcube -->
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-surefire-plugin</artifactId>
-                               <configuration>
-                                       <useSystemClassLoader>false</useSystemClassLoader>
-                               </configuration>
-                       </plugin>
-               </plugins>
-       </build>
+    </dependencies>
+    <build>
+        <plugins>
+            <!-- fixed bug for sonarcube -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <useSystemClassLoader>false</useSystemClassLoader>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
index 35e3515..f91e96b 100644 (file)
@@ -26,8 +26,6 @@ import java.io.OutputStream;
 import java.net.URISyntaxException;
 import java.net.URLDecoder;
 import java.nio.file.Path;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -67,11 +65,7 @@ public class HelpServlet extends HttpServlet implements AutoCloseable {
         resp.addHeader("Access-Control-Allow-Methods", "OPTIONS, HEAD, GET, POST, PUT, DELETE");
         resp.addHeader("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, Content-Length");
         if (query != null && query.contains("meta")) {
-            /*
-             * LOG.debug("received post with uri="+req.getRequestURI()); String
-             * uri=req.getRequestURI().substring(BASEURI.length()); if(uri.startsWith("/"))
-             * uri=uri.substring(1);
-             */
+          
             File f = new File(HelpInfrastructureObject.KARAFHELPDIRECTORY, "meta.json");
             if (f.exists()) {
                 LOG.debug("found local meta file");
@@ -120,36 +114,20 @@ public class HelpServlet extends HttpServlet implements AutoCloseable {
                 }
                 LOG.debug("delivering file");
                 OutputStream out = resp.getOutputStream();
-                String version = null;
-                if (REDIRECT_LINKS) {
-                    version = getVersionFromRequestedUri(uri);
-                }
-                if (this.isTextFile(f) && REDIRECT_LINKS && version != null) {
-                    final String regex =
-                            "(!?\\[[^\\]]*?\\])\\(((?:(?!http|www\\.|\\#|\\.com|\\.net|\\.info|\\.org|\\.svg|\\.png|\\.jpg|\\.gif|\\.jpeg|\\.pdf).)*?)\\)";
-                    final Pattern pattern = Pattern.compile(regex);
-                    Matcher matcher;
-                    String line;
-                    try (BufferedReader br = new BufferedReader(new FileReader(f))) {
-                        line = br.readLine();
-                        while (line != null) {
-                            // check line for internal link
-                            matcher = pattern.matcher(line);
-                            if (matcher.find()) {
-                                // extend link with specific version
-                                line = line.replace(matcher.group(2),
-                                        "../" + matcher.group(2) + version + "/README.md");
-                            }
-                            out.write((line + "\n").getBytes());
-                            line = br.readLine();
-
-                        }
-                        out.flush();
-                        out.close();
-                        br.close();
-                    }
-
-                } else {
+//                if (this.isTextFile(f) && REDIRECT_LINKS) {
+//                    String line;
+//                    try (BufferedReader br = new BufferedReader(new FileReader(f))) {
+//                        line = br.readLine();
+//                        while (line != null) {
+//                             out.write((line + "\n").getBytes());
+//                            line = br.readLine();
+//                        }
+//                        out.flush();
+//                        out.close();
+//                        br.close();
+//                    }
+//                } else 
+                {
                     try (FileInputStream in = new FileInputStream(f)) {
 
                         byte[] buffer = new byte[1024];
@@ -169,27 +147,6 @@ public class HelpServlet extends HttpServlet implements AutoCloseable {
         }
     }
 
-    /**
-     * Extract version from URI string
-     * @param uri = "help/folder1/folder2/version/README.md"
-     * @return version as a string
-     */
-    private static String getVersionFromRequestedUri(String uri) {
-        if (uri == null) {
-            return null;
-        }
-        int lastidx = uri.lastIndexOf("/");
-        if (lastidx < 0) {
-            return null;
-        }
-        int slastidx = uri.lastIndexOf("/", lastidx - 1);
-        if (slastidx < 0) {
-            return null;
-        }
-        return uri.substring(slastidx + 1, lastidx);
-
-    }
-
     private boolean ispdf(File f) {
         return f != null ? this.ispdf(f.getName()) : false;
     }
@@ -1,7 +1,7 @@
 # MediatorServer
 
 ## Description
-The mediator server is the physical device on which multiple instances of the [mediators](mediator/) are running. Additionally a small webserver provides an API to control and create the mediators via HTTP-API. These mediators are translating the requests and responses between the SDN-Controller(netconf) and the device(snmp). Because of the restricted snmp protocol (port 162 only) we have to implement a prerouting automatism that forwards the alarms sent by the devices to another local port so that each mediator only gets the alarms of its device.
+The mediator server is the physical device on which multiple instances of the [mediators](mediator/README.md) are running. Additionally a small webserver provides an API to control and create the mediators via HTTP-API. These mediators are translating the requests and responses between the SDN-Controller(netconf) and the device(snmp). Because of the restricted snmp protocol (port 162 only) we have to implement a prerouting automatism that forwards the alarms sent by the devices to another local port so that each mediator only gets the alarms of its device.
 
 
 
index b23e8d9..0bcd0f3 100644 (file)
 {
-       "sdnr": {
-               "nodes": {
-                       "connect": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/connect/0.4.0/README.md",
-                                               "label": "Connect"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/connect/0.4.0/README.md",
-                                               "label": "Connect"
-                                       }
-                               },
-                               "label": "Connect"
-                       },
-                       "pnfFault": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfFault/0.4.0/README.md",
-                                               "label": "pnf Fault"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfFault/0.4.0/README.md",
-                                               "label": "pnf Fault"
-                                       }
-                               },
-                               "label": "pnf Fault"
-                       },
-                       "pnfMaintenance": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-09-13",
-                                               "path": "sdnr/pnfMaintenance/0.4.0/README.md",
-                                               "label": "pnf Maintenance"
-                                       },
-                                       "current": {
-                                               "date": "2018-09-13",
-                                               "path": "sdnr/pnfMaintenance/0.4.0/README.md",
-                                               "label": "pnf Maintenance"
-                                       }
-                               },
-                               "label": "pnf Maintenance"
-                       },
-                       "pnfConfig": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfConfig/0.4.0/README.md",
-                                               "label": "pnf Config"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfConfig/0.4.0/README.md",
-                                               "label": "pnf Config"
-                                       }
-                               },
-                               "label": "pnf Config"
-                       },
-                       "pnfPerformance": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfPerformance/0.4.0/README.md",
-                                               "label": "pnf Performance"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfPerformance/0.4.0/README.md",
-                                               "label": "pnf Performance"
-                                       }
-                               },
-                               "label": "pnf Performance"
-                       },
-                       "pnfInventory": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfInventory/0.4.0/README.md",
-                                               "label": "pnf Inventory"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfInventory/0.4.0/README.md",
-                                               "label": "pnf Inventory"
-                                       }
-                               },
-                               "label": "pnf Inventory"
-                       },
-                       "pnfMediator": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfMediator/0.4.0/README.md",
-                                               "label": "pnf Mediator"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/pnfMediator/0.4.0/README.md",
-                                               "label": "pnf Mediator"
-                                       }
-                               },
-                               "label": "pnf Mediator"
-                       },
-                       "mwtnTest": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/mwtnTest/0.4.0/README.md",
-                                               "label": "LTE RAN Test"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/mwtnTest/0.4.0/README.md",
-                                               "label": "LTE RAN Test"
-                                       }
-                               },
-                               "label": "LTE RAN Test"
-                       },
-                       "mwtnLog": {
-                               "versions": {
-                                       "0.4.0": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/mwtnLog/0.4.0/README.md",
-                                               "label": "Logs"
-                                       },
-                                       "current": {
-                                               "date": "2018-02-24",
-                                               "path": "sdnr/mwtnLog/0.4.0/README.md",
-                                               "label": "Logs"
-                                       }
-                               },
-                               "label": "Logs"
-                       }
-               },
-               "versions": {
-                       "0.4.0": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/README.md",
-                               "label": "SDN-R"
-                       },
-                       "current": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/README.md",
-                               "label": "SDN-R"
-                       }
-               },
-               "label": "SDN-R"
-       },
-       "mediatorserver":{
-               "nodes":{
-                       "installation":{
-                               "versions":{
-                                       "0.4.0":{"date":"","path":"mediatorserver/installation/0.4.0/README.md","label":""},
-                                       "current":{"date":"","path":"mediatorserver/installation/0.4.0/README.md","label":""}
-                               },
-                               "label":"Installation"
-                       },
-                       "mediator":{
-                               "versions":{
-                                       "0.4.0":{"date":"","path":"mediatorserver/mediator/0.4.0/README.md","label":""},
-                                       "current":{"date":"","path":"mediatorserver/mediator/0.4.0/README.md","label":""}
-                               },
-                               "label":"Mediator"
-                       }
-               },
-               "versions":{
-                       "0.4.0":{"date":"","path":"mediatorserver/0.4.0/README.md","label":""},
-                       "current":{"date":"","path":"mediatorserver/0.4.0/README.md","label":""}
-               },
-               "label":"MediatorServer"
-       },
-       "faq": {
-               "versions": {
-                       "0.4.0": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/faq.md",
-                               "label": "FAQ"
-                       },
-                       "current": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/faq.md",
-                               "label": "FAQ"
-                       }
-               },
-               "label": "FAQ"
-       },
-       "abbreviations": {
-               "versions": {
-                       "0.4.0": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/abbreviations.md",
-                               "label": "Abbreviations"
-                       },
-                       "current": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/abbreviations.md",
-                               "label": "Abbreviations"
-                       }
-               },
-               "label": "Abbreviations"
-       },
-       "about": {
-               "versions": {
-                       "0.4.0": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/about.md",
-                               "label": "About"
-                       },
-                       "current": {
-                               "date": "2018-02-24",
-                               "path": "sdnr/0.4.0/about.md",
-                               "label": "About"
-                       }
-               },
-               "label": "About"
-       }
+    "sdnr": {
+        "nodes": {
+            "connect": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/connect/README.md",
+                        "label": "Connect"
+                    },
+                    "current": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/connect/README.md",
+                        "label": "Connect"
+                    }
+                },
+                "label": "Connect"
+            },
+            "pnfFault": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfFault/README.md",
+                        "label": "Fault"
+                    },
+                    "current": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfFault/README.md",
+                        "label": "Fault"
+                    }
+                },
+                "label": "Fault"
+            },
+            "pnfMaintenance": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-09-13",
+                        "path": "sdnr/pnfMaintenance/README.md",
+                        "label": "Maintenance"
+                    },
+                    "current": {
+                        "date": "2018-09-13",
+                        "path": "sdnr/pnfMaintenance/README.md",
+                        "label": "Maintenance"
+                    }
+                },
+                "label": "Maintenance"
+            },
+            "pnfConfig": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfConfig/README.md",
+                        "label": "Config"
+                    },
+                    "current": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfConfig/README.md",
+                        "label": "Config"
+                    }
+                },
+                "label": "Config"
+            },
+            "pnfPerformance": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfPerformance/README.md",
+                        "label": "Performance"
+                    },
+                    "current": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfPerformance/README.md",
+                        "label": "Performance"
+                    }
+                },
+                "label": "Performance"
+            },
+            "pnfInventory": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfInventory/README.md",
+                        "label": "Inventory"
+                    },
+                    "current": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfInventory/README.md",
+                        "label": "Inventory"
+                    }
+                },
+                "label": "Inventory"
+            },
+            "pnfMediator": {
+                "versions": {
+                    "0.4.0": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfMediator/README.md",
+                        "label": "Mediator"
+                    },
+                    "current": {
+                        "date": "2018-02-24",
+                        "path": "sdnr/pnfMediator/README.md",
+                        "label": "Mediator"
+                    }
+                },
+                "label": "Mediator"
+            }
+        },
+        "versions": {
+            "0.4.0": {
+                "date": "2018-02-24",
+                "path": "sdnr/README.md",
+                "label": "SDN-R"
+            },
+            "current": {
+                "date": "2018-02-24",
+                "path": "sdnr/README.md",
+                "label": "SDN-R"
+            }
+        },
+        "label": "SDN-R"
+    },
+    "mediatorserver":{
+        "nodes":{
+            "installation":{
+                "versions":{
+                    "0.4.0":{"date":"","path":"mediatorserver/installation/README.md","label":""},
+                    "current":{"date":"","path":"mediatorserver/installation/README.md","label":""}
+                },
+                "label":"Installation"
+            },
+            "mediator":{
+                "versions":{
+                    "0.4.0":{"date":"","path":"mediatorserver/mediator/README.md","label":""},
+                    "current":{"date":"","path":"mediatorserver/mediator/README.md","label":""}
+                },
+                "label":"Mediator"
+            }
+        },
+        "versions":{
+            "0.4.0":{"date":"","path":"mediatorserver/README.md","label":""},
+            "current":{"date":"","path":"mediatorserver/README.md","label":""}
+        },
+        "label":"MediatorServer"
+    },
+    "faq": {
+        "versions": {
+            "0.4.0": {
+                "date": "2018-02-24",
+                "path": "sdnr/faq.md",
+                "label": "FAQ"
+            },
+            "current": {
+                "date": "2018-02-24",
+                "path": "sdnr/faq.md",
+                "label": "FAQ"
+            }
+        },
+        "label": "FAQ"
+    },
+    "abbreviations": {
+        "versions": {
+            "0.4.0": {
+                "date": "2018-02-24",
+                "path": "sdnr/abbreviations.md",
+                "label": "Abbreviations"
+            },
+            "current": {
+                "date": "2018-02-24",
+                "path": "sdnr/abbreviations.md",
+                "label": "Abbreviations"
+            }
+        },
+        "label": "Abbreviations"
+    }
 }
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/about.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/0.4.0/about.md
deleted file mode 100644 (file)
index 31fd5fe..0000000
+++ /dev/null
@@ -1 +0,0 @@
-ONAP SDN-R | ONF Wireless for ${distversion} - Build: ${buildtime} (${buildno})
\ No newline at end of file
@@ -2,6 +2,7 @@
 
 SDN-R adds features and functionality to the OpenDaylight-based ONAP controller 'SDN-C'. It is built on the Common Controller Framework to control and manage wireless resources. Wireless resources are virtual network functions (e.g. vBBU, vEPC) or physical network functions (e.g. microwave and millimeter wave radios, eNodeB, RRH, DAS equipment).
 
-SDN-R is integrated into ONAP. Therefore it is interfacing with PNFs and VNFs and with other ONAP components, such as A&AI, DCAE and SO.
+SDN-R is integrated into ONAP. Therefore it is interfacing with PNFs and VNFs and with other ONAP components, such as A&AI, DCAE and SO.  
+[See abbreviations](abbreviations.md)
 
-![SDN-R in ONAP](./ONAP-SDN-R.png "SDN-R in ONAP")
\ No newline at end of file
+![SDN-R in ONAP](./ONAP-SDN-R.png "SDN-R in ONAP")
@@ -4,27 +4,20 @@ The 'Connect' application on OpenDaylight provides up-to-date connectivity infor
 
 ## Views
 
-The graphical user interfaces is divided in four sections.
+The graphical user interfaces is divided in three sections.
 
 ### Required Network Elements
 
 Required Network Elements are physical network functions, which are planned or expected in the network. This means the identifier, IP addresses and its required configuration is well-known and available in a planning database or in ONAP A&AI.
 
+This view also offer to manually configure/mount the device with the '+' icon. The SDN controller will then start connecting the Netconf server.
+
 ### Unknown Network Elements
 
 Most of the physical network function support an automatic registration procedure to the SDN controller. It may  happen, that devices are connected to the SDN Controller but not available in planning data. 
 
 It might be a normal occurrence for very cheap devices, where an entire planning process to too expensive. But is may also happen that the identifier used in planning process differ from the identifier currently configured in the device. 
 
-### Mount NetConf Server
-
-The view offer manually configuration of a device. The SDN controller will then start connecting the NetConf server. 
-
 ### Connection Status Log
 
 The log lists the connections status changes between SDN Controller and NetConf servers (devices).
-
-
-## Video
-
-https://youtu.be/QhchzRV2tac
\ No newline at end of file
@@ -1,6 +1,6 @@
 # Frequently asked questions
 
-- - -
+
 
 ## Which browser should I use to operate Opendaylight SDN-R User interface?
 
@@ -49,4 +49,24 @@ grep -anr --include=*.log* "Unable to read NE data for mountpoint" . | grep 2018
 grep -anr --include=*.log* "LKCYFL79Q01M01MSS801" . | grep 2018 >> 09-LKCYFL79Q01M01MSS801.txt
 ```
 
-- - -
+
+## How to report an odlux issue
+
+If you would like to report an odlux issue which you have noticed in the Graphical User Interface, please provide the following information:
+
+1. **Description**: In which application you have noticed the issue?
+
+2. **Environment**: 
+    - Which browser is used and the version of the browser.  eg: *Google chrome - version 71.0.3578.80  / Mozilla Firefox.*
+    - Which Operating system and version. eg: *Linux/ Windows 10 -  version 1803.* 
+    - In which language you are using the application. 
+    - The application URL which is available on the browser address bar.  eg: *http://hostname/odlux/index.html#/connectApp* 
+
+3. **Expected Result**: What is the expected result you are looking for?
+
+4. **Actual Result**: What is the actual result you got?
+
+5. **Steps to reproduce**: Describe the steps to reproduce the scenario. If possible, please provide the screenshots
+The above information helps us to analyze the problem quicker.
+
@@ -10,6 +10,3 @@ The applications are implemented as OpenDaylight-DLUX web application using the
 
 Connections status information are updated automatically due to a web socket for notifications from OpenDaylight to the browser.
 
-## Video
-
-https://youtu.be/QhchzRV2tac
\ No newline at end of file
@@ -8,7 +8,7 @@ The graphical user interface is separated in three views.
 
 ### Current Alarms
 
-It list all current active faults in the network. In addition is also list alarms send by the SDN controller itself, which detects connections losses to the NetConf server (connectionLossOAM) or which detects connection loss to a devices via a mediator to a device (connectionLossNeOAM).
+It list all current active faults in the network. In addition it also list alarms sent by the SDN controller itself, which detects connections losses to the NetConf server (connectionLossOAM) or which detects connection loss to a devices via a mediator to a device (connectionLossNeOAM).
 
 ### Alarm Notifications
 
@@ -16,18 +16,15 @@ As long as the view is open, it lists all alarm notification reached by the SDN
 
 ### Alarm Log
 
-Next to the current active alarms an alarm log list all alarm notifications of the past.
+Next to the current active alarms an alarm log lists all alarm notifications of the past.
 
 ## Implementation
 
-The application has two parts. While the server is listening for NetConf notifications to store them in the data base the client retrieves the information from the data base and displays them in a grid view.
+The application has two parts. While the server is listening for NetConf notifications to store them in the database the client retrieves the information from the database and displays them in a grid view.
 
-The server synchronizes with the current alarm lists of the devices and calculates based on raise and clear notifications the current alarm status of the network. The current alarms are stored in a data base. In addition all Problem Notifications received by the SDN controller are stored. There is no logic implemented on the client.
+The server synchronizes with the current alarm lists of the devices and calculates based on raise and clear notifications the current alarm status of the network. The current alarms are stored in a database. In addition all Problem Notifications received by the SDN controller are stored. There is no logic implemented on the client.
 
 An alarm status bar on top of each graphical user interface informs the operator about the health status of the network.
 
 The OpenDaylight DLUX web application uses web sockets for updating the graphical user interface in case of Problem Notification (devices) and Connection Status Notifications (ODL).
 
-## Video
-
-https://youtu.be/vONKAtFZ8wc
\ No newline at end of file
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfInventory/0.4.0/README.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfInventory/0.4.0/README.md
deleted file mode 100644 (file)
index 4362808..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# Inventory
-
-The application offers basic inventory management of devices supporting ONF-TR-512. 
-
-After selection of a currently connected physical network function, the inventory data - basically serial-numbers and part-numbers are displaced accroding to the containment of the equipment.
-
-## Video
-
-[ONAP / ONF proof of concept](https://cloud-highstreet-technologies.com/nextcloud/index.php/s/m4wFfqkQ1qK3hHe "ONAP / ONF proof of concept")
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfInventory/README.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfInventory/README.md
new file mode 100644 (file)
index 0000000..d8122ad
--- /dev/null
@@ -0,0 +1,21 @@
+# Inventory
+
+The application offers basic inventory management of devices supporting ONF-TR-512. 
+
+The view displays the inventory data of the network element - basically serial-numbers and part-numbers are displaced according to the containment of the equipment.
+
+##### Inventory Export:
+
+As the default pagination size is set to 10, when you export the data only first 10 rows or the first 10 filtered rows shown on the page will be exported to a file.
+The inventory export allows the export of up to 1000 entries, when the pagination size is increased to 1000. 
+So, It is recommended to change the pagination size 'Rows per page' to 1000 if you want to export the complete Inventory data. 
+
+To export the Inventory data:
+The behaviour is different depending on the browser:
+
+a) Some browsers allows you to save the file with the predefined name export.csv. In case your browser does not offer this function please use 'Save as..' 
+   option and define the filename with extension csv. 
+
+b) Some browsers saves the file automatically with the alphanumeric name without an extension. In such case please go to the downloaded file location and rename the file
+   with the extension after the download. (eg: export_file.csv)
+
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMaintenance/0.4.0/README.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMaintenance/0.4.0/README.md
deleted file mode 100644 (file)
index 6f5ab54..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# Maintenance Mode
-
-The 'Maintenance' application on the OpenDaylight provides the information of the Network Elements which are set for Maintenance, currently or in the future.
-
-When a Network Element is mounted with the maintenance mode it automatically shows on this application with the Information like when maintenance will be started or ended.
-
-Maintenance Mode field in this application shows if the Network Element is in maintenance mode currently or not.
-If it is True it means the Network Element is currently undergoing maintenance, If false it means maintenance might have been set for future or maintenance is already completed.
-
-Users have access to disable the Maintenance mode or change the maintenance start and end dates at any point of time by clicking on the Manage checkbox available.
\ No newline at end of file
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMaintenance/README.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfMaintenance/README.md
new file mode 100644 (file)
index 0000000..2deadca
--- /dev/null
@@ -0,0 +1,10 @@
+# Maintenance
+
+The 'Maintenance' application on the OpenDaylight provides the information of the Network Elements which are set for Maintenance, currently or in the future.
+User can manage devices to set the maintenance mode so that no unnecessary alarms are created. 
+When the device is in Maintenace alarms are not forwarded to DCAE and when the device maintenance is turned off the alarms will start flowing again.
+
+'Active' field in this application shows if the Network Element is in maintenance mode currently or not.
+If it is 'active' it means the Network Element is currently undergoing maintenance, If 'not active' it means maintenance might have been set for future or maintenance is already completed.
+
+Users have access to disable the Maintenance mode or change the maintenance start and end dates at any point of time by using the  available options in actions column.
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfPerformance/0.4.0/README.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfPerformance/0.4.0/README.md
deleted file mode 100644 (file)
index a1d3918..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# Performance Monitoring
-
-Performance Monitoring values measured by the devices are necessary to analyze and optimize the network. Therefore the application automatically retrieves all historical performance values from the devices and stores them in a data base. The client part just retrieves the values from the database and displays them in graphical and/or grid views.
-
-## Current performance values
-
-After selection of a connected PNF supporting ONF-TR-532 and an physical interface, the application collects the current performance values directly from the device and displays then in table views. 
-
-## Performance history values
-
-After selection of a connected PNF supporting ONF-TR-532 and an physical interface, the application collects the received and centralized stored performance values for this interface and displays then in table views. 
-
-## Performance link values
-
-After selection of two air-interface creating an air-interface-link, the application collects the received and centralized stored performance values for this link and displays the data in diagrams and table views. 
-
-## Video
-
-https://youtu.be/fgwbKFt9cos
\ No newline at end of file
diff --git a/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfPerformance/README.md b/sdnr/wt/helpserver/provider/src/main/resources/help/sdnr/pnfPerformance/README.md
new file mode 100644 (file)
index 0000000..2db5eda
--- /dev/null
@@ -0,0 +1,8 @@
+# Performance
+
+Performance Monitoring values measured by the devices are necessary to analyze and optimize the network. Therefore the application automatically retrieves all historical performance values from the devices and stores them in a database. The client part just retrieves the values from the database and displays them in graphical user interface.
+
+## Performance history values
+
+After selection of a connected PNF supporting ONF-TR-532 and an physical interface, the application collects the received and centralized stored performance values for this interface and displays them in table views. 
+
index e51cc68..2e4f987 100644 (file)
@@ -120,7 +120,7 @@ public class TestMyServlet extends Mockito {
 
     @Test
     public void testServlet2() {
-        this.testGetRequest("test/0.4.0/test.txt");
+        this.testGetRequest("test/test.txt");
         this.testGetRequest("test.css");
         this.testGetRequest("test.eps");
         this.testGetRequest("test.pdf");
@@ -156,6 +156,6 @@ public class TestMyServlet extends Mockito {
         } catch (Exception e) {
         }
 
-        assertEquals(CONTENT,sw.toString().trim());
+        assertEquals("compare content for "+fn,CONTENT,sw.toString().trim());
     }
 }