Integrate EPSDK-FW library for auth and users
[portal/ric-dashboard.git] / webapp-backend / src / main / java / org / oransc / ric / portal / dashboard / DashboardApplication.java
index 8c86a60..4819e34 100644 (file)
@@ -19,6 +19,8 @@
  */
 package org.oransc.ric.portal.dashboard;
 
+import java.io.IOException;
+import java.io.InputStream;
 import java.lang.invoke.MethodHandles;
 
 import org.slf4j.Logger;
@@ -28,29 +30,42 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
 
 @SpringBootApplication
-// Limit the annotation scan to the dashboard classes;
-// exclude the generated client classes!
+// Limit scan to dashboard classes; exclude generated API classes
 @ComponentScan("org.oransc.ric.portal.dashboard")
 public class DashboardApplication {
 
        private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
-       public static void main(String[] args) {
+       // Unfortunately these names are not available as constants
+       private static final String[] propertyFiles = { "ESAPI.properties", "key.properties", "portal.properties",
+                       "validation.properties" };
+
+       public static void main(String[] args) throws IOException {
                SpringApplication.run(DashboardApplication.class, args);
+               for (String pf : propertyFiles) {
+                       InputStream in = MethodHandles.lookup().lookupClass().getClassLoader().getResourceAsStream(pf);
+                       if (in == null)
+                               logger.warn("Failed to find property file on classpath: {}", pf);
+                       else
+                               in.close();
+               }
                // Force this onto the console by using level WARN
-               logger.warn("main: version '{}' successful start", getVersion());
+               logger.warn("main: version '{}' successful start",
+                               getImplementationVersion(MethodHandles.lookup().lookupClass()));
        }
 
        /**
-        * Gets version details.
+        * Gets version details for the specified class.
+        * 
+        * @param clazz
+        *                  Class to get the version
         * 
         * @return the value of the MANIFEST.MF property Implementation-Version as
         *         written by maven when packaged in a jar; 'unknown' otherwise.
         */
-       private static String getVersion() {
-               Class<?> clazz = MethodHandles.lookup().lookupClass();
+       public static String getImplementationVersion(Class<?> clazz) {
                String classPath = clazz.getResource(clazz.getSimpleName() + ".class").toString();
-               return classPath.startsWith("jar") ? clazz.getPackage().getImplementationVersion() : "unknown";
+               return classPath.startsWith("jar") ? clazz.getPackage().getImplementationVersion() : "unknown-not-jar";
        }
 
 }