summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/core/provider/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/core/provider/src/main')
-rw-r--r--sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexOdluxBundle.java108
-rw-r--r--sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexServlet.java71
-rw-r--r--sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/OdluxBundleLoaderImpl.java125
-rw-r--r--sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/ResFilesServlet.java88
-rw-r--r--sdnr/wt/odlux/core/provider/src/main/resources/OSGI-INF/blueprint/blueprint.xml39
5 files changed, 0 insertions, 431 deletions
diff --git a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexOdluxBundle.java b/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexOdluxBundle.java
deleted file mode 100644
index d335e52c7..000000000
--- a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexOdluxBundle.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 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==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.odlux;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundle;
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleResourceAccess;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class IndexOdluxBundle extends OdluxBundle implements OdluxBundleResourceAccess {
-
- private static Logger LOG = LoggerFactory.getLogger(IndexOdluxBundle.class);
-
- private static final String LR = "\n";
- private static final String BUNDLENAME_APP = "run";
- private static final String regexRequire = "require\\(\\[(\"" + BUNDLENAME_APP + "\")\\]";
- private static final String regexFunction = "function[\\ ]*\\((" + BUNDLENAME_APP + ")\\)[\\ ]*\\{";
- private static final String regexFunctionBody = "(" + BUNDLENAME_APP + "\\.runApplication\\(\\);)";
- private static final Pattern patternRequire = Pattern.compile(regexRequire);
- private static final Pattern patternFunction = Pattern.compile(regexFunction);
- private static final Pattern patternFunctionBody = Pattern.compile(regexFunctionBody);
-
- public IndexOdluxBundle() {
- super(null, BUNDLENAME_APP);
-
- }
- @Override
- protected String loadFileContent(URL url)
- {
- return loadFileContent(url, OdluxBundleLoaderImpl.getInstance().getLoadedBundles(this.getBundleName()));
- }
-
-
- @Override
- public String getResourceFileContent(String fn, List<String> bundleNames) {
- return loadFileContent(this.getResource(fn),bundleNames);
- }
-
- private static String loadFileContent(URL url, List<String> bundlesNamesList) {
- if (url == null) {
- return null;
- }
- LOG.debug("try to load res " + url.toString());
- StringBuilder sb = new StringBuilder();
- Matcher matcher;
- BufferedReader in;
- try {
- in = new BufferedReader(new InputStreamReader(url.openStream()));
-
- String inputLine;
- while ((inputLine = in.readLine()) != null) {
- if (url.getFile().endsWith("index.html")) {
- matcher = patternRequire.matcher(inputLine);
- if (matcher.find()) {
- inputLine = inputLine.substring(0, matcher.start(1)) + "\"" + String.join("\",\"", bundlesNamesList)
- + "\"" + inputLine.substring(matcher.end(1));
- }
- matcher = patternFunction.matcher(inputLine);
- if (matcher.find()) {
- inputLine = inputLine.substring(0, matcher.start(1)) + String.join(",", bundlesNamesList)
- + inputLine.substring(matcher.end(1));
- }
- matcher = patternFunctionBody.matcher(inputLine);
- if (matcher.find()) {
- String hlp = "";
- for (String bundle : bundlesNamesList) {
- if (!bundle.equals(BUNDLENAME_APP)) {
- hlp += bundle + ".register();" + LR;
- }
- }
- inputLine = inputLine.substring(0, matcher.start(1)) + hlp
- + inputLine.substring(matcher.start(1));
- }
- }
- sb.append(inputLine + LR);
- }
- in.close();
- } catch (IOException e) {
- LOG.warn("could not load resfile {} : {}", url, e.getMessage());
- return null;
- }
-
- return sb.toString();
- }
-
-}
diff --git a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexServlet.java b/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexServlet.java
deleted file mode 100644
index d6d466ab9..000000000
--- a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/IndexServlet.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 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==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.odlux;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.nio.file.Files;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class IndexServlet extends HttpServlet {
-
- private static final long serialVersionUID = 3039669437157215355L;
- private static Logger LOG = LoggerFactory.getLogger(IndexServlet.class);
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- if (req.getRequestURI() != null && req.getRequestURI().contains("favicon.ico")) {
- this.sendFile(resp, "etc/favicon.ico","image/x-icon");
- } else {
-
- LOG.debug("redirect to odlux/index.html");
- resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
- resp.setHeader("Location", "odlux/index.html");
- }
- }
-
- private void sendFile(HttpServletResponse response, String filename, String mimeType) {
- File f = new File(filename);
- if (f.exists()) {
- try {
- byte[] bytes = Files.readAllBytes(f.toPath());
- response.setContentType(mimeType);
- response.setContentLength(bytes.length);
- response.setStatus(HttpURLConnection.HTTP_OK);
- OutputStream os = response.getOutputStream();
- os.write(bytes);
- os.flush();
- os.close();
- } catch (IOException e) {
- LOG.debug("problem sending {}: {}", filename, e);
- }
- } else {
- LOG.debug("file not found: {}",filename);
- response.setStatus(HttpURLConnection.HTTP_NOT_FOUND);
- }
- }
-
-}
diff --git a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/OdluxBundleLoaderImpl.java b/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/OdluxBundleLoaderImpl.java
deleted file mode 100644
index 205c96129..000000000
--- a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/OdluxBundleLoaderImpl.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 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==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.odlux;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.ConcurrentSkipListSet;
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundle;
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleLoader;
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleResourceAccess;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OdluxBundleLoaderImpl implements OdluxBundleLoader {
-
- private final static Logger LOG = LoggerFactory.getLogger(OdluxBundleLoaderImpl.class);
-
- private static OdluxBundleLoaderImpl singleton = null;
-
- private Object lock;
- // private List<OdluxBundle> bundles;
- private ConcurrentSkipListSet<OdluxBundle> bundles2;
- private Comparator<OdluxBundle> sortorderbundlecomparator;
-
- public OdluxBundleLoaderImpl() {
- if (singleton != null) {
- LOG.error("Multiple intializations of singleton");
- } else {
- lock = new Object();
- sortorderbundlecomparator = (arg0, arg1) -> {
- int diff = arg0.getIndex() - arg1.getIndex();
- return diff > 0 ? 1 : diff < 0 ? -1 : 0;
- };
- bundles2 = new ConcurrentSkipListSet<>(sortorderbundlecomparator);
-
- singleton = this;
- }
- }
-
- public static OdluxBundleLoaderImpl getInstance() {
- if (singleton == null) {
- LOG.warn("Test initialization order");
- new OdluxBundleLoaderImpl();
- }
- return singleton;
- }
-
- @Override
- public int getNumberOfBundles() {
- synchronized (lock) {
- return this.bundles2.size();
- }
- }
-
- @Override
- public void addBundle(OdluxBundle bundle) {
- LOG.debug("odlux bundle " + bundle.getBundleName() + " added");
- this.bundles2.add(bundle);
-
-
- }
-
- @Override
- public void removeBundle(OdluxBundle bundle) {
- this.bundles2.remove(bundle);
- LOG.debug("odlux bundle " + bundle.getBundleName() + " removed");
-
- }
-
- public List<String> getLoadedBundles(String myBundleName) {
- List<String> list = new ArrayList<>();
- for (OdluxBundle b : bundles2) {
- list.add(b.getBundleName());
- }
- list.add(myBundleName);
- return list;
- }
-
- private List<String> getBundleNames(String myBundleName) {
- final List<String> names = new ArrayList<>();
- for (OdluxBundle b : bundles2) {
- names.add(b.getBundleName());
- }
- names.add(myBundleName);
- return names;
- }
-
- public String getResourceContent(String fn, OdluxBundleResourceAccess indexBundle) {
- String fileContent = null;
-
- if (indexBundle.hasResource(fn)) {
- fileContent = indexBundle.getResourceFileContent(fn, getBundleNames(indexBundle.getBundleName()));
- } else {
- LOG.debug("not found in framework res. try to find in applications");
- final Iterator<OdluxBundle> it = bundles2.iterator();
- while (it.hasNext()) {
- OdluxBundle b = it.next();
- if (b.hasResource(fn)) {
- LOG.debug("found res in " + b.getBundleName());
- fileContent = b.getResourceFileContent(fn);
- break;
- }
- }
- }
- return fileContent;
- }
-
-}
diff --git a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/ResFilesServlet.java b/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/ResFilesServlet.java
deleted file mode 100644
index fe00662aa..000000000
--- a/sdnr/wt/odlux/core/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/odlux/ResFilesServlet.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 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==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.odlux;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleLoader;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResFilesServlet extends HttpServlet {
-
- private static final long serialVersionUID = -6807215213921798293L;
- private static Logger LOG = LoggerFactory.getLogger(ResFilesServlet.class);
-
-
- private final IndexOdluxBundle indexBundle;
-
- public ResFilesServlet() {
- super();
- indexBundle = new IndexOdluxBundle();
- }
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-
- final String fn = req.getRequestURI();
- LOG.debug("Get request with for URI: {}", fn);
-
- OdluxBundleLoader odluxBundleLoader = OdluxBundleLoaderImpl.getInstance();
- if (odluxBundleLoader != null) {
- String fileContent = odluxBundleLoader.getResourceContent(fn, indexBundle);
- if (fileContent != null) {
- //Store header info
- String mimeType = getMimeType(fn);
- byte[] byteContent = fileContent.getBytes(java.nio.charset.StandardCharsets.UTF_8);
- int length = byteContent.length;
-
- LOG.debug("Found file in resources. Name {} mimetype {} length {} and write to output stream", fn, mimeType, length);
- resp.setContentType(mimeType);
- resp.setContentLength(length);
- resp.setStatus(HttpURLConnection.HTTP_OK);
- OutputStream os = resp.getOutputStream();
- os.write(byteContent);
- os.flush();
- os.close();
- } else {
- LOG.debug("File {} not found in res.", fn);
- resp.setStatus(HttpURLConnection.HTTP_NOT_FOUND);
- }
- } else {
- LOG.debug("BundleLoaderInstance to found.", fn);
- resp.setStatus(HttpURLConnection.HTTP_NOT_FOUND);
- }
- }
-
- public String loadFileContent(String filename) {
- return this.indexBundle.getResourceFileContent(filename);
- }
-
- //Provide own function that can be overloaded for test
- public String getMimeType(String fileName) {
- return getServletContext().getMimeType(fileName);
- }
-
-}
diff --git a/sdnr/wt/odlux/core/provider/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/sdnr/wt/odlux/core/provider/src/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100644
index 5dab578de..000000000
--- a/sdnr/wt/odlux/core/provider/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns:jaxrs="http://cxf.apache.org/blueprint/jaxrs">
-
- <bean id="indexServlet"
- class="org.onap.ccsdk.features.sdnr.wt.odlux.IndexServlet">
- </bean>
-
- <service interface="javax.servlet.http.HttpServlet" ref="indexServlet">
- <service-properties>
- <entry key="alias" value="/index2.html" />
- </service-properties>
- </service>
-
- <bean id="indexServlet2"
- class="org.onap.ccsdk.features.sdnr.wt.odlux.IndexServlet">
- </bean>
-
- <service interface="javax.servlet.http.HttpServlet" ref="indexServlet2">
- <service-properties>
- <entry key="alias" value="/favicon.ico" />
- </service-properties>
- </service>
-
- <bean id="resFilesServlet"
- class="org.onap.ccsdk.features.sdnr.wt.odlux.ResFilesServlet">
- </bean>
-
- <service interface="javax.servlet.http.HttpServlet" ref="resFilesServlet">
- <service-properties>
- <entry key="alias" value="/odlux" />
- </service-properties>
- </service>
- <bean id="loadersvc" class="org.onap.ccsdk.features.sdnr.wt.odlux.OdluxBundleLoaderImpl"/>
- <service id="serviceRegistration" interface="org.onap.ccsdk.features.sdnr.wt.odlux.model.bundles.OdluxBundleLoader" ref="loadersvc"/>
-
-</blueprint>