datarouter-prov code clean - remove tabs
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / Main.java
index 70dbd44..abcd76c 100644 (file)
@@ -7,9 +7,9 @@
  * * Licensed under the Apache License, Version 2.0 (the "License");\r
  * * you may not use this file except in compliance with the License.\r
  * * You may obtain a copy of the License at\r
- * * \r
+ * *\r
  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
+ * *\r
  *  * Unless required by applicable law or agreed to in writing, software\r
  * * distributed under the License is distributed on an "AS IS" BASIS,\r
  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
@@ -63,13 +63,13 @@ import org.onap.dmaap.datarouter.provisioning.utils.ThrottleFilter;
  * </p>\r
  * <ul>\r
  * <li>One background Thread runs the {@link LogfileLoader} in order to process incoming logfiles.\r
- *   This Thread is created as a side effect of the first successful POST to the /internal/logs/ servlet.</li>\r
+ * This Thread is created as a side effect of the first successful POST to the /internal/logs/ servlet.</li>\r
  * <li>One background Thread runs the {@link SynchronizerTask} which is used to periodically\r
- *   synchronize the database between active and standby servers.</li>\r
+ * synchronize the database between active and standby servers.</li>\r
  * <li>One background Thread runs the {@link Poker} which is used to notify the nodes whenever\r
- *   provisioning data changes.</li>\r
+ * provisioning data changes.</li>\r
  * <li>One task is run once a day to run {@link PurgeLogDirTask} which purges older logs from the\r
- *   /opt/app/datartr/logs directory.</li>\r
+ * /opt/app/datartr/logs directory.</li>\r
  * </ul>\r
  * <p>\r
  * The provisioning server is stopped by issuing a GET to the URL http://127.0.0.1/internal/halt\r
@@ -80,165 +80,170 @@ import org.onap.dmaap.datarouter.provisioning.utils.ThrottleFilter;
  * @version $Id: Main.java,v 1.12 2014/03/12 19:45:41 eby Exp $\r
  */\r
 public class Main {\r
-       /** The truststore to use if none is specified */\r
-       public static final String DEFAULT_TRUSTSTORE           = "/opt/java/jdk/jdk180/jre/lib/security/cacerts";\r
-       public static final String KEYSTORE_TYPE_PROPERTY       = "org.onap.dmaap.datarouter.provserver.keystore.type";\r
-       public static final String KEYSTORE_PATH_PROPERTY       = "org.onap.dmaap.datarouter.provserver.keystore.path";\r
-       public static final String KEYSTORE_PASSWORD_PROPERTY   = "org.onap.dmaap.datarouter.provserver.keystore.password";\r
-       public static final String TRUSTSTORE_PATH_PROPERTY     = "org.onap.dmaap.datarouter.provserver.truststore.path";\r
-       public static final String TRUSTSTORE_PASSWORD_PROPERTY = "org.onap.dmaap.datarouter.provserver.truststore.password";\r
-\r
-       /** The one and only {@link Server} instance in this JVM */\r
-       private static Server server;\r
-\r
-       /**\r
-        * Starts the Data Router Provisioning server.\r
-        * @param args not used\r
-        * @throws Exception if Jetty has a problem starting\r
-        */\r
-       public static void main(String[] args) throws Exception {\r
-               Security.setProperty("networkaddress.cache.ttl", "4");\r
-               Logger logger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
-\r
-               // Check DB is accessible and contains the expected tables\r
-               if (! checkDatabase(logger))\r
-                       System.exit(1);\r
-\r
-               logger.info("PROV0000 **** AT&T Data Router Provisioning Server starting....");\r
-\r
-               // Get properties\r
-               Properties p = (new DB()).getProperties();\r
-               int http_port  = Integer.parseInt(p.getProperty("org.onap.dmaap.datarouter.provserver.http.port", "8080"));\r
-               int https_port = Integer.parseInt(p.getProperty("org.onap.dmaap.datarouter.provserver.https.port", "8443"));\r
-\r
-               // HTTP connector\r
-               SelectChannelConnector http = new SelectChannelConnector();\r
-               http.setPort(http_port);\r
-               http.setMaxIdleTime(300000);\r
-               http.setRequestHeaderSize(2048);\r
-               http.setAcceptors(2);\r
-               http.setConfidentialPort(https_port);\r
-               http.setLowResourcesConnections(20000);\r
-\r
-               // HTTPS connector\r
-               SslSelectChannelConnector https = new SslSelectChannelConnector();\r
-               https.setPort(https_port);\r
-               https.setMaxIdleTime(30000);\r
-               https.setRequestHeaderSize(8192);\r
-               https.setAcceptors(2);\r
-\r
-               // SSL stuff\r
-               SslContextFactory cf = https.getSslContextFactory();\r
-               \r
-               /**Skip SSLv3 Fixes*/\r
-               cf.addExcludeProtocols("SSLv3");\r
-               logger.info("Excluded protocols prov-"+cf.getExcludeProtocols());\r
-               /**End of SSLv3 Fixes*/\r
-\r
-               cf.setKeyStoreType(p.getProperty(KEYSTORE_TYPE_PROPERTY, "jks"));\r
-               cf.setKeyStorePath(p.getProperty(KEYSTORE_PATH_PROPERTY));\r
-               cf.setKeyStorePassword(p.getProperty(KEYSTORE_PASSWORD_PROPERTY));\r
-               cf.setKeyManagerPassword(p.getProperty("org.onap.dmaap.datarouter.provserver.keymanager.password"));\r
-               String ts = p.getProperty(TRUSTSTORE_PATH_PROPERTY);\r
-               if (ts != null && ts.length() > 0) {\r
-                       System.out.println("@@ TS -> "+ts);\r
-                       cf.setTrustStore(ts);\r
-                       cf.setTrustStorePassword(p.getProperty(TRUSTSTORE_PASSWORD_PROPERTY));\r
-               } else {\r
-                       cf.setTrustStore(DEFAULT_TRUSTSTORE);\r
-                       cf.setTrustStorePassword("changeit");\r
-               }\r
-               cf.setTrustStore("/opt/app/datartr/self_signed/cacerts.jks");\r
-               cf.setTrustStorePassword("changeit");\r
-               cf.setWantClientAuth(true);\r
-\r
-               // Servlet and Filter configuration\r
-               ServletContextHandler ctxt = new ServletContextHandler(0);\r
-               ctxt.setContextPath("/");\r
-               ctxt.addServlet(new ServletHolder(new FeedServlet()),         "/feed/*");\r
-               ctxt.addServlet(new ServletHolder(new FeedLogServlet()),      "/feedlog/*");\r
-               ctxt.addServlet(new ServletHolder(new PublishServlet()),      "/publish/*");\r
-               ctxt.addServlet(new ServletHolder(new SubscribeServlet()),    "/subscribe/*");\r
-               ctxt.addServlet(new ServletHolder(new StatisticsServlet()),       "/statistics/*");\r
-               ctxt.addServlet(new ServletHolder(new SubLogServlet()),       "/sublog/*");\r
-               ctxt.addServlet(new ServletHolder(new GroupServlet()),            "/group/*"); //Provision groups - Rally US708115 -1610 \r
-               ctxt.addServlet(new ServletHolder(new SubscriptionServlet()), "/subs/*");\r
-               ctxt.addServlet(new ServletHolder(new InternalServlet()),     "/internal/*");\r
-               ctxt.addServlet(new ServletHolder(new RouteServlet()),        "/internal/route/*");\r
-               ctxt.addServlet(new ServletHolder(new DRFeedsServlet()),      "/");\r
-               ctxt.addFilter (new FilterHolder (new ThrottleFilter()),      "/publish/*", FilterMapping.REQUEST);\r
-\r
-               ContextHandlerCollection contexts = new ContextHandlerCollection();\r
-               contexts.addHandler(ctxt);\r
-\r
-               // Request log configuration\r
-               NCSARequestLog nrl = new NCSARequestLog();\r
-               nrl.setFilename(p.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir") + "/request.log.yyyy_mm_dd");\r
-               nrl.setFilenameDateFormat("yyyyMMdd");\r
-               nrl.setRetainDays(90);\r
-               nrl.setAppend(true);\r
-               nrl.setExtended(false);\r
-               nrl.setLogCookies(false);\r
-               nrl.setLogTimeZone("GMT");\r
-\r
-               RequestLogHandler reqlog = new RequestLogHandler();\r
-               reqlog.setRequestLog(nrl);\r
-\r
-               // Server's Handler collection\r
-               HandlerCollection hc = new HandlerCollection();\r
-               hc.setHandlers(new Handler[] { contexts, new DefaultHandler() });\r
-               hc.addHandler(reqlog);\r
-\r
-               // Server's thread pool\r
-               QueuedThreadPool pool = new QueuedThreadPool();\r
-               pool.setMinThreads(10);\r
-               pool.setMaxThreads(200);\r
-               pool.setDetailedDump(false);\r
-\r
-               // Daemon to clean up the log directory on a daily basis\r
-               Timer rolex = new Timer();\r
-               rolex.scheduleAtFixedRate(new PurgeLogDirTask(), 0, 86400000L); // run once per day\r
-\r
-               // Start LogfileLoader\r
-               LogfileLoader.getLoader();\r
-\r
-               // The server itself\r
-               server = new Server();\r
-               server.setThreadPool(pool);\r
-               server.setConnectors(new Connector[] { http, https });\r
-               server.setHandler(hc);\r
-               server.setStopAtShutdown(true);\r
-               server.setSendServerVersion(true);\r
-               server.setSendDateHeader(true);\r
-               server.setGracefulShutdown(5000);       // allow 5 seconds for servlets to wrap up\r
-               server.setDumpAfterStart(false);\r
-               server.setDumpBeforeStop(false);\r
-\r
-               server.start();\r
-               server.join();\r
-               logger.info("PROV0001 **** AT&T Data Router Provisioning Server halted.");\r
-       }\r
-\r
-       private static boolean checkDatabase(Logger logger) {\r
-               DB db = new DB();\r
-               return db.runRetroFits();\r
-       }\r
-\r
-       /**\r
-        * Stop the Jetty server.\r
-        */\r
-       public static void shutdown() {\r
-               new Thread() {\r
-                       @Override\r
-                       public void run() {\r
-                               try {\r
-                                       server.stop();\r
-                                       Thread.sleep(5000L);\r
-                                       System.exit(0);\r
-                               } catch (Exception e) {\r
-                                       // ignore\r
-                               }\r
-                       }\r
-               }.start();\r
-       }\r
+    /**\r
+     * The truststore to use if none is specified\r
+     */\r
+    public static final String DEFAULT_TRUSTSTORE = "/opt/java/jdk/jdk180/jre/lib/security/cacerts";\r
+    public static final String KEYSTORE_TYPE_PROPERTY = "org.onap.dmaap.datarouter.provserver.keystore.type";\r
+    public static final String KEYSTORE_PATH_PROPERTY = "org.onap.dmaap.datarouter.provserver.keystore.path";\r
+    public static final String KEYSTORE_PASSWORD_PROPERTY = "org.onap.dmaap.datarouter.provserver.keystore.password";\r
+    public static final String TRUSTSTORE_PATH_PROPERTY = "org.onap.dmaap.datarouter.provserver.truststore.path";\r
+    public static final String TRUSTSTORE_PASSWORD_PROPERTY = "org.onap.dmaap.datarouter.provserver.truststore.password";\r
+\r
+    /**\r
+     * The one and only {@link Server} instance in this JVM\r
+     */\r
+    private static Server server;\r
+\r
+    /**\r
+     * Starts the Data Router Provisioning server.\r
+     *\r
+     * @param args not used\r
+     * @throws Exception if Jetty has a problem starting\r
+     */\r
+    public static void main(String[] args) throws Exception {\r
+        Security.setProperty("networkaddress.cache.ttl", "4");\r
+        Logger logger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
+\r
+        // Check DB is accessible and contains the expected tables\r
+        if (!checkDatabase(logger))\r
+            System.exit(1);\r
+\r
+        logger.info("PROV0000 **** AT&T Data Router Provisioning Server starting....");\r
+\r
+        // Get properties\r
+        Properties p = (new DB()).getProperties();\r
+        int http_port = Integer.parseInt(p.getProperty("org.onap.dmaap.datarouter.provserver.http.port", "8080"));\r
+        int https_port = Integer.parseInt(p.getProperty("org.onap.dmaap.datarouter.provserver.https.port", "8443"));\r
+\r
+        // HTTP connector\r
+        SelectChannelConnector http = new SelectChannelConnector();\r
+        http.setPort(http_port);\r
+        http.setMaxIdleTime(300000);\r
+        http.setRequestHeaderSize(2048);\r
+        http.setAcceptors(2);\r
+        http.setConfidentialPort(https_port);\r
+        http.setLowResourcesConnections(20000);\r
+\r
+        // HTTPS connector\r
+        SslSelectChannelConnector https = new SslSelectChannelConnector();\r
+        https.setPort(https_port);\r
+        https.setMaxIdleTime(30000);\r
+        https.setRequestHeaderSize(8192);\r
+        https.setAcceptors(2);\r
+\r
+        // SSL stuff\r
+        SslContextFactory cf = https.getSslContextFactory();\r
+\r
+        /**Skip SSLv3 Fixes*/\r
+        cf.addExcludeProtocols("SSLv3");\r
+        logger.info("Excluded protocols prov-" + cf.getExcludeProtocols());\r
+        /**End of SSLv3 Fixes*/\r
+\r
+        cf.setKeyStoreType(p.getProperty(KEYSTORE_TYPE_PROPERTY, "jks"));\r
+        cf.setKeyStorePath(p.getProperty(KEYSTORE_PATH_PROPERTY));\r
+        cf.setKeyStorePassword(p.getProperty(KEYSTORE_PASSWORD_PROPERTY));\r
+        cf.setKeyManagerPassword(p.getProperty("org.onap.dmaap.datarouter.provserver.keymanager.password"));\r
+        String ts = p.getProperty(TRUSTSTORE_PATH_PROPERTY);\r
+        if (ts != null && ts.length() > 0) {\r
+            System.out.println("@@ TS -> " + ts);\r
+            cf.setTrustStore(ts);\r
+            cf.setTrustStorePassword(p.getProperty(TRUSTSTORE_PASSWORD_PROPERTY));\r
+        } else {\r
+            cf.setTrustStore(DEFAULT_TRUSTSTORE);\r
+            cf.setTrustStorePassword("changeit");\r
+        }\r
+        cf.setTrustStore("/opt/app/datartr/self_signed/cacerts.jks");\r
+        cf.setTrustStorePassword("changeit");\r
+        cf.setWantClientAuth(true);\r
+\r
+        // Servlet and Filter configuration\r
+        ServletContextHandler ctxt = new ServletContextHandler(0);\r
+        ctxt.setContextPath("/");\r
+        ctxt.addServlet(new ServletHolder(new FeedServlet()), "/feed/*");\r
+        ctxt.addServlet(new ServletHolder(new FeedLogServlet()), "/feedlog/*");\r
+        ctxt.addServlet(new ServletHolder(new PublishServlet()), "/publish/*");\r
+        ctxt.addServlet(new ServletHolder(new SubscribeServlet()), "/subscribe/*");\r
+        ctxt.addServlet(new ServletHolder(new StatisticsServlet()), "/statistics/*");\r
+        ctxt.addServlet(new ServletHolder(new SubLogServlet()), "/sublog/*");\r
+        ctxt.addServlet(new ServletHolder(new GroupServlet()), "/group/*"); //Provision groups - Rally US708115 -1610\r
+        ctxt.addServlet(new ServletHolder(new SubscriptionServlet()), "/subs/*");\r
+        ctxt.addServlet(new ServletHolder(new InternalServlet()), "/internal/*");\r
+        ctxt.addServlet(new ServletHolder(new RouteServlet()), "/internal/route/*");\r
+        ctxt.addServlet(new ServletHolder(new DRFeedsServlet()), "/");\r
+        ctxt.addFilter(new FilterHolder(new ThrottleFilter()), "/publish/*", FilterMapping.REQUEST);\r
+\r
+        ContextHandlerCollection contexts = new ContextHandlerCollection();\r
+        contexts.addHandler(ctxt);\r
+\r
+        // Request log configuration\r
+        NCSARequestLog nrl = new NCSARequestLog();\r
+        nrl.setFilename(p.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir") + "/request.log.yyyy_mm_dd");\r
+        nrl.setFilenameDateFormat("yyyyMMdd");\r
+        nrl.setRetainDays(90);\r
+        nrl.setAppend(true);\r
+        nrl.setExtended(false);\r
+        nrl.setLogCookies(false);\r
+        nrl.setLogTimeZone("GMT");\r
+\r
+        RequestLogHandler reqlog = new RequestLogHandler();\r
+        reqlog.setRequestLog(nrl);\r
+\r
+        // Server's Handler collection\r
+        HandlerCollection hc = new HandlerCollection();\r
+        hc.setHandlers(new Handler[]{contexts, new DefaultHandler()});\r
+        hc.addHandler(reqlog);\r
+\r
+        // Server's thread pool\r
+        QueuedThreadPool pool = new QueuedThreadPool();\r
+        pool.setMinThreads(10);\r
+        pool.setMaxThreads(200);\r
+        pool.setDetailedDump(false);\r
+\r
+        // Daemon to clean up the log directory on a daily basis\r
+        Timer rolex = new Timer();\r
+        rolex.scheduleAtFixedRate(new PurgeLogDirTask(), 0, 86400000L);    // run once per day\r
+\r
+        // Start LogfileLoader\r
+        LogfileLoader.getLoader();\r
+\r
+        // The server itself\r
+        server = new Server();\r
+        server.setThreadPool(pool);\r
+        server.setConnectors(new Connector[]{http, https});\r
+        server.setHandler(hc);\r
+        server.setStopAtShutdown(true);\r
+        server.setSendServerVersion(true);\r
+        server.setSendDateHeader(true);\r
+        server.setGracefulShutdown(5000);    // allow 5 seconds for servlets to wrap up\r
+        server.setDumpAfterStart(false);\r
+        server.setDumpBeforeStop(false);\r
+\r
+        server.start();\r
+        server.join();\r
+        logger.info("PROV0001 **** AT&T Data Router Provisioning Server halted.");\r
+    }\r
+\r
+    private static boolean checkDatabase(Logger logger) {\r
+        DB db = new DB();\r
+        return db.runRetroFits();\r
+    }\r
+\r
+    /**\r
+     * Stop the Jetty server.\r
+     */\r
+    public static void shutdown() {\r
+        new Thread() {\r
+            @Override\r
+            public void run() {\r
+                try {\r
+                    server.stop();\r
+                    Thread.sleep(5000L);\r
+                    System.exit(0);\r
+                } catch (Exception e) {\r
+                    // ignore\r
+                }\r
+            }\r
+        }.start();\r
+    }\r
 }\r