Added Sonar fixe for JetttyServer.java
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / server / JettyServer.java
index 4d06310..748eedc 100644 (file)
@@ -45,7 +45,7 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 
-import org.onap.dmaap.dbcapi.aaf.database.LoadSchema;
+import org.onap.dmaap.dbcapi.database.LoadSchema;
 import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
 /**
  * A  Jetty server which supports:
@@ -54,15 +54,24 @@ import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
  *  - static html pages (for documentation).
  */
 public class JettyServer extends BaseLoggingClass {
+       private Server server;
+
+
+       public Server getServer() {
+               return server;
+       }
 
     public JettyServer( Properties params ) throws Exception {
 
-        Server server = new Server();
+        server = new Server();
        int httpPort = Integer.valueOf(params.getProperty("IntHttpPort", "80" ));
                int sslPort = Integer.valueOf(params.getProperty("IntHttpsPort", "443" ));
                boolean allowHttp = Boolean.valueOf(params.getProperty("HttpAllowed", "false"));
        serverLogger.info( "port params: http=" + httpPort + " https=" + sslPort );
        serverLogger.info( "allowHttp=" + allowHttp );
+        String keystore=null;
+        String keystorePwd = null;
+        String keyPwd = null;
         
         // HTTP Server
 
@@ -73,50 +82,50 @@ public class JettyServer extends BaseLoggingClass {
 
        
        
-        ServerConnector httpConnector = new ServerConnector(server, new HttpConnectionFactory(http_config));
-        httpConnector.setPort(httpPort);  
-        httpConnector.setIdleTimeout(30000);
-  
-        
-        // HTTPS Server
-        HttpConfiguration https_config = new HttpConfiguration(http_config);
-        https_config.addCustomizer(new SecureRequestCustomizer());
-        SslContextFactory sslContextFactory = new SslContextFactory();
-        String keystore = params.getProperty("KeyStoreFile", "etc/keystore");
-        logger.info( "https Server using keystore at " + keystore );
-        String keystorePwd = params.getProperty( "KeyStorePassword", "changeit");
-        String keyPwd = params.getProperty("KeyPassword", "changeit");
-
-        sslContextFactory.setKeyStorePath(keystore);
-        sslContextFactory.setKeyStorePassword(keystorePwd);
-        sslContextFactory.setKeyManagerPassword(keyPwd);     
-
-  
-               ServerConnector sslConnector = null;
-               if ( sslPort != 0 ) {
-                       sslConnector = new ServerConnector(server,
-                                       new SslConnectionFactory(sslContextFactory, "http/1.1"),
-                                       new HttpConnectionFactory(https_config));
-                       sslConnector.setPort(sslPort);
-               if ( allowHttp ) {
-               logger.info("Starting httpConnector on port " + httpPort );
-               logger.info("Starting sslConnector on port " +   sslPort + " for https");
-                       server.setConnectors( new Connector[] { httpConnector, sslConnector });
-               } else {
-               logger.info("NOT starting httpConnector because HttpAllowed param is " + allowHttp  );  
-               logger.info("Starting sslConnector on port " +   sslPort + " for https");
-                       server.setConnectors( new Connector[] { sslConnector });        
-               }
+        try(ServerConnector httpConnector = new ServerConnector(server, new HttpConnectionFactory(http_config))) {
+                       httpConnector.setPort(httpPort);
+                       httpConnector.setIdleTimeout(30000);
+
+
+                       // HTTPS Server
+
+                       HttpConfiguration https_config = new HttpConfiguration(http_config);
+                       https_config.addCustomizer(new SecureRequestCustomizer());
+                       SslContextFactory sslContextFactory = new SslContextFactory();
+                       keystore = params.getProperty("KeyStoreFile", "etc/keystore");
+                       logger.info("https Server using keystore at " + keystore);
+                       keystorePwd = params.getProperty("KeyStorePassword", "changeit");
+                       keyPwd = params.getProperty("KeyPassword", "changeit");
+
+
+                       sslContextFactory.setKeyStorePath(keystore);
+                       sslContextFactory.setKeyStorePassword(keystorePwd);
+                       sslContextFactory.setKeyManagerPassword(keyPwd);
+
+
+                       if (sslPort != 0) {
+                try(ServerConnector sslConnector = new ServerConnector(server,
+                                               new SslConnectionFactory(sslContextFactory, "http/1.1"),
+                                               new HttpConnectionFactory(https_config))) {
+                    sslConnector.setPort(sslPort);
+                    if (allowHttp) {
+                        logger.info("Starting httpConnector on port " + httpPort);
+                        logger.info("Starting sslConnector on port " + sslPort + " for https");
+                        server.setConnectors(new Connector[]{httpConnector, sslConnector});
+                    } else {
+                        logger.info("NOT starting httpConnector because HttpAllowed param is " + allowHttp);
+                        logger.info("Starting sslConnector on port " + sslPort + " for https");
+                        server.setConnectors(new Connector[]{sslConnector});
+                    }
+                }
+                       } else {
+                               serverLogger.info("NOT starting sslConnector on port " + sslPort + " for https");
+                               if (allowHttp) {
+                                       serverLogger.info("Starting httpConnector on port " + httpPort);
+                                       server.setConnectors(new Connector[]{httpConnector});
+                               }
+                       }
                }
-               else {
-            serverLogger.info("NOT starting sslConnector on port " +   sslPort + " for https");
-               if ( allowHttp ) {
-               serverLogger.info("Starting httpConnector on port " + httpPort );
-                       server.setConnectors( new Connector[] { httpConnector });
-                       } 
-        } 
  
         // Set context for servlet.  This is shared for http and https
                ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
@@ -136,9 +145,13 @@ public class JettyServer extends BaseLoggingClass {
         try {
 
             serverLogger.info("Starting jetty server");
-               server.start();
-               server.dumpStdErr();
-            server.join();
+               String unit_test = params.getProperty("UnitTest", "No");
+            serverLogger.info("UnitTest=" + unit_test);
+                       if ( unit_test.equals( "No" ) ) {
+                       server.start();
+                       server.dumpStdErr();
+               server.join();
+                       }
         } catch ( Exception e ) {
                errorLogger.error( "Exception " + e );
                errorLogger.error( "possibly unable to use keystore " + keystore + " with passwords " + keystorePwd +  " and " + keyPwd );