Exclude unneeded classes so app will start 35/18335/1
authorChristopher Lott (cl778h) <clott@research.att.com>
Wed, 11 Oct 2017 15:33:47 +0000 (11:33 -0400)
committerChris Lott <cl778h@att.com>
Wed, 11 Oct 2017 18:53:59 +0000 (18:53 +0000)
1. The webapp fails to start in WindRiver (same docker image works in Rackspace).
   Extend app configuration to exclude unneeded class where the error happens.
2. Use MariaDB connector; drop Mysql connector.

Issue: DMAAP-159, PORTAL-20
Change-Id: I203e0d463308011eb18085974001118958a2abaf
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
(cherry picked from commit 4c9cbdc7bf459490fe75d60ff3676e6ce34eb6b1)

dcae_dmaapbc_webapp/dbca-common/src/test/java/org/openecomp/dcae/dmaapbc/model/DcaeLocationTest.java [new file with mode: 0644]
dcae_dmaapbc_webapp/dbca-os/pom.xml
dcae_dmaapbc_webapp/dbca-os/src/main/java/org/openecomp/portalapp/conf/ExternalAppConfig.java
dcae_dmaapbc_webapp/dbca-os/src/main/resources/portal.properties
dcae_dmaapbc_webapp/dbca-os/src/main/webapp/WEB-INF/conf/system.properties

diff --git a/dcae_dmaapbc_webapp/dbca-common/src/test/java/org/openecomp/dcae/dmaapbc/model/DcaeLocationTest.java b/dcae_dmaapbc_webapp/dbca-common/src/test/java/org/openecomp/dcae/dmaapbc/model/DcaeLocationTest.java
new file mode 100644 (file)
index 0000000..9cc3350
--- /dev/null
@@ -0,0 +1,46 @@
+package org.openecomp.dcae.dmaapbc.model;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.openecomp.dcae.dmaapbc.model.DmaapObject.Dmaap_Status;
+
+/**
+ * Trivial POJO test.
+ */
+public class DcaeLocationTest {
+
+       // superclass
+       final String lastMod = "lastMod";
+       final Dmaap_Status status = Dmaap_Status.NEW;
+       // class
+       final String clli = "clli";
+       final String dcaeLayer = "dcaeLayer";
+       final String dcaeLocationName = "dcaeLocationName";
+       final String openStackAvailabilityZone = "openStackAvailabilityZone";
+       
+       @Test
+       public void testModel() throws Exception {
+               DcaeLocation model = new DcaeLocation();
+               model.setLastMod(lastMod);
+               model.setStatus(status);
+               model.setClli(clli);
+               model.setDcaeLayer(dcaeLayer);
+               model.setDcaeLocationName(dcaeLocationName);
+               model.setOpenStackAvailabilityZone(openStackAvailabilityZone);
+               checkValues(model);
+               
+               model = new DcaeLocation( lastMod,  status,  clli,  dcaeLayer,  dcaeLocationName,
+                                openStackAvailabilityZone);
+               checkValues(model);
+       }
+
+       private void checkValues(DcaeLocation model) {
+               Assert.assertEquals(lastMod, model.getLastMod());
+               Assert.assertEquals(status,  model.getStatus());
+               Assert.assertEquals(clli,  model.getClli());
+               Assert.assertEquals(dcaeLayer,  model.getDcaeLayer());
+               Assert.assertEquals(dcaeLocationName,  model.getDcaeLocationName());
+               Assert.assertEquals(openStackAvailabilityZone,  model.getOpenStackAvailabilityZone());
+       }
+
+}
index 78eaad9..adeceac 100644 (file)
                <repository>
                        <!-- Snapshots repository has ECOMP snapshot artifacts -->
                        <id>ecomp-snapshots</id>
-                       <url>${nexusproxy}/${snapshotNexusPath}</url>
+                       <url>${nexusproxy}${snapshotNexusPath}</url>
                </repository>
                <repository>
                        <!-- Releases repository has ECOMP release artifacts -->
                        <id>ecomp-releases</id>
-                       <url>${nexusproxy}/${releaseNexusPath}</url>
+                       <url>${nexusproxy}${releaseNexusPath}</url>
                </repository>
        </repositories>
 
                                                                <exclude>app/fusionapp/**</exclude>
                                                                <exclude>app/fusion/ase/**</exclude>
                                                                <exclude>app/fusion/external/angular-1.5/**</exclude>
+                                                               <!-- do NOT exclude app/fusion/external/ebz -->
                                                                <exclude>app/fusion/external/gis/**</exclude>
                                                                <exclude>app/fusion/external/leaflet-0.7.3/**</exclude>
                                                                <exclude>app/fusion/external/lodash/**</exclude>
                                                                <exclude>app/fusion/external/samples/**</exclude>
                                                                <exclude>app/fusion/external/showdown/**</exclude>
                                                                <exclude>app/fusion/notebook-integration/**</exclude>
-                                                               <exclude>static/fusion/**</exclude>
-                                                               <exclude>static/js/**</exclude>
+                                                               <exclude>static/fusion/raptor</exclude>
+                                                               <exclude>static/fusion/sample</exclude>
+                                                               <!-- do NOT exclude static/js/** -->
                                                                <exclude>META-INF/MANIFEST.MF</exclude>
                                                                <exclude>WEB-INF/fusion/raptor/**</exclude>
                                                                <!-- do NOT exclude WEB-INF/fusion/jsp -->
+                                                               <!-- do NOT exclude WEB-INF/fusion/orm -->
                                                        </excludes>
                                                </overlay>
                                        </overlays>
                                </exclusion>
                        </exclusions>
                </dependency>
-               <!-- Use Mysql in ONAP -->
+               <!-- Use Mariadb in ONAP -->
                <dependency>
-                       <groupId>mysql</groupId>
-                       <artifactId>mysql-connector-java</artifactId>
-                       <version>5.1.22</version>
+                       <groupId>org.mariadb.jdbc</groupId>
+                       <artifactId>mariadb-java-client</artifactId>
+                       <version>1.5.8</version>
                </dependency>
        </dependencies>
-       
+
        <distributionManagement>
                <!-- The id below must match your .m2/settings.xml/servers/server/id -->
                <repository>
                        <url>http://maven.restlet.com</url>
                </pluginRepository>
        </pluginRepositories>
-       
+
 </project>
index 4988857..ddb4bc2 100644 (file)
@@ -22,8 +22,6 @@ package org.openecomp.portalapp.conf;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.openecomp.portalapp.controller.sample.ElasticSearchController;
-import org.openecomp.portalapp.controller.sample.PostDroolsController;
 import org.openecomp.portalapp.lm.FusionLicenseManagerImpl;
 import org.openecomp.portalapp.login.LoginStrategyImpl;
 import org.openecomp.portalapp.scheduler.LogRegistry;
@@ -34,10 +32,7 @@ import org.openecomp.portalsdk.core.lm.FusionLicenseManager;
 import org.openecomp.portalsdk.core.lm.FusionLicenseManagerUtils;
 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.openecomp.portalsdk.core.objectcache.AbstractCacheManager;
-import org.openecomp.portalsdk.core.scheduler.CoreRegister;
-import org.openecomp.portalsdk.core.scheduler.CronRegistry;
 import org.openecomp.portalsdk.core.service.DataAccessService;
-import org.openecomp.portalsdk.core.service.PostDroolsService;
 import org.openecomp.portalsdk.core.util.CacheManager;
 import org.openecomp.portalsdk.core.util.SystemProperties;
 import org.springframework.context.annotation.Bean;
@@ -54,16 +49,30 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 
 /**
- * ECOMP Portal SDK sample application. ECOMP Portal SDK core AppConfig class to
- * reuse interceptors, view resolvers and other features defined there.
+ * Configures Spring features in the DMaaP Bus Control web application.
+ * Subclasses the ECOMP Portal SDK core AppConfig class to reuse interceptors,
+ * view resolvers and other features defined there.
  */
 @Configuration
 @EnableWebMvc
 @ComponentScan(basePackages = "org.openecomp",
                // Exclude unused annotated classes with heavy dependencies.
-               excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = { CoreRegister.class,
-                               CronRegistry.class, ElasticSearchController.class, LogRegistry.class, PostDroolsController.class,
-                               PostDroolsService.class }))
+               excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = {
+                               // EPSDK-Analytics
+                               org.openecomp.portalsdk.analytics.system.fusion.adapter.FusionAdapter.class,
+                               org.openecomp.portalsdk.analytics.system.fusion.adapter.RaptorAdapter.class,
+                               org.openecomp.portalsdk.analytics.system.fusion.web.RaptorController.class,
+                               org.openecomp.portalsdk.analytics.system.fusion.web.RaptorControllerAsync.class,
+                               org.openecomp.portalsdk.analytics.system.fusion.DbUtils.class,
+                               // EPSDK-App-Common
+                               org.openecomp.portalapp.controller.sample.ElasticSearchController.class, 
+                               LogRegistry.class, 
+                               org.openecomp.portalapp.controller.sample.PostDroolsController.class,
+                               // EPSDK-Core
+                               org.openecomp.portalsdk.core.scheduler.CoreRegister.class,
+                               org.openecomp.portalsdk.core.scheduler.CronRegistry.class,
+                               org.openecomp.portalsdk.core.service.PostDroolsService.class 
+                               }))
 @Profile("src")
 @EnableAsync
 @EnableScheduling
index c559a0c..6bbc0a4 100644 (file)
@@ -7,8 +7,11 @@ portal.api.prefix = /api
 max.idle.time = 5
 user.attribute.name = user_attribute
 
+# Redirect thru portal; this property is required by ebz_header.jsp
+ecomp_redirect_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/login.htm
+
 # URL of the ECOMP Portal REST API
-ecomp_rest_url = http://ecomp.homer.onap.org/ecompportal/auxapi
+ecomp_rest_url = http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/auxapi
 
 #Use REST API instead of UEB to fetch the functional menu data
 use_rest_for_functional_menu=true
index 0ee0ef3..f75150f 100644 (file)
@@ -3,7 +3,7 @@
 app_display_name = DMaaP Bus Ctlr
 
 db.driver = org.mariadb.jdbc.Driver
-db.connectionURL = jdbc:mysql://hostname.onap.org.:3306/dbca
+db.connectionURL = jdbc:mariadb://localhost:3306/dbca_os
 db.userName = dbca_user
 db.password = dbca_pass
 db.hib.dialect = org.hibernate.dialect.MySQLDialect