X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=sdnr%2Fwireless-transport%2Fcode-Carbon-SR1%2Fapps%2Fdlux%2Floader%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fdlux%2Floader%2Fimplementation%2FDluxLoaderIndexServlet.java;fp=sdnr%2Fwireless-transport%2Fcode-Carbon-SR1%2Fapps%2Fdlux%2Floader%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fdlux%2Floader%2Fimplementation%2FDluxLoaderIndexServlet.java;h=0000000000000000000000000000000000000000;hb=1c1e7f98416875f3ee78af9103865c32f95a82a0;hp=55929c0bc1e32c536ea7e994e3267519128c4591;hpb=6a893bb0ae984d15076394d9225d4873ad953791;p=ccsdk%2Fapps.git
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/apps/dlux/loader/impl/src/main/java/org/opendaylight/dlux/loader/implementation/DluxLoaderIndexServlet.java b/sdnr/wireless-transport/code-Carbon-SR1/apps/dlux/loader/impl/src/main/java/org/opendaylight/dlux/loader/implementation/DluxLoaderIndexServlet.java
deleted file mode 100644
index 55929c0b..00000000
--- a/sdnr/wireless-transport/code-Carbon-SR1/apps/dlux/loader/impl/src/main/java/org/opendaylight/dlux/loader/implementation/DluxLoaderIndexServlet.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/**
- * Copyright (c) 2014 Inocybe Technologies, and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.dlux.loader.implementation;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
-import org.opendaylight.dlux.loader.Module;
-import org.opendaylight.dlux.loader.exception.DluxLoaderException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-public class DluxLoaderIndexServlet extends HttpServlet{
-
- private static final long serialVersionUID = 1L;
- private static Logger logger = LoggerFactory.getLogger(DluxLoaderIndexServlet.class);
-
- private String DEFINEJS_PROPERTY = "defineJS";
-
- private String REQUIREJS_PROPERTY = "requireJS";
-
- private String ANGULARJS_PROPERTY = "angularJS";
-
- private final String DEFINEJS_START = "var module = [";
-
- private final String REQUIREJS_START = "var deps = [";
-
- private final String ANGULARJS_START = "var e = [";
-
- private final String end = "];";
-
- private final String COMMA_QUOTE = ",\'";
-
- private final String QUOTE = "\'";
-
- private final String NEWLINE = "\n";
-
- private final DluxLoader loader;
-
- private final String UTF_CHARSET = "UTF-8";
-
- private final String JAVASCRIPT_REPLACE_PROPERTY = "javascriptReplaceString";
-
- private final String CSS_REPLACE_PROPERTY = "cssReplaceString";
-
- private final String INDEX_HTML_LOC = "index/index.html";
-
- private final String RESPONSE_CONTENT_TYPE = "text/html";
-
- private final String CSS_LINK_START = "";
-
- private final Properties prop;
-
- private final List indexHTML;
-
- public DluxLoaderIndexServlet(final DluxLoader loader) throws DluxLoaderException {
- Preconditions.checkNotNull(loader, "Loader service can not be null");
- this.loader = loader;
- this.prop = loadProperties();
- this.indexHTML = loadStaticHTML();
- }
-
- private Properties loadProperties() throws DluxLoaderException {
-
- Properties prop = new Properties();
-
- try(InputStream inputStream = DluxLoaderIndexServlet.class.getClassLoader().getResourceAsStream("CommonAppModules.properties")){
- Preconditions.checkNotNull(inputStream, "Could not load the module properties file");
- prop.load(inputStream);
-
- } catch (IOException e) {
- logger.error("Could not load properties from input stream", e);
- throw new DluxLoaderException("Dlux Loader Servlet initialization failed. ", e);
- }
- return prop;
- }
-
- private List loadStaticHTML() throws DluxLoaderException{
- List indexHTMLContent = new ArrayList<>();
- try(InputStream indexHTMLStream = DluxLoaderIndexServlet.class.getClassLoader().getResourceAsStream(INDEX_HTML_LOC);
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(indexHTMLStream, UTF_CHARSET))) {
- String line = bufferedReader.readLine();
- while(line != null) {
- indexHTMLContent.add(line);
- line = bufferedReader.readLine();
- }
-
- } catch (IOException e) {
- logger.error("Could not load index html from input stream", e);
- throw new DluxLoaderException("Dlux Loader Servlet initialization failed. ", e);
- }
- return indexHTMLContent;
- }
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String jsReplace = prop.getProperty(JAVASCRIPT_REPLACE_PROPERTY);
- String cssReplace = prop.getProperty(CSS_REPLACE_PROPERTY);
- Preconditions.checkNotNull(jsReplace, "Global requireJS replace string should be present in properties file");
- Preconditions.checkNotNull(cssReplace, "Global css replace string should be present in properties file");
- Preconditions.checkArgument(indexHTML.size() > 0, "HTML file was not loaded properly at servlet initialization");
-
- StringBuilder inputStringBuilder = new StringBuilder();
- for (String line : this.indexHTML) {
- // add global variables
- if(line.contains(jsReplace)) {
- inputStringBuilder.append(getModulesString());
- inputStringBuilder.append(NEWLINE);
- }
-
- if(line.contains(cssReplace)) {
- inputStringBuilder.append(getCSSString());
- inputStringBuilder.append(NEWLINE);
- }
- inputStringBuilder.append(line);
- inputStringBuilder.append(NEWLINE);
-
- }
- response.setContentType(RESPONSE_CONTENT_TYPE);
- PrintWriter out = response.getWriter();
- out.print(inputStringBuilder.toString());
- }
-
- private String getModulesString() {
- StringBuilder defineJsBuilder = new StringBuilder();
- StringBuilder requireJsBuilder = new StringBuilder();
- StringBuilder angularBuilder = new StringBuilder();
- defineJsBuilder.append(DEFINEJS_START).append(prop.getProperty(DEFINEJS_PROPERTY));
- requireJsBuilder.append(REQUIREJS_START).append(prop.getProperty(REQUIREJS_PROPERTY));
- angularBuilder.append(ANGULARJS_START).append(prop.getProperty(ANGULARJS_PROPERTY));
- for (Module module: loader.getModules()){
- requireJsBuilder.append(COMMA_QUOTE).append(module.getRequireJs()).append(QUOTE);
- angularBuilder.append(COMMA_QUOTE).append(module.getAngularJs()).append(QUOTE);
- }
- defineJsBuilder.append(end).append(NEWLINE);
- requireJsBuilder.append(end).append(NEWLINE);
- angularBuilder.append(end);
-
- return defineJsBuilder.toString() + requireJsBuilder.toString() + angularBuilder.toString();
- }
-
- private String getCSSString() {
- StringBuilder cssBuilder = new StringBuilder();
- for(Module module : loader.getModules()) {
- if(module.getCssDependencies() == null) {
- continue;
- }
- for(String cssDependency : module.getCssDependencies()) {
- cssBuilder.append(CSS_LINK_START).append(cssDependency).append(CSS_LINK_END).append(NEWLINE);
- }
- }
-
- return cssBuilder.toString();
- }
-
- @VisibleForTesting
- public Properties getProp() {
- return this.prop;
- }
-
- @VisibleForTesting
- public List getIndexHTML() {
- return indexHTML;
- }
-}