summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--deliveries/Dockerfile.mariadb8
-rwxr-xr-xdeliveries/os_docker_push.sh8
-rw-r--r--deliveries/portal.cql54
-rw-r--r--deliveries/portalsdk.cql54
-rw-r--r--ecomp-portal-BE-common/pom.xml21
-rw-r--r--ecomp-portal-BE-common/src/main/java/jarutil/ExtractJar.java19
-rw-r--r--ecomp-portal-BE-common/src/main/java/org/onap/portalapp/command/PostSearchBean.java4
-rw-r--r--ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java9
-rw-r--r--ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImplTest.java2
-rw-r--r--ecomp-portal-BE-os/README.md1
-rw-r--r--ecomp-portal-BE-os/pom.xml7
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java41
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppInitializer.java6
-rw-r--r--ecomp-portal-DB-common/PortalDDLMySql_2_1_Common.sql2
-rw-r--r--ecomp-portal-DB-os/PortalDMLMySql_2_1_OS.sql58
-rw-r--r--ecomp-portal-FE-common/client/app/views/functionalMenu/functionalMenu-dialog/menu-details.modal.html2
-rw-r--r--ecomp-portal-widget-ms/widget-ms/pom.xml15
-rw-r--r--pom.xml2
18 files changed, 239 insertions, 74 deletions
diff --git a/deliveries/Dockerfile.mariadb b/deliveries/Dockerfile.mariadb
index 347cc1e0..6d2d6f2e 100644
--- a/deliveries/Dockerfile.mariadb
+++ b/deliveries/Dockerfile.mariadb
@@ -16,7 +16,7 @@ COPY ${DB_SCRIPT_DIR}/PortalDMLMySql_2_1_OS.sql /docker-entrypoint-initdb.d/
# Do not copy the onboarding script here; it's mounted as a volume
# SDK App DDL and DML
-COPY ${DB_SCRIPT_DIR}/EcompSdkDDLMySql_1710_Common.sql /docker-entrypoint-initdb.d/
-COPY ${DB_SCRIPT_DIR}/EcompSdkDDLMySql_1710_OS.sql /docker-entrypoint-initdb.d/
-COPY ${DB_SCRIPT_DIR}/EcompSdkDMLMySql_1710_Common.sql /docker-entrypoint-initdb.d/
-COPY ${DB_SCRIPT_DIR}/EcompSdkDMLMySql_1710_OS.sql /docker-entrypoint-initdb.d/
+COPY ${DB_SCRIPT_DIR}/EcompSdkDDLMySql_2_2_Common.sql /docker-entrypoint-initdb.d/
+COPY ${DB_SCRIPT_DIR}/EcompSdkDDLMySql_2_2_OS.sql /docker-entrypoint-initdb.d/
+COPY ${DB_SCRIPT_DIR}/EcompSdkDMLMySql_2_2_Common.sql /docker-entrypoint-initdb.d/
+COPY ${DB_SCRIPT_DIR}/EcompSdkDMLMySql_2_2_OS.sql /docker-entrypoint-initdb.d/
diff --git a/deliveries/os_docker_push.sh b/deliveries/os_docker_push.sh
index 39035199..0978ad83 100755
--- a/deliveries/os_docker_push.sh
+++ b/deliveries/os_docker_push.sh
@@ -13,7 +13,11 @@ if [ -z "$PORTAL_VERSION" ]; then
fi
TIMESTAMP=$(date +%C%y%m%dT%H%M%S)
-export VERSION="${PORTAL_VERSION}-${TIMESTAMP}"
-export LATEST="latest"
+# commenting the following two configurations as lf team preferred the uncommented format below
+#export VERSION="${PORTAL_VERSION}-${TIMESTAMP}"
+#export LATEST="latest"
+
+export VERSION="${PORTAL_VERSION}-STAGING-${TIMESTAMP}"
+export LATEST="${PORTAL_VERSION}-STAGING-latest"
exec ./os_docker_base.sh
diff --git a/deliveries/portal.cql b/deliveries/portal.cql
new file mode 100644
index 00000000..6cb62713
--- /dev/null
+++ b/deliveries/portal.cql
@@ -0,0 +1,54 @@
+CREATE KEYSPACE IF NOT EXISTS portal
+ WITH REPLICATION = {
+ 'class' : 'SimpleStrategy',
+ 'replication_factor': 1
+ }
+ AND DURABLE_WRITES = true;
+
+
+CREATE TABLE portal.spring_session (
+ primary_id text PRIMARY KEY,
+ creation_time text,
+ expiry_time text,
+ last_access_time text,
+ max_inactive_interval text,
+ principal_name text,
+ session_id text,
+ vector_ts text
+) WITH bloom_filter_fp_chance = 0.01
+ AND caching = {'keys': 'ALL', 'rows_per_partition': '10'}
+ AND comment = ''
+ AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
+ AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
+ AND crc_check_chance = 1.0
+ AND dclocal_read_repair_chance = 0.1
+ AND default_time_to_live = 0
+ AND gc_grace_seconds = 864000
+ AND max_index_interval = 2048
+ AND memtable_flush_period_in_ms = 0
+ AND min_index_interval = 128
+ AND read_repair_chance = 0.0
+ AND speculative_retry = '99PERCENTILE';
+
+
+CREATE TABLE portal.spring_session_attributes (
+ primary_id text,
+ attribute_name text,
+ attribute_bytes blob,
+ vector_ts text,
+ PRIMARY KEY (primary_id, attribute_name)
+) WITH CLUSTERING ORDER BY (attribute_name ASC)
+ AND bloom_filter_fp_chance = 0.01
+ AND caching = {'keys': 'ALL', 'rows_per_partition': '1'}
+ AND comment = ''
+ AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
+ AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
+ AND crc_check_chance = 1.0
+ AND dclocal_read_repair_chance = 0.1
+ AND default_time_to_live = 0
+ AND gc_grace_seconds = 864000
+ AND max_index_interval = 2048
+ AND memtable_flush_period_in_ms = 0
+ AND min_index_interval = 128
+ AND read_repair_chance = 0.0
+ AND speculative_retry = '99PERCENTILE';
diff --git a/deliveries/portalsdk.cql b/deliveries/portalsdk.cql
new file mode 100644
index 00000000..62da5dd7
--- /dev/null
+++ b/deliveries/portalsdk.cql
@@ -0,0 +1,54 @@
+CREATE KEYSPACE IF NOT EXISTS portalsdk
+ WITH REPLICATION = {
+ 'class' : 'SimpleStrategy',
+ 'replication_factor': 1
+ }
+ AND DURABLE_WRITES = true;
+
+
+CREATE TABLE portalsdk.spring_session (
+ primary_id text PRIMARY KEY,
+ creation_time text,
+ expiry_time text,
+ last_access_time text,
+ max_inactive_interval text,
+ principal_name text,
+ session_id text,
+ vector_ts text
+) WITH bloom_filter_fp_chance = 0.01
+ AND caching = {'keys': 'ALL', 'rows_per_partition': '10'}
+ AND comment = ''
+ AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
+ AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
+ AND crc_check_chance = 1.0
+ AND dclocal_read_repair_chance = 0.1
+ AND default_time_to_live = 0
+ AND gc_grace_seconds = 864000
+ AND max_index_interval = 2048
+ AND memtable_flush_period_in_ms = 0
+ AND min_index_interval = 128
+ AND read_repair_chance = 0.0
+ AND speculative_retry = '99PERCENTILE';
+
+
+CREATE TABLE portalsdk.spring_session_attributes (
+ primary_id text,
+ attribute_name text,
+ attribute_bytes blob,
+ vector_ts text,
+ PRIMARY KEY (primary_id, attribute_name)
+) WITH CLUSTERING ORDER BY (attribute_name ASC)
+ AND bloom_filter_fp_chance = 0.01
+ AND caching = {'keys': 'ALL', 'rows_per_partition': '1'}
+ AND comment = ''
+ AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
+ AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
+ AND crc_check_chance = 1.0
+ AND dclocal_read_repair_chance = 0.1
+ AND default_time_to_live = 0
+ AND gc_grace_seconds = 864000
+ AND max_index_interval = 2048
+ AND memtable_flush_period_in_ms = 0
+ AND min_index_interval = 128
+ AND read_repair_chance = 0.0
+ AND speculative_retry = '99PERCENTILE';
diff --git a/ecomp-portal-BE-common/pom.xml b/ecomp-portal-BE-common/pom.xml
index 7cdc7968..733a1017 100644
--- a/ecomp-portal-BE-common/pom.xml
+++ b/ecomp-portal-BE-common/pom.xml
@@ -340,7 +340,7 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
- <version>3.17</version>
+ <version>3.15</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -355,7 +355,7 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
- <version>3.17</version>
+ <version>3.15</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -402,6 +402,16 @@
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.0.8</version>
+ <exclusions>
+ <exclusion>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcprov-jdk14</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>bouncycastle</groupId>
+ <artifactId>bcmail-jdk14</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- Quartz -->
<dependency>
@@ -547,7 +557,7 @@
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
- <version>1.9.2</version>
+ <version>1.9.3</version>
</dependency>
<dependency>
<groupId>com.ecwid.consul</groupId>
@@ -633,11 +643,6 @@
<version>${springframework.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-queryparser</artifactId>
- <version>7.2.1</version>
- </dependency>
- <dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.10</version>
diff --git a/ecomp-portal-BE-common/src/main/java/jarutil/ExtractJar.java b/ecomp-portal-BE-common/src/main/java/jarutil/ExtractJar.java
index 50e2720e..1cba2d0d 100644
--- a/ecomp-portal-BE-common/src/main/java/jarutil/ExtractJar.java
+++ b/ecomp-portal-BE-common/src/main/java/jarutil/ExtractJar.java
@@ -38,7 +38,6 @@
package jarutil;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -48,27 +47,29 @@ import java.io.Writer;
import java.net.URL;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+
public class ExtractJar {
- public static int bufferSize = 8192;
- public static String JARFILE = "raptor_upgrade.jar";
+ public static final int bufferSize = 8192;
+ public static final String jarFile = "raptor_upgrade.jar";
+ private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ExtractJar.class);
public static void main(String[] args) throws Exception {
if (args.length > 0 && args[0] != null && args[0].length() > 0)
extractFilesFromJar(args[0]);
else {
- System.out.println("Current Directory is taken as webapp path");
+ logger.info("Current Directory is taken as webapp path");
String currentDir = new File(".").getAbsolutePath();
extractFilesFromJar(currentDir);
}
}
public static void extractFilesFromJar(String directory) throws IOException {
- // JarFile jar = new JarFile(jarFile);
+
Class clazz = ExtractJar.class;
String classContainer = clazz.getProtectionDomain().getCodeSource().getLocation().toString();
- // System.out.println("classContainer ---------> " + classContainer);
URL jarUrl = clazz.getProtectionDomain().getCodeSource().getLocation();
JarInputStream entryStream = new JarInputStream(jarUrl.openStream());
@@ -78,7 +79,7 @@ public class ExtractJar {
if (entry == null)
break;
if (entry.getName().indexOf("jarutil") < 0) {
- System.out.println(entry.getName());
+ logger.info(entry.getName());
File file = new File(directory, entry.getName());
if (entry.isDirectory()) {
if (!file.exists())
@@ -115,7 +116,7 @@ public class ExtractJar {
}
public static void copy(InputStream in, OutputStream out, long byteCount) throws IOException {
- byte buffer[] = new byte[bufferSize];
+ byte[] buffer = new byte[bufferSize];
int len = bufferSize;
if (byteCount >= 0) {
while (byteCount > 0) {
@@ -144,7 +145,7 @@ public class ExtractJar {
* Copy Reader to Writer for byteCount bytes or until EOF or exception.
*/
public static void copy(Reader in, Writer out, long byteCount) throws IOException {
- char buffer[] = new char[bufferSize];
+ char[] buffer = new char[bufferSize];
int len = bufferSize;
if (byteCount >= 0) {
while (byteCount > 0) {
diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/command/PostSearchBean.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/command/PostSearchBean.java
index 6fc8f2a5..f376d6da 100644
--- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/command/PostSearchBean.java
+++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/command/PostSearchBean.java
@@ -91,8 +91,7 @@ public class PostSearchBean extends SearchBase {
setSortBy1("");
setSortBy1Orig("");
-
- //setSortByList(...);
+
} // PostSearchBean
@@ -365,6 +364,7 @@ public class PostSearchBean extends SearchBase {
this.postFinancialLocCode = postFinancialLocCode;
}
+ @Override
public void resetSearch() {
super.resetSearch();
setUser(new EPUser());
diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java
index 678672b1..a2226944 100644
--- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java
+++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImpl.java
@@ -1507,7 +1507,12 @@ public class ExternalAccessRolesServiceImpl implements ExternalAccessRolesServic
return roleFunc;
roleFunc = checkIfPipesExitsInFunctionCode(cenV2RoleFunction);
} else {
- roleFunc = getRoleFuncList.get(0);
+ // Check even if single record have pipes
+ if (!getRoleFuncList.isEmpty() && getRoleFuncList.get(0).getCode().contains(FUNCTION_PIPE)) {
+ roleFunc = checkIfPipesExitsInFunctionCode(getRoleFuncList.get(0));
+ } else {
+ roleFunc = getRoleFuncList.get(0);
+ }
}
} catch (Exception e) {
logger.error(EELFLoggerDelegate.errorLogger, "getRoleFunction: failed", e);
@@ -3434,8 +3439,8 @@ public class ExternalAccessRolesServiceImpl implements ExternalAccessRolesServic
@Override
public List<CentralRole> convertV2CentralRoleListToOldVerisonCentralRoleList(List<CentralV2Role> v2CenRoleList) {
List<CentralRole> cenRoleList = new ArrayList<>();
- SortedSet<CentralRoleFunction> cenRoleFuncList = new TreeSet<>();
for(CentralV2Role v2CenRole : v2CenRoleList){
+ SortedSet<CentralRoleFunction> cenRoleFuncList = new TreeSet<>();
for(CentralV2RoleFunction v2CenRoleFunc: v2CenRole.getRoleFunctions()){
CentralRoleFunction roleFunc = new CentralRoleFunction(v2CenRoleFunc.getCode(), v2CenRoleFunc.getName());
cenRoleFuncList.add(roleFunc);
diff --git a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImplTest.java b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImplTest.java
index bb408b26..295ba74b 100644
--- a/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImplTest.java
+++ b/ecomp-portal-BE-common/src/test/java/org/onap/portalapp/portal/service/ExternalAccessRolesServiceImplTest.java
@@ -533,7 +533,7 @@ public class ExternalAccessRolesServiceImplTest {
.thenReturn(getRoleFuncList);
CentralV2RoleFunction actual = externalAccessRolesServiceImpl.getRoleFunction("test_type|type_code|*",
app.getUebKey());
- assertEquals(getCenRole.getCode(), actual.getCode());
+ assertEquals("type_code", actual.getCode());
}
@Test
diff --git a/ecomp-portal-BE-os/README.md b/ecomp-portal-BE-os/README.md
index 6ca4b1ed..06f9ae3d 100644
--- a/ecomp-portal-BE-os/README.md
+++ b/ecomp-portal-BE-os/README.md
@@ -15,6 +15,7 @@ https://www.eclipse.org/m2e-wtp/
## Release Notes
Version 2.2
+- [PORTAL-179] wrong menu available to App Admin User
- [PORTAL-207] Raise 4 % percentage (from 44 to 48) sonar code coverage for ONAP PORTAL
- [PORTAL-136] Raise JUnit test coverage ONAP Portal to 50% for Beijing
- [PORTAL-133] replace ECOMP to ONAP on Contact Us and Get Access page
diff --git a/ecomp-portal-BE-os/pom.xml b/ecomp-portal-BE-os/pom.xml
index 3eae6860..ed42c061 100644
--- a/ecomp-portal-BE-os/pom.xml
+++ b/ecomp-portal-BE-os/pom.xml
@@ -386,7 +386,7 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
- <version>3.17</version>
+ <version>3.15</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -401,7 +401,7 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
- <version>3.17</version>
+ <version>3.15</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
@@ -609,7 +609,7 @@
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
- <version>1.9.2</version>
+ <version>1.9.3</version>
</dependency>
<!-- OpenID Connect Dependencies -->
<dependency>
@@ -656,6 +656,7 @@
<groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-music</artifactId>
<version>${epsdk.version}</version>
+ <classifier>jar-with-dependencies</classifier>
<exclusions>
<exclusion>
<groupId>org.onap.music</groupId>
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java
index c059a01c..c3fdf0a9 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java
@@ -128,17 +128,17 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
@Autowired
private DataAccessService dataAccessService;
-
+
@Autowired
private UserRolesService userRolesService;
-
+
@Autowired
private ExternalAccessRolesService externalAccessRolesService;
private RegistryAdapter schedulerRegistryAdapter;
- String UEB_APP_KEY = PortalApiProperties.getProperty(PortalApiConstants.UEB_APP_KEY);
-
+ String uebAppKey = PortalApiProperties.getProperty(PortalApiConstants.UEB_APP_KEY);
+
public ViewResolver viewResolver() {
return super.viewResolver();
}
@@ -162,14 +162,14 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
MDC.put(MDC_SERVICE_INSTANCE_ID, "");
MDC.put(MDC_ALERT_SEVERITY, AlarmSeverityEnum.INFORMATIONAL.severity());
MDC.put(MDC_INSTANCE_UUID, SystemProperties.getProperty(SystemProperties.INSTANCE_UUID));
- if(remotecentralizedsystemaccess.equalsIgnoreCase("true")){
+ if("true".equalsIgnoreCase(remotecentralizedsystemaccess)){
importFromExternalAuth();
}
} catch (Exception e) {
logger.error(EELFLoggerDelegate.errorLogger, "init failed", e);
}
}
-
+
/**
* Does a sync on functions, roles and role functions based on namespace
* for all the centralized applications between AAF and ONAP, updates
@@ -182,7 +182,7 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
List<EPApp> appList;
//to get all centralized apps
List<EPApp> centralizedAppList = dataAccessService.executeNamedQuery("getCentralizedApps", null, null);
- if(centralizedAppList != null && centralizedAppList.size() > 0){
+ if(centralizedAppList != null && !centralizedAppList.isEmpty()){
for(int i = 0; i < centralizedAppList.size(); i++){
//syncRoles(does a sync on functions, roles and role functions)
externalAccessRolesService.syncApplicationRolesWithEcompDB(centralizedAppList.get(i));
@@ -199,7 +199,7 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
for(int k = 0; k < aafUserList.length(); k++){
EPUser user = null;
List<EPUser> usersList = null;
- List<EPUserApp> userRolesList = new ArrayList<EPUserApp>();
+ List<EPUserApp> userRolesList = new ArrayList<>();
JSONObject userRole = (JSONObject) aafUserList.get(k);
Gson gson = new Gson();
ExternalAuthUserRole userRoleObj = gson.fromJson(userRole.toString(), ExternalAuthUserRole.class);
@@ -210,36 +210,32 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
Map<String, String> orgUserId = new HashMap<>();
orgUserId.put("orgUserIdValue", userRoleObj.getUser());
usersList = dataAccessService.executeNamedQuery("epUserAppId", orgUserId, null);
- if(usersList != null && usersList.size() > 0){
+ if(usersList != null && !usersList.isEmpty()){
user = usersList.get(0);
}
if(user == null){
// add user to fn_user(needs to be revisited after getting user info from AAF PORTAL-172)
}
- //for each role and user in that role, check if user exists in fn_user_role. If not, add
- /*userRolesList = userRolesService.getUserRolesList(centralizedAppList.get(0).getId(), user.getId(), Long.valueOf(externalRoleDescription.getId()));
- if(userRolesList == null || userRolesList.isEmpty()){
- // add userRole to fn_user_role(needs to be revisited after getting user info from AAF PORTAL-172)
- }*/
}
}
-
+
}
}
}
}
}
-
+
public DataAccessService dataAccessService() {
return super.dataAccessService();
}
+ @Override
public String[] tileDefinitions() {
return super.tileDefinitions();
}
public List<String> addTileDefinitions() {
- List<String> definitions = new ArrayList<String>();
+ List<String> definitions = new ArrayList<>();
definitions.add("/WEB-INF/defs/definitions.xml");
return definitions;
}
@@ -266,7 +262,7 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
@Bean
public org.onap.portalsdk.core.auth.LoginStrategy coreLoginStrategy() {
- if (SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM).trim().equalsIgnoreCase("OIDC"))
+ if ("OIDC".equalsIgnoreCase(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM).trim()))
return new OpenIdConnectLoginStrategy();
else
return new SimpleLoginStrategy();
@@ -275,7 +271,7 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
@Bean
public LoginStrategy loginStrategy() {
- if (SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM).trim().equalsIgnoreCase("OIDC"))
+ if ("OIDC".equalsIgnoreCase(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM).trim()))
return new OpenIdConnectLoginStrategy();
else
return new SimpleLoginStrategy();
@@ -287,13 +283,6 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
@Override
public void addInterceptors(InterceptorRegistry registry) {
- // registry.addInterceptor(new
- // StaticResourcesInterceptor()).addPathPatterns("/index.htm",
- // "/applicationsHome", "/widgetsHome", "/admins", "/users",
- // "/applications", "/widgets");
- // Excludes login/logout pages and REST endpoints used by other
- // application servers.
-
registry.addInterceptor(sessionTimeoutInterceptor()).excludePathPatterns("/oid-login", "/portalApi/healthCheck",
"/portalApi/healthCheck/", "/portalApi/healthCheckSuspend", "/portalApi/healthCheckSuspend/",
"/portalApi/healthCheckResume", "/portalApi/healthCheckResume/", "/login_external",
diff --git a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppInitializer.java b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppInitializer.java
index 62051b1d..1c3c5ceb 100644
--- a/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppInitializer.java
+++ b/ecomp-portal-BE-os/src/main/java/org/onap/portalapp/conf/ExternalAppInitializer.java
@@ -51,11 +51,7 @@ public class ExternalAppInitializer extends AppInitializer{
@Override
protected Class<?>[] getServletConfigClasses() {
-// Class<?>[] configClasses = super.getServletConfigClasses();
-// Class<?>[] additionalConfigClasses = Arrays.copyOf(configClasses, configClasses.length);
-// addConfigClass(additionalConfigClasses, ExternalAppConfig.class);
-// return additionalConfigClasses;
-//
+
return new Class[] {ExternalAppConfig.class};
}
diff --git a/ecomp-portal-DB-common/PortalDDLMySql_2_1_Common.sql b/ecomp-portal-DB-common/PortalDDLMySql_2_1_Common.sql
index fd3828a4..cabca678 100644
--- a/ecomp-portal-DB-common/PortalDDLMySql_2_1_Common.sql
+++ b/ecomp-portal-DB-common/PortalDDLMySql_2_1_Common.sql
@@ -1755,4 +1755,4 @@ add constraint sys_c0014618 foreign key (user_id) references fn_user(user_id);
alter table fn_menu_favorites
add constraint sys_c0014619 foreign key (menu_id) references fn_menu_functional(menu_id);
-commit; \ No newline at end of file
+commit;
diff --git a/ecomp-portal-DB-os/PortalDMLMySql_2_1_OS.sql b/ecomp-portal-DB-os/PortalDMLMySql_2_1_OS.sql
index 18d79fa8..eb1564e2 100644
--- a/ecomp-portal-DB-os/PortalDMLMySql_2_1_OS.sql
+++ b/ecomp-portal-DB-os/PortalDMLMySql_2_1_OS.sql
@@ -3,7 +3,18 @@
-- First run the common Opensource DML; then run this file to add The Opensource only data
USE portal;
-set foreign_key_checks=1;
+set foreign_key_checks=1;
+
+--- update fn_menu for roles
+UPDATE fn_menu
+SET function_cd = 'menu_acc_admin'
+WHERE label = 'Roles';
+
+--- update fn_menu for users
+UPDATE fn_menu
+SET function_cd = 'menu_acc_admin'
+WHERE label = 'Users';
+
-- fn_user
Insert into fn_user (USER_ID, ORG_ID, MANAGER_ID,FIRST_NAME,MIDDLE_NAME,LAST_NAME,PHONE,FAX,CELLULAR,EMAIL,ADDRESS_ID,ALERT_METHOD_CD,HRID,ORG_USER_ID,ORG_CODE,LOGIN_ID,LOGIN_PWD,LAST_LOGIN_DATE,ACTIVE_YN,CREATED_ID,CREATED_DATE,MODIFIED_ID,MODIFIED_DATE,IS_INTERNAL_YN,ADDRESS_LINE_1,ADDRESS_LINE_2,CITY,STATE_CD,ZIP_CODE,COUNTRY_CD,LOCATION_CLLI,ORG_MANAGER_USERID,COMPANY,DEPARTMENT_NAME,JOB_TITLE,TIMEZONE,DEPARTMENT,BUSINESS_UNIT,BUSINESS_UNIT_NAME,COST_CENTER,FIN_LOC_CODE,SILO_STATUS) values (1,NULL,NULL,'Demo',NULL,'User',NULL,NULL,NULL,'demo@openecomp.org',NULL,NULL,NULL,'demo',NULL,'demo','4Gl6WL1bmwviYm+XZa6pS1vC0qKXWtn9wcZWdLx61L0=','2016-10-20 15:11:16','Y',NULL,'2016-10-14 21:00:00',1,'2016-10-20 15:11:16','N',NULL,NULL,NULL,'NJ',NULL,'US',NULL,NULL,NULL,NULL,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL);
@@ -89,7 +100,24 @@ insert into ep_app_function (app_id, function_cd, function_name) values
(1, 'url|saveNotification|*','publish notifications'),
(1, 'url|url_role.htm|*','role page'),
(1, 'url|url_welcome.htm|*','welcome page'),
-(1, 'menu|menu_acc_admin|*','Admin Acc Menu');
+(1, 'menu|menu_acc_admin|*','Admin Account Menu'),
+(1,'url|addWebAnalyticsReport|*','Add Web Analytics Report'),
+(1,'url|appsFullList|*','Apps Full List'),
+(1,'url|centralizedApps|*','Centralized Apps'),
+(1,'url|functionalMenu|*','Functional Menu'),
+(1,'url|getAllWebAnalytics|*','Get All Web Analytics'),
+(1,'url|getFunctionalMenuRole|*','Get Functional Menu Role'),
+(1,'url|getNotificationAppRoles|*','Get Notification App Roles'),
+(1,'url|getUserAppsWebAnalytics|*','Get User Apps Web Analytics'),
+(1,'url|getUserJourneyAnalyticsReport|*','Get User Journey Report'),
+(1,'url|get_roles%2f%2a|*','getRolesOfApp'),
+(1,'url|get_role_functions%2f%2a|*','Get Role Functions'),
+(1,'url|notification_code|*','Notification Code'),
+(1,'url|role_function_list%2fsaveRoleFunction%2f%2a|*','Save Role Function'),
+(1,'url|syncRoles|*','SyncRoles'),
+(1,'url|userAppRoles|*','userAppRoles'),
+(1,'url|userApps|*','User Apps')
+;
insert into ep_app_role_function (id, app_id, role_id, function_cd, role_app_id) values
@@ -99,15 +127,27 @@ insert into ep_app_role_function (id, app_id, role_id, function_cd, role_app_id)
(4, 1, 1, 'menu|menu_logout|*', null),
(5, 1, 16, 'url|login|*', null),
(6, 1, 16, 'menu|menu_home|*', null),
-(7, 1, 16, 'menu|menu_logout|*', null),
+(7, 1, 16, 'menu|menu_logout|*', null),
(8, 1, 950, 'url|edit_notification|*', null),
(9, 1, 950, 'url|getAdminNotifications|*', null),
-(10, 1, 950, 'url|saveNotification|*', null),
-(11, 1, 999, 'url|edit_notification|*', null),
-(12, 1, 999, 'url|getAdminNotifications|*', null),
-(13, 1, 999, 'menu|menu_admin|*', null),
-(14, 1, 1010, 'menu|menu_web_analytics|*', null),
+(10,1, 950, 'url|saveNotification|*', null),
+(11,1, 999,'url|userAppRoles|*', null),
+(12,1, 999, 'url|getAdminNotifications|*', null),
+(13,1, 999,'url|userApps|*', null),
+(14,1, 1010, 'menu|menu_web_analytics|*', null),
(15, 1, 2115, 'menu|menu_web_analytics|*', null),
(16, 1 , 1, 'menu|menu_acc_admin|*' , null),
-(17, 1 , 999 ,'menu|menu_acc_admin|*', null);
+(17, 1 , 999 ,'menu|menu_acc_admin|*', null),
+(18,1,999,'url|centralizedApps|*', null),
+(19,1,999,'url|getAllWebAnalytics|*', null),
+(20,1,999,'url|getFunctionalMenuRole|*', null),
+(21,1,999,'url|getNotificationAppRoles|*', null),
+(22,1,999,'url|getUserAppsWebAnalytics|*', null),
+(23,1,999,'url|getUserJourneyAnalyticsReport|*', null),
+(24,1,999,'url|get_roles%2f%2a|*', null),
+(25,1,999,'url|get_role_functions%2f%2a|*', null),
+(26,1,999,'url|notification_code|*', null),
+(27,1,999,'url|role_function_list%2fsaveRoleFunction%2f%2a|*', null),
+(28,1,999,'url|syncRoles|*', null);
+
commit; \ No newline at end of file
diff --git a/ecomp-portal-FE-common/client/app/views/functionalMenu/functionalMenu-dialog/menu-details.modal.html b/ecomp-portal-FE-common/client/app/views/functionalMenu/functionalMenu-dialog/menu-details.modal.html
index 508db70a..cb29ef73 100644
--- a/ecomp-portal-FE-common/client/app/views/functionalMenu/functionalMenu-dialog/menu-details.modal.html
+++ b/ecomp-portal-FE-common/client/app/views/functionalMenu/functionalMenu-dialog/menu-details.modal.html
@@ -60,7 +60,7 @@
<div class="span6" >
<div class="item-label">Title</div>
- <input id="input-title" ddh-reset ng-readonly="!functionalMenuDetails.formEditable ? 'checked':'' " placeholder="Enter text"class="functionalMenu-height" ng-model="functionalMenuDetails.menutitle" type="text" name="text"/>
+ <input id="input-title" ddh-reset ng-readonly="!functionalMenuDetails.formEditable ? 'checked':'' " placeholder="Enter text"class="functionalMenu-height" ng-model="functionalMenuDetails.menutitle" type="text" name="text" maxlength="100"/>
<div id="div-error-conflict" class="error-container" ng-show="functionalMenuDetails.conflictMessages.text">
<small id="msg-error-conflict" id="functionalMenuDetails-input-title-conflict" class="err-message" ng-bind="functionalMenuDetails.conflictMessages.text"></small>
</div>
diff --git a/ecomp-portal-widget-ms/widget-ms/pom.xml b/ecomp-portal-widget-ms/widget-ms/pom.xml
index a3c5546e..5d8896c2 100644
--- a/ecomp-portal-widget-ms/widget-ms/pom.xml
+++ b/ecomp-portal-widget-ms/widget-ms/pom.xml
@@ -152,6 +152,21 @@
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ <version>2.8.10</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>2.8.10</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.8.10</version>
+ </dependency>
</dependencies>
<build>
diff --git a/pom.xml b/pom.xml
index c1b07e00..d3571b3c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
<!-- Jenkins should invoke mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
<build.number>0</build.number>
<epsdk.version>2.2.0-SNAPSHOT</epsdk.version>
- <springframework.version>4.2.2.RELEASE</springframework.version>
+ <springframework.version>4.2.3.RELEASE</springframework.version>
<hibernate.version>4.3.11.Final</hibernate.version>
<fasterxml.version>2.8.10</fasterxml.version>
<eelf.version>1.0.0</eelf.version>