diff options
271 files changed, 3300 insertions, 4777 deletions
diff --git a/aai-traversal/ajsc-shared-config/README.txt b/aai-traversal/ajsc-shared-config/README.txt deleted file mode 100644 index a82eb64..0000000 --- a/aai-traversal/ajsc-shared-config/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -The ajsc-shared-config folder is included in the service project to provide the functionality of the AJSC_SHARED_CONFIG -location that will exist in CSI envs. This includes the logback.xml for logging configurations, and some csm related -artifacts necessary for proper functionality of the csm framework within the CSI env. Within the 2 profiles that can -be utilized to run the AJSC locally, "runLocal" and "runAjsc", the system propery, "AJSC_SHARED_CONFIG", has been set -to point to this directory. The files in this folder will NOT be copied/moved anywhere within the AJSC SWM package. These -files will already be in existence within the CSI env.
\ No newline at end of file diff --git a/aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml b/aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml deleted file mode 100644 index 047da14..0000000 --- a/aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml +++ /dev/null @@ -1,107 +0,0 @@ -<!-- - - ============LICENSE_START======================================================= - org.onap.aai - ================================================================================ - Copyright © 2017 AT&T Intellectual Property. All rights reserved. - ================================================================================ - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ============LICENSE_END========================================================= - - ECOMP is a trademark and service mark of AT&T Intellectual Property. - ---> -<configuration scan="true" scanPeriod="3 seconds" debug="true"> - <property name="logDirectory" value="${AJSC_HOME}/log" /> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>ERROR</level> - </filter> - <encoder> - <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n - </pattern> - </encoder> - </appender> - - <appender name="INFO" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>DEBUG</level> - </filter> - <file>${logDirectory}/info_ajsc.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/info_ajsc.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> - </encoder> - </appender> - <appender name="ERROR" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>ERROR</level> - </filter> - <file>${logDirectory}/error_ajsc.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/error_ajsc.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> --> - <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> - </encoder> - </appender> - - <appender name="AJSC-AUDIT" class="ch.qos.logback.classic.net.SyslogAppender"> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>INFO</level> - </filter> - <syslogHost>localhost</syslogHost> - <facility>USER</facility> - <!-- Note the colon character below - it is important part of "TAG" message - format You need a colon to determine where the TAG field ends and the CONTENT - begins --> - <suffixPattern>AJSC_AUDIT: [%thread] [%logger] %msg</suffixPattern> - </appender> - <appender name="CONTROLLER-AUDIT" class="ch.qos.logback.classic.net.SyslogAppender"> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>INFO</level> - </filter> - <syslogHost>localhost</syslogHost> - <facility>USER</facility> - <!-- Note the colon character below - it is important part of "TAG" message - format You need a colon to determine where the TAG field ends and the CONTENT - begins --> - <suffixPattern>AJSC_AUDIT: [%thread] [%logger] mdc:[%mdc] %msg - </suffixPattern> - </appender> - - <root level="off"> - <appender-ref ref="ERROR" /> - <appender-ref ref="INFO" /> - <appender-ref ref="STDOUT" /> - </root> -</configuration> diff --git a/aai-traversal/ajsc-shared-config/etc/csm-config-app.properties b/aai-traversal/ajsc-shared-config/etc/csm-config-app.properties deleted file mode 100644 index b4d0476..0000000 --- a/aai-traversal/ajsc-shared-config/etc/csm-config-app.properties +++ /dev/null @@ -1,183 +0,0 @@ -Global.ExtendedProperty.AuthoritativeServers=${ChangeMe_csm.acfshost}:${ChangeMe_csm.acfsport} - -# -# The settings in this file control the behavior of the CSM Framework. -# The majority of the settings in this file adhere to the following -# pattern: -# -# [EntityType].[EntityId].[PropertyName]=[PropertyValue] -# -# Where: -# -# [EntityType] Identifies the type of entity (service or -# service group) that's being configured. -# [EntityId] Identifies the individual entity. -# [PropertyName] Identifies the property that is being set. -# [PropertyValue] Is the actual property value. -# -# In the formatting sample above, the EntityType can be setto one of the -# following values: -# -# * 'Service' if an individual service is being configured. -# * 'Group 'if a service group is being configured. -# -# The reference to 'entity' in the above description is intentionally -# generic. The CSM Framework supports the configuration of individual -# services as well as groups of services. The type of entity that is -# actually being configured is determined by the value of the -# [EntityType] portion of the property. -# -# There are two values for [EntityId] that have a special meaning within -# the CSM Framework: -# -# -# DefaultService - Identifies the default configuration for any service -# that is not explicitly configured elsewhere in this file. -# -# DefaultServiceGroup - This identifies the entity that provides the -# default configuration for any service group that is not explicitly -# configured elsewhere in this file. -# -# DO NOT use either of these as the identifier for any of your -# application-specific services or service groups. -# -# The CSM Framework treats all entity identifiers in a case-insensitive -# manner. The entity ids 'Service1' and 'SERVICE1' are equivalant. All -# properties with the same [EntityId] will be applied to the same -# configuration. The CSM Framework framework also treats property names -# in a case-insensitive manner. 'MaxRequestCount' and 'MAXREQUESTCOUNT' -# are considered equivalent within the CSM framework. -# -# The following properties are supported by the CSM Framework. Any -# properties that are entity-specific will include the '[EntityId].' -# prefix. -# -# [EntityType].[EntityId].Enabled - Indicates if the entity is enabled -# or disabled by default. The value of this property must be either -# 'true' or 'false'. -# -# [EntityType].[EntityId].MaxRequestCount - The maximum number of -# requests that can be running at any point in time. Once this limit is -# reached, the service is considered to be 'flooded', and subsequent -# requests are refused until the request count drops to the level -# specified by the RestartThreshold property. Once the restart -# threshold is reached, the service will be 'restarted' based on the -# values of the 'RestartFrequency' and 'RestartIncrement' properties. -# The value of this property must be a numeric value. -# The default value for this property is 20. -# -# [EntityType].[EntityId].MaxStalledRequestCount - the maximum number of -# 'stalled' requests that are allowed before subsequent requests are -# refused -# The value of this property must be a numeric value. -# The default value for this property is 10. -# -# [EntityType].[EntityId].RestartThreshold - the process count level at -# which requests will be allowed to proceed whenever a service becomes -# 'flooded'. This property is only used if the total process count -# reaches the level set by the 'MaxRequestCount' property. Once that -# occurs, subsequent requests will be refused until the active request -# count drops to the level specified by this property. Once the active -# request count drops to the level specified by this property, the -# service will be 'restarted' based on the values of the -# 'RestartFrequency' and 'RestartIncrement' properties. To cause the -# CSM framework to allow subsequent requests to proceed as soon as the -# active request count drops below level level set by the -# 'MaxRequestCount' property, just set this property to either -1 or 1 -# less than the value of the 'MaxRequestCount' property. -# The value of this property must be a numeric value. -# The default value for this property is -1. -# -# [EntityType].[EntityId].RestartIncrement - This property, along with -# the 'RestartFrequency' property helps determine how quickly the active -# request count will rise to the 'maximum request count' whenever a -# service is 'restarted' after becoming 'flooded'. The -# 'RestartFrequency' property determines how frequenty the permissable -# number of active requests will be increased. This property determines -# how much the permissible number of active requests will increase by -# whenever it is raised. If this property is set to a positive value, -# then the 'RestartFrequency' property must also be set to a positive -# value. If this property is set to 0, then the 'RestartFrequency' -# property must also be set to 0. In other words, either both -# properties are 0 or both properties are greater than 0. When both -# properties are set to 0, then the permissable number of active -# requests immediately rises back up to the maximum request count once -# it has droppedback down to the 'restart threshold'. When both -# properties are greater than 0, then the permissable number of active -# requests gradually rises to the maximum request count. -# The value of this property must be a numeric value greater than or equal to 0. -# The default value for this property is 0. -# -# [EntityType].[EntityId].RestartFrequency - This property, along with -# the 'RestartIncrement' property helps determine how quickly the active -# request count will rise to the 'maximum request count' whenever a -# service is 'restarted' after becoming 'flooded'. The -# 'RestartIncrement' property determines how quickly the permissable -# number of active requests will be increased. This property determines -# how frequently that increase will occur. If this property is set to -# a positive value, then the 'RestartIncrement' property must also be -# set to a positive value. If this property is set to 0, then the -# 'RestartIncrement' property must also be set to 0. In other words, -# either both properties are 0 or both properties are greater than 0. -# When both properties are set to 0, then the permissable number of -# active requests immediately rises back up to the maximum request count -# once it has droppedback down to the 'restart threshold'. When both -# properties are greater than 0, then the permissable number of active -# requests gradually rises to the maximum request count. -# The value of this property must be a numeric value greater than or equal to 0. -# The default value for this property is 0. -# -# [EntityType].[EntityId].ServiceGroupId - This property is only -# relevant for entities that are configured as services (i.e. the -# [EntityType] portion of the property is set to 'Service'). When the -# 'ServiceGroupId' property is set to a non-blank value, the behavior of -# the service is controled by the configuration of the corresponding -# service group. There is no default value for this property. -# -# [EntityType].[EntityId].Timeout - the timeout, in milliseconds, for -# each process that is controlled by this configuration. Once the -# duration of a process exceeds this value, the process will be -# considered to have entered a 'stalled' state. The default value for -# this property is 10000. -# -# FrameworkEnabled: - This is the one property that is not specific to a -# single entity. This property determines whether the entire CSM -# Framework is enabled or disabled. When disabled, the CSM Framework -# does not track any process counts. All requests to access a service -# are allowed, regardless of the current level of activity. The value -# of this property must be either 'true' or 'false'. -# - -# -# Enables the CSM Framework so that it can manage interactions with external -# services and/or resources. To disable the CSM Framework, simply set -# this property to false. -# -FrameworkEnabled=true - -# -# These are the default settings for any service that is no explicitly configured -# below. A few things to note about this configuration: -# 1) The "Enabled" property is not explicitly set. Instead, we are relying -# on the default value of 'true'. -# 2) The Timeout and Type properties are also not explicitly set. Again, we -# are relying on the default values for these properties. -# -Service.DefaultService.Enabled=true -Service.DefaultService.MaxRequestCount=30 -Service.DefaultService.MaxStalledRequestCount=20 -Service.DefaultService.Timeout=30000 -Service.DefaultService.RestartThreshold=-1 -Service.DefaultService.AutoPurgeAfter=150000 - - -# -# These are the default settings for any service group that is referenced in -# a service configuration but not configured below. -# -# Currently CSI does not use any service group configurations! -# -#Group.DefaultGroup.MaxRequestCount=-1 -#Group.DefaultGroup.MaxStalledRequestCount=-1 -#Group.DefaultGroup.RestartThreshold=-1 -#Group.DefaultGroup.Timeout=-1 diff --git a/aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties b/aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties deleted file mode 100644 index 140fde3..0000000 --- a/aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties +++ /dev/null @@ -1,11 +0,0 @@ -# The csm-persist-to property identifies the file that the CSM Framework -# will write the current configuration to whenever it is told to save it's -# configuration. -# -#csm-persist-to=/opt/app/myapplication/csm.properties.persisted - -#Important . Please specify absolute path starting from the root directory for Property csm-persist-to -#(Giving relative path may result in undesired results in case the applcation is restarted from a different directory than the original start directory ) -#In the following example , relative path is specfied since the directory structure varies on diff env - -csm-persist-to=/opt/app/q103csi1m8/DATA/${ChangeMe_RELEASE}/${ChangeMe_CLUSTER}_ACFS_csm.properties.persisted diff --git a/aai-traversal/antBuild/build.xml b/aai-traversal/antBuild/build.xml deleted file mode 100644 index 346380c..0000000 --- a/aai-traversal/antBuild/build.xml +++ /dev/null @@ -1,228 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project> - <target name="runLocal"> - <java dir="${basedir}" fork="yes" newenvironment="true" - failonerror="true" classname="com.att.ajsc.runner.Runner"> - <classpath - path="${classpath}:${basedir}/ajsc-shared-config/etc:${runAjscHome}/lib/ajsc-runner-${ajscRuntimeVersion}.jar" /> - - <!-- Windows Users may need to add a jvmarg arg to create a temp directory - properly. --> - <!-- <jvmarg value="-Djava.io.tmpdir=C:/yourTempDirectory"/> --> - - <!-- Uncomment the following 2 jvmarg values to enable Remote Debugging. - --> - <!-- <jvmarg value="-Xdebug" /> --> - <!-- <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" - /> --> - - <jvmarg value="-XX:MaxPermSize=512m" /> - <jvmarg value="-Xmx1024m" /> - - <!-- Main ajsc Variables below (Variables necessary for proper startup - of AJSC) --> - <env key="AJSC_HOME" value="${runAjscHome}" /> - <sysproperty key="AJSC_HOME" value="${runAjscHome}" /> - <!-- you may specify any external location for AJSC_CONF_HOME where etc - folder & all other configs can be found under it. If not specified, it will - default to AJSC_HOME --> - <sysproperty key="AJSC_CONF_HOME" value="${basedir}/bundleconfig-local" /> - <sysproperty key="AJSC_SHARED_CONFIG" value="${basedir}/ajsc-shared-config" /> - - <!-- Location of logback.xml file used for logging configurations. Please, - note, when deploying a service to either CSI or NON-CSI environment, this - system property will be set in sys-props.properties file. We are setting - it here for running locally due to the ease of use of maven variable for - basedir. --> - <sysproperty key="logback.configurationFile" - value="${basedir}/ajsc-shared-config/etc/logback.xml" /> - - <!-- Setting system properties for the AJSC external libs and properties - folders below. When deploying to a node, these properties will be set within - the bundleconfig/etc/sysprops/sys-props.properties file. However, when running - locally, the ${basedir} substitution works more efficiently in this manner. --> - <sysproperty key="AJSC_EXTERNAL_LIB_FOLDERS" value="${basedir}/target/commonLibs" /> - <sysproperty key="AJSC_EXTERNAL_PROPERTIES_FOLDERS" - value="${basedir}/ajsc-shared-config/etc" /> - - <!-- End of Main ajsc Variables below (Variables necessary for proper - startup of AJSC) --> - - <!-- Uncomment the following line to add oauthentication to your Service --> - <!-- <sysproperty key="spring.profiles.active" value="oauth" /> --> - - <!-- If using Cassandra as Database, Enter the ip/host and port below - based on your known configuration --> - <!-- <sysproperty key="cassandra.ip" value="hostname" /> --> - <!-- <sysproperty key="cassandra.port" value="9042" /> --> - - <!-- The APP_SERVLET_URL_PATTERN variable is defaulted to "/services" - within the initial configuration of the AJSC. If you are changing the CamelServlet - Filter within the ajsc-override-web.xml, you should use that url-pattern - here. This is necessary to properly register your service with dme2. An empty - value, "", is used when NO value is wanted (url-pattern would be /* for CamelServlet - Filter) --> - <!-- As of 4.5.1, this property is no longer needed --> - <!-- <sysproperty key="APP_SERVLET_URL_PATTERN" value="/services" /> --> - - <!-- GRM/DME2 System Properties below --> - <sysproperty key="AJSC_SERVICE_NAMESPACE" value="${module.ajsc.namespace.name}" /> - <sysproperty key="AJSC_SERVICE_VERSION" value="${module.ajsc.namespace.version}" /> - <sysproperty key="SOACLOUD_SERVICE_VERSION" value="${project.version}" /> - <!-- End of GRM/DME2 System Property Variables --> - - <!-- The following server.port variable was necessary for the proper registration - of the AJSC to dme2. This value may still need to be used if the Developer - is hardcoding their port (example: 8080). Then, the server.port value="8080". - The default functionality for the AJSC is to use EPHEMERAL ports. In this - case, you do NOT need to set the server.port value. The AJSC will find the - proper port value and register to dme2 correctly --> - <!-- <sysproperty key="server.port" value="${serverPort}" /> --> - - <!-- Command Line Arguments to add to the java command. Here, you can - specify the port as well as the Context you want your service to run in. - Use context=/ to run in an unnamed Context (Root Context). The default configuration - of the AJSC is to run under the /ajsc Context. Setting the port here can - aid during the development phase of your service. However, you can leave - this argument out entirely, and the AJSC will default to using an Ephemeral - port. --> - <arg line="context=/ port=${serverPort} sslport=${sslport}" /> - </java> - </target> - <target name="prep_home_directory_for_swm_pkgcreate"> - -<!-- ********* GENERATE CADI KEY AND ENCRYPTED PASSWORD *********** - - Uncomment the following if your cadi key get corrupted , It would - generate the Cadi key and password in the package phase and keep the key - in the 'src/main/config/ajscKey' and password in the bottom of cadi.properties(you - need to modify the 'aaf_pass' variable with this value . Plese modify the - template.cadi.properties as well before uploading to SOA node ---> - -<!-- - <java jar="${basedir}/target/userjars/cadi-core-1.2.5.jar" fork="true"> - <arg value="keygen" /> <arg value="src/main/config/ajscKey" /> - </java> - - <echo>***Cadi Key file generated ****</echo> - - <java jar="${basedir}/target/userjars/cadi-core-1.2.5.jar" - fork="true" append="true" output="${basedir}/src/main/config/cadi.properties"> - <arg value="digest" /> <arg value="ajscRocks!" /> <arg value="src/main/config/ajscKey" - /> - </java> - ---> - - - - <!-- These tasks are copying contents from the installHomeDirectory into - the eventual $AJSC_HOME directory for running locally and soa cloud installation --> - <echo message="ENTERING 'prep_home_directory_for_swm_pkgcreate' ant tasks" /> - - <!-- Please, NOTE: The ajsc-archetype is setup for a default CSI Env deployment. - If you are deploying to a CSI Env, you should NOT have to change anything - within this build file. However, if you are NOT deploying to a CSI Env, you - should comment OUT the CSI related portion of this build.xml. --> - - <!-- The following code snippet is copying the bundleconfig-csi directory - to the proper installation/bundleconfig directory used in CSI envs. If you - are NOT installing to a CSI node, you should comment out (or delete) the - following snippet, and uncomment the NON-CSI copy task to copy EVERYTHING - to the installation/bundleconfig directory. --> - - <!-- CSI related bundleconfig copy task. If you are NOT deploying to a - CSI Env, please COMMENT OUT or delete the following copy task code snippet. --> - <!--<copy toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/bundleconfig" - failonerror="true"> <fileset dir="${basedir}/bundleconfig-csi" /> </copy> --> - <!-- End of CSI related bundleconfig copy task --> - - <!-- NOTE: If you are NOT deploying to CSI environment, and you are NOT - using an AJSC_SHARED_CONFIG location on a node, you should go ahead and copy - EVERYTHING from bundleconfig and ajsc-shared-config (logback.xml) directory - to utilize proper logging from logback.xml. Simply, uncomment the following - code snippet below to copy EVERYTHING and comment out the CSI related build - script above. --> - <!-- NON-CSI related build copy task. Please, uncomment the following code - snippet to deploy the proper artifacts to a NON-CSI Env. --> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/bundleconfig" - failonerror="true"> - <fileset dir="${basedir}/bundleconfig-local" includes="**/**" /> - </copy> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/bundleconfig/etc" - failonerror="true"> - <fileset dir="${basedir}/ajsc-shared-config/etc" includes="**/**" /> - </copy> - <!-- End of NON-CSI related build copy task. --> - - <!-- Copying any zips (deployment packages) to $AJSC_HOME/services for - auto-deployment --> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/services" - failonerror="false"> - <fileset dir="${basedir}/services" includes="*.zip" /> - </copy> - - <!-- Copying runtimeEnvironment zip file to $AJSC_HOME/runtime and renaming - runtimeEnvironment.zip for proper auto-deployment of ajsc services. --> - <!-- <copy - tofile="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/runtime/runtimeEnvironment.zip"> - <fileset dir="target" includes="*-runtimeEnvironment.zip" /> - </copy> ---> - <!-- Copying dependencies from the service project (not provided by AJSC - Container) to the $AJSC_HOME/extJars folder to be accessible on the classpath --> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/extJars" - failonerror="false"> - <fileset dir="target/userjars" includes="*" /> - </copy> - - <!-- extApps directory MUST be created for ajsc-runner to run correctly, - even if empty. DO NOT REMOVE!!! --> - <!-- extApps directory created to deploy other war files on startup or - hot deploy War files after ajsc starts up. --> - <mkdir - dir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/extApps" /> - - <!-- Copying any extra wars to $AJSC_HOME/extApps to be deployed within - AJSC --> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/extApps" - failonerror="false"> - <fileset dir="${basedir}/src/main/resources/extApps" - includes="*" /> - </copy> - - <!-- staticContent folder is for serving static content within an ajsc - service. Any static content to be served will be copyied to the ultimate - $AJSC_HOME/staticContent folder and can be served with the - camel component. --> - <!-- Uncomment the following snippet to copy items from staticContent folder - to ultimate $AJSC_HOME/staticConent --> - <!-- <copy toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/staticContent" - failonerror="false"> <fileset dir="${basedir}/staticContent" includes="**/**" - /> </copy> --> - - <!-- Copying extra jar files that have been labeled as dependencies in - service project to /extJars folder to be made available on the classpath - for your service --> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/extJars" - failonerror="false"> - <fileset dir="target" includes="*.jar" /> - </copy> - - <!-- Copying deployment packages created within the project to the $AJSC_HOME/services - folder to be auto deployed. --> - <copy - toDir="${basedir}/target/swm/package/nix/dist_files${distFilesRoot}/services"> - <fileset dir="target" includes="*.zip" excludes="*-runtimeEnvironment.zip" /> - </copy> - - <echo message="EXITING 'prep_assembly_output_for_swm_plugin' ant tasks" /> - </target> -</project> diff --git a/aai-traversal/bundleconfig-local/README.txt b/aai-traversal/bundleconfig-local/README.txt deleted file mode 100644 index a915213..0000000 --- a/aai-traversal/bundleconfig-local/README.txt +++ /dev/null @@ -1,9 +0,0 @@ -The bundleconfig-local directory contains the necessary configuration files to be used for running locally. When running -locally, the "mvn -P runLocal" or the "mvn -P runAjsc" profiles will be using this bundleconfig-local directory as the AJSC_CONF -directory. When deploying to a CSI env, the bundleconfig-csi directory will be copied to the ultimate installation/bundleconfig -directory and will be used for your AJSC service once installed. If you are not deploying to a CSI env, please look at the -antBuild/build.xml file for help in some simple copying of the appropriate folders/files for a NON-CSI env. - -The ajsc-shared-config directory houses the shared configurations that will be used in CSI envs. This includes the logging -functionality of the logback.xml and some csm related artifacts that may be necessary to use while running locally. -When running locally, the system property, "AJSC_SHARED_CONFIG", will point to this location to utilize the logback.xml.
\ No newline at end of file diff --git a/aai-traversal/bundleconfig-local/RELEASE_NOTES.txt b/aai-traversal/bundleconfig-local/RELEASE_NOTES.txt deleted file mode 100644 index a567d9b..0000000 --- a/aai-traversal/bundleconfig-local/RELEASE_NOTES.txt +++ /dev/null @@ -1 +0,0 @@ -Place Release Notes here to provide updated Release information for CSTEM to better help manage your service in the CSI environment.
\ No newline at end of file diff --git a/aai-traversal/bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties b/aai-traversal/bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties deleted file mode 100644 index 1620bea..0000000 --- a/aai-traversal/bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties +++ /dev/null @@ -1,3 +0,0 @@ -#This properties file is for defining any PreProcessorInterceptors that have been created for your AJSC service. - -/**=com.att.ajsc.csi.restmethodmap.RestMethodMapInterceptor,org.onap.aai.interceptors.PreAaiAjscInterceptor diff --git a/aai-traversal/bundleconfig-local/etc/appprops/app-intercepts.properties b/aai-traversal/bundleconfig-local/etc/appprops/app-intercepts.properties deleted file mode 100644 index 3230921..0000000 --- a/aai-traversal/bundleconfig-local/etc/appprops/app-intercepts.properties +++ /dev/null @@ -1,6 +0,0 @@ -#This is where all your application intercept strategies must be configured. AJSC reads this property file and adds -#the list of intercepts specified here to the camel context. This can be useful for accessing every exchange object transferred from/to -#each endpoint in the request/response flow and can allow for more precise debugging and/or processing of the exchange. - -#e.g. -#intercepts=org.openecomp.aai.ajsc_aai.JaxrsEchoService,packagename.class1name,packagename.class2name diff --git a/aai-traversal/bundleconfig-local/etc/service-file-monitor.properties b/aai-traversal/bundleconfig-local/etc/service-file-monitor.properties deleted file mode 100644 index 4d9bee9..0000000 --- a/aai-traversal/bundleconfig-local/etc/service-file-monitor.properties +++ /dev/null @@ -1,5 +0,0 @@ -#This properties file is used for defining any file paths that you would like to have monitored. - -#user config file paths go here as (key-value) pairs. File extension will have to be either .properties or .json in order for it to be monitored. -#file1=/opt/app/yourService/file.properties - diff --git a/aai-traversal/bundleconfig-local/symlinks.txt b/aai-traversal/bundleconfig-local/symlinks.txt deleted file mode 100644 index 70f2c0d..0000000 --- a/aai-traversal/bundleconfig-local/symlinks.txt +++ /dev/null @@ -1,6 +0,0 @@ -#This file provides the definitions of sym-links to CSTEM that will be used by your project once installed on a CSI node. - -link_jre=ajsc-shared-config -link_csi-csm=ajsc-shared-config -link_csi-dme=ajsc-shared-config -link_introscope=ajsc-shared-config diff --git a/aai-traversal/pom.xml b/aai-traversal/pom.xml index 02452d5..a2097e5 100644 --- a/aai-traversal/pom.xml +++ b/aai-traversal/pom.xml @@ -1,81 +1,322 @@ -<?xml version="1.0"?> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onap.aai.traversal</groupId> - <artifactId>traversal</artifactId> - <version>1.2.0-SNAPSHOT</version> - </parent> + <groupId>org.onap.aai.traversal</groupId> <artifactId>aai-traversal</artifactId> - <name>aai-traversal</name> - <url>http://maven.apache.org</url> <version>1.2.0-SNAPSHOT</version> + + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>1.5.1.RELEASE</version> + </parent> + <properties> - <nexusproxy>https://nexus.onap.org</nexusproxy> - <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> - <!-- old version <hbase.version>0.98.4-hadoop2</hbase.version> --> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <dockerLocation>${basedir}/target/swm/package/nix/dist_files/</dockerLocation> - <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format> - <docker.image.version>1.0.0</docker.image.version> + <swagger.directory>${basedir}/target/classes/META-INF/traversal/swagger</swagger.directory> + <icd.file>service.json</icd.file> + <icd.package>com.att.ajsc.ajsc6configdemo.service.rs</icd.package> + <java.version>1.8</java.version> + <build.number>local</build.number> + <kube.namespace>org-onap-aai</kube.namespace> + <service.account>ajsc-svc-account</service.account> + <namespace>com.att.ajsc</namespace> + <start-class>org.onap.aai.TraversalApp</start-class> + + <aai-schema.version>1.2.1-SNAPSHOT</aai-schema.version> + <aai.core.version>1.2.1-SNAPSHOT</aai.core.version> + <aai.client.loadbalancer.version>1.2.1-SNAPSHOT</aai.client.loadbalancer.version> + <hbase.version>1.0.2</hbase.version> + + <!-- Start of the jacoco plugin properties --> <sonar.language>java</sonar.language> <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath> <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero> <sonar.projectVersion>${project.version}</sonar.projectVersion> - <!-- Antlr-related properties to auto-gen visitor and listener --> + <!-- End of the jacoco plugin properties --> + + <jolt.version>0.0.24</jolt.version> + <jopt.simple.version>4.9</jopt.simple.version> + + <io.swagger.version>1.5.8</io.swagger.version> + <apache.log4j.version>1.2.17</apache.log4j.version> + + <commons.beanutils.version>1.9.2</commons.beanutils.version> + <commons.compress.version>1.10</commons.compress.version> + <commons.configuration.version>1.9</commons.configuration.version> + + <googlecode.diffutils.version>1.3.0</googlecode.diffutils.version> + <scamper.encryption.version>1.8.20</scamper.encryption.version> + <httpcomponents.httpmime.version>4.5.2</httpcomponents.httpmime.version> + <scamper.version>1.8.36</scamper.version> + <dom4j.version>1.6.1</dom4j.version> + <commons.lang.version>2.6</commons.lang.version> + <eelf.core.version>1.0.0</eelf.core.version> + <logback.version>1.2.3</logback.version> + <hamcrest.junit.version>2.0.0.0</hamcrest.junit.version> + <janino.version>2.7.8</janino.version> + <google.guava.version>16.0</google.guava.version> + <titan.version>1.0.0</titan.version> + <gremlin.driver.version>3.0.1-incubating</gremlin.driver.version> + <hbase.version>1.0.2</hbase.version> + <smack.version>3.0.4</smack.version> + <json.simple.version>1.1.1</json.simple.version> + <mockito.version>1.10.19</mockito.version> + <powermock.version>1.6.2</powermock.version> + <jcommander.version>1.48</jcommander.version> + <json.version>20090211</json.version> + <freemarker.version>2.3.21</freemarker.version> + <jaxb.version>2.2.11</jaxb.version> + <eclipse.persistence.version>2.6.2</eclipse.persistence.version> + <json.patch.version>1.9</json.patch.version> + <javatuples.version>1.2</javatuples.version> + <gson.version>2.7</gson.version> + <dmaap.client.version>0.2.12</dmaap.client.version> + <httpcore.version>4.4</httpcore.version> + <json.path.version>2.2.0</json.path.version> + <activemq.version>5.15.3</activemq.version> + <httpclient.version>4.5.3</httpclient.version> + <spring.jms.version>4.3.2.RELEASE</spring.jms.version> + <spotify.docker.version>0.4.11</spotify.docker.version> + <spring.security.version>1.0.3.RELEASE</spring.security.version> + + <dme2.version>2.8.5</dme2.version> + <async.retry.version>0.0.7</async.retry.version> + <jsonassert.version>1.4.0</jsonassert.version> + + <eclipse.jetty.version>9.4.1.v20170120</eclipse.jetty.version> + + <docker.fabric.version>0.23.0</docker.fabric.version> + <!-- Default docker registry that maven fabric plugin will try to pull from --> + <docker.registry>docker.io</docker.registry> + <!-- Specifying the docker push registry where the image should be pushed --> + <!-- This value should be overwritten at runtime to wherever need to be pushed to --> + <docker.push.registry>localhost:5000</docker.push.registry> + + <!-- + Location where assembly of our scripts, resources and main jar will be held + Check the aai-traversal/src/main/assembly/descriptor.xml for more info + --> + <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/ + </aai.build.directory> + <aai.docker.namespace>onap</aai.docker.namespace> + <maven.skip.tests>true</maven.skip.tests> + + <spring.web.version>4.3.6.RELEASE</spring.web.version> + <aai.project.version>1.2.0</aai.project.version> + <aai.docker.version>1.2</aai.docker.version> + + <!-- + Nexus Proxy Properties and Snapshot Locations + Ideally this can be overwritten at runtime per internal environment specific values at runtime + --> + <nexusproxy>https://nexus.onap.org</nexusproxy> + <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path> + <release.path>/content/repositories/releases/</release.path> + <snapshot.path>/content/repositories/snapshots/</snapshot.path> + + <netty.handler.version>4.1.9.Final</netty.handler.version> + <netty.version>4.0.37.Final</netty.version> + <jackson.core.version>2.8.11.1</jackson.core.version> + <groovy.version>2.4.4</groovy.version> + + <spring.test.version>4.3.6.RELEASE</spring.test.version> + + <!-- This will be used for the docker images as the default format of maven build has issues --> + <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format> + <antlr4.visitor>true</antlr4.visitor> <antlr4.listener>true</antlr4.listener> + <antlr.version>4.7</antlr.version> </properties> + <profiles> + <!-- Docker profile to be used for building docker image and pushing to nexus --> + <profile> + <id>docker</id> + <build> + <plugins> + <plugin> + <groupId>io.fabric8</groupId> + <artifactId>docker-maven-plugin</artifactId> + <version>${docker.fabric.version}</version> + <configuration> + <verbose>true</verbose> + <apiVersion>1.23</apiVersion> + <images> + <image> + <name>${docker.push.registry}/${aai.docker.namespace}/aai-traversal:%l</name> + <build> + <filter>@</filter> + <tags> + <tag>latest</tag> + <tag>${aai.docker.version}-STAGING-${maven.build.timestamp}</tag> + <tag>${aai.docker.version}-STAGING-latest</tag> + </tags> + <cleanup>try</cleanup> + <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir> + <assembly> + <inline> + <fileSets> + <fileSet> + <directory>${aai.build.directory}</directory> + <outputDirectory>/${project.artifactId}</outputDirectory> + </fileSet> + </fileSets> + </inline> + </assembly> + </build> + </image> + </images> + </configuration> + <executions> + <execution> + <id>clean-images</id> + <phase>pre-clean</phase> + <goals> + <goal>remove</goal> + </goals> + <configuration> + <removeAll>true</removeAll> + </configuration> + </execution> + <execution> + <id>generate-images</id> + <phase>package</phase> + <goals> + <goal>build</goal> + </goals> + </execution> + <execution> + <id>push-images</id> + <phase>deploy</phase> + <goals> + <goal>push</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <!-- + Use of this profile is a way to support legacy runAjsc profile seen using AJSC 2 + and also because spring-boot:run doesn't work with large classpaths in windows + so this accommodates the behavior of running the application from maven + --> + <profile> + <id>runAjsc</id> + <properties> + <skipTests>${maven.skip.tests}</skipTests> + </properties> + <build> + <defaultGoal>pre-integration-test</defaultGoal> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.6.0</version> + <executions> + <execution> + <id>run-spring-boot</id> + <phase>package</phase> + <goals> + <goal>java</goal> + </goals> + </execution> + </executions> + <configuration> + <mainClass>${start-class}</mainClass> + <systemProperties> + <systemProperty> + <key>snapshot.location</key> + <value>${snapshot.file}</value> + </systemProperty> + </systemProperties> + <executable>java</executable> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> <dependencies> <dependency> - <groupId>org.onap.aai.aai-common</groupId> - <artifactId>aai-schema</artifactId> - <version>${aai.schema.version}</version> - </dependency> - <dependency> - <groupId>org.onap.aai.aai-common</groupId> - <artifactId>aai-core</artifactId> - <version>${aai.core.version}</version> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jersey</artifactId> + <exclusions> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-servlet</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + </exclusions> </dependency> - <!-- Scamper related dependencies --> <dependency> - <groupId>com.rabbitmq</groupId> - <artifactId>amqp-client</artifactId> - <version>3.6.1</version> + <groupId>net.sf.jopt-simple</groupId> + <artifactId>jopt-simple</artifactId> + <version>${jopt.simple.version}</version> </dependency> <dependency> - <groupId>log4j</groupId> - <artifactId>apache-log4j-extras</artifactId> - <version>1.2.17</version> + <groupId>io.swagger</groupId> + <artifactId>swagger-core</artifactId> + <version>${io.swagger.version}</version> <exclusions> <exclusion> - <artifactId>log4j</artifactId> - <groupId>log4j</groupId> + <groupId>javax.ws.rs</groupId> + <artifactId>jsr311-api</artifactId> </exclusion> </exclusions> </dependency> - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - <version>1.9.2</version> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + <version>${io.swagger.version}</version> </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-compress</artifactId> - <version>1.10</version> + <groupId>io.swagger</groupId> + <artifactId>swagger-jersey-jaxrs</artifactId> + <version>${io.swagger.version}</version> + <exclusions> + <exclusion> + <groupId>org.glassfish.jersey.media</groupId> + <artifactId>jersey-media-multipart</artifactId> + </exclusion> + <exclusion> + <artifactId>jersey-core</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-json</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-server</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-client</artifactId> + <groupId>com.sun.jersey</groupId> + </exclusion> + <exclusion> + <artifactId>jsr311-api</artifactId> + <groupId>javax.ws.rs</groupId> + </exclusion> + <exclusion> + <artifactId>jersey-multipart</artifactId> + <groupId>com.sun.jersey.contribs</groupId> + </exclusion> + </exclusions> </dependency> - <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> - <version>1.9</version> + <version>${commons.configuration.version}</version> <exclusions> <exclusion> <artifactId>commons-lang</artifactId> @@ -83,94 +324,38 @@ </exclusion> </exclusions> </dependency> - - <dependency> - <groupId>org.codehaus.jackson</groupId> - <artifactId>jackson-core-asl</artifactId> - <version>1.9.13</version> - </dependency> - - <dependency> - <groupId>org.codehaus.jackson</groupId> - <artifactId>jackson-mapper-asl</artifactId> - <version>1.9.13</version> - </dependency> - - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpmime</artifactId> - <version>4.5.2</version> - </dependency> - - <!-- AJSC related dependencies --> - <dependency> - <groupId>com.att.ajsc</groupId> - <artifactId>ajsc-runner</artifactId> - <version>${ajscRuntimeVersion}</version> - </dependency> - <dependency> - <groupId>com.att.ajsc</groupId> - <artifactId>ajsc-core</artifactId> - <version>${ajscRuntimeVersion}</version> - <scope>provided</scope> - </dependency> - - <!-- For dom4j dependency ONLY! - If deploying to CSI env, remove "provided" - scope. In CSI env, this jar MUST be included within service project's swm - package --> - <dependency> - <groupId>dom4j</groupId> - <artifactId>dom4j</artifactId> - <version>1.6.1</version> - </dependency> - <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> - <version>2.6</version> + <version>${commons.lang.version}</version> </dependency> - <!-- eelf dependency --> <dependency> <groupId>com.att.eelf</groupId> <artifactId>eelf-core</artifactId> - <version>1.0.0</version> + <version>${eelf.core.version}</version> </dependency> - <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> - <version>1.1.7</version> + <version>${logback.version}</version> </dependency> - <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> - <version>1.1.7</version> + <version>${logback.version}</version> </dependency> - <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> - <version>1.1.7</version> + <version>${logback.version}</version> </dependency> - <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-junit</artifactId> - <version>2.0.0.0</version> + <version>${hamcrest.junit.version}</version> </dependency> <dependency> - <groupId>org.codehaus.janino</groupId> - <artifactId>janino</artifactId> - <version>2.7.8</version> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - </dependency> - - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> @@ -178,12 +363,12 @@ <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> - <version>16.0</version> + <version>${google.guava.version}</version> </dependency> <dependency> <groupId>com.thinkaurelius.titan</groupId> <artifactId>titan-core</artifactId> - <version>1.0.0</version> + <version>${titan.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> @@ -194,18 +379,22 @@ <dependency> <groupId>com.thinkaurelius.titan</groupId> <artifactId>titan-cassandra</artifactId> - <version>1.0.0</version> + <version>${titan.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> + <exclusion> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-mapper-asl</artifactId> + </exclusion> </exclusions> </dependency> <dependency> <groupId>com.thinkaurelius.titan</groupId> <artifactId>titan-hbase</artifactId> - <version>1.0.0</version> + <version>${titan.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> @@ -217,7 +406,7 @@ <dependency> <groupId>org.apache.tinkerpop</groupId> <artifactId>gremlin-driver</artifactId> - <version>3.0.1-incubating</version> + <version>${gremlin.driver.version}</version> </dependency> <dependency> <groupId>org.apache.hbase</groupId> @@ -232,6 +421,30 @@ <artifactId>log4j</artifactId> <groupId>log4j</groupId> </exclusion> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-core</artifactId> + </exclusion> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-json</artifactId> + </exclusion> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-server</artifactId> + </exclusion> + <exclusion> + <groupId>com.sun.jersey.contribs</groupId> + <artifactId>jersey-guice</artifactId> + </exclusion> + <exclusion> + <groupId>commons-httpclient</groupId> + <artifactId>commons-httpclient</artifactId> + </exclusion> + <exclusion> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-mapper-asl</artifactId> + </exclusion> </exclusions> </dependency> <dependency> @@ -257,181 +470,365 @@ </exclusions> </dependency> <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-json</artifactId> - <version>1.18</version> - </dependency> - <dependency> - <groupId>jivesoftware</groupId> - <artifactId>smack</artifactId> - <version>3.0.4</version> - </dependency> - - <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> - <version>2.1.4</version> - </dependency> - <dependency> - <groupId>com.googlecode.json-simple</groupId> - <artifactId>json-simple</artifactId> - <version>1.1.1</version> </dependency> <dependency> - <groupId>com.sun.jersey</groupId> - <artifactId>jersey-client</artifactId> - <version>1.18</version> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.ws</groupId> - <artifactId>spring-ws</artifactId> - <version>1.5.2</version> - <!--<version>2.1.3-RELEASE</version> --> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - <version>4.2.5.RELEASE</version> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson.core.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> - <version>1.10.19</version> + <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> - <version>1.6.2</version> + <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> - <version>1.6.2</version> + <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.beust</groupId> <artifactId>jcommander</artifactId> - <version>1.48</version> + <version>${jcommander.version}</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> - <version>20090211</version> + <version>${json.version}</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> - <version>2.3.14</version> + <version>${freemarker.version}</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> - <version>2.2.11</version> + <version>${jaxb.version}</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> - <version>2.2.11</version> + <version>${jaxb.version}</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> - <version>2.2.11</version> + <version>${jaxb.version}</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-xjc</artifactId> - <version>2.2.11</version> + <version>${jaxb.version}</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> - <version>2.6.2</version> + <version>${eclipse.persistence.version}</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.moxy</artifactId> - <version>2.6.2</version> + <version>${eclipse.persistence.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-javaagent</artifactId> - <version>1.6.2</version> + <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4-rule-agent</artifactId> - <version>1.6.2</version> + <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.fge</groupId> <artifactId>json-patch</artifactId> - <version>1.9</version> + <version>${json.patch.version}</version> </dependency> <dependency> <groupId>org.javatuples</groupId> <artifactId>javatuples</artifactId> - <version>1.2</version> + <version>${javatuples.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> - <version>2.7</version> + <version>${gson.version}</version> </dependency> <dependency> <groupId>com.att.nsa</groupId> <artifactId>dmaapClient</artifactId> - <version>0.2.12</version> + <version>${dmaap.client.version}</version> + <exclusions> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + <exclusion> + <groupId>com.att.aft</groupId> + <artifactId>dme2</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>com.bazaarvoice.jolt</groupId> + <artifactId>jolt-complete</artifactId> + <version>${jolt.version}</version> + </dependency> + <dependency> + <groupId>com.jayway.jsonpath</groupId> + <artifactId>json-path</artifactId> + <version>${json.path.version}</version> + </dependency> + <!-- Do not use activemq-all because they force you to use a specific logging + and they shade it so you can't simply exclude it and when you deploy the + jar, you will notice failure --> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-broker</artifactId> + <version>${activemq.version}</version> + </dependency> + <dependency> + <groupId>org.apache.activemq</groupId> + <artifactId>activemq-client</artifactId> + <version>${activemq.version}</version> + </dependency> + <dependency> + <groupId>org.onap.aai.aai-common</groupId> + <artifactId>aai-core</artifactId> + <version>${aai.core.version}</version> + <exclusions> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-core</artifactId> + </exclusion> + <exclusion> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-mapper-asl</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> + <groupId>org.onap.aai.aai-common</groupId> + <artifactId>aai-schema</artifactId> + <version>${aai-schema.version}</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-jms</artifactId> + <version>${spring.jms.version}</version> + <exclusions> + <exclusion> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-core</artifactId> + </exclusion> + </exclusions> + </dependency> + <!-- Do not use the jersey-client since jersey client 1.0 version clashes + with jersey 2 which we are using --> + <!-- Use this to make http requests instead of jersey 1.0 client --> + <dependency> <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpcore</artifactId> - <version>4.4</version> + <artifactId>httpclient</artifactId> + <version>${httpclient.version}</version> </dependency> <dependency> - <groupId>com.bazaarvoice.jolt</groupId> - <artifactId>jolt-complete</artifactId> - <version>0.0.24</version> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + </dependency> + <dependency> + <groupId>org.skyscreamer</groupId> + <artifactId>jsonassert</artifactId> + <version>${jsonassert.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-util</artifactId> + <version>${eclipse.jetty.version}</version> + </dependency> + <!-- + Explicitly stating the security spring framework and + exclude the bouncy castle since that is somehow overwriting + our p12 file decryption that's built into java security + This will cause the password is incorrect + This needs to be added back if org.bouncy castle dependency + sneaks backs in and causing issues with the two way ssl + --> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-rsa</artifactId> + <version>${spring.security.version}</version> + <exclusions> + <exclusion> + <groupId>org.bouncycastle</groupId> + <artifactId>bcpkix-jdk15on</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.onap.aai.aai-common</groupId> + <artifactId>aai-client-loadbalancer</artifactId> + <version>${aai.client.loadbalancer.version}</version> + <exclusions> + <exclusion> + <groupId>io.netty</groupId> + <artifactId>netty-handler</artifactId> + </exclusion> + <exclusion> + <groupId>com.sun.jersey.contribs</groupId> + <artifactId>jersey-apache-client4</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-handler</artifactId> + <version>${netty.handler.version}</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <exclusions> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-jetty</artifactId> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-web</artifactId> + <version>${spring.web.version}</version> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + <version>${netty.version}</version> + </dependency> + <dependency> + <groupId>org.codehaus.groovy</groupId> + <artifactId>groovy</artifactId> + <version>${groovy.version}</version> + <classifier>indy</classifier> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-test</artifactId> + <version>${spring.test.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-test</artifactId> + <scope>test</scope> </dependency> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> - <version>4.7</version> + <version>${antlr.version}</version> </dependency> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> - <version>4.7</version> + <version>${antlr.version}</version> + <exclusions> + <exclusion> + <groupId>org.sonatype.sisu</groupId> + <artifactId>sisu-guava</artifactId> + </exclusion> + </exclusions> </dependency> + </dependencies> <build> - <finalName>traversal</finalName> + <resources> + <resource> + <directory>${project.basedir}/src/main/swm</directory> + <targetPath>${project.build.directory}/swm</targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources</directory> + <includes> + <include>application.properties</include> + <include>dme2.properties</include> + <include>logback.xml</include> + <include>localhost-access-logback.xml</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/aai-traversal/appconfig + </targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources</directory> + <includes> + <include>**/*</include> + </includes> + <filtering>true</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/etc/appprops/</directory> + <includes> + <include>titan-realtime.properties</include> + <include>titan-cached.properties</include> + <include>aaiconfig.properties</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/aai-traversal/appconfig + </targetPath> + <filtering>false</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/etc/auth/</directory> + <includes> + <include>aai-client-cert.p12</include> + <include>tomcat_keystore</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/aai-traversal/appconfig + </targetPath> + <filtering>true</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/resources/</directory> + <includes> + <include>logback.xml</include> + <include>localhost-access-logback.xml</include> + </includes> + <targetPath>${project.build.directory}/swm/package/nix/dist_files/opt/app/aai-traversal/appconfig + </targetPath> + <filtering>true</filtering> + </resource> + <resource> + <directory>${project.basedir}/src/main/docker</directory> + <includes> + <include>**/*</include> + </includes> + <targetPath>${aai.build.directory}</targetPath> + <filtering>true</filtering> + </resource> + </resources> <pluginManagement> <plugins> <plugin> - <groupId>org.jsonschema2pojo</groupId> - <artifactId>jsonschema2pojo-maven-plugin</artifactId> - <version>0.4.13</version> - <configuration> - <sourceType>jsonschema</sourceType> - <sourceDirectory>src/main/resources/json</sourceDirectory> - <outputDirectory>${project.build.directory}/generated-sources</outputDirectory> - <annotationStyle>jackson2</annotationStyle> - <generateBuilders>true</generateBuilders> - </configuration> - </plugin> - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> @@ -457,7 +854,7 @@ <groupId>org.onap.aai.aai-common</groupId> <artifactId>aai-schema</artifactId> <version>${aai.core.version}</version> - <outputDirectory>bundleconfig-local/etc</outputDirectory> + <outputDirectory>${project.basedir}/src/main/resources/etc</outputDirectory> <includes>oxm/*.xml</includes> </artifactItem> </artifactItems> @@ -465,20 +862,9 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.12.4</version> - <configuration> - <argLine>-noverify ${argLine}</argLine> - <systemPropertyVariables> - <AJSC_HOME>.</AJSC_HOME> - <BUNDLECONFIG_DIR>bundleconfig-local</BUNDLECONFIG_DIR> - </systemPropertyVariables> - </configuration> - </plugin> - <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> + <version>1.0</version> <executions> <execution> <phase>validate</phase> @@ -505,122 +891,75 @@ </execution> </executions> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-resources-plugin</artifactId> - <version>2.7</version> - <executions> - <execution> - <id>copy-docker-file</id> - <phase>package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>${dockerLocation}</outputDirectory> - <overwrite>true</overwrite> - <resources> - <resource> - <directory>${basedir}/src/main/resources/docker</directory> - <filtering>true</filtering> - <includes> - <include>**/*</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - <execution> - <id>copy-commonlibs-file</id> - <phase>package</phase> - <goals> - <goal>copy-resources</goal> - </goals> - <configuration> - <outputDirectory>${dockerLocation}/commonLibs</outputDirectory> - <overwrite>true</overwrite> - <resources> - <resource> - <directory>${basedir}/target/commonLibs</directory> - <filtering>false</filtering> - <includes> - <include>*.jar</include> - </includes> - </resource> - </resources> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>io.fabric8</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>0.16.5</version> - <configuration> - <verbose>true</verbose> - <apiVersion>1.23</apiVersion> - <images> - <image> - <name>${docker.push.registry}/onap/aai-traversal:%l</name> - <build> - <tags> - <tag>latest</tag> - <tag>${project.version}-STAGING-${maven.build.timestamp}</tag> - <tag>${aai.docker.version}-STAGING-latest</tag> - </tags> - <cleanup>try</cleanup> - <dockerFileDir>${dockerLocation}</dockerFileDir> - <dockerFile>${dockerLocation}/Dockerfile</dockerFile> - </build> - </image> - </images> - </configuration> - <executions> - <execution> - <id>clean-images</id> - <phase>pre-clean</phase> - <goals> - <goal>remove</goal> - </goals> - <configuration> - <removeAll>true</removeAll> - <image>onap/aai-traversal:%l</image> - </configuration> - </execution> - <execution> - <id>generate-images</id> - <phase>generate-sources</phase> - <goals> - <goal>build</goal> - </goals> - </execution> - <execution> - <id>push-images</id> - <phase>deploy</phase> - <goals> - <goal>build</goal> - <goal>push</goal> - </goals> - <configuration> - <image>onap/aai-traversal:%l</image> - </configuration> - </execution> - </executions> - </plugin> </plugins> </pluginManagement> <plugins> <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-gpg-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.groovy.maven</groupId> + <artifactId>gmaven-plugin</artifactId> + </plugin> + <plugin> + <artifactId>exec-maven-plugin</artifactId> + <groupId>org.codehaus.mojo</groupId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <additionalparam>-Xdoclint:none</additionalparam> + </configuration> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptors> + <descriptor>src/main/assembly/descriptor.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-assembly</id> <!-- this is used for inheritance merges --> + <phase>package</phase> <!-- bind to the packaging phase --> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.12.4</version> + <configuration> + <argLine>-noverify ${argLine}</argLine> + <runOrder>alphabetical</runOrder> + </configuration> + </plugin> + <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sonar-maven-plugin</artifactId> - <version>3.2</version> + <version>3.3</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.7.7.201606060606</version> + <version>0.7.9</version> <configuration> <dumpOnExit>true</dumpOnExit> + <excludes> + <exclude>**/**/models/**/*.class</exclude> + </excludes> </configuration> <executions> <execution> @@ -633,6 +972,19 @@ <!-- <append>true</append> --> </configuration> </execution> + <execution> + <id>post-unit-test</id> + <phase>test</phase> + <goals> + <goal>report</goal> + </goals> + <configuration> + <!-- Sets the path to the file which contains the execution data. --> + <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile> + <!-- Sets the output directory for the code coverage report. --> + <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory> + </configuration> + </execution> </executions> </plugin> <plugin> @@ -657,6 +1009,21 @@ </configuration> </plugin> <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <configuration> + <mainClass>${start-class}</mainClass> + <layout>ZIP</layout> + </configuration> + <executions> + <execution> + <goals> + <goal>repackage</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> <version>4.7</version> @@ -672,45 +1039,35 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.8</version> + <executions> + <execution> + <id>unpack-schema-dependency</id> + <phase>initialize</phase> + <goals> + <goal>unpack</goal> + </goals> + </execution> + </executions> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.onap.aai.aai-common</groupId> + <artifactId>aai-schema</artifactId> + <version>${aai-schema.version}</version> + <outputDirectory>src/main/resources/etc</outputDirectory> + <includes>oxm/*.xml</includes> + </artifactItem> + </artifactItems> + <!-- other configurations here --> + </configuration> + </plugin> + </plugins> </build> - <profiles> - <!-- Use this profile to run the AJSC locally. This profile can be successfully - shutdown WITHIN eclipse even in a Windows environment. Debugging is also - available with this profile. --> - <profile> - <id>passwordGenerator</id> - <build> - <defaultGoal>initialize</defaultGoal> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.3.2</version> - <executions> - <execution> - <phase>initialize</phase> - <goals> - <goal>java</goal> - </goals> - <configuration> - <mainClass>org.eclipse.jetty.util.security.Password</mainClass> - <arguments> - <argument>user</argument> - <argument>aaiDomain2</argument> - </arguments> - </configuration> - </execution> - </executions> - <configuration> - <executable>java</executable> - </configuration> - </plugin> - </plugins> - </build> - </profile> - - </profiles> <reporting> <plugins> <plugin> @@ -731,4 +1088,20 @@ </plugin> </plugins> </reporting> + <distributionManagement> + <repository> + <id>ecomp-releases</id> + <name>ECOMP Release Repository</name> + <url>${nexusproxy}${release.path}</url> + </repository> + <snapshotRepository> + <id>ecomp-snapshots</id> + <name>ECOMP Snapshot Repository</name> + <url>${nexusproxy}${snapshot.path}</url> + </snapshotRepository> + <site> + <id>ecomp-site</id> + <url>dav:${nexusproxy}${site.path}</url> + </site> + </distributionManagement> </project> diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/FileMonitorBeans.xml b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/FileMonitorBeans.xml deleted file mode 100644 index 37e929d..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/FileMonitorBeans.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <!--<bean--> - <!--class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />--> - <!----> - <!--<bean id="ServicePropertiesListener" class="org.onap.aai.ajsc_aai.filemonitor.ServicePropertiesListener" />--> - <!----> - <!--<bean id="ServicePropertiesMap" class="org.onap.aai.ajsc_aai.filemonitor.ServicePropertiesMap" />--> - - <!--<bean id="ServicePropertyService" class="org.onap.aai.ajsc_aai.filemonitor.ServicePropertyService">--> - <!--<property name="loadOnStartup" value="false" />--> - <!--<property name="fileChangedListener" ref="ServicePropertiesListener" />--> - <!--<property name="filePropertiesMap" ref="ServicePropertiesMap" />--> - <!--<property name="ssfFileMonitorPollingInterval" value="15" />--> - <!--<property name="ssfFileMonitorThreadpoolSize" value="10" />--> - <!--</bean>--> -</beans> diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/jaxrsBeans.groovy b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/jaxrsBeans.groovy deleted file mode 100644 index 0749aa4..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/jaxrsBeans.groovy +++ /dev/null @@ -1,23 +0,0 @@ -beans{ - xmlns cxf: "http://camel.apache.org/schema/cxf" - xmlns jaxrs: "http://cxf.apache.org/jaxrs" - xmlns util: "http://www.springframework.org/schema/util" - - SearchProvider(org.onap.aai.rest.search.SearchProvider) - ModelAndNamedQueryRestProvider(org.onap.aai.rest.search.ModelAndNamedQueryRestProvider) - QueryConsumer(org.onap.aai.rest.QueryConsumer) - - V3ThroughV7Retired(org.onap.aai.rest.retired.V3ThroughV7Consumer) - - EchoResponse(org.onap.aai.rest.util.EchoResponse) - - - util.list(id: 'jaxrsServices') { - - ref(bean:'SearchProvider') - ref(bean:'ModelAndNamedQueryRestProvider') - ref(bean:'QueryConsumer') - ref(bean:'V3ThroughV7Retired') - ref(bean:'EchoResponse') - } -}
\ No newline at end of file diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/serviceBeans.xml b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/serviceBeans.xml deleted file mode 100644 index 7dda68b..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/conf/serviceBeans.xml +++ /dev/null @@ -1,98 +0,0 @@ -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://cxf.apache.org/core" - xmlns:context="http://www.springframework.org/schema/context" - xmlns:task="http://www.springframework.org/schema/task" xmlns:jms="http://www.springframework.org/schema/jms" - xsi:schemaLocation=" - http://cxf.apache.org/core - http://cxf.apache.org/schemas/core.xsd - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd - http://www.springframework.org/schema/context - http://www.springframework.org/schema/context/spring-context-2.5.xsd - http://www.springframework.org/schema/task - http://www.springframework.org/schema/task/spring-task-3.0.xsd - http://www.springframework.org/schema/jms - http://www.springframework.org/schema/jms/spring-jms-4.1.xsd"> - - <!-- Your bean definitions goes here --> - <!-- <bean id="performanceLog" name="performanceLog" class="com.att.ajsc.csi.logging.PerformanceTracking" - /> --> - <!-- <bean id="processRestletHeaders" name="processRestletHeaders" class="ajsc.restlet.ProcessRestletHeaders" - /> --> - <bean id="servicePropsBean" name="servicePropsBean" - class="org.onap.aai.ajsc_aai.util.ServicePropertiesMapBean" /> - <bean id="jsonProvider" class="org.onap.aai.restcore.CustomJacksonJaxBJsonProvider" /> - - <bean id="inInterceptor" class="org.onap.aai.interceptors.AAILogJAXRSInInterceptor" /> - <bean id="outInterceptor" class="org.onap.aai.interceptors.AAILogJAXRSOutInterceptor" /> - <cxf:bus bus="cxfBus"> - <cxf:inInterceptors> - <ref bean="inInterceptor" /> - </cxf:inInterceptors> - <cxf:outInterceptors> - <ref bean="outInterceptor" /> - </cxf:outInterceptors> - </cxf:bus> - <context:component-scan base-package="org.onap.aai.tasks" /> - <context:component-scan base-package="org.onap.aai.config" /> - - <task:scheduler id="taskScheduler" pool-size="10" /> - <task:executor id="taskExecutor" pool-size="10" - queue-capacity="5" /> - <task:annotation-driven executor="taskExecutor" - scheduler="taskScheduler" /> - - <bean id="jmsProperties" - class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" - name="jmsProperties"> - <property name="order" value="99999" /> - <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> - <property name="ignoreUnresolvablePlaceholders" value="true" /> - <property name="properties"> - <value> - - <!-- JMS --> - JMS.BROKER.URL=tcp://localhost:61446 - JMS.QUEUE.NAME=IN_QUEUE - - </value> - </property> - </bean> - - <!-- ActiveMQ connection factory --> - <bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> - <constructor-arg index="0" value="${JMS.BROKER.URL}" /> - </bean> - - <!-- ConnectionFactory Definition --> - <bean id="connectionFactory" - class="org.springframework.jms.connection.CachingConnectionFactory"> - <constructor-arg ref="amqConnectionFactory" /> - </bean> - - <!-- Destination Queue --> - <bean id="destinationQueue" class="org.apache.activemq.command.ActiveMQQueue"> - <constructor-arg index="0" value="${JMS.QUEUE.NAME}" /> - </bean> - - <!-- JmsTemplate Definition --> - <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> - <property name="connectionFactory" ref="connectionFactory" /> - <property name="defaultDestination" ref="destinationQueue" /> - </bean> - - <!-- Message Producer --> - <bean id="messageProducer" class="org.onap.aai.dmaap.AAIDmaapEventJMSProducer" /> - - <!-- Message Consumer from Default Destination --> - <bean id="messageDefaultConsumer" class="org.onap.aai.dmaap.AAIDmaapEventJMSConsumer" /> - - <!-- Message Consumer Container for Default Destination --> - <bean - class="org.springframework.jms.listener.DefaultMessageListenerContainer"> - <property name="connectionFactory" ref="connectionFactory" /> - <property name="destinationName" value="${JMS.QUEUE.NAME}" /> - <property name="messageListener" ref="messageDefaultConsumer" /> - </bean> - -</beans>
\ No newline at end of file diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/docs/README.txt b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/docs/README.txt deleted file mode 100644 index 3707179..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/docs/README.txt +++ /dev/null @@ -1 +0,0 @@ -Place any docs here that you want to access within the ajsc upon deployment of your service. diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/lib/README.txt b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/lib/README.txt deleted file mode 100644 index 639e21b..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/lib/README.txt +++ /dev/null @@ -1 +0,0 @@ -3rd party JAR's needed by your jars (if any) for a ajsc deployment package go here...
\ No newline at end of file diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/props/module.props b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/props/module.props deleted file mode 100644 index 17ebc08..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/props/module.props +++ /dev/null @@ -1 +0,0 @@ -EXAMPLE.PROPERTY=EXAMLE_VALUE
\ No newline at end of file diff --git a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/routes/aai.route b/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/routes/aai.route deleted file mode 100644 index 6a86246..0000000 --- a/aai-traversal/src/main/ajsc/ajsc-aai_v1/ajsc-aai/v1/routes/aai.route +++ /dev/null @@ -1,4 +0,0 @@ -<route xmlns="http://camel.apache.org/schema/spring" trace="true"> - <from uri="att-dme2-servlet:///aai?matchOnUriPrefix=true" /> - <to uri="cxfbean:jaxrsServices?providers=#jsonProvider&bus=#cxfBus" /> -</route>
\ No newline at end of file diff --git a/aai-traversal/src/main/assemble/ajsc_module_assembly.xml b/aai-traversal/src/main/assemble/ajsc_module_assembly.xml deleted file mode 100644 index 4ec4e28..0000000 --- a/aai-traversal/src/main/assemble/ajsc_module_assembly.xml +++ /dev/null @@ -1,66 +0,0 @@ -<assembly - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>${version}</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>zip</format> - </formats> - <fileSets> - <fileSet> - <directory>${project.basedir}/target/versioned-ajsc/routes/</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/routes/</outputDirectory> - <includes> - <include>*.route</include> - </includes> - - </fileSet> - - <fileSet> - <directory>${project.basedir}/target/versioned-ajsc/docs/</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/docs/</outputDirectory> - <includes> - <include>*.*</include> - <!-- <include>*.vm</include> --> - </includes> - - </fileSet> - - <fileSet> - <directory>${project.basedir}/target/versioned-ajsc/lib/</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/lib/</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - - </fileSet> - <fileSet> - <directory>${project.basedir}/target/versioned-ajsc/extJars/</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/extJars/</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - </fileSet> - - <!-- also try to grab outputs from the "jar" plugin's package phase --> - <fileSet> - <directory>${project.basedir}/target/</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/lib/</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - </fileSet> - - <fileSet> - <directory>${project.basedir}/target/versioned-ajsc/conf/</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/conf/</outputDirectory> - <includes> - <include>*.*</include> - </includes> - - </fileSet> - </fileSets> - -</assembly> - diff --git a/aai-traversal/src/main/assemble/ajsc_props_assembly.xml b/aai-traversal/src/main/assemble/ajsc_props_assembly.xml deleted file mode 100644 index 5b8a6fa..0000000 --- a/aai-traversal/src/main/assemble/ajsc_props_assembly.xml +++ /dev/null @@ -1,23 +0,0 @@ -<assembly - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>${version}_properties</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>zip</format> - </formats> - <fileSets> - <fileSet> - <directory>${project.basedir}/target/versioned-ajsc/props</directory> - <outputDirectory>${module.ajsc.namespace.name}/${module.ajsc.namespace.version}/props/</outputDirectory> - <includes> - <include>*.props</include> - </includes> - - </fileSet> - - </fileSets> - -</assembly> - diff --git a/aai-traversal/src/main/assemble/ajsc_runtime_assembly.xml b/aai-traversal/src/main/assemble/ajsc_runtime_assembly.xml deleted file mode 100644 index e37d366..0000000 --- a/aai-traversal/src/main/assemble/ajsc_runtime_assembly.xml +++ /dev/null @@ -1,44 +0,0 @@ -<assembly - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> - <id>runtimeEnvironment</id> - <includeBaseDirectory>false</includeBaseDirectory> - <formats> - <format>zip</format> - </formats> - <fileSets> - <fileSet> - <directory>${project.basedir}/target/versioned-runtime/context/</directory> - <outputDirectory>runtime/context/</outputDirectory> - <includes> - <include>*.context</include> - </includes> - </fileSet> - <fileSet> - <directory>${project.basedir}/target/versioned-runtime/serviceProperties/</directory> - <outputDirectory>runtime/serviceProperties/</outputDirectory> - <includes> - <include>*.props</include> - </includes> - </fileSet><fileSet> - <directory>${project.basedir}/target/versioned-runtime/shiroRole</directory> - <outputDirectory>runtime/shiroRole/</outputDirectory> - <includes> - <include>*.json</include> - </includes> - </fileSet><fileSet> - <directory>${project.basedir}/target/versioned-runtime/shiroUser</directory> - <outputDirectory>runtime/shiroUser/</outputDirectory> - <includes> - <include>*.json</include> - </includes> - </fileSet><fileSet> - <directory>${project.basedir}/target/versioned-runtime/shiroUserRole</directory> - <outputDirectory>runtime/shiroUserRole</outputDirectory> - <includes> - <include>*.json</include> - </includes> - </fileSet> - </fileSets> -</assembly>
\ No newline at end of file diff --git a/aai-traversal/src/main/assembly/descriptor.xml b/aai-traversal/src/main/assembly/descriptor.xml new file mode 100644 index 0000000..11c7ba2 --- /dev/null +++ b/aai-traversal/src/main/assembly/descriptor.xml @@ -0,0 +1,32 @@ +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + <id>build</id> + <includeBaseDirectory>false</includeBaseDirectory> + <formats> + <format>dir</format> + </formats> + <fileSets> + <fileSet> + <directory>${project.basedir}/src/main/resources</directory> + <outputDirectory>/resources</outputDirectory> + <includes> + <include>**/*</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.basedir}/src/main/scripts</directory> + <outputDirectory>/bin</outputDirectory> + <includes> + <include>**/*</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.build.directory}</directory> + <outputDirectory>/lib</outputDirectory> + <includes> + <include>*.jar</include> + </includes> + </fileSet> + </fileSets> +</assembly> diff --git a/aai-traversal/src/main/config/ajsc-jetty.xml b/aai-traversal/src/main/config/ajsc-jetty.xml deleted file mode 100644 index b74b071..0000000 --- a/aai-traversal/src/main/config/ajsc-jetty.xml +++ /dev/null @@ -1,164 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> -<Configure id="ajsc-server" class="org.eclipse.jetty.server.Server"> - <!-- DO NOT REMOVE!!!! This is setting up the AJSC Context --> - <New id="ajscContext" class="org.eclipse.jetty.webapp.WebAppContext"> - <Set name="contextPath"><SystemProperty name="AJSC_CONTEXT_PATH" /></Set> - <Set name="extractWAR">true</Set> - <Set name="tempDirectory"><SystemProperty name="AJSC_TEMP_DIR" /></Set> - <Set name="war"><SystemProperty name="AJSC_WAR_PATH" /></Set> - <Set name="descriptor"><SystemProperty name="AJSC_HOME" />/etc/runner-web.xml</Set> - <Set name="overrideDescriptor"><SystemProperty name="AJSC_HOME" />/etc/ajsc-override-web.xml</Set> - <Set name="throwUnavailableOnStartupException">true</Set> - <Set name="servletHandler"> - <New class="org.eclipse.jetty.servlet.ServletHandler"> - <Set name="startWithUnavailable">false</Set> - </New> - </Set> - <Set name="extraClasspath"> - <SystemProperty name="AJSC_HOME" />/extJars/aai-core-<SystemProperty name="aai-core.version"/>.jar, - <SystemProperty name="AJSC_HOME" />/extJars/traversal.jar, - <SystemProperty name="AJSC_HOME" />/extJars/logback-core-1.1.7.jar, - <SystemProperty name="AJSC_HOME" />/extJars/logback-access-1.1.7.jar, - <SystemProperty name="AJSC_HOME" />/extJars/eelf-core-1.0.0.jar, - <SystemProperty name="AJSC_HOME" />/extJars/slf4j-api-1.7.21.jar - </Set> - </New> - - <Set name="handler"> - <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> - <Set name="handlers"> - <Array type="org.eclipse.jetty.server.Handler"> - <Item> - <New id="Contexts" - class="org.eclipse.jetty.server.handler.ContextHandlerCollection"> - <Set name="Handlers"> - <Array type="org.eclipse.jetty.webapp.WebAppContext"> - <Item> - <Ref refid="ajscContext" /> - </Item> - </Array> - </Set> - </New> - </Item> - <!-- add a RequestLogHandler --> - <Item> - <New id="RequestLogHandler" class="org.eclipse.jetty.server.handler.RequestLogHandler"> - <Set name="requestLog"> - <New id="requestLogImpl" class="ch.qos.logback.access.jetty.RequestLogImpl"> - <Set name="fileName"><SystemProperty name="AJSC_HOME" />/bundleconfig/etc/localhost-access-logback.xml</Set> - </New> - </Set> - </New> - </Item> - </Array> - </Set> - </New> - </Set> - - <Call name="addBean"> - <Arg> - <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> - <Set name="contexts"> - <Ref refid="Contexts" /> - </Set> - <Call id="extAppHotDeployProvider" name="addAppProvider"> - <Arg> - <New class="org.eclipse.jetty.deploy.providers.WebAppProvider"> - <Set name="monitoredDirName"><SystemProperty name="AJSC_HOME" />/extApps</Set> - <Set name="scanInterval">10</Set> - <Set name="extractWars">true</Set> - </New> - </Arg> - </Call> - </New> - </Arg> - </Call> - - <Call name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.ServerConnector"> - <Arg name="server"> - <Ref refid="ajsc-server" /> - </Arg> - <Set name="port"><SystemProperty name="AJSC_HTTP_PORT" default="8083" /></Set> - </New> - </Arg> - </Call> - - <Call id="sslConnector" name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.ServerConnector"> - <Arg name="server"> - <Ref refid="ajsc-server" /> - </Arg> - <Arg name="factories"> - <Array type="org.eclipse.jetty.server.ConnectionFactory"> - <Item> - <New class="org.eclipse.jetty.server.SslConnectionFactory"> - <Arg name="next">http/1.1</Arg> - <Arg name="sslContextFactory"> - <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory"> - <Set name="KeyStorePath">file:<SystemProperty name="AJSC_HOME" />/bundleconfig/etc/auth/aai_keystore</Set> - <Set name="KeyStorePassword"> - <Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate"> - <Arg><SystemProperty name="KEY_STORE_PASSWORD" /></Arg> - </Call> - </Set> - <Set name="KeyManagerPassword"> - <Call class="org.eclipse.jetty.util.security.Password" name="deobfuscate"> - <Arg><SystemProperty name="KEY_MANAGER_PASSWORD" /></Arg> - </Call> - </Set> - <Set name="needClientAuth">false</Set> - <Set name="ExcludeProtocols"> - <Array type="java.lang.String"> - <Item>SSL</Item> - <Item>SSLv2</Item> - <Item>SSLv2Hello</Item> - <Item>SSLv3</Item> - <Item>TLSv1</Item> - </Array> - </Set> - </New> - </Arg> - </New> - </Item> - <Item> - <New class="org.eclipse.jetty.server.HttpConnectionFactory"> - <Arg name="config"> - <New class="org.eclipse.jetty.server.HttpConfiguration"> - <Call name="addCustomizer"> - <Arg> - <New class="org.eclipse.jetty.server.SecureRequestCustomizer" /> - </Arg> - </Call> - </New> - </Arg> - </New> - </Item> - </Array> - </Arg> - <Set name="port"><SystemProperty name="AJSC_HTTPS_PORT" default="8446" /></Set> - <Set name="idleTimeout">30000</Set> - </New> - </Arg> - </Call> - - <Get name="ThreadPool"> - <Set name="minThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MIN" /></Set> - <Set name="maxThreads"><SystemProperty name="AJSC_JETTY_ThreadCount_MAX" /></Set> - <Set name="idleTimeout"><SystemProperty name="AJSC_JETTY_IDLETIME_MAX" /></Set> - <Set name="detailedDump">false</Set> - </Get> - <Call name="addBean"> - <Arg> - <New class="org.eclipse.jetty.security.HashLoginService"> - <Set name="name">Test Realm</Set> - <Set name="config"><SystemProperty name="AJSC_HOME" />/etc/realm.properties</Set> - <Set name="refreshInterval">5</Set> - <Call name="start"></Call> - </New> - </Arg> - </Call> -</Configure> diff --git a/aai-traversal/src/main/config/ajsc-jolokia-override-web.xml b/aai-traversal/src/main/config/ajsc-jolokia-override-web.xml deleted file mode 100644 index b242129..0000000 --- a/aai-traversal/src/main/config/ajsc-jolokia-override-web.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" - metadata-complete="false" version="3.0"> - - <filter-mapping> - <filter-name>InterceptorFilter</filter-name> - <url-pattern>/services/*</url-pattern> - </filter-mapping> - <filter-mapping> - <filter-name>InterceptorFilter</filter-name> - <url-pattern>/rest/*</url-pattern> - </filter-mapping> - - <filter-mapping> - <filter-name>springSecurityFilterChain</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <servlet-mapping> - <servlet-name>ManagementServlet</servlet-name> - <url-pattern>/mgmt</url-pattern> - </servlet-mapping> - - <servlet-mapping> - <servlet-name>RestletServlet</servlet-name> - <url-pattern>/rest/*</url-pattern> - </servlet-mapping> - - <servlet-mapping> - <servlet-name>CamelServlet</servlet-name> - <url-pattern>/services/*</url-pattern> - </servlet-mapping> - - <servlet> - <servlet-name>jolokia-agent</servlet-name> - <servlet-class>org.jolokia.http.AgentServlet</servlet-class> - <load-on-startup>2</load-on-startup> - </servlet> - - <servlet-mapping> - <servlet-name>jolokia-agent</servlet-name> - <url-pattern>/jolokia/*</url-pattern> - </servlet-mapping> - -</web-app>
\ No newline at end of file diff --git a/aai-traversal/src/main/config/ajsc-override-web.xml b/aai-traversal/src/main/config/ajsc-override-web.xml deleted file mode 100644 index 61e2836..0000000 --- a/aai-traversal/src/main/config/ajsc-override-web.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" - metadata-complete="false" version="3.0"> - - <filter-mapping> - <filter-name>WriteableRequestFilter</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <filter-mapping> - <filter-name>InterceptorFilter</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - <filter-mapping> - <filter-name>InterceptorFilter</filter-name> - <url-pattern>/rest/*</url-pattern> - </filter-mapping> - - <filter-mapping> - <filter-name>springSecurityFilterChain</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> - - <servlet-mapping> - <servlet-name>ManagementServlet</servlet-name> - <url-pattern>/mgmt</url-pattern> - </servlet-mapping> - - <servlet-mapping> - <servlet-name>RestletServlet</servlet-name> - <url-pattern>/rest/*</url-pattern> - </servlet-mapping> - - <servlet-mapping> - <servlet-name>CamelServlet</servlet-name> - <url-pattern>/*</url-pattern> - </servlet-mapping> - - - -</web-app>
\ No newline at end of file diff --git a/aai-traversal/src/main/config/ajsc-request.xml b/aai-traversal/src/main/config/ajsc-request.xml deleted file mode 100644 index 5d09b7a..0000000 --- a/aai-traversal/src/main/config/ajsc-request.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ns1:ErrorTranslationRequest - xsi:schemaLocation="http://csi.cingular.com/CSI/Namespaces/Types/Private/ErrorTranslationRequest.xsd ErrorTranslationRequest.xsd" - xmlns:ns1="http://csi.cingular.com/CSI/Namespaces/Types/Private/ErrorTranslationRequest.xsd" - xmlns:th="http://csi.cingular.com/CSI/Namespaces/Types/Private/Implementation/TransactionHeader.xsd" - xmlns:err="http://csi.cingular.com/CSI/Namespaces/Types/Public/ErrorResponse.xsd" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <ns1:TransactionHeader> - <th:applicationId></th:applicationId> - <th:MessageQualifier> - <th:messageQualifier></th:messageQualifier> - </th:MessageQualifier> - <th:activityCode></th:activityCode> - <th:sequenceNumber></th:sequenceNumber> - <th:extendedSequenceNumber></th:extendedSequenceNumber> - <th:creationDate></th:creationDate> - <th:transactionDate></th:transactionDate> - <th:timeToLive></th:timeToLive> - <th:reasonCode></th:reasonCode> - <th:systemId></th:systemId> - <th:operatorId></th:operatorId> - <th:reference></th:reference> - <th:replyToAddress></th:replyToAddress> - <th:originatorId></th:originatorId> - <th:atlasMessageId></th:atlasMessageId> - </ns1:TransactionHeader> - <ns1:operation></ns1:operation> - <ns1:ServiceEntityFault> - <err:reportingServiceEntity></err:reportingServiceEntity> - <err:faultDate></err:faultDate> - <err:faultSequenceNumber></err:faultSequenceNumber> - <err:faultLevel></err:faultLevel> - <err:faultCode></err:faultCode> - <err:faultDescription></err:faultDescription> - <err:ServiceProviderRawError> - <err:code></err:code> - <err:description></err:description> - <err:BISError> - <err:code></err:code> - <err:description></err:description> - <err:origination></err:origination> - <err:severity></err:severity> - </err:BISError> - </err:ServiceProviderRawError> - </ns1:ServiceEntityFault> - <ns1:conversationID></ns1:conversationID> - <ns1:partnerName></ns1:partnerName> - <ns1:isRESTService></ns1:isRESTService> -</ns1:ErrorTranslationRequest>
\ No newline at end of file diff --git a/aai-traversal/src/main/config/hazelcast-client.properties b/aai-traversal/src/main/config/hazelcast-client.properties deleted file mode 100644 index 2624d3f..0000000 --- a/aai-traversal/src/main/config/hazelcast-client.properties +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (c) 2008-2013, Hazelcast, Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -hazelcast.client.group.name = ajsc -hazelcast.client.group.pass = ajscpass -hazelcast.client.connection.timeout = 30000 -hazelcast.client.connection.attempts.limit = 3 -hazelcast.client.reconnection.timeout = 5000 -hazelcast.client.reconnection.attempts.limit= 5 -hazelcast.client.shuffle.addresses = false -hazelcast.client.update.automatic = true -hazelcast.client.addresses = localhost, 127.0.0.1
\ No newline at end of file diff --git a/aai-traversal/src/main/config/jul-redirect.properties b/aai-traversal/src/main/config/jul-redirect.properties deleted file mode 100644 index 8b6624d..0000000 --- a/aai-traversal/src/main/config/jul-redirect.properties +++ /dev/null @@ -1,13 +0,0 @@ - -# Bridge JUL->slf4j Logging Configuration File -# -# This file bridges the JUL logging infrastructure into -# SLF4J so JUL logs go to logback implementation provided -# in this project. SLF4J also captures log4j and has -# other framework options as well providing a common -# logging infrastructure for capturing all logs from different -# libraries using different frameworks in one place. - -# Global properties -handlers=org.slf4j.bridge.SLF4JBridgeHandler -.level= ALL diff --git a/aai-traversal/src/main/config/keyfile b/aai-traversal/src/main/config/keyfile deleted file mode 100644 index 6a1657e..0000000 --- a/aai-traversal/src/main/config/keyfile +++ /dev/null @@ -1,27 +0,0 @@ -ctRt8XTd7N57kcm0npZOWSDF5I69w9K97cQS_ep0AgxgHmYB0WtYblsrMGuHfyS1o4697zLiIeoS -Nn5kE1kedl4c4HevfuwfoJpWyiugYusNOqbTGQJ1MHOwqiBEJnjXepZEoz1btaW_hDO7uz-BoD4t -SxwNRwVQpcg0_CmBX-yIW2YCIECoxZH9_X_8fcXYHP2VgFxxBpvjgycNQlyN15_VSuLwn3Wj0W8_ -8chRxGURyhp8iEBSb4tIdN5jXkhCma7AP7wreMufFQqXjdfWqIisJPfIpS3znl5IiTOZP22XhHay -gq2KFwABVqjM71m5czEz1ojGkbFEAGImrY-VFHuug2u4ss4VW7TGeJst0z7I5vrn5M6i9Eb6xiGh -jNUebRCV3cYGrtD9SlvjJBVVeP_3OrkxlD4oktx-JTRJzYtXADB5if2gtpYxy84kqrz7ltr5rXUH -zSG7ujKCXOOE_Wk6vQPSjYPnum6R_mxOorCNCvtf6ne85Xd81DZlJM-CleVNdOU7g1xie-gBZPAX -bOvWf6p_pVNmH76v-m4XLAAUqEzt-9PvNmirODiDiY5bNz6l-1ejw8IyQYb37e_3sN_LjF7A9HgB -Dia7kNjsfB7_2vB7R4qjwNLsmTMnQCDANnNpl9VpotZ4blPhhOWhB1Tg3lxc-z-VRV7GBbl_2eQd -3eYUT1Z5Li184W4-pft_TCaDJ1NyaJd1CQxQEuIORdq5B6Q2L9SMmmOOh82Czu5_Ro80IGikHXHp -Lqf2fIaceY_IBAeGp2iPjtXdkghV24vIT49oRfqf6sBKAPy-88xILnMWM6M5bMCETKn7UvM1kV5y -ZQYlsi-36n73ETZyiFs1PLqe8D6dRURrcBG_B9i1MafNiWa-elG6E0X0pSK9CadchSA0KRMaKtfE -6-iyUqE-bx-0ELTbV2y7gLdu5MVtjRmQB5ozoaBq8ik4-jAWAsKpTv4DfWoMp9DkRENlKeauayuT -j_VAGhqy07pIntQKtbK9EP0tndSKtF3WLwHel1I5C3lthhkxxfzpxURBxO1ZJMFJZ6rLu1Ku03zw -LJ7nFFR_YfJ7tnGZE4PEt7MOZNiNoD3__9PthO5HmZdk1gPMrKlojU1hyR3IlbVShUst6rA3MkWk -MD-zlw9mhNgaV3xvPJ945pYPe4C6qIwxXoiXGHyhv_0MpcvuMW-pUuAZXfkuiqNwQnpUTLBD0YJw -uwMbE7sN40e6-BSxEiMOab7s2gShbaK9JjCMQUH_vAuQSZjU4sn53jsS7U4DHntzgxVYttIwGZaU -b-1R7jYphNJnCI8rPB_xjJ0OMssNKT7lYRgG_ZuKvifYvJWt-NwD0z2qoePcRGExXuioRDNR4SlB --RN33dYhp6vRsHKT1oLpl-UJB6dqJlZ2dCsfc7vT1Vs0SYidRYXCUJNBSePI4-1LMlHKOqGASBcg -pl589601-EtO7ch3RoaL26rNXzA-umUWYRPQPZ76wcgK2j4k5Ndub5dWK9jI6UW3RbF6ixe0Yw2j -_Pipt4EX8R6-sb87D69JOOnZlFVB6EcCO07Q7j6DavpUNHlLmDmPgArqODh002scvW1ryMxBR2XE -m3kGQh2IFh5Qru8duxblEYE-lmHGxXVgDtKiKgHwPTkaxcquEtZTEJxaIJIgoKj7SgMzdfbeLlJM -RwbdvExmnRT9ivFImeIV7ACPnfBP3URd82kTG8FyiMvSpdCLL16FWOd9gjZuMstqZrmIVF8tO2WT -COMIx-jqvQD2zS1Ul5p0szJaf-CxBjy7-cJIaAyEToR1T5bBFtQt4sEFxG7XG0cCoXShqclL70TV -W13X5pY55YwHkCR4mRjc0o0ZKStY3OADVLFom1bC9AmMBqU4PsKNAX29LT37WE-I23tQgzid0Ix9 -JuVzlbOTvi19uLYbltrHavU3UbVhYxNNI7Y7tM02xfq3LhGqZG5EPS-WAB9bBixHQqw78cd9iqIr -hHlZW80l1kgs1ezMqgxfwDuiFOZIu9UWQ6vSnTAvfhwJhcr77gSk5Gu957uxzleaS4gVwTYU diff --git a/aai-traversal/src/main/config/runner-web.xml b/aai-traversal/src/main/config/runner-web.xml deleted file mode 100644 index 8a3a316..0000000 --- a/aai-traversal/src/main/config/runner-web.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" - metadata-complete="false" version="3.0"> - - <context-param> - <param-name>contextConfigLocation</param-name> - <param-value>/WEB-INF/spring-servlet.xml, - classpath:applicationContext.xml - </param-value> - </context-param> - - <context-param> - <param-name>spring.profiles.default</param-name> - <param-value>nooauth</param-value> - </context-param> - - <listener> - <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> - </listener> - - <servlet> - <servlet-name>ManagementServlet</servlet-name> - <servlet-class>ajsc.ManagementServlet</servlet-class> - </servlet> - - <filter> - <filter-name>WriteableRequestFilter</filter-name> - <filter-class>com.att.ajsc.csi.writeablerequestfilter.WriteableRequestFilter</filter-class> - </filter> - - <filter> - <filter-name>InterceptorFilter</filter-name> - <filter-class>ajsc.filters.InterceptorFilter</filter-class> - <init-param> - <param-name>preProcessor_interceptor_config_file</param-name> - <param-value>/etc/PreProcessorInterceptors.properties</param-value> - </init-param> - <init-param> - <param-name>postProcessor_interceptor_config_file</param-name> - <param-value>/etc/PostProcessorInterceptors.properties</param-value> - </init-param> - - </filter> - - <servlet> - <servlet-name>RestletServlet</servlet-name> - <servlet-class>ajsc.restlet.RestletSpringServlet</servlet-class> - <init-param> - <param-name>org.restlet.component</param-name> - <param-value>restletComponent</param-value> - </init-param> - </servlet> - - <servlet> - <servlet-name>CamelServlet</servlet-name> - <servlet-class>ajsc.servlet.AjscCamelServlet</servlet-class> - </servlet> - - - <filter> - <filter-name>springSecurityFilterChain</filter-name> - <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> - </filter> - - <servlet> - <servlet-name>spring</servlet-name> - <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> - <load-on-startup>1</load-on-startup> - </servlet> - - - - <servlet-mapping> - <servlet-name>spring</servlet-name> - <url-pattern>/</url-pattern> - </servlet-mapping> - - <listener> - <listener-class> - org.onap.aai.util.AAIAppServletContextListener - </listener-class> - </listener> - <security-constraint> - <web-resource-collection> - <web-resource-name>Open Source</web-resource-name> - <url-pattern>/aai/*</url-pattern> - </web-resource-collection> - <auth-constraint> - <role-name>admin</role-name> - </auth-constraint> - <user-data-constraint> - <transport-guarantee>CONFIDENTIAL</transport-guarantee> - </user-data-constraint> - </security-constraint> - - <login-config> - <auth-method>BASIC</auth-method> - <realm-name>Test Realm</realm-name> - </login-config> - - <security-role> - <role-name>admin</role-name> - </security-role> - -</web-app> diff --git a/aai-traversal/src/main/docker/Dockerfile b/aai-traversal/src/main/docker/Dockerfile new file mode 100644 index 0000000..3e4cd77 --- /dev/null +++ b/aai-traversal/src/main/docker/Dockerfile @@ -0,0 +1,22 @@ +FROM aaionap/aai-common:1.2.0 + + +# Add the proper files into the docker image from your build +WORKDIR /opt/app/aai-traversal + +# Expose the ports for outside linux to use +# 8446 is the important one to be used +EXPOSE 8446 + + +HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8446 || exit 1 + +ENTRYPOINT ["/bin/bash", "/opt/app/aai-traversal/docker-entrypoint.sh"] + +RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-GQ + +VOLUME /opt/aai/logroot/AAI-GQ + +COPY /maven/aai-traversal/ . + +ENV AAI_BUILD_VERSION @aai.docker.version@ diff --git a/aai-traversal/src/main/resources/docker/aai.sh b/aai-traversal/src/main/docker/aai.sh index a253775..a253775 100644 --- a/aai-traversal/src/main/resources/docker/aai.sh +++ b/aai-traversal/src/main/docker/aai.sh diff --git a/aai-traversal/src/main/docker/docker-entrypoint.sh b/aai-traversal/src/main/docker/docker-entrypoint.sh new file mode 100644 index 0000000..efaba95 --- /dev/null +++ b/aai-traversal/src/main/docker/docker-entrypoint.sh @@ -0,0 +1,119 @@ +### +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +APP_HOME=$(pwd); +RESOURCES_HOME=${APP_HOME}/resources/; + +export CHEF_CONFIG_REPO=${CHEF_CONFIG_REPO:-aai-config}; +export CHEF_GIT_URL=${CHEF_GIT_URL:-http://gerrit.onap.org/r/aai}; +export CHEF_CONFIG_GIT_URL=${CHEF_CONFIG_GIT_URL:-$CHEF_GIT_URL}; +export CHEF_DATA_GIT_URL=${CHEF_DATA_GIT_URL:-$CHEF_GIT_URL}; + +export SERVER_PORT=${SERVER_PORT:-8446}; + +export RESOURCES_HOSTNAME=${RESOURCES_HOSTNAME:-aai-resources.api.simpledemo.onap.org}; +export RESOURCES_PORT=${RESOURCES_PORT:-8447}; + +USER_ID=${LOCAL_USER_ID:-9001} +GROUP_ID=${LOCAL_GROUP_ID:-9001} + +if [ $(cat /etc/passwd | grep aaiadmin | wc -l) -eq 0 ]; then + + ln -s bin scripts + ln -s /opt/aai/logroot/AAI-GQ logs + + groupadd aaiadmin -g ${GROUP_ID} || { + echo "Unable to create the group id for ${GROUP_ID}"; + exit 1; + } + useradd --shell=/bin/bash -u ${USER_ID} -g ${GROUP_ID} -o -c "" -m aaiadmin || { + echo "Unable to create the user id for ${USER_ID}"; + exit 1; + } +fi; + +chown -R aaiadmin:aaiadmin /opt/app /opt/aai/logroot /var/chef +find /opt/app/ -name "*.sh" -exec chmod +x {} + + +if [ -f ${APP_HOME}/aai.sh ]; then + mv ${APP_HOME}/aai.sh /etc/profile.d/aai.sh + chmod 755 /etc/profile.d/aai.sh +fi; + +if [ -z ${DISABLE_UPDATE_QUERY} ]; then + UPDATE_QUERY_RAN_FILE="updateQueryRan.txt"; + gosu aaiadmin /opt/app/aai-traversal/bin/install/updateQueryData.sh + gosu aaiadmin touch ${UPDATE_QUERY_RAN_FILE}; +fi + +JAVA_CMD="exec gosu aaiadmin java"; + +JVM_OPTS="${PRE_JVM_OPTS} -XX:+UnlockDiagnosticVMOptions"; +JVM_OPTS="${JVM_OPTS} -XX:+UnsyncloadClass"; +JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC"; +JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled"; +JVM_OPTS="${JVM_OPTS} -XX:+UseCMSInitiatingOccupancyOnly"; +JVM_OPTS="${JVM_OPTS} -XX:CMSInitiatingOccupancyFraction=70"; +JVM_OPTS="${JVM_OPTS} -XX:+ScavengeBeforeFullGC"; +JVM_OPTS="${JVM_OPTS} -XX:+CMSScavengeBeforeRemark"; +JVM_OPTS="${JVM_OPTS} -XX:-HeapDumpOnOutOfMemoryError"; +JVM_OPTS="${JVM_OPTS} -XX:+UseParNewGC"; +JVM_OPTS="${JVM_OPTS} -verbose:gc"; +JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails"; +JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps"; +JVM_OPTS="${JVM_OPTS} -XX:MaxPermSize=512M"; +JVM_OPTS="${JVM_OPTS} -XX:PermSize=512M"; +JVM_OPTS="${JVM_OPTS} -server"; +JVM_OPTS="${JVM_OPTS} -XX:NewSize=512m"; +JVM_OPTS="${JVM_OPTS} -XX:MaxNewSize=512m"; +JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8"; +JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC"; +JVM_OPTS="${JVM_OPTS} -verbose:gc"; +JVM_OPTS="${JVM_OPTS} -XX:+UseParNewGC"; +JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled"; +JVM_OPTS="${JVM_OPTS} -XX:+CMSClassUnloadingEnabled"; +JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC"; +JVM_OPTS="${JVM_OPTS} -XX:-UseBiasedLocking"; +JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4"; +JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m"; +JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails"; +JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps"; +JVM_OPTS="${JVM_OPTS} -Xloggc:/opt/app/aai-traversal/logs/ajsc-jetty/gc/aai_gc.log"; +JVM_OPTS="${JVM_OPTS} -Dsun.net.inetaddr.ttl=180"; +JVM_OPTS="${JVM_OPTS} -XX:+HeapDumpOnOutOfMemoryError"; +JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-traversal/logs/ajsc-jetty/heap-dump"; +JVM_OPTS="${JVM_OPTS} ${POST_JVM_OPTS}"; + +JAVA_OPTS="${PRE_JAVA_OPTS} -DAJSC_HOME=$APP_HOME"; +JAVA_OPTS="${JAVA_OPTS} -Dserver.port=${SERVER_PORT}"; +JAVA_OPTS="${JAVA_OPTS} -DBUNDLECONFIG_DIR=./resources"; +JAVA_OPTS="${JAVA_OPTS} -Dserver.local.startpath=${RESOURCES_HOME}"; +JAVA_OPTS="${JAVA_OPTS} -DAAI_CHEF_ENV=${AAI_CHEF_ENV}"; +JAVA_OPTS="${JAVA_OPTS} -DSCLD_ENV=${SCLD_ENV}"; +JAVA_OPTS="${JAVA_OPTS} -DAFT_ENVIRONMENT=${AFT_ENVIRONMENT}"; +JAVA_OPTS="${JAVA_OPTS} -DlrmName=com.att.ajsc.traversal"; +JAVA_OPTS="${JAVA_OPTS} -DAAI_BUILD_NUMBER=${AAI_BUILD_NUMBER}"; +JAVA_OPTS="${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom"; +JAVA_OPTS="${JAVA_OPTS} -Dloader.path=$APP_HOME/resources"; +JAVA_OPTS="${JAVA_OPTS} ${POST_JAVA_OPTS}"; + +JAVA_MAIN_JAR=$(ls lib/aai-traversal-*SNAPSHOT.jar); + +${JAVA_CMD} ${JVM_OPTS} ${JAVA_OPTS} -jar ${JAVA_MAIN_JAR}; diff --git a/aai-traversal/src/main/java/org/onap/aai/Profiles.java b/aai-traversal/src/main/java/org/onap/aai/Profiles.java new file mode 100644 index 0000000..0b1292d --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/Profiles.java @@ -0,0 +1,12 @@ +package org.onap.aai; + +public final class Profiles { + + public static final String DMAAP = "dmaap"; + public static final String DME2 = "dme2"; + + public static final String ONE_WAY_SSL = "one-way-ssl"; + public static final String TWO_WAY_SSL = "two-way-ssl"; + + private Profiles(){} +} diff --git a/aai-traversal/src/main/java/org/onap/aai/TraversalApp.java b/aai-traversal/src/main/java/org/onap/aai/TraversalApp.java new file mode 100644 index 0000000..fb97908 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/TraversalApp.java @@ -0,0 +1,130 @@ +package org.onap.aai; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import org.onap.aai.config.PropertyPasswordConfiguration; +import org.onap.aai.dbmap.AAIGraph; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.introspection.ModelInjestor; +import org.onap.aai.logging.LoggingContext; +import org.onap.aai.util.AAIConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration; +import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.core.env.Environment; + +import javax.annotation.PostConstruct; +import javax.annotation.PreDestroy; +import java.util.UUID; + +@SpringBootApplication +// Component Scan provides a way to look for spring beans +// It only searches beans in the following packages +// Any method annotated with @Bean annotation or any class +// with @Component, @Configuration, @Service will be picked up +@ComponentScan(basePackages = { + "org.onap.aai.config", + "org.onap.aai.web", + "org.onap.aai.tasks", + "org.onap.aai.rest", + "com.att.ajsc.common" +}) +@EnableAutoConfiguration(exclude = { + DataSourceAutoConfiguration.class, + DataSourceTransactionManagerAutoConfiguration.class, + HibernateJpaAutoConfiguration.class +}) +public class TraversalApp { + + private static final EELFLogger logger = EELFManager.getInstance().getLogger(TraversalApp.class.getName()); + + private static final String APP_NAME = "aai-traversal"; + + @Autowired + private Environment env; + + @PostConstruct + private void init() throws AAIException { + System.setProperty("org.onap.aai.serverStarted", "false"); + setDefaultProps(); + + LoggingContext.save(); + LoggingContext.component("init"); + LoggingContext.partnerName("NA"); + LoggingContext.targetEntity(APP_NAME); + LoggingContext.requestId(UUID.randomUUID().toString()); + LoggingContext.serviceName(APP_NAME); + LoggingContext.targetServiceName("contextInitialized"); + + logger.info("AAI Server initialization started..."); + + // Setting this property to allow for encoded slash (/) in the path parameter + // This is only needed for tomcat keeping this as temporary + System.setProperty("org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH", "true"); + + logger.info("Starting AAIGraph connections and the ModelInjestor"); + + if(env.acceptsProfiles(Profiles.TWO_WAY_SSL) && env.acceptsProfiles(Profiles.ONE_WAY_SSL)){ + logger.warn("You have seriously misconfigured your application"); + } + + AAIConfig.init(); + ModelInjestor.getInstance(); + AAIGraph.getInstance(); + } + + @PreDestroy + public void cleanup(){ + logger.info("Shutting down both realtime and cached connections"); + AAIGraph.getInstance().graphShutdown(); + } + + public static void main(String[] args) { + + setDefaultProps(); + SpringApplication app = new SpringApplication(TraversalApp.class); + app.setRegisterShutdownHook(true); + app.addInitializers(new PropertyPasswordConfiguration()); + Environment env = app.run(args).getEnvironment(); + + logger.info( + "Application '{}' is running on {}!" , + env.getProperty("spring.application.name"), + env.getProperty("server.port") + ); + + logger.info("Traversal MicroService Started"); + logger.error("Traversal MicroService Started"); + logger.debug("Traversal MicroService Started"); + System.out.println("Traversal Microservice Started"); + } + + public static void setDefaultProps(){ + + if (System.getProperty("file.separator") == null) { + System.setProperty("file.separator", "/"); + } + + String currentDirectory = System.getProperty("user.dir"); + + if (System.getProperty("AJSC_HOME") == null) { + System.setProperty("AJSC_HOME", "."); + } + + if(currentDirectory.contains(APP_NAME)){ + if (System.getProperty("BUNDLECONFIG_DIR") == null) { + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); + } + } else { + if (System.getProperty("BUNDLECONFIG_DIR") == null) { + System.setProperty("BUNDLECONFIG_DIR", "aai-traversal/src/main/resources"); + } + } + + } +} diff --git a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/JaxrsErrorMessageLookupService.java b/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/JaxrsErrorMessageLookupService.java deleted file mode 100644 index 6aa1f29..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/JaxrsErrorMessageLookupService.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.ajsc_aai; - -//import java.util.HashMap; -//import java.util.Map; - -//import javax.ws.rs.GET; -//import javax.ws.rs.HeaderParam; -//import javax.ws.rs.Path; -//import javax.ws.rs.PathParam; -//import javax.ws.rs.Produces; - -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -//import org.springframework.web.context.ContextLoader; -//import org.springframework.web.context.WebApplicationContext; - -//import ajsc.ErrorMessageLookupService; - -//@Path("/errormessage") -//public class JaxrsErrorMessageLookupService { - - //private final static Logger logger = LoggerFactory - //.getLogger(ErrorMessageLookupService.class); - - //* - //Gets the message. - - //@param input the input - //@param errorCode the error code - //@param appId the app id - //@param operation the operation - //@param messageText the message text - //@param isRESTService the is REST service - //@param faultEntity the fault entity - //@param ConvID the conv ID - //@return the message - //@GET - //@Path("/emls") - //@Produces("text/plain") - //public String getMessage(@PathParam("input") String input, - //@HeaderParam("errorCode") String errorCode, - //@HeaderParam("appId") String appId, - //@HeaderParam("operation") String operation, - //@HeaderParam("messageText") String messageText, - //@HeaderParam("isRESTService") String isRESTService, - //@HeaderParam("faultEntity") String faultEntity, - //@HeaderParam("ConvID") String ConvID) { - - //Map<String, String> headers = new HashMap<String, String>(); - //headers.put(errorCode, errorCode); - //headers.put(appId, appId); - //headers.put(operation, operation); - //headers.put(messageText, messageText); - //headers.put(isRESTService, isRESTService); - //headers.put(faultEntity, faultEntity); - //headers.put(ConvID, ConvID); - - //WebApplicationContext applicationContext = ContextLoader - //.getCurrentWebApplicationContext(); - - //ErrorMessageLookupService e = (ErrorMessageLookupService) applicationContext - //.getBean("errorMessageLookupService"); - - //String message = e.getExceptionDetails(appId, operation, errorCode, - //messageText,isRESTService, faultEntity, ConvID); - - //System.out.println("Error code = " + errorCode); - //System.out.println("appId = " + appId); - //System.out.println("operation = " + operation); - //System.out.println("messageText = " + messageText); - //System.out.println("isRESTService = " + isRESTService); - //System.out.println("faultEntity = " + faultEntity); - //System.out.println("ConvID = " + ConvID); - //return "The exception message is:\n " + message; - //} - -//} - diff --git a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/JaxrsUserService.java b/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/JaxrsUserService.java deleted file mode 100644 index 29cf62a..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/JaxrsUserService.java +++ /dev/null @@ -1,55 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.ajsc_aai; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import java.util.Map; -import java.util.HashMap; - -@Path("/user") -public class JaxrsUserService { - - private static final Map<String,String> userIdToNameMap; - static { - userIdToNameMap = new HashMap<>(); - userIdToNameMap.put("userID1","Name1"); - userIdToNameMap.put("userID2","Name2"); - } - - /** - * Lookup user. - * - * @param userId the user id - * @return the string - */ - @GET - @Path("/{userId}") - @Produces("text/plain") - public String lookupUser(@PathParam("userId") String userId) { - String name = userIdToNameMap.get(userId); - return name != null ? name : "unknown id"; - } - -} diff --git a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertiesListener.java b/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertiesListener.java deleted file mode 100644 index c806045..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertiesListener.java +++ /dev/null @@ -1,21 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ diff --git a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertiesMap.java b/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertiesMap.java deleted file mode 100644 index 7274c61..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertiesMap.java +++ /dev/null @@ -1,127 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.ajsc_aai.filemonitor; - -import java.io.File; -import java.io.FileInputStream; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import com.fasterxml.jackson.core.type.TypeReference; -import com.fasterxml.jackson.databind.ObjectMapper; - -public class ServicePropertiesMap -{ - private static HashMap<String, HashMap<String, String>> mapOfMaps = new HashMap<String, HashMap<String, String>>(); - private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(ServicePropertiesMap.class); - - /** - * Refresh. - * - * @param file the file - * @throws Exception the exception - */ - public static void refresh(File file) throws Exception - { - try - { - LOGGER.info("Loading properties - " + (file != null?file.getName():"")); - - //Store .json & .properties files into map of maps - String filePath = file.getPath(); - - if(filePath.lastIndexOf(".json")>0){ - - ObjectMapper om = new ObjectMapper(); - TypeReference<HashMap<String, String>> typeRef = new TypeReference<HashMap<String, String>>() {}; - HashMap<String, String> propMap = om.readValue(file, typeRef); - HashMap<String, String> lcasePropMap = new HashMap<String, String>(); - for (String key : propMap.keySet() ) - { - String lcaseKey = ifNullThenEmpty(key); - lcasePropMap.put(lcaseKey, propMap.get(key)); - } - - mapOfMaps.put(file.getName(), lcasePropMap); - - - }else if(filePath.lastIndexOf(".properties")>0){ - Properties prop = new Properties(); - FileInputStream fis = new FileInputStream(file); - prop.load(fis); - - @SuppressWarnings("unchecked") - HashMap<String, String> propMap = new HashMap<String, String>((Map)prop); - - mapOfMaps.put(file.getName(), propMap); - } - - LOGGER.info("File - " + file.getName() + " is loaded into the map and the corresponding system properties have been refreshed"); - } - catch (Exception e) - { - LOGGER.error("File " + (file != null?file.getName():"") + " cannot be loaded into the map ", e); - throw new Exception("Error reading map file " + (file != null?file.getName():""), e); - } - } - - /** - * Gets the property. - * - * @param fileName the file name - * @param propertyKey the property key - * @return the property - */ - public static String getProperty(String fileName, String propertyKey) - { - HashMap<String, String> propMap = mapOfMaps.get(fileName); - return propMap!=null?propMap.get(ifNullThenEmpty(propertyKey)):""; - } - - /** - * Gets the properties. - * - * @param fileName the file name - * @return the properties - */ - public static HashMap<String, String> getProperties(String fileName){ - return mapOfMaps.get(fileName); - } - - /** - * If null then empty. - * - * @param key the key - * @return the string - */ - private static String ifNullThenEmpty(String key) { - if (key == null) { - return ""; - } else { - return key; - } - } - -} diff --git a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertyService.java b/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertyService.java deleted file mode 100644 index c806045..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/filemonitor/ServicePropertyService.java +++ /dev/null @@ -1,21 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ diff --git a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/util/ServicePropertiesMapBean.java b/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/util/ServicePropertiesMapBean.java deleted file mode 100644 index 71c290b..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/ajsc_aai/util/ServicePropertiesMapBean.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.ajsc_aai.util; - -import org.onap.aai.ajsc_aai.filemonitor.ServicePropertiesMap; - -public class ServicePropertiesMapBean { - - /** - * Gets the property. - * - * @param propFileName the prop file name - * @param propertyKey the property key - * @return the property - */ - public static String getProperty(String propFileName, String propertyKey) { - return ServicePropertiesMap.getProperty(propFileName, propertyKey); - } -} diff --git a/aai-traversal/src/main/java/org/onap/aai/config/DmaapConfig.java b/aai-traversal/src/main/java/org/onap/aai/config/DmaapConfig.java deleted file mode 100644 index 247ecf7..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/config/DmaapConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.config; - -import org.apache.activemq.broker.BrokerService; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -public class DmaapConfig { - - @Bean(destroyMethod = "stop") - public BrokerService brokerService() throws Exception { - - BrokerService broker = new BrokerService(); - broker.addConnector("tcp://localhost:61446"); - broker.setPersistent(false); - broker.setUseJmx(false); - broker.setSchedulerSupport(false); - broker.start(); - - return broker; - } -} diff --git a/aai-traversal/src/main/java/org/onap/aai/config/JettyPasswordDecoder.java b/aai-traversal/src/main/java/org/onap/aai/config/JettyPasswordDecoder.java new file mode 100644 index 0000000..069d71b --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/config/JettyPasswordDecoder.java @@ -0,0 +1,14 @@ +package org.onap.aai.config; + +import org.eclipse.jetty.util.security.Password; + +public class JettyPasswordDecoder implements PasswordDecoder { + + @Override + public String decode(String input) { + if (input.startsWith("OBF:")) { + return Password.deobfuscate(input); + } + return Password.deobfuscate("OBF:" + input); + } +} diff --git a/aai-traversal/src/main/java/org/onap/aai/config/PasswordDecoder.java b/aai-traversal/src/main/java/org/onap/aai/config/PasswordDecoder.java new file mode 100644 index 0000000..131bc6e --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/config/PasswordDecoder.java @@ -0,0 +1,6 @@ +package org.onap.aai.config; + +public interface PasswordDecoder { + + String decode(String input); +} diff --git a/aai-traversal/src/main/java/org/onap/aai/config/PropertyPasswordConfiguration.java b/aai-traversal/src/main/java/org/onap/aai/config/PropertyPasswordConfiguration.java new file mode 100644 index 0000000..a282f85 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/config/PropertyPasswordConfiguration.java @@ -0,0 +1,62 @@ +package org.onap.aai.config; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.core.env.CompositePropertySource; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.EnumerablePropertySource; +import org.springframework.core.env.MapPropertySource; +import org.springframework.core.env.PropertySource; +import org.springframework.stereotype.Component; + +public class PropertyPasswordConfiguration implements ApplicationContextInitializer<ConfigurableApplicationContext> { + + private static final Pattern decodePasswordPattern = Pattern.compile("password\\((.*?)\\)"); + + private PasswordDecoder passwordDecoder = new JettyPasswordDecoder(); + + @Override + public void initialize(ConfigurableApplicationContext applicationContext) { + ConfigurableEnvironment environment = applicationContext.getEnvironment(); + for (PropertySource<?> propertySource : environment.getPropertySources()) { + Map<String, Object> propertyOverrides = new LinkedHashMap<>(); + decodePasswords(propertySource, propertyOverrides); + if (!propertyOverrides.isEmpty()) { + PropertySource<?> decodedProperties = new MapPropertySource("decoded "+ propertySource.getName(), propertyOverrides); + environment.getPropertySources().addBefore(propertySource.getName(), decodedProperties); + } + } + } + + private void decodePasswords(PropertySource<?> source, Map<String, Object> propertyOverrides) { + if (source instanceof EnumerablePropertySource) { + EnumerablePropertySource<?> enumerablePropertySource = (EnumerablePropertySource<?>) source; + for (String key : enumerablePropertySource.getPropertyNames()) { + Object rawValue = source.getProperty(key); + if (rawValue instanceof String) { + String decodedValue = decodePasswordsInString((String) rawValue); + propertyOverrides.put(key, decodedValue); + } + } + } + } + + private String decodePasswordsInString(String input) { + if (input == null) return null; + StringBuffer output = new StringBuffer(); + Matcher matcher = decodePasswordPattern.matcher(input); + while (matcher.find()) { + String replacement = passwordDecoder.decode(matcher.group(1)); + matcher.appendReplacement(output, replacement); + } + matcher.appendTail(output); + return output.toString(); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIContainerFilter.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIContainerFilter.java new file mode 100644 index 0000000..062cb27 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIContainerFilter.java @@ -0,0 +1,22 @@ +package org.onap.aai.interceptors; + +import java.util.UUID; + +import org.onap.aai.util.FormatDate; + +public abstract class AAIContainerFilter { + + protected String genDate() { + FormatDate fd = new FormatDate("YYMMdd-HH:mm:ss:SSS"); + return fd.getDateTime(); + } + + protected boolean isValidUUID(String transId) { + try { + UUID.fromString(transId); + } catch (IllegalArgumentException e) { + return false; + } + return true; + } +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIHeaderProperties.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIHeaderProperties.java index 733383a..8eca9b6 100644 --- a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIHeaderProperties.java +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/AAIHeaderProperties.java @@ -21,7 +21,21 @@ */ package org.onap.aai.interceptors; -public class AAIHeaderProperties { - +public final class AAIHeaderProperties { + + private AAIHeaderProperties(){} + public static final String REQUEST_CONTEXT = "aai-request-context"; + + public static final String HTTP_METHOD_OVERRIDE = "X-HTTP-Method-Override"; + + public static final String TRANSACTION_ID = "X-TransactionId"; + + public static final String FROM_APP_ID = "X-FromAppId"; + + public static final String AAI_TX_ID = "X-AAI-TXID"; + + public static final String AAI_REQUEST = "X-REQUEST"; + + public static final String AAI_REQUEST_TS = "X-REQUEST-TS"; } diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAILogJAXRSInInterceptor.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/AAILogJAXRSInInterceptor.java deleted file mode 100644 index 155d387..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAILogJAXRSInInterceptor.java +++ /dev/null @@ -1,286 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.ws.rs.core.MediaType; - -import org.apache.commons.io.IOUtils; -import org.apache.cxf.helpers.CastUtils; -import org.apache.cxf.interceptor.LoggingMessage; -import org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor; -import org.apache.cxf.message.Message; -import org.onap.aai.exceptions.AAIException; -import org.onap.aai.logging.ErrorLogHelper; -import org.onap.aai.rest.util.EchoResponse; -import org.onap.aai.util.AAIConfig; -import org.onap.aai.util.AAIConstants; -import org.onap.aai.util.FormatDate; -import org.onap.aai.util.HbaseSaltPrefixer; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import org.slf4j.MDC; - -public class AAILogJAXRSInInterceptor extends JAXRSInInterceptor { - - protected final String COMPONENT = "aairest"; - protected final String CAMEL_REQUEST ="CamelHttpUrl"; - private static final Pattern uuidPattern = Pattern.compile("^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"); - private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(AAILogJAXRSInInterceptor.class); - - /** - * {@inheritDoc} - */ - public void handleMessage(Message message) { - - boolean go = false; - String uri = null; - String query = null; - try { - - uri = (String)message.get(CAMEL_REQUEST); - if (uri != null) { - query = (String)message.get(Message.QUERY_STRING); - } - - if (AAIConfig.get(AAIConstants.AAI_LOGGING_HBASE_INTERCEPTOR).equalsIgnoreCase("true") && - AAIConfig.get(AAIConstants.AAI_LOGGING_HBASE_ENABLED).equalsIgnoreCase("true")) { - go = true; - message.getExchange().put("AAI_LOGGING_HBASE_ENABLED", 1); - if (AAIConfig.get(AAIConstants.AAI_LOGGING_HBASE_LOGREQUEST).equalsIgnoreCase("true") ) { - message.getExchange().put("AAI_LOGGING_HBASE_LOGREQUEST", 1); - } - if (AAIConfig.get(AAIConstants.AAI_LOGGING_HBASE_LOGRESPONSE).equalsIgnoreCase("true") ) { - message.getExchange().put("AAI_LOGGING_HBASE_LOGRESPONSE", 1); - } - } - if (AAIConfig.get(AAIConstants.AAI_LOGGING_TRACE_ENABLED).equalsIgnoreCase("true") ) { - go = true; - message.getExchange().put("AAI_LOGGING_TRACE_ENABLED", 1); - if (AAIConfig.get(AAIConstants.AAI_LOGGING_TRACE_LOGREQUEST).equalsIgnoreCase("true") ) { - message.getExchange().put("AAI_LOGGING_TRACE_LOGREQUEST", 1); - } - if (AAIConfig.get(AAIConstants.AAI_LOGGING_TRACE_LOGRESPONSE).equalsIgnoreCase("true") ) { - message.getExchange().put("AAI_LOGGING_TRACE_LOGRESPONSE", 1); - } - } - } catch (AAIException e1) { - ErrorLogHelper.logException(e1); - } - - if ((uri != null) && (uri.contains(EchoResponse.echoPath))) { - // if it's a health check, we don't want to log ANYTHING if it's a lightweight one - if (query == null) { - if (message.getExchange().containsKey("AAI_LOGGING_HBASE_ENABLED")) { - message.getExchange().remove("AAI_LOGGING_HBASE_ENABLED"); - } - if (message.getExchange().containsKey("AAI_LOGGING_TRACE_ENABLED")) { - message.getExchange().remove("AAI_LOGGING_TRACE_ENABLED"); - } - go = false; - } - } - else if ((uri != null) && (uri.contains("/translog/"))) { - // if it's a translog query, we don't want to log the responses - if (message.getExchange().containsKey("AAI_LOGGING_HBASE_LOGRESPONSE")) { - message.getExchange().remove("AAI_LOGGING_HBASE_LOGRESPONSE"); - } - if (message.getExchange().containsKey("AAI_LOGGING_TRACE_LOGRESPONSE")) { - message.getExchange().remove("AAI_LOGGING_TRACE_LOGRESPONSE"); - } - } - - if (go == false) { // there's nothing to do - return; - } - - // DONE: get a TXID based on hostname, time (YYYYMMDDHHMMSSMILLIS, and LoggingMessage.nextId(); 20150326145301-1 - String now = genDate(); - - message.getExchange().put("AAI_RQST_TM", now); - - String id = (String)message.getExchange().get(LoggingMessage.ID_KEY); - - String fullId = null; - try { - if (id == null) { - id = LoggingMessage.nextId(); - } - fullId = AAIConfig.get(AAIConstants.AAI_NODENAME) + "-" + now + "-" + id; - fullId = HbaseSaltPrefixer.getInstance().prependSalt(fullId); - message.getExchange().put(LoggingMessage.ID_KEY, fullId); - } catch (AAIException e1) { - LOGGER.debug("config problem", e1); - } - - if (fullId == null) { - fullId = now + "-" + id; - fullId = HbaseSaltPrefixer.getInstance().prependSalt(fullId); - } - message.put(LoggingMessage.ID_KEY, fullId); - final LoggingMessage buffer = new LoggingMessage("Message", fullId); - - Integer responseCode = (Integer)message.get(Message.RESPONSE_CODE); - if (responseCode != null) { - buffer.getResponseCode().append(responseCode); - } - - String encoding = (String)message.get(Message.ENCODING); - - if (encoding != null) { - buffer.getEncoding().append(encoding); - } - String httpMethod = (String)message.get(Message.HTTP_REQUEST_METHOD); - if (httpMethod != null) { - buffer.getHttpMethod().append(httpMethod); - } - - String ct = (String)message.get(Message.CONTENT_TYPE); - if (ct != null) { - if ("*/*".equals(ct)) { - message.put(Message.CONTENT_TYPE, MediaType.APPLICATION_JSON); - ct = MediaType.APPLICATION_JSON; - } - buffer.getContentType().append(ct); - - } - Object headers = message.get(Message.PROTOCOL_HEADERS); - if (headers != null) { - buffer.getHeader().append(headers); - - Map<String, List<String>> headersList = CastUtils.cast((Map<?, ?>)message.get(Message.PROTOCOL_HEADERS)); - String transId = ""; - List<String> xt = headersList.get("X-TransactionId"); - String newTransId = transId; - boolean missingTransId = false; - boolean replacedTransId = false; - String logMsg = null; - if (xt != null) { - for (String transIdValue : xt) { - transId = transIdValue; - } - Matcher matcher = uuidPattern.matcher(transId); - if (!matcher.find()) { - replacedTransId = true; - // check if there's a colon, and check the first group? - if (transId.contains(":")) { - String[] uuidParts = transId.split(":"); - Matcher matcher2 = uuidPattern.matcher(uuidParts[0]); - if (matcher2.find()) { - newTransId = uuidParts[0]; - } else { - // punt, we tried to find it, it has a colon but no UUID-1 - newTransId = UUID.randomUUID().toString(); - } - } else { - newTransId = UUID.randomUUID().toString(); - } - } - } else { - newTransId = UUID.randomUUID().toString(); - missingTransId = true; - } - - if (missingTransId || replacedTransId) { - List<String> txList = new ArrayList<String>(); - txList.add(newTransId); - headersList.put("X-TransactionId", txList); - if (missingTransId) { - logMsg = "Missing requestID. Assigned " + newTransId; - } else if (replacedTransId) { - logMsg = "Replaced invalid requestID of " + transId + " Assigned " + newTransId; - } - MDC.put("RequestId",newTransId); - } - else { - MDC.put("RequestId",transId); - } - - - List<String> fromAppIdList = headersList.get("X-FromAppId"); - if (fromAppIdList != null) { - String fromAppId = null; - for (String fromAppIdValue : fromAppIdList) { - fromAppId = fromAppIdValue; - } - MDC.put("PartnerName",fromAppId); - } - - List<String> contentType = headersList.get("Content-Type"); - if (contentType == null) { - ct = (String)message.get(Message.CONTENT_TYPE); - headersList.put(Message.CONTENT_TYPE, Collections.singletonList(ct)); - } - - LOGGER.auditEvent("REST " + httpMethod + " " + ((query != null)? uri+"?"+query : uri) + " HbaseTxId=" + fullId); - LOGGER.info(logMsg); - } - - - if (uri != null) { - buffer.getAddress().append(uri); - if (query != null) { - buffer.getAddress().append("?").append(query); - } - } - - InputStream is = message.getContent(InputStream.class); - if (is != null) { - try { - String currentPayload = IOUtils.toString(is, "UTF-8"); - IOUtils.closeQuietly(is); - buffer.getPayload().append(currentPayload); - is = IOUtils.toInputStream(currentPayload, "UTF-8"); - message.setContent(InputStream.class, is); - IOUtils.closeQuietly(is); - } catch (Exception e) { - // It's ok to not have request input content - // throw new Fault(e); - } - } - - // this will be saved in the message exchange, and can be pulled out later... - message.getExchange().put(fullId + "_REQUEST", buffer.toString()); - } - - /** - * Gen date. - * - * @param aaiLogger the aai logger - * @param logline the logline - * @return the string - */ - protected String genDate() { - FormatDate fd = new FormatDate("YYMMdd-HH:mm:ss:SSS"); - return fd.getDateTime(); - } - -} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAILogJAXRSOutInterceptor.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/AAILogJAXRSOutInterceptor.java deleted file mode 100644 index a280023..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/interceptors/AAILogJAXRSOutInterceptor.java +++ /dev/null @@ -1,303 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import java.io.OutputStream; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.cxf.helpers.CastUtils; -import org.apache.cxf.interceptor.LoggingMessage; -import org.apache.cxf.io.CacheAndWriteOutputStream; -import org.apache.cxf.io.CachedOutputStream; -import org.apache.cxf.io.CachedOutputStreamCallback; -import org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor; -import org.apache.cxf.message.Message; -import org.onap.aai.exceptions.AAIException; -import org.onap.aai.logging.ErrorLogHelper; -import org.onap.aai.util.AAIConfig; -import org.onap.aai.util.AAIConstants; -import org.onap.aai.util.FormatDate; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -// right after the request is complete, there may be content -public class AAILogJAXRSOutInterceptor extends JAXRSOutInterceptor { - - private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(AAILogJAXRSOutInterceptor.class); - - protected final String COMPONENT = "aairest"; - protected final String CAMEL_REQUEST = "CamelHttpUrl"; - - /** - * {@inheritDoc} - */ - public void handleMessage(Message message) { - - String fullId = (String) message.getExchange().get(LoggingMessage.ID_KEY); - - Map<String, List<String>> headers = CastUtils.cast((Map<?, ?>) message.get(Message.PROTOCOL_HEADERS)); - if (headers == null) { - headers = new HashMap<String, List<String>>(); - } - - headers.put("X-AAI-TXID", Collections.singletonList(fullId)); - message.put(Message.PROTOCOL_HEADERS, headers); - - Message outMessage = message.getExchange().getOutMessage(); - final OutputStream os = outMessage.getContent(OutputStream.class); - if (os == null) { - return; - } - - // we only want to register the callback if there is good reason for it. - if (message.getExchange().containsKey("AAI_LOGGING_HBASE_ENABLED") || message.getExchange().containsKey("AAI_LOGGING_TRACE_ENABLED")) { - - final CacheAndWriteOutputStream newOut = new CacheAndWriteOutputStream(os); - message.setContent(OutputStream.class, newOut); - newOut.registerCallback(new LoggingCallback(message, os)); - } - - } - - class LoggingCallback implements CachedOutputStreamCallback { - - private final Message message; - private final OutputStream origStream; - - public LoggingCallback(final Message msg, final OutputStream os) { - this.message = msg; - this.origStream = os; - } - - public void onFlush(CachedOutputStream cos) { - - } - - public void onClose(CachedOutputStream cos) { - - String getValue = ""; - String postValue = ""; - String logValue = ""; - - try { - logValue = AAIConfig.get("aai.transaction.logging"); - getValue = AAIConfig.get("aai.transaction.logging.get"); - postValue = AAIConfig.get("aai.transaction.logging.post"); - } catch (AAIException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - if (!message.getExchange().containsKey("AAI_LOGGING_HBASE_ENABLED") && !message.getExchange().containsKey("AAI_LOGGING_TRACE_ENABLED")) { - return; - } - - String fullId = (String) message.getExchange().get(LoggingMessage.ID_KEY); - - Message inMessage = message.getExchange().getInMessage(); - String transId = null; - String fromAppId = null; - - Map<String, List<String>> headersList = CastUtils.cast((Map<?, ?>) inMessage.get(Message.PROTOCOL_HEADERS)); - if (headersList != null) { - List<String> xt = headersList.get("X-TransactionId"); - if (xt != null) { - for (String transIdValue : xt) { - transId = transIdValue; - } - } - List<String> fa = headersList.get("X-FromAppId"); - if (fa != null) { - for (String fromAppIdValue : fa) { - - fromAppId = fromAppIdValue; - } - } - } - - String httpMethod = (String) inMessage.get(Message.HTTP_REQUEST_METHOD); - - String uri = (String) inMessage.get(CAMEL_REQUEST); - String fullUri = uri; - if (uri != null) { - String query = (String) message.get(Message.QUERY_STRING); - if (query != null) { - fullUri = uri + "?" + query; - } - } - - String request = (String) message.getExchange().get(fullId + "_REQUEST"); - - Message outMessage = message.getExchange().getOutMessage(); - - final LoggingMessage buffer = new LoggingMessage("OUTMessage", fullId); - - // should we check this, and make sure it's not an error? - Integer responseCode = (Integer) outMessage.get(Message.RESPONSE_CODE); - if (responseCode == null) { - responseCode = 200; // this should never happen, but just in - // case we don't get one - } - buffer.getResponseCode().append(responseCode); - - String encoding = (String) outMessage.get(Message.ENCODING); - - if (encoding != null) { - buffer.getEncoding().append(encoding); - } - - String ct = (String) outMessage.get(Message.CONTENT_TYPE); - if (ct != null) { - buffer.getContentType().append(ct); - } - - Object headers = outMessage.get(Message.PROTOCOL_HEADERS); - if (headers != null) { - buffer.getHeader().append(headers); - } - - Boolean ss = false; - if (responseCode >= 200 && responseCode <= 299) { - ss = true; - } - String response = buffer.toString(); - - // this should have been set by the in interceptor - String rqstTm = (String) message.getExchange().get("AAI_RQST_TM"); - - // just in case it wasn't, we'll put this here. not great, but it'll - // have a val. - if (rqstTm == null) { - rqstTm = genDate(); - } - - - String respTm = genDate(); - - try { - String actualRequest = request; - StringBuilder builder = new StringBuilder(); - cos.writeCacheTo(builder, 100000); - // here comes my xml: - String payload = builder.toString(); - - String actualResponse = response; - if (payload == null) { - - } else { - actualResponse = response + payload; - } - - // we only log to AAI log if it's eanbled in the config props - // file - if (message.getExchange().containsKey("AAI_LOGGING_TRACE_ENABLED")) { - - if (message.getExchange().containsKey("AAI_LOGGING_TRACE_LOGREQUEST")) { - - // strip newlines from request - String traceRequest = actualRequest; - traceRequest = traceRequest.replace("\n", " "); - traceRequest = traceRequest.replace("\r", ""); - traceRequest = traceRequest.replace("\t", ""); - LOGGER.debug(traceRequest); - } - if (message.getExchange().containsKey("AAI_LOGGING_TRACE_LOGRESPONSE")) { - // strip newlines from response - String traceResponse = actualResponse; - traceResponse = traceResponse.replace("\n", " "); - traceResponse = traceResponse.replace("\r", ""); - traceResponse = traceResponse.replace("\t", ""); - - LOGGER.debug(traceResponse); - } - } - - // we only log to HBASE if it's enabled in the config props file - // TODO: pretty print XML/JSON. we might need to get the payload - // and envelope seperately - if (message.getExchange().containsKey("AAI_LOGGING_HBASE_ENABLED")) { - if (!message.getExchange().containsKey("AAI_LOGGING_HBASE_LOGREQUEST")) { - actualRequest = "loggingDisabled"; - } - if (!message.getExchange().containsKey("AAI_LOGGING_HBASE_LOGRESPONSE")) { - actualResponse = "loggingDisabled"; - } - - LOGGER.debug("action={}, urlin={}, HbTransId={}", httpMethod, fullUri, fullId); - - if (logValue.equals("false")) { - } else if (getValue.equals("false") && httpMethod.equals("GET")) { - } else if (postValue.equals("false") && httpMethod.equals("POST")) { - } else { - putTransaction(transId, responseCode.toString(), rqstTm, respTm, fromAppId + ":" + transId, fullUri, httpMethod, request, response, actualResponse); - - } - } - } catch (Exception ex) { - // ignore - } - - message.setContent(OutputStream.class, origStream); - - LOGGER.auditEvent("HTTP Response Code: {}", responseCode.toString()); - } - - } - - protected String genDate() { - FormatDate fd = new FormatDate("YYMMdd-HH:mm:ss:SSS"); - return fd.getDateTime(); - } - - public String putTransaction(String tid, String status, String rqstTm, String respTm, String srcId, String rsrcId, String rsrcType, String rqstBuf, String respBuf, String actualResponse) { - String tm = null; - - if (tid == null || "".equals(tid)) { - tm = this.genDate(); - tid = tm + "-"; - } - - String htid = tid; - - if (rqstTm == null || "".equals(rqstTm)) { - rqstTm = tm; - } - - if (respTm == null || "".equals(respTm)) { - respTm = tm; - } - - try { - LOGGER.debug(" transactionId:" + tid + " status: " + status + " rqstDate: " + rqstTm + " respDate: " + respTm + " sourceId: " + srcId + " resourceId: " - + rsrcId + " resourceType: " + rsrcType + " payload rqstBuf: " + rqstBuf + " payload respBuf: " + respBuf + " Payload Error Messages: " + actualResponse); - return htid; - } catch (Exception e) { - ErrorLogHelper.logError("AAI_4000", "Exception updating HBase:"); - return htid; - } - - } -} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/PostAaiAjscInterceptor.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/PostAaiAjscInterceptor.java deleted file mode 100644 index 1849b10..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/interceptors/PostAaiAjscInterceptor.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.onap.aai.logging.LoggingContext; -import org.onap.aai.logging.LoggingContext.StatusCode; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; - -import ajsc.beans.interceptors.AjscInterceptor; - -public class PostAaiAjscInterceptor implements AjscInterceptor { - - private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(PostAaiAjscInterceptor.class); - - private static class LazyAaiAjscInterceptor { - public static final PostAaiAjscInterceptor INSTANCE = new PostAaiAjscInterceptor(); - } - - public static PostAaiAjscInterceptor getInstance() { - return LazyAaiAjscInterceptor.INSTANCE; - } - - @Override - public boolean allowOrReject(HttpServletRequest req, HttpServletResponse resp, Map<?, ?> paramMap) - throws Exception { - final int httpStatusCode = resp.getStatus(); - LoggingContext.responseCode(Integer.toString(httpStatusCode)); - if ( httpStatusCode < 200 || httpStatusCode > 299 ) { - LoggingContext.statusCode(StatusCode.ERROR); - LoggingContext.responseDescription("Error"); - LOGGER.error(req.getRequestURL() + " call failed with responseCode=" + httpStatusCode); - } - else { - LoggingContext.responseDescription(LoggingContext.responseMap.get(LoggingContext.SUCCESS)); - LoggingContext.statusCode(StatusCode.COMPLETE); - LOGGER.info(req.getRequestURL() + " call succeeded"); - } - LoggingContext.clear(); - return true; - } -} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/PreAaiAjscInterceptor.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/PreAaiAjscInterceptor.java deleted file mode 100644 index b510d4b..0000000 --- a/aai-traversal/src/main/java/org/onap/aai/interceptors/PreAaiAjscInterceptor.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.onap.aai.logging.LoggingContext; - -import ajsc.beans.interceptors.AjscInterceptor; - -public class PreAaiAjscInterceptor implements AjscInterceptor { - private final static String TARGET_ENTITY = "aai-traversal"; - - private static class LazyAaiAjscInterceptor { - public static final PreAaiAjscInterceptor INSTANCE = new PreAaiAjscInterceptor(); - } - - public static PreAaiAjscInterceptor getInstance() { - return LazyAaiAjscInterceptor.INSTANCE; - } - - @Override - public boolean allowOrReject(HttpServletRequest req, HttpServletResponse resp, Map<?, ?> paramMap) - throws Exception { - - LoggingContext.init(); - - String serviceName = req.getMethod() + " " + req.getRequestURI().toString(); - LoggingContext.partnerName(req.getHeader("X-FromAppId")); - String queryStr = req.getQueryString(); - if ( queryStr != null ) { - serviceName = serviceName + "?" + queryStr; - } - LoggingContext.serviceName(serviceName); - LoggingContext.targetEntity(TARGET_ENTITY); - LoggingContext.targetServiceName("allowOrReject"); - LoggingContext.requestId(req.getHeader("X-TransactionId")); - LoggingContext.successStatusFields(); - return true; - } -} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/package-info.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/package-info.java new file mode 100644 index 0000000..131d46c --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/package-info.java @@ -0,0 +1,17 @@ +/** + * <b>Interceptors</b> package is subdivided to pre and post interceptors + * If you want to add an additional interceptor you would need to add + * the priority level to AAIRequestFilterPriority or AAIResponsePriority + * to give a value which indicates the order in which the interceptor + * will be triggered and also you will add that value like here + * + * <pre> + * <code> + * @Priority(AAIRequestFilterPriority.YOUR_PRIORITY) + * public class YourInterceptor extends AAIContainerFilter implements ContainerRequestFilter { + * + * } + * </code> + * </pre> + */ +package org.onap.aai.interceptors;
\ No newline at end of file diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/post/AAIResponseFilterPriority.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/AAIResponseFilterPriority.java new file mode 100644 index 0000000..d14c24f --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/AAIResponseFilterPriority.java @@ -0,0 +1,13 @@ +package org.onap.aai.interceptors.post; + +public final class AAIResponseFilterPriority { + + private AAIResponseFilterPriority() {} + + public static final int HEADER_MANIPULATION = 1000; + + public static final int RESPONSE_TRANS_LOGGING = 2000; + + public static final int RESET_LOGGING_CONTEXT = 3000; + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResetLoggingContext.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResetLoggingContext.java new file mode 100644 index 0000000..d1b74d2 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResetLoggingContext.java @@ -0,0 +1,50 @@ +package org.onap.aai.interceptors.post; + +import java.io.IOException; + +import javax.annotation.Priority; +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerResponseContext; +import javax.ws.rs.container.ContainerResponseFilter; + +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.logging.LoggingContext; +import org.onap.aai.logging.LoggingContext.StatusCode; +import org.springframework.beans.factory.annotation.Autowired; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; + +@Priority(AAIResponseFilterPriority.RESET_LOGGING_CONTEXT) +public class ResetLoggingContext extends AAIContainerFilter implements ContainerResponseFilter { + + private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(ResetLoggingContext.class); + + @Autowired + private HttpServletRequest httpServletRequest; + + @Override + public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) + throws IOException { + + this.cleanLoggingContext(); + + } + + private void cleanLoggingContext() { + final String responseCode = LoggingContext.responseCode(); + String url = httpServletRequest.getRequestURL().toString(); + + if (responseCode != null && responseCode.startsWith("ERR.")) { + LoggingContext.statusCode(StatusCode.ERROR); + LOGGER.error(url + " call failed with responseCode=" + responseCode); + } else { + LoggingContext.statusCode(StatusCode.COMPLETE); + LOGGER.info(url + " call succeeded"); + } + + LoggingContext.clear(); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResponseHeaderManipulation.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResponseHeaderManipulation.java new file mode 100644 index 0000000..a26334f --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResponseHeaderManipulation.java @@ -0,0 +1,30 @@ +package org.onap.aai.interceptors.post; + +import java.io.IOException; + +import javax.annotation.Priority; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerResponseContext; +import javax.ws.rs.container.ContainerResponseFilter; + +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.interceptors.AAIHeaderProperties; + +@Priority(AAIResponseFilterPriority.HEADER_MANIPULATION) +public class ResponseHeaderManipulation extends AAIContainerFilter implements ContainerResponseFilter { + + + @Override + public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) + throws IOException { + + updateResponseHeaders(requestContext, responseContext); + + } + + private void updateResponseHeaders(ContainerRequestContext requestContext, + ContainerResponseContext responseContext) { + responseContext.getHeaders().add(AAIHeaderProperties.AAI_TX_ID, requestContext.getProperty(AAIHeaderProperties.AAI_TX_ID)); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResponseTransactionLogging.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResponseTransactionLogging.java new file mode 100644 index 0000000..7b18e45 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/post/ResponseTransactionLogging.java @@ -0,0 +1,106 @@ +package org.onap.aai.interceptors.post; + +import java.io.IOException; +import java.util.Objects; +import java.util.Optional; + +import javax.annotation.Priority; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerResponseContext; +import javax.ws.rs.container.ContainerResponseFilter; + +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.interceptors.AAIHeaderProperties; +import org.onap.aai.logging.ErrorLogHelper; +import org.onap.aai.util.AAIConfig; +import org.springframework.beans.factory.annotation.Autowired; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import com.google.gson.JsonObject; + +@Priority(AAIResponseFilterPriority.RESPONSE_TRANS_LOGGING) +public class ResponseTransactionLogging extends AAIContainerFilter implements ContainerResponseFilter { + + private static final EELFLogger TRANSACTION_LOGGER = EELFManager.getInstance().getLogger(ResponseTransactionLogging.class); + + @Autowired + private HttpServletResponse httpServletResponse; + + @Override + public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) + throws IOException { + + this.transLogging(requestContext, responseContext); + + } + + private void transLogging(ContainerRequestContext requestContext, ContainerResponseContext responseContext) { + + String logValue; + String getValue; + String postValue; + + try { + logValue = AAIConfig.get("aai.transaction.logging"); + getValue = AAIConfig.get("aai.transaction.logging.get"); + postValue = AAIConfig.get("aai.transaction.logging.post"); + } catch (AAIException e) { + return; + } + + String transId = requestContext.getHeaderString(AAIHeaderProperties.TRANSACTION_ID); + String fromAppId = requestContext.getHeaderString(AAIHeaderProperties.FROM_APP_ID); + String fullUri = requestContext.getUriInfo().getRequestUri().toString(); + String requestTs = (String)requestContext.getProperty(AAIHeaderProperties.AAI_REQUEST_TS); + + String httpMethod = requestContext.getMethod(); + + String status = Integer.toString(responseContext.getStatus()); + + String request = (String)requestContext.getProperty(AAIHeaderProperties.AAI_REQUEST); + String response = this.getResponseString(responseContext); + + if (!Boolean.parseBoolean(logValue)) { + } else if (!Boolean.parseBoolean(getValue) && "GET".equals(httpMethod)) { + } else if (!Boolean.parseBoolean(postValue) && "POST".equals(httpMethod)) { + } else { + + JsonObject logEntry = new JsonObject(); + logEntry.addProperty("transactionId", transId); + logEntry.addProperty("status", status); + logEntry.addProperty("rqstDate", requestTs); + logEntry.addProperty("respDate", this.genDate()); + logEntry.addProperty("sourceId", fromAppId + ":" + transId); + logEntry.addProperty("resourceId", fullUri); + logEntry.addProperty("resourceType", httpMethod); + logEntry.addProperty("rqstBuf", Objects.toString(request, "")); + logEntry.addProperty("respBuf", Objects.toString(response, "")); + + try { + TRANSACTION_LOGGER.debug(logEntry.toString()); + } catch (Exception e) { + ErrorLogHelper.logError("AAI_4000", "Exception writing transaction log."); + } + } + + } + + private String getResponseString(ContainerResponseContext responseContext) { + JsonObject response = new JsonObject(); + response.addProperty("ID", responseContext.getHeaderString(AAIHeaderProperties.AAI_TX_ID)); + response.addProperty("Content-Type", this.httpServletResponse.getContentType()); + response.addProperty("Response-Code", responseContext.getStatus()); + response.addProperty("Headers", responseContext.getHeaders().toString()); + Optional<Object> entityOptional = Optional.ofNullable(responseContext.getEntity()); + if(entityOptional.isPresent()){ + response.addProperty("Entity", entityOptional.get().toString()); + } else { + response.addProperty("Entity", ""); + } + return response.toString(); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/AAIRequestFilterPriority.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/AAIRequestFilterPriority.java new file mode 100644 index 0000000..b3fc1b1 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/AAIRequestFilterPriority.java @@ -0,0 +1,18 @@ +package org.onap.aai.interceptors.pre; + +public final class AAIRequestFilterPriority { + + private AAIRequestFilterPriority() {} + + public static final int REQUEST_TRANS_LOGGING = 1000; + + public static final int HEADER_VALIDATION = 2000; + + public static final int SET_LOGGING_CONTEXT = 3000; + + public static final int AUTHORIZATION = 4000; + + public static final int HEADER_MANIPULATION = 5000; + + public static final int REQUEST_MODIFICATION = 6000; +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/HeaderValidation.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/HeaderValidation.java new file mode 100644 index 0000000..88a492f --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/HeaderValidation.java @@ -0,0 +1,88 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aai.interceptors.pre; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +import javax.annotation.Priority; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; +import javax.ws.rs.container.PreMatching; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.interceptors.AAIHeaderProperties; +import org.onap.aai.logging.ErrorLogHelper; + +@PreMatching +@Priority(AAIRequestFilterPriority.HEADER_VALIDATION) +public class HeaderValidation extends AAIContainerFilter implements ContainerRequestFilter { + + @Override + public void filter(ContainerRequestContext requestContext) throws IOException { + + Optional<Response> oResp; + + String transId = requestContext.getHeaderString(AAIHeaderProperties.TRANSACTION_ID); + String fromAppId = requestContext.getHeaderString(AAIHeaderProperties.FROM_APP_ID); + + List<MediaType> acceptHeaderValues = requestContext.getAcceptableMediaTypes(); + + oResp = this.validateHeaderValuePresence(fromAppId, "AAI_4009", acceptHeaderValues); + if (oResp.isPresent()) { + requestContext.abortWith(oResp.get()); + return; + } + oResp = this.validateHeaderValuePresence(transId, "AAI_4010", acceptHeaderValues); + if (oResp.isPresent()) { + requestContext.abortWith(oResp.get()); + return; + } + + if (!this.isValidUUID(transId)) { + transId = UUID.randomUUID().toString(); + requestContext.getHeaders().get(AAIHeaderProperties.TRANSACTION_ID).clear(); + requestContext.getHeaders().add(AAIHeaderProperties.TRANSACTION_ID, transId); + } + + } + + private Optional<Response> validateHeaderValuePresence(String value, String errorCode, + List<MediaType> acceptHeaderValues) { + Response response = null; + AAIException aaie; + if (value == null) { + aaie = new AAIException(errorCode); + return Optional.of(Response.status(aaie.getErrorObject().getHTTPResponseCode()) + .entity(ErrorLogHelper.getRESTAPIErrorResponse(acceptHeaderValues, aaie, new ArrayList<>())) + .build()); + } + + return Optional.ofNullable(response); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestHeaderManipulation.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestHeaderManipulation.java new file mode 100644 index 0000000..63a92cf --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestHeaderManipulation.java @@ -0,0 +1,71 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aai.interceptors.pre; + +import java.io.IOException; +import java.util.Collections; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.annotation.Priority; +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; +import javax.ws.rs.container.PreMatching; +import javax.ws.rs.core.MultivaluedMap; + +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.interceptors.AAIHeaderProperties; +import org.springframework.beans.factory.annotation.Autowired; + +@PreMatching +@Priority(AAIRequestFilterPriority.HEADER_MANIPULATION) +public class RequestHeaderManipulation extends AAIContainerFilter implements ContainerRequestFilter { + + @Autowired + private HttpServletRequest httpServletRequest; + + private static final Pattern versionedEndpoint = Pattern.compile("^/aai/(v\\d+)"); + + @Override + public void filter(ContainerRequestContext requestContext) throws IOException { + + String uri = httpServletRequest.getRequestURI(); + this.addRequestContext(uri, requestContext.getHeaders()); + + } + + private void addRequestContext(String uri, MultivaluedMap<String, String> requestHeaders) { + + String rc = ""; + + Matcher match = versionedEndpoint.matcher(uri); + if (match.find()) { + rc = match.group(1); + } + + if (requestHeaders.containsKey(AAIHeaderProperties.REQUEST_CONTEXT)) { + requestHeaders.remove(AAIHeaderProperties.REQUEST_CONTEXT); + } + requestHeaders.put(AAIHeaderProperties.REQUEST_CONTEXT, Collections.singletonList(rc)); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestModification.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestModification.java new file mode 100644 index 0000000..a5f8789 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestModification.java @@ -0,0 +1,77 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aai.interceptors.pre; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import javax.annotation.Priority; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; +import javax.ws.rs.container.PreMatching; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.UriBuilder; + +import org.onap.aai.interceptors.AAIContainerFilter; + +@PreMatching +@Priority(AAIRequestFilterPriority.HEADER_VALIDATION) +public class RequestModification extends AAIContainerFilter implements ContainerRequestFilter { + + @Override + public void filter(ContainerRequestContext requestContext) throws IOException { + + this.cleanDME2QueryParams(requestContext); + + } + + private void cleanDME2QueryParams(ContainerRequestContext request) { + UriBuilder builder = request.getUriInfo().getRequestUriBuilder(); + MultivaluedMap<String, String> queries = request.getUriInfo().getQueryParameters(); + + String[] blacklist = { "version", "envContext", "routeOffer" }; + Set<String> blacklistSet = Arrays.stream(blacklist).collect(Collectors.toSet()); + + boolean remove = true; + + for (String param : blacklistSet) { + if (!queries.containsKey(param)) { + remove = false; + break; + } + } + + if (remove) { + for (Map.Entry<String, List<String>> query : queries.entrySet()) { + String key = query.getKey(); + if (blacklistSet.contains(key)) { + builder.replaceQueryParam(key); + } + } + } + request.setRequestUri(builder.build()); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestTransactionLogging.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestTransactionLogging.java new file mode 100644 index 0000000..83d89ae --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/RequestTransactionLogging.java @@ -0,0 +1,113 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aai.interceptors.pre; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Random; +import java.util.UUID; + +import javax.annotation.Priority; +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; +import javax.ws.rs.container.PreMatching; +import javax.ws.rs.core.MediaType; + +import org.glassfish.jersey.message.internal.ReaderWriter; +import org.glassfish.jersey.server.ContainerException; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.interceptors.AAIHeaderProperties; +import org.onap.aai.util.AAIConfig; +import org.onap.aai.util.AAIConstants; +import org.onap.aai.util.HbaseSaltPrefixer; +import org.springframework.beans.factory.annotation.Autowired; + +import com.google.gson.JsonObject; + +@PreMatching +@Priority(AAIRequestFilterPriority.REQUEST_TRANS_LOGGING) +public class RequestTransactionLogging extends AAIContainerFilter implements ContainerRequestFilter { + + @Autowired + private HttpServletRequest httpServletRequest; + + @Override + public void filter(ContainerRequestContext requestContext) throws IOException { + + String currentTimeStamp = genDate(); + String fullId = this.getAAITxIdToHeader(currentTimeStamp); + this.addToRequestContext(requestContext, AAIHeaderProperties.AAI_TX_ID, fullId); + this.addToRequestContext(requestContext, AAIHeaderProperties.AAI_REQUEST, this.getRequest(requestContext, fullId)); + this.addToRequestContext(requestContext, AAIHeaderProperties.AAI_REQUEST_TS, currentTimeStamp); + } + + private void addToRequestContext(ContainerRequestContext requestContext, String name, String aaiTxIdToHeader) { + requestContext.setProperty(name, aaiTxIdToHeader); + } + + private String getAAITxIdToHeader(String currentTimeStamp) { + String txId = UUID.randomUUID().toString(); + try { + txId = HbaseSaltPrefixer.getInstance().prependSalt(AAIConfig.get(AAIConstants.AAI_NODENAME) + "-" + + currentTimeStamp + "-" + new Random(System.currentTimeMillis()).nextInt(99999)); + } catch (AAIException e) { + } + + return txId; + } + + private String getRequest(ContainerRequestContext requestContext, String fullId) { + + JsonObject request = new JsonObject(); + request.addProperty("ID", fullId); + request.addProperty("Http-Method", requestContext.getMethod()); + String contentType = httpServletRequest.getContentType(); + + if(contentType == null){ + contentType = MediaType.APPLICATION_JSON; + requestContext.getHeaders().add("Content-Type", contentType); + } + + request.addProperty("Content-Type", contentType); + request.addProperty("Headers", requestContext.getHeaders().toString()); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + InputStream in = requestContext.getEntityStream(); + + try { + if (in.available() > 0) { + ReaderWriter.writeTo(in, out); + byte[] requestEntity = out.toByteArray(); + request.addProperty("Payload", new String(requestEntity, "UTF-8")); + requestContext.setEntityStream(new ByteArrayInputStream(requestEntity)); + } + } catch (IOException ex) { + throw new ContainerException(ex); + } + + return request.toString(); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/SetLoggingContext.java b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/SetLoggingContext.java new file mode 100644 index 0000000..76de206 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/interceptors/pre/SetLoggingContext.java @@ -0,0 +1,70 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.aai.interceptors.pre; + +import java.io.IOException; + +import javax.annotation.Priority; +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.container.ContainerRequestContext; +import javax.ws.rs.container.ContainerRequestFilter; +import javax.ws.rs.container.PreMatching; + +import org.onap.aai.interceptors.AAIContainerFilter; +import org.onap.aai.interceptors.AAIHeaderProperties; +import org.onap.aai.logging.LoggingContext; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; + +@PreMatching +@Priority(AAIRequestFilterPriority.SET_LOGGING_CONTEXT) +public class SetLoggingContext extends AAIContainerFilter implements ContainerRequestFilter { + + @Autowired + private Environment environment; + + @Autowired + private HttpServletRequest httpServletRequest; + + @Override + public void filter(ContainerRequestContext requestContext) throws IOException { + + String uri = httpServletRequest.getRequestURI(); + String queryString = httpServletRequest.getQueryString(); + + if(queryString != null && !queryString.isEmpty()){ + uri = uri + "?" + queryString; + } + + String httpMethod = requestContext.getMethod(); + String transId = requestContext.getHeaderString(AAIHeaderProperties.TRANSACTION_ID); + String fromAppId = requestContext.getHeaderString(AAIHeaderProperties.FROM_APP_ID); + + LoggingContext.init(); + LoggingContext.requestId(transId); + LoggingContext.partnerName(fromAppId); + LoggingContext.targetEntity(environment.getProperty("spring.application.name")); + LoggingContext.component(fromAppId); + LoggingContext.serviceName(httpMethod + " " + uri); + LoggingContext.targetServiceName(httpMethod + " " + uri); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/rest/retired/RetiredConsumer.java b/aai-traversal/src/main/java/org/onap/aai/rest/retired/RetiredConsumer.java index 0188142..301fa5c 100644 --- a/aai-traversal/src/main/java/org/onap/aai/rest/retired/RetiredConsumer.java +++ b/aai-traversal/src/main/java/org/onap/aai/rest/retired/RetiredConsumer.java @@ -35,7 +35,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; -import org.apache.cxf.jaxrs.ext.PATCH; +import io.swagger.jaxrs.PATCH; import org.onap.aai.exceptions.AAIException; import org.onap.aai.logging.ErrorLogHelper; diff --git a/aai-traversal/src/main/java/org/onap/aai/rest/util/EchoResponse.java b/aai-traversal/src/main/java/org/onap/aai/rest/util/EchoResponse.java index 55a07e4..1dfc99f 100644 --- a/aai-traversal/src/main/java/org/onap/aai/rest/util/EchoResponse.java +++ b/aai-traversal/src/main/java/org/onap/aai/rest/util/EchoResponse.java @@ -42,11 +42,12 @@ import org.onap.aai.restcore.RESTAPI; /** * The Class EchoResponse. */ +@Path("/util") public class EchoResponse extends RESTAPI { protected static String authPolicyFunctionName = "util"; - public static final String echoPath = "/util/echo"; + public static final String echoPath = "/echo"; /** * Simple health-check API that echos back the X-FromAppId and X-TransactionId to clients. diff --git a/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java b/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java new file mode 100644 index 0000000..96fd2a2 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java @@ -0,0 +1,127 @@ +package org.onap.aai.web; + +import org.glassfish.jersey.filter.LoggingFilter; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.servlet.ServletProperties; +import org.onap.aai.rest.QueryConsumer; +import org.onap.aai.rest.retired.V3ThroughV7Consumer; +import org.onap.aai.rest.search.ModelAndNamedQueryRestProvider; +import org.onap.aai.rest.search.SearchProvider; +import org.onap.aai.rest.util.EchoResponse; +import org.reflections.Reflections; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Profile; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; + +import javax.annotation.Priority; +import javax.ws.rs.ApplicationPath; +import javax.ws.rs.container.ContainerRequestFilter; +import javax.ws.rs.container.ContainerResponseFilter; +import java.util.List; +import java.util.Set; +import java.util.logging.Logger; +import java.util.stream.Collectors; + +@Component +@ApplicationPath("/aai") +public class JerseyConfiguration extends ResourceConfig { + + private static final Logger log = Logger.getLogger(JerseyConfiguration.class.getName()); + + private Environment env; + + @Autowired + public JerseyConfiguration(Environment env) { + + this.env = env; + + register(SearchProvider.class); + register(ModelAndNamedQueryRestProvider.class); + register(QueryConsumer.class); + + register(V3ThroughV7Consumer.class); + register(EchoResponse.class); + + //Request Filters + registerFiltersForRequests(); + // Response Filters + registerFiltersForResponses(); + + property(ServletProperties.FILTER_FORWARD_ON_404, true); + + // Following registers the request headers and response headers + // If the LoggingFilter second argument is set to true, it will print response value as well + if ("true".equalsIgnoreCase(env.getProperty("aai.request.logging.enabled"))) { + register(new LoggingFilter(log, false)); + } + } + + public void registerFiltersForRequests() { + + // Find all the classes within the interceptors package + Reflections reflections = new Reflections("org.onap.aai.interceptors"); + // Filter them based on the clazz that was passed in + Set<Class<? extends ContainerRequestFilter>> filters = reflections.getSubTypesOf(ContainerRequestFilter.class); + + + // Check to ensure that each of the filter has the @Priority annotation and if not throw exception + for (Class filterClass : filters) { + if (filterClass.getAnnotation(Priority.class) == null) { + throw new RuntimeException("Container filter " + filterClass.getName() + " does not have @Priority annotation"); + } + } + + // Turn the set back into a list + List<Class<? extends ContainerRequestFilter>> filtersList = filters + .stream() + .filter(f -> { + if (f.isAnnotationPresent(Profile.class) + && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) { + return false; + } + return true; + }) + .collect(Collectors.toList()); + + // Sort them by their priority levels value + filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()).compareTo(c2.getAnnotation(Priority.class).value())); + + // Then register this to the jersey application + filtersList.forEach(this::register); + } + + public void registerFiltersForResponses() { + + // Find all the classes within the interceptors package + Reflections reflections = new Reflections("org.onap.aai.interceptors"); + // Filter them based on the clazz that was passed in + Set<Class<? extends ContainerResponseFilter>> filters = reflections.getSubTypesOf(ContainerResponseFilter.class); + + + // Check to ensure that each of the filter has the @Priority annotation and if not throw exception + for (Class filterClass : filters) { + if (filterClass.getAnnotation(Priority.class) == null) { + throw new RuntimeException("Container filter " + filterClass.getName() + " does not have @Priority annotation"); + } + } + + // Turn the set back into a list + List<Class<? extends ContainerResponseFilter>> filtersList = filters.stream() + .filter(f -> { + if (f.isAnnotationPresent(Profile.class) + && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) { + return false; + } + return true; + }) + .collect(Collectors.toList()); + + // Sort them by their priority levels value + filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()).compareTo(c2.getAnnotation(Priority.class).value())); + + // Then register this to the jersey application + filtersList.forEach(this::register); + } + +} diff --git a/aai-traversal/src/main/java/org/onap/aai/web/LocalHostAccessLog.java b/aai-traversal/src/main/java/org/onap/aai/web/LocalHostAccessLog.java new file mode 100644 index 0000000..4344e36 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/web/LocalHostAccessLog.java @@ -0,0 +1,39 @@ +package org.onap.aai.web; + +import ch.qos.logback.access.jetty.RequestLogImpl; +import org.eclipse.jetty.server.handler.HandlerCollection; +import org.eclipse.jetty.server.handler.RequestLogHandler; +import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; +import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory; +import org.springframework.boot.context.embedded.jetty.JettyServerCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Arrays; + +@Configuration +public class LocalHostAccessLog { + + @Bean + public EmbeddedServletContainerFactory jettyConfigBean(){ + JettyEmbeddedServletContainerFactory jef = new JettyEmbeddedServletContainerFactory(); + jef.addServerCustomizers((JettyServerCustomizer) server -> { + + HandlerCollection handlers = new HandlerCollection(); + + Arrays.stream(server.getHandlers()).forEach(handlers::addHandler); + + RequestLogHandler requestLogHandler = new RequestLogHandler(); + requestLogHandler.setServer(server); + + RequestLogImpl requestLogImpl = new RequestLogImpl(); + requestLogImpl.setResource("/localhost-access-logback.xml"); + requestLogImpl.start(); + + requestLogHandler.setRequestLog(requestLogImpl); + handlers.addHandler(requestLogHandler); + server.setHandler(handlers); + }); + return jef; + } +} diff --git a/aai-traversal/src/main/java/org/onap/aai/web/WebConfiguration.java b/aai-traversal/src/main/java/org/onap/aai/web/WebConfiguration.java new file mode 100644 index 0000000..a85fcf9 --- /dev/null +++ b/aai-traversal/src/main/java/org/onap/aai/web/WebConfiguration.java @@ -0,0 +1,27 @@ +package org.onap.aai.web; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +@Configuration +public class WebConfiguration { + + @Bean + public WebMvcConfigurerAdapter forwardToIndex() { + return new WebMvcConfigurerAdapter() { + @Override + public void addViewControllers(ViewControllerRegistry registry) { + registry.addViewController("/swagger").setViewName( + "redirect:/swagger/index.html"); + registry.addViewController("/swagger/").setViewName( + "redirect:/swagger/index.html"); + registry.addViewController("/docs").setViewName( + "redirect:/docs/html/index.html"); + registry.addViewController("/docs/").setViewName( + "redirect:/docs/html/index.html"); + } + }; + } +}
\ No newline at end of file diff --git a/aai-traversal/src/main/resources/application.properties b/aai-traversal/src/main/resources/application.properties new file mode 100644 index 0000000..bdb7535 --- /dev/null +++ b/aai-traversal/src/main/resources/application.properties @@ -0,0 +1,72 @@ +# The following info parameters are being referenced by ajsc6 +info.build.artifact=aai-traversal +info.build.name=traversal +info.build.description=Traversal Microservice +info.build.version=1.1.0 + +spring.application.name=aai-traversal +spring.jersey.type=filter + +server.contextPath=/ +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration + +spring.profiles.active=production +#The max number of active threads in this pool +server.tomcat.max-threads=200 +#The minimum number of threads always kept alive +server.tomcat.min-Spare-Threads=25 +#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads +server.tomcat.max-idle-time=60000 + + +#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept +#com.att.ajsc.common.interceptors.PreInterceptor.url=/** +#com.att.ajsc.common.interceptors.PostInterceptor.url=/** + +#Servlet context parameters +server.context_parameters.p-name=value #context parameter with p-name as key and value as value. +kubernetes.namespace=org-onap-aai + +# If you get an application startup failure that the port is already taken +# If thats not it, please check if the key-store file path makes sense +server.local.startpath=aai-traversal/src/main/resources/ +server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties + +server.port=8446 +server.ssl.enabled-protocols=TLSv1.1,TLSv1.2 +server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore +server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore +server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.client-auth=want +server.ssl.key-store-type=JKS + +# JMS bind address host port +jms.bind.address=tcp://localhost:61647 +dmaap.ribbon.eureka.enabled=false +dmaap.ribbon.listOfServers=localhost:3904 +# Number of milliseconds to wait before making ping requests again +dmaap.ribbon.ServerListRefreshInterval=75000 +dmaap.ribbon.NFLoadBalancerPingInterval=75000 +dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule +dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl +dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true +dmaap.ribbon.ServerDownFailureLimit=1 +# This needs to be verified but it seems that adding this property should automatically +# Make the dmaap client change the url from http to https depending on the server +dmaap.ribbon.securePorts=3905 + +# Custom Dmaap Specific Configuration +dmaap.ribbon.username= +dmaap.ribbon.password= +dmaap.ribbon.health.endpoint=/topics/AAI-EVENT +# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing +dmaap.ribbon.pingport.timeout=3 + +niws.loadbalancer.dmaap.filterCircuitTripped=true +niws.loadbalancer.dmaap.connectionFailureCountThreshold=3 +niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180 +#dmaap.ribbon.retryableStatusCodes=404,503 +#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2 +#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2 +#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true diff --git a/aai-traversal/src/main/resources/docker/Dockerfile b/aai-traversal/src/main/resources/docker/Dockerfile deleted file mode 100644 index dc28e15..0000000 --- a/aai-traversal/src/main/resources/docker/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ -FROM aaionap/aai-common:1.1.0 - -RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-RES /opt/app/aai-traversal/bin /opt/app/aai-traversal/extApps; - -# Add the proper files into the docker image from your build -ADD ./opt/app/aai-traversal /opt/app/aai-traversal -ADD ./commonLibs/ /opt/app/commonLibs/ -ADD init-chef.sh /opt/app/aai-traversal/init-chef.sh -ADD docker-entrypoint.sh /opt/app/aai-traversal/docker-entrypoint.sh -ADD aai.sh /etc/profile.d/aai.sh - -# Change the permissions of aai shell script and all scripts in the microservice to be executable -RUN chmod 644 /etc/profile.d/aai.sh && \ - find /opt/app/aai-traversal -name "*.sh" -exec chmod 755 {} + - -# Set the log directory to be mountable so the logs will be persisted -VOLUME /opt/aai/logroot/AAI-GQ - -# Expose the ports that needs to be available from the container -EXPOSE 8447 - -# During the startup of the container, this will be the starting directory -WORKDIR /opt/app/aai-traversal - -# When the container is started this is the entrypoint script -# that docker will run. Make sure this script doesn't end abruptly -# Docker entrypoint will run exec command to make that main process -# Using the exec form here will ensure the java process is main - -ENTRYPOINT ["/bin/bash", "/opt/app/aai-traversal/docker-entrypoint.sh"] - diff --git a/aai-traversal/src/main/resources/docker/commonLibs/README b/aai-traversal/src/main/resources/docker/commonLibs/README deleted file mode 100644 index 00e36c0..0000000 --- a/aai-traversal/src/main/resources/docker/commonLibs/README +++ /dev/null @@ -1 +0,0 @@ -// this file's presence ensures commonLibs folder is present when image is created
\ No newline at end of file diff --git a/aai-traversal/src/main/resources/docker/docker-entrypoint.sh b/aai-traversal/src/main/resources/docker/docker-entrypoint.sh deleted file mode 100644 index 1a57d9a..0000000 --- a/aai-traversal/src/main/resources/docker/docker-entrypoint.sh +++ /dev/null @@ -1,134 +0,0 @@ -# -# ============LICENSE_START======================================================= -# org.onap.aai -# ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -# Set the current path to be the application home and common libs home -export APP_HOME=$(pwd); -COMMONLIBS_HOME="/opt/app/commonLibs"; - -export CHEF_CONFIG_REPO=${CHEF_CONFIG_REPO:-aai-config}; -export CHEF_GIT_URL=${CHEF_GIT_URL:-http://gerrit.onap.org/r/aai}; -export CHEF_CONFIG_GIT_URL=${CHEF_CONFIG_GIT_URL:-$CHEF_GIT_URL}; -export CHEF_DATA_GIT_URL=${CHEF_DATA_GIT_URL:-$CHEF_GIT_URL}; - -export RESOURCES_HOSTNAME=${RESOURCES_HOSTNAME:-aai-resources.api.simpledemo.onap.org}; -export RESOURCES_PORT=${RESOURCES_PORT:-8447}; - -USER_ID=${LOCAL_USER_ID:-9001} - -if [ $(cat /etc/passwd | grep aaiadmin | wc -l) -eq 0 ]; then - useradd --shell=/bin/bash -u ${USER_ID} -o -c "" -m aaiadmin || { - echo "Unable to create the user id for ${USER_ID}"; - exit 1; - } -fi; - -chown -R aaiadmin:aaiadmin /opt/app /var/chef /opt/aai/logroot - -gosu aaiadmin ./init-chef.sh || { - echo "Unable to run init chef script, please check logs"; - exit 1; -} - -httpPort=8086; -httpsPort=8446; - -AAI_CORE_JAR=$(ls ${APP_HOME}/extJars/aai-core*.jar); - -# Get the basename of the aai-core-X.Y.Z-SNAPSHOT.jar -# Then extract the X.Y.Z-SNAPSHOT part -AAI_CORE_VERSION=$(basename ${AAI_CORE_JAR} | grep -o '[0-9]*\.[0-9]*\.[0-9]*[^.]*'); - - -cd ${APP_HOME}; - -# If the variable DISABLE_UPDATE_QUERY is empty -# then the update query date shell script will be ran -# This makes it configurable to run update query or not - -if [ -z ${DISABLE_UPDATE_QUERY} ]; then - - while ! nc -z ${RESOURCES_HOSTNAME} ${RESOURCES_PORT} ; - do - echo "Waiting for resources to be up"; - sleep 5; - done - - UPDATE_QUERY_RAN_FILE="updateQueryRan.txt"; - - AAICONFIG_FILE=/opt/app/aai-traversal/bundleconfig/etc/appprops/aaiconfig.properties; - - if [ ! -f ${UPDATE_QUERY_RAN_FILE} ]; then - OLD_RESOURCES_URL=$(grep -o "^aai.server.url=.*" ${AAICONFIG_FILE} | cut -d"=" -f2-); - TEMP_RESOURCES_URL=https://${RESOURCES_HOSTNAME}:${RESOURCES_PORT}/aai/v11/; - sed -i "s%^aai.server.url=.*$%aai.server.url=${TEMP_RESOURCES_URL}%g" ${AAICONFIG_FILE}; - gosu aaiadmin /opt/app/aai-traversal/bin/install/updateQueryData.sh - touch ${UPDATE_QUERY_RAN_FILE}; - sed -i "s%^aai.server.url=.*$%aai.server.url=${OLD_RESOURCES_URL}%g" ${AAICONFIG_FILE}; - fi -fi - -CP=${COMMONLIBS_HOME}/*; -CP="$CP":${APP_HOME}/etc; -CP="$CP":${APP_HOME}/lib/*; -CP="$CP":${APP_HOME}/extJars/logback-access-1.1.7.jar; -CP="$CP":${APP_HOME}/extJars/logback-core-1.1.7.jar; -CP="$CP":${AAI_CORE_JAR}; - -# You can add additional jvm options by adding environment variable JVM_PRE_OPTS -# If you need to add more jvm options at the end then you can use JVM_POST_OPTS -JVM_OPTS="${JVM_PRE_OPTS} ${JVM_OPTS}"; -JVM_OPTS="${JVM_OPTS} -server -XX:NewSize=512m -XX:MaxNewSize=512m"; -JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8"; -JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC -verbose:gc -XX:+UseParNewGC"; -JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled"; -JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC -XX:-UseBiasedLocking"; -JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4"; -JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m "; -JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails -XX:+PrintGCTimeStamps"; -JVM_OPTS="${JVM_OPTS} -Xloggc:${APP_HOME}/logs/gc/graph-query_gc.log"; -JVM_OPTS="${JVM_OPTS} -XX:+HeapDumpOnOutOfMemoryError"; -JVM_OPTS="${JVM_OPTS} ${JVM_POST_OPTS}"; - -# You can add additional java options by adding environment variable JAVA_PRE_OPTS -# If you need to add more jvm options at the end then you can use JAVA_POST_OPTS -JAVA_OPTS="${JAVA_PRE_OPTS} ${JAVA_OPTS}"; -JAVA_OPTS="${JAVA_OPTS} -Dsun.net.inetaddr.ttl=180"; -JAVA_OPTS="${JAVA_OPTS} -Dhttps.protocols=TLSv1.1,TLSv1.2"; -JAVA_OPTS="${JAVA_OPTS} -DSOACLOUD_SERVICE_VERSION=1.0.1"; -JAVA_OPTS="${JAVA_OPTS} -DAJSC_HOME=${APP_HOME}"; -JAVA_OPTS="${JAVA_OPTS} -DAJSC_CONF_HOME=${APP_HOME}/bundleconfig"; -JAVA_OPTS="${JAVA_OPTS} -DAJSC_SHARED_CONFIG=${APP_HOME}/bundleconfig"; -JAVA_OPTS="${JAVA_OPTS} -DAFT_HOME=${APP_HOME}"; -JAVA_OPTS="${JAVA_OPTS} -DAAI_CORE_VERSION=${AAI_CORE_VERSION}"; -JAVA_OPTS="${JAVA_OPTS} -Daai-core.version=${AAI_CORE_VERSION}"; -JAVA_OPTS="${JAVA_OPTS} -Dlogback.configurationFile=${APP_HOME}/bundleconfig/etc/logback.xml"; -JAVA_OPTS="${JAVA_OPTS} ${JAVA_POST_OPTS}"; - -JAVA_ARGS="${JAVA_PRE_ARGS} ${JAVA_ARGS}"; -JAVA_ARGS="${JAVA_ARGS} context=/"; -JAVA_ARGS="${JAVA_ARGS} port=$httpPort"; -JAVA_ARGS="${JAVA_ARGS} sslport=$httpsPort"; -JAVA_ARGS="${JAVA_ARGS} ${JAVA_POST_ARGS}"; - -JAVA_CMD="exec gosu aaiadmin java"; -# Run the following command as aai-admin using gosu and make that process main -${JAVA_CMD} -cp ${CLASSPATH}:${CP} ${JVM_OPTS} ${JAVA_OPTS} com.att.ajsc.runner.Runner ${JAVA_ARGS} "$@" diff --git a/aai-traversal/src/main/resources/docker/init-chef.sh b/aai-traversal/src/main/resources/docker/init-chef.sh deleted file mode 100644 index a8802db..0000000 --- a/aai-traversal/src/main/resources/docker/init-chef.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# org.onap.aai -# ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -############################################################################## -# Script to initialize the chef-repo branch and.chef -# -############################################################################## - -cd /var/chef; - -if [ ! -d "aai-config" ]; then - - git clone --depth 1 -b ${CHEF_BRANCH} --single-branch ${CHEF_CONFIG_GIT_URL}/${CHEF_CONFIG_REPO}.git aai-config || { - echo "Error: Unable to clone the aai-config repo with url: ${CHEF_GIT_URL}/${CHEF_CONFIG_REPO}.git"; - exit 1; - } - -fi - -if [ -d "aai-config/cookbooks/aai-traversal" ]; then - - (cd aai-config/cookbooks/aai-traversal/ && \ - for f in $(ls); do mv $f ../; done && \ - cd ../ && rmdir aai-traversal); - -fi; - -if [ ! -d "aai-data" ]; then - - git clone --depth 1 -b ${CHEF_BRANCH} --single-branch ${CHEF_DATA_GIT_URL}/aai-data.git aai-data || { - echo "Error: Unable to clone the aai-data repo with url: ${CHEF_GIT_URL}"; - exit 1; - } - -fi - -chef-solo \ - -c /var/chef/aai-data/chef-config/dev/.knife/solo.rb \ - -j /var/chef/aai-config/cookbooks/runlist-aai-traversal.json \ - -E ${AAI_CHEF_ENV}; - diff --git a/aai-traversal/bundleconfig-local/etc/.gitignore b/aai-traversal/src/main/resources/etc/.gitignore index 48bd738..48bd738 100644 --- a/aai-traversal/bundleconfig-local/etc/.gitignore +++ b/aai-traversal/src/main/resources/etc/.gitignore diff --git a/aai-traversal/bundleconfig-local/etc/appprops/Introscope.properties b/aai-traversal/src/main/resources/etc/appprops/Introscope.properties index 319381e..319381e 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/Introscope.properties +++ b/aai-traversal/src/main/resources/etc/appprops/Introscope.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/PostProcessorInterceptors.properties b/aai-traversal/src/main/resources/etc/appprops/PostProcessorInterceptors.properties index ca31a26..ca31a26 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/PostProcessorInterceptors.properties +++ b/aai-traversal/src/main/resources/etc/appprops/PostProcessorInterceptors.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/aaiEventDMaaPPublisher.properties b/aai-traversal/src/main/resources/etc/appprops/aaiEventDMaaPPublisher.properties index 4aa7445..4aa7445 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/aaiEventDMaaPPublisher.properties +++ b/aai-traversal/src/main/resources/etc/appprops/aaiEventDMaaPPublisher.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/aaiconfig.properties b/aai-traversal/src/main/resources/etc/appprops/aaiconfig.properties index 0c263be..0c263be 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/aaiconfig.properties +++ b/aai-traversal/src/main/resources/etc/appprops/aaiconfig.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/default-logback.xml b/aai-traversal/src/main/resources/etc/appprops/default-logback.xml index 655157b..655157b 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/default-logback.xml +++ b/aai-traversal/src/main/resources/etc/appprops/default-logback.xml diff --git a/aai-traversal/bundleconfig-local/etc/appprops/error.properties b/aai-traversal/src/main/resources/etc/appprops/error.properties index ba71275..ba71275 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/error.properties +++ b/aai-traversal/src/main/resources/etc/appprops/error.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/gremlin-server-config.yaml b/aai-traversal/src/main/resources/etc/appprops/gremlin-server-config.yaml index a9de31f..a9de31f 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/gremlin-server-config.yaml +++ b/aai-traversal/src/main/resources/etc/appprops/gremlin-server-config.yaml diff --git a/aai-traversal/bundleconfig-local/etc/appprops/logging.properties b/aai-traversal/src/main/resources/etc/appprops/logging.properties index e029cc4..e029cc4 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/logging.properties +++ b/aai-traversal/src/main/resources/etc/appprops/logging.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/methodMapper.properties b/aai-traversal/src/main/resources/etc/appprops/methodMapper.properties index d6c1158..d6c1158 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/methodMapper.properties +++ b/aai-traversal/src/main/resources/etc/appprops/methodMapper.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/preferredRoute.txt b/aai-traversal/src/main/resources/etc/appprops/preferredRoute.txt index 662b0aa..662b0aa 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/preferredRoute.txt +++ b/aai-traversal/src/main/resources/etc/appprops/preferredRoute.txt diff --git a/aai-traversal/bundleconfig-local/etc/appprops/titan-cached.properties b/aai-traversal/src/main/resources/etc/appprops/titan-cached.properties index 0106788..0106788 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/titan-cached.properties +++ b/aai-traversal/src/main/resources/etc/appprops/titan-cached.properties diff --git a/aai-traversal/bundleconfig-local/etc/appprops/titan-realtime.properties b/aai-traversal/src/main/resources/etc/appprops/titan-realtime.properties index ace08b3..ace08b3 100644 --- a/aai-traversal/bundleconfig-local/etc/appprops/titan-realtime.properties +++ b/aai-traversal/src/main/resources/etc/appprops/titan-realtime.properties diff --git a/aai-traversal/bundleconfig-local/etc/auth/aai_keystore b/aai-traversal/src/main/resources/etc/auth/aai_keystore Binary files differindex 1ddef0c..1ddef0c 100644 --- a/aai-traversal/bundleconfig-local/etc/auth/aai_keystore +++ b/aai-traversal/src/main/resources/etc/auth/aai_keystore diff --git a/aai-traversal/bundleconfig-local/etc/query/stored-queries.json b/aai-traversal/src/main/resources/etc/query/stored-queries.json index 8d18fd7..8d18fd7 100644 --- a/aai-traversal/bundleconfig-local/etc/query/stored-queries.json +++ b/aai-traversal/src/main/resources/etc/query/stored-queries.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/closed-loop-named-query-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/closed-loop-named-query-1.0.json index 2ff66f8..2ff66f8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/closed-loop-named-query-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/closed-loop-named-query-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getClfiRoadmTailSummary-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getClfiRoadmTailSummary-1.0.json index 5c4f4fb..a30e797 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getClfiRoadmTailSummary-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getClfiRoadmTailSummary-1.0.json @@ -1,101 +1,94 @@ -{ - "named-query-uuid" : "4f448e43-339f-4c1c-85f6-896c444e25ca", - "named-query-name" : "GetClfiRoadmTailSummary", - "named-query-version" : "1.0", - "description" : "Named query - Get CLFI ROADM Tail Summary", - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "link-name", "link-type", "operational-status", "speed-value", "speed-units" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "interface-name", "interface-role", "port-description", "equipment-identifier" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "pnf-name", "pnf-name2", "equip-model", "equip-type", "frame-id" ], - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "862b25a1-262a-4961-bdaa-cdc55d69785a" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "94043c37-4e73-439c-a790-0fdd697924cd" - } ] - } ] - } - }, { - "property-collect-list" : [ "link-name", "link-name2", "link-type", "link-role", "operational-status"], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "service-instance-id", "service-instance-name", "operational-status" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "service-type" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "global-customer-id", "subscriber-name" ], - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "c1d4305f-cdbd-4bbe-9069-a2f4978fd89e" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "2e1a602a-acd8-4f78-94ff-618b802a303b" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "82194af1-3c2c-485a-8f44-420e22a9eaa4" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0" - } ] - } ] - } - } ] - } +{
+ "named-query-uuid" : "4f448e43-339f-4c1c-85f6-896c444e25ca",
+ "named-query-name" : "GetClfiRoadmTailSummary",
+ "named-query-version" : "1.0",
+ "description" : "Named query - Get CLFI ROADM Tail Summary",
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "862b25a1-262a-4961-bdaa-cdc55d69785a"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "94043c37-4e73-439c-a790-0fdd697924cd"
+ } ]
+ } ]
+ }
+ }, {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "c1d4305f-cdbd-4bbe-9069-a2f4978fd89e"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "2e1a602a-acd8-4f78-94ff-618b802a303b"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "82194af1-3c2c-485a-8f44-420e22a9eaa4"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0"
+ } ]
+ } ]
+ }
+ } ]
+ }
}
\ No newline at end of file diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComplexByPnfName-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComplexByPnfName-1.0.json index fef6c91..fef6c91 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComplexByPnfName-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComplexByPnfName-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComponentList-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComponentList-1.0.json index d3e307c..d3e307c 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComponentList-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComponentList-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComponentList-1.1.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComponentList-1.1.json index f275950..f275950 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComponentList-1.1.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComponentList-1.1.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComponentList-1.2.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComponentList-1.2.json index 22ba4c0..22ba4c0 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getComponentList-1.2.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getComponentList-1.2.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVComplexHostname-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVComplexHostname-1.0.json index a610aa6..a610aa6 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVComplexHostname-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVComplexHostname-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVComplexLocationId-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVComplexLocationId-1.0.json index 70d6db1..70d6db1 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVComplexLocationId-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVComplexLocationId-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVLogicalLink-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVLogicalLink-1.0.json index 6e90b61..6e90b61 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVLogicalLink-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVLogicalLink-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVLogicalLinkByCircuitId-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVLogicalLinkByCircuitId-1.0.json index 62de1b8..62de1b8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVLogicalLinkByCircuitId-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVLogicalLinkByCircuitId-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVServiceTopology-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVServiceTopology-1.0.json index a0ba2fe..a0ba2fe 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVServiceTopology-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVServiceTopology-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVServiceTopology-1.1.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVServiceTopology-1.1.json index 2512590..2512590 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVServiceTopology-1.1.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVServiceTopology-1.1.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVServiceTopology2-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVServiceTopology2-1.0.json index 986c50a..986c50a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getDHVServiceTopology2-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getDHVServiceTopology2-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getL3networkCloudRegionByNetworkRole-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getL3networkCloudRegionByNetworkRole-1.0.json index d6b3c34..d6b3c34 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getL3networkCloudRegionByNetworkRole-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getL3networkCloudRegionByNetworkRole-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getLogicalLinkByCloudRegionId-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getLogicalLinkByCloudRegionId-1.0.json index e987d36..e987d36 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getLogicalLinkByCloudRegionId-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getLogicalLinkByCloudRegionId-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getPinterfacePhysicalLinkBySvcInstId-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getPinterfacePhysicalLinkBySvcInstId-1.0.json index e8b377b..e8b377b 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getPinterfacePhysicalLinkBySvcInstId-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getPinterfacePhysicalLinkBySvcInstId-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getRouterRoadmTailSummary-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getRouterRoadmTailSummary-1.0.json index 0fb6dd5..6f775e8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getRouterRoadmTailSummary-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getRouterRoadmTailSummary-1.0.json @@ -1,129 +1,120 @@ -{ - "named-query-uuid" : "cbf22b8a-f29a-4b9b-a466-a878095b258a", - "named-query-name" : "GetRouterRoadmTailSummary", - "named-query-version" : "1.0", - "description" : "Named query - Get Router ROADM Tail Summary", - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "pnf-name", "pnf-name2", "equip-model", "equip-type", "frame-id" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "interface-name", "port-description", "equipment-identifier" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "link-name", "link-type", "operational-status", "speed-value", "speed-units" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "interface-name", "interface-role", "port-description", "equipment-identifier" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "pnf-name", "equip-model", "equip-type", "frame-id" ], - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "862b25a1-262a-4961-bdaa-cdc55d69785a" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "94043c37-4e73-439c-a790-0fdd697924cd" - } ] - } ] - } - }, { - "property-collect-list" : [ "link-name", "link-name2", "link-type", "link-role", "operational-status" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "service-instance-id", "service-instance-name", "operational-status" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "service-type" ], - "named-query-elements" : { - "named-query-element" : [ { - "property-collect-list" : [ "global-customer-id", "subscriber-name" ], - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "c1d4305f-cdbd-4bbe-9069-a2f4978fd89e" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "2e1a602a-acd8-4f78-94ff-618b802a303b" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "82194af1-3c2c-485a-8f44-420e22a9eaa4" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "94043c37-4e73-439c-a790-0fdd697924cd" - } ] - } ] - } - } ] - }, - "relationship-list" : { - "relationship" : [ { - "related-to" : "model", - "relationship-data" : [ { - "relationship-key" : "model.model-invariant-id", - "relationship-value" : "862b25a1-262a-4961-bdaa-cdc55d69785a" - } ] - } ] - } - } ] - } +{
+ "named-query-uuid" : "cbf22b8a-f29a-4b9b-a466-a878095b258a",
+ "named-query-name" : "GetRouterRoadmTailSummary",
+ "named-query-version" : "1.0",
+ "description" : "Named query - Get Router ROADM Tail Summary",
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "862b25a1-262a-4961-bdaa-cdc55d69785a"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "94043c37-4e73-439c-a790-0fdd697924cd"
+ } ]
+ } ]
+ }
+ }, {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "named-query-elements" : {
+ "named-query-element" : [ {
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "c1d4305f-cdbd-4bbe-9069-a2f4978fd89e"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "2e1a602a-acd8-4f78-94ff-618b802a303b"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "82194af1-3c2c-485a-8f44-420e22a9eaa4"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "fe012535-2c31-4a39-a739-612374c638a0"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "94043c37-4e73-439c-a790-0fdd697924cd"
+ } ]
+ } ]
+ }
+ } ]
+ },
+ "relationship-list" : {
+ "relationship" : [ {
+ "related-to" : "model",
+ "relationship-data" : [ {
+ "relationship-key" : "model.model-invariant-id",
+ "relationship-value" : "862b25a1-262a-4961-bdaa-cdc55d69785a"
+ } ]
+ } ]
+ }
+ } ]
+ }
}
\ No newline at end of file diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getServiceInstanceModel-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getServiceInstanceModel-1.0.json index 035dc8c..035dc8c 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getServiceInstanceModel-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getServiceInstanceModel-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getServiceInstanceSummary-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getServiceInstanceSummary-1.0.json index 971b1a2..971b1a2 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getServiceInstanceSummary-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getServiceInstanceSummary-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getSvcSubscriberModelInfo-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getSvcSubscriberModelInfo-1.0.json index 5dcd475..5dcd475 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getSvcSubscriberModelInfo-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getSvcSubscriberModelInfo-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getTenantInfoAtSvcInstance-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getTenantInfoAtSvcInstance-1.0.json index ee1bec5..ee1bec5 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getTenantInfoAtSvcInstance-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getTenantInfoAtSvcInstance-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getTenantInfoAtSvcSubscription-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getTenantInfoAtSvcSubscription-1.0.json index e520585..e520585 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getTenantInfoAtSvcSubscription-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getTenantInfoAtSvcSubscription-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getVnfVlanByCircuitId-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getVnfVlanByCircuitId-1.0.json index 2260ab3..2260ab3 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getVnfVlanByCircuitId-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getVnfVlanByCircuitId-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getVserver-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getVserver-1.0.json index 2107523..2107523 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getVserver-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getVserver-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getWlBundleId-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getWlBundleId-1.0.json index 203aa38..203aa38 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/getWlBundleId-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/getWlBundleId-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/vnf-to-esr-system-info-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/vnf-to-esr-system-info-1.0.json index c371796..c371796 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/vnf-to-esr-system-info-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/vnf-to-esr-system-info-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/vnf-to-service-instance-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/vnf-to-service-instance-1.0.json index 53e6f26..53e6f26 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/named-query-json/vnf-to-service-instance-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/named-query-json/vnf-to-service-instance-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/resource-model-json/000-README b/aai-traversal/src/main/resources/etc/scriptdata/resource-model-json/000-README index 9647972..9647972 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/resource-model-json/000-README +++ b/aai-traversal/src/main/resources/etc/scriptdata/resource-model-json/000-README diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/service-model-json/000-README b/aai-traversal/src/main/resources/etc/scriptdata/service-model-json/000-README index bb30e02..bb30e02 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/service-model-json/000-README +++ b/aai-traversal/src/main/resources/etc/scriptdata/service-model-json/000-README diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/action-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/action-1.0.json index 9d3e00c..9d3e00c 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/action-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/action-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/action-data-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/action-data-1.0.json index 7229f5a..7229f5a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/action-data-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/action-data-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/allotted-resource-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/allotted-resource-1.0.json index 9329af8..9329af8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/allotted-resource-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/allotted-resource-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/availability-zone-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/availability-zone-1.0.json index 0c423fe..0c423fe 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/availability-zone-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/availability-zone-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/az-and-dvs-switches-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/az-and-dvs-switches-1.0.json index 620a33d..620a33d 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/az-and-dvs-switches-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/az-and-dvs-switches-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/class-of-service-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/class-of-service-1.0.json index 2b28152..2b28152 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/class-of-service-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/class-of-service-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/cloud-region-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/cloud-region-1.0.json index a2957c4..a2957c4 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/cloud-region-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/cloud-region-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/complex-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/complex-1.0.json index c8ca766..c8ca766 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/complex-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/complex-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/configuration-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/configuration-1.0.json index 939f175..939f175 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/configuration-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/configuration-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/connector-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/connector-1.0.json index f9bfed0..f9bfed0 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/connector-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/connector-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/constrained-element-set-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/constrained-element-set-1.0.json index 44f5de2..44f5de2 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/constrained-element-set-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/constrained-element-set-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/ctag-assignment-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/ctag-assignment-1.0.json index 87eee5c..87eee5c 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/ctag-assignment-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/ctag-assignment-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/ctag-pool-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/ctag-pool-1.0.json index c85e267..c85e267 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/ctag-pool-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/ctag-pool-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/customer-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/customer-1.0.json index 35cf683..35cf683 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/customer-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/customer-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/cvlan-tag-entry-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/cvlan-tag-entry-1.0.json index 95211f2..95211f2 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/cvlan-tag-entry-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/cvlan-tag-entry-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/dvs-switch-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/dvs-switch-1.0.json index 22dc769..22dc769 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/dvs-switch-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/dvs-switch-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/edge-prop-names-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/edge-prop-names-1.0.json index 4ed663f..4ed663f 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/edge-prop-names-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/edge-prop-names-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/element-choice-set-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/element-choice-set-1.0.json index 46c7348..46c7348 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/element-choice-set-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/element-choice-set-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/entitlement-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/entitlement-1.0.json index b6bf0e8..b6bf0e8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/entitlement-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/entitlement-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/esr-system-info-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/esr-system-info-1.0.json index 54a3bc8..54a3bc8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/esr-system-info-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/esr-system-info-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/flavor-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/flavor-1.0.json index c44e554..c44e554 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/flavor-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/flavor-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/generic-vnf-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/generic-vnf-1.0.json index afab83a..afab83a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/generic-vnf-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/generic-vnf-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/group-assignment-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/group-assignment-1.0.json index 33e1495..33e1495 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/group-assignment-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/group-assignment-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/image-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/image-1.0.json index 59f095b..59f095b 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/image-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/image-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/include-node-filter-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/include-node-filter-1.0.json index 83d9255..83d9255 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/include-node-filter-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/include-node-filter-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/instance-group-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/instance-group-1.0.json index 81eeff0..81eeff0 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/instance-group-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/instance-group-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/inventory-item-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/inventory-item-1.0.json index 307d29d..307d29d 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/inventory-item-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/inventory-item-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/inventory-item-data-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/inventory-item-data-1.0.json index 46cb9f0..46cb9f0 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/inventory-item-data-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/inventory-item-data-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/ipsec-configuration-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/ipsec-configuration-1.0.json index 165ebbe..165ebbe 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/ipsec-configuration-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/ipsec-configuration-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/key-data-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/key-data-1.0.json index f0f7cb4..f0f7cb4 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/key-data-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/key-data-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l-interface-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l-interface-1.0.json index 0f63ba5..0f63ba5 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l-interface-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l-interface-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l3-interface-ipv4-address-list-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l3-interface-ipv4-address-list-1.0.json index 0bb4d41..0bb4d41 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l3-interface-ipv4-address-list-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l3-interface-ipv4-address-list-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l3-interface-ipv6-address-list-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l3-interface-ipv6-address-list-1.0.json index 9a830f4..9a830f4 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l3-interface-ipv6-address-list-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l3-interface-ipv6-address-list-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l3-network-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l3-network-1.0.json index 0d92d38..0d92d38 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/l3-network-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/l3-network-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/lag-interface-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/lag-interface-1.0.json index 9bf0715..9bf0715 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/lag-interface-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/lag-interface-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/lag-link-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/lag-link-1.0.json index 44046a9..44046a9 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/lag-link-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/lag-link-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/license-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/license-1.0.json index fc79b60..fc79b60 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/license-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/license-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/license-key-resource-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/license-key-resource-1.0.json index b56df16..b56df16 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/license-key-resource-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/license-key-resource-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/logical-link-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/logical-link-1.0.json index 66300e7..66300e7 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/logical-link-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/logical-link-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/metadatum-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/metadatum-1.0.json index 1110746..1110746 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/metadatum-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/metadatum-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-1.0.json index 4c5da8c..4c5da8c 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-constraint-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-constraint-1.0.json index 37b7272..37b7272 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-constraint-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-constraint-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-element-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-element-1.0.json index 6e4df08..6e4df08 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-element-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-element-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-ver-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-ver-1.0.json index 98511b0..98511b0 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/model-ver-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/model-ver-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/multicast-configuration-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/multicast-configuration-1.0.json index c76e423..c76e423 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/multicast-configuration-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/multicast-configuration-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/named-query-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/named-query-1.0.json index 7aef873..7aef873 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/named-query-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/named-query-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/named-query-element-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/named-query-element-1.0.json index 6f6d11a..6f6d11a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/named-query-element-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/named-query-element-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/network-policy-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/network-policy-1.0.json index a28b19e..a28b19e 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/network-policy-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/network-policy-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/network-profile-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/network-profile-1.0.json index 30d6d9d..30d6d9d 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/network-profile-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/network-profile-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/newvce-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/newvce-1.0.json index b2285d4..b2285d4 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/newvce-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/newvce-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/oam-network-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/oam-network-1.0.json index 7a3cd18..7a3cd18 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/oam-network-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/oam-network-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/p-interface-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/p-interface-1.0.json index 3d02918..3d02918 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/p-interface-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/p-interface-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/physical-link-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/physical-link-1.0.json index 904a4cc..904a4cc 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/physical-link-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/physical-link-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/pnf-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/pnf-1.0.json index 9260b17..9260b17 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/pnf-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/pnf-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/port-group-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/port-group-1.0.json index 8aac84d..8aac84d 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/port-group-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/port-group-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/property-constraint-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/property-constraint-1.0.json index 4db5389..4db5389 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/property-constraint-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/property-constraint-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/pserver-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/pserver-1.0.json index a22b859..a22b859 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/pserver-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/pserver-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/related-lookup-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/related-lookup-1.0.json index e67fa07..e67fa07 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/related-lookup-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/related-lookup-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/reserved-prop-names-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/reserved-prop-names-1.0.json index 1bfc7d3..1bfc7d3 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/reserved-prop-names-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/reserved-prop-names-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/result-data-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/result-data-1.0.json index 059dfb0..059dfb0 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/result-data-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/result-data-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/route-table-reference-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/route-table-reference-1.0.json index f7910a9..f7910a9 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/route-table-reference-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/route-table-reference-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/routing-instance-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/routing-instance-1.0.json index caec0d6..caec0d6 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/routing-instance-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/routing-instance-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/secondary-filter-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/secondary-filter-1.0.json index cef0a94..cef0a94 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/secondary-filter-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/secondary-filter-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/segmentation-assignment-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/segmentation-assignment-1.0.json index 4335e10..4335e10 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/segmentation-assignment-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/segmentation-assignment-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-1.0.json index ab3295a..ab3295a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-capability-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-capability-1.0.json index 038a993..038a993 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-capability-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-capability-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-instance-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-instance-1.0.json index b5ef861..b5ef861 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-instance-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-instance-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-subscription-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-subscription-1.0.json index 2af765f..2af765f 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/service-subscription-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/service-subscription-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/site-pair-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/site-pair-1.0.json index eef13ea..eef13ea 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/site-pair-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/site-pair-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/site-pair-set-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/site-pair-set-1.0.json index 3c77903..3c77903 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/site-pair-set-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/site-pair-set-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/snapshot-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/snapshot-1.0.json index 24ea90b..24ea90b 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/snapshot-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/snapshot-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/sriov-vf-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/sriov-vf-1.0.json index a5c077a..a5c077a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/sriov-vf-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/sriov-vf-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/start-node-filter-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/start-node-filter-1.0.json index 743d89e..743d89e 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/start-node-filter-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/start-node-filter-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/subnet-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/subnet-1.0.json index f6b2e55..f6b2e55 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/subnet-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/subnet-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/tagged-inventory-item-list-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/tagged-inventory-item-list-1.0.json index 5146b99..5146b99 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/tagged-inventory-item-list-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/tagged-inventory-item-list-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/tenant-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/tenant-1.0.json index e105783..e105783 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/tenant-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/tenant-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/tunnel-xconnect-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/tunnel-xconnect-1.0.json index 5c6d5c6..5c6d5c6 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/tunnel-xconnect-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/tunnel-xconnect-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/update-node-key-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/update-node-key-1.0.json index 25c5efd..25c5efd 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/update-node-key-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/update-node-key-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vce-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vce-1.0.json index 45f01d4..45f01d4 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vce-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vce-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vf-module-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vf-module-1.0.json index 383d187..383d187 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vf-module-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vf-module-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vig-server-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vig-server-1.0.json index 6fd8d24..6fd8d24 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vig-server-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vig-server-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/virtual-data-center-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/virtual-data-center-1.0.json index a36361e..a36361e 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/virtual-data-center-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/virtual-data-center-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vlan-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vlan-1.0.json index 64608f8..64608f8 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vlan-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vlan-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vnf-image-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vnf-image-1.0.json index 1756e38..1756e38 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vnf-image-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vnf-image-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vnfc-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vnfc-1.0.json index 8c663a7..8c663a7 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vnfc-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vnfc-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/volume-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/volume-1.0.json index dd5d239..dd5d239 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/volume-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/volume-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/volume-group-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/volume-group-1.0.json index 4ccde3a..4ccde3a 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/volume-group-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/volume-group-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vpe-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vpe-1.0.json index ed5017e..ed5017e 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vpe-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vpe-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vpls-pe-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vpls-pe-1.0.json index 0d072bc..0d072bc 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vpls-pe-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vpls-pe-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vpn-binding-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vpn-binding-1.0.json index e0439b6..e0439b6 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vpn-binding-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vpn-binding-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vserver-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vserver-1.0.json index a069209..a069209 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/vserver-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/vserver-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/zone-1.0.json b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/zone-1.0.json index 8427ded..8427ded 100644 --- a/aai-traversal/bundleconfig-local/etc/scriptdata/widget-model-json/zone-1.0.json +++ b/aai-traversal/src/main/resources/etc/scriptdata/widget-model-json/zone-1.0.json diff --git a/aai-traversal/bundleconfig-local/etc/sysprops/sys-props.properties b/aai-traversal/src/main/resources/etc/sysprops/sys-props.properties index 44d58d5..44d58d5 100644 --- a/aai-traversal/bundleconfig-local/etc/sysprops/sys-props.properties +++ b/aai-traversal/src/main/resources/etc/sysprops/sys-props.properties diff --git a/aai-traversal/bundleconfig-local/etc/sysprops/template.sys-props.properties b/aai-traversal/src/main/resources/etc/sysprops/template.sys-props.properties index c9060f9..c9060f9 100644 --- a/aai-traversal/bundleconfig-local/etc/sysprops/template.sys-props.properties +++ b/aai-traversal/src/main/resources/etc/sysprops/template.sys-props.properties diff --git a/aai-traversal/ajsc-shared-config/etc/localhost-access-logback.xml b/aai-traversal/src/main/resources/localhost-access-logback.xml index fbcfd25..a318796 100644 --- a/aai-traversal/ajsc-shared-config/etc/localhost-access-logback.xml +++ b/aai-traversal/src/main/resources/localhost-access-logback.xml @@ -22,6 +22,7 @@ --> <configuration> + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> <appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file> diff --git a/aai-traversal/ajsc-shared-config/etc/logback.xml b/aai-traversal/src/main/resources/logback.xml index 71b6585..4bdc015 100644 --- a/aai-traversal/ajsc-shared-config/etc/logback.xml +++ b/aai-traversal/src/main/resources/logback.xml @@ -22,21 +22,29 @@ --> <configuration scan="true" scanPeriod="60 seconds" debug="false"> - <contextName>${module.ajsc.namespace.name}</contextName> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> + + <property resource="application.properties" /> + + <property name="namespace" value="aai-traversal"/> + + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> <jmxConfigurator /> <property name="logDirectory" value="${AJSC_HOME}/logs" /> <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> - <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n|\r\n', '^'}%n"/> + <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> --> <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/> + + <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> + <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <filter class="ch.qos.logback.classic.filter.LevelFilter"> - <level>ERROR</level> - <onMatch>ACCEPT</onMatch> - <onMismatch>DENY</onMismatch> - </filter> <encoder> - <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + <pattern> + %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} </pattern> </encoder> </appender> @@ -155,7 +163,7 @@ </fileNamePattern> </rollingPolicy> <encoder class="org.onap.aai.logging.EcompEncoder"> - <pattern>${eelfLogPattern}</pattern> + <pattern>${eelfTransLogPattern}</pattern> </encoder> </appender> @@ -209,7 +217,7 @@ </fileNamePattern> </rollingPolicy> <encoder class="org.onap.aai.logging.EcompEncoder"> - <pattern>${eelfLogPattern}</pattern> + <pattern>${eelfMetricLogPattern}</pattern> </encoder> </appender> <appender name="external" @@ -232,6 +240,7 @@ <appender-ref ref="asyncMETRIC" /> <appender-ref ref="asyncSANE" /> </logger> + <!-- Spring related loggers --> <logger name="org.springframework" level="WARN" /> <logger name="org.springframework.beans" level="WARN" /> @@ -240,8 +249,6 @@ <logger name="com.jayway.jsonpath" level="WARN" /> <!-- AJSC Services (bootstrap services) --> - <logger name="org.codehaus.groovy" level="WARN" /> - <logger name="com.att.scamper" level="WARN" /> <logger name="ajsc" level="WARN" /> <logger name="ajsc.RouteMgmtService" level="WARN" /> <logger name="ajsc.ComputeService" level="WARN" /> @@ -251,9 +258,10 @@ <logger name="ajsc.UserDefinedBeansDefService" level="WARN" /> <logger name="ajsc.LoggingConfigurationService" level="WARN" /> - <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet logging) --> + <logger name="org.codehaus.groovy" level="WARN" /> + <logger name="com.att.scamper" level="WARN" /> <logger name="ajsc.utils" level="WARN" /> <logger name="ajsc.utils.DME2Helper" level="WARN" /> <logger name="ajsc.filters" level="WARN" /> @@ -263,7 +271,9 @@ <logger name="com.att.ajsc" level="WARN" /> <logger name="com.att.ajsc.csi.logging" level="WARN" /> <logger name="com.att.ajsc.filemonitor" level="WARN" /> - <logger name="com.att.ajsc.runner" level="WARN" /> + <logger name="com.netflix.loadbalancer" level="WARN" /> + + <logger name="org.apache.zookeeper" level="WARN" /> <!-- Other Loggers that may help troubleshoot --> <logger name="net.sf" level="WARN" /> @@ -282,10 +292,16 @@ <logger name="org.restlet" level="WARN" /> <logger name="org.apache.camel.component.restlet" level="WARN" /> + <logger name="org.hibernate.validator" level="WARN" /> + <logger name="org.hibernate" level="WARN" /> + <logger name="org.hibernate.ejb" level="OFF" /> + <!-- logback internals logging --> <logger name="ch.qos.logback.classic" level="WARN" /> <logger name="ch.qos.logback.core" level="WARN" /> + <logger name="org.eclipse.jetty" level="WARN" /> + <!-- logback jms appenders & loggers definition starts here --> <appender name="auditLogs" class="ch.qos.logback.core.rolling.RollingFileAppender"> @@ -325,42 +341,27 @@ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> </encoder> </appender> - <appender name="ASYNC-audit" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>1000</queueSize> - <includeCallerData>true</includeCallerData> - <discardingThreshold>0</discardingThreshold> - <appender-ref ref="Audit-Record-Queue" /> - </appender> - <appender name="ASYNC-perf" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>1000</queueSize> - <includeCallerData>true</includeCallerData> - <discardingThreshold>0</discardingThreshold> - <appender-ref ref="Performance-Tracker-Queue" /> - </appender> <logger name="AuditRecord" level="INFO" additivity="false"> - <appender-ref ref="ASYNC-audit" /> <appender-ref ref="auditLogs" /> </logger> <logger name="AuditRecord_DirectCall" level="INFO" additivity="false"> - <appender-ref ref="ASYNC-audit" /> <appender-ref ref="auditLogs" /> </logger> <logger name="PerfTrackerRecord" level="INFO" additivity="false"> - <appender-ref ref="ASYNC-perf" /> <appender-ref ref="perfLogs" /> </logger> <!-- logback jms appenders & loggers definition ends here --> - <logger name="org.onap.aai.interceptors" level="DEBUG" - additivity="false"> + <logger name="org.onap.aai.interceptors.post" level="DEBUG" + additivity="false"> <appender-ref ref="asynctranslog" /> </logger> - <logger name="org.onap.aai.interceptors.PreAaiAjscInterceptor" level="DEBUG"> + <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG"> <appender-ref ref="asyncAUDIT"/> </logger> - <logger name="org.onap.aai.interceptors.PostAaiAjscInterceptor" level="DEBUG"> + <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG"> <appender-ref ref="asyncAUDIT"/> </logger> @@ -373,6 +374,7 @@ <logger name="org.apache" level="WARN" /> <logger name="org.zookeeper" level="WARN" /> <logger name="com.thinkaurelius" level="WARN" /> + <logger name="com.att.aft.dme2" level="WARN" /> <!-- ============================================================================ --> <!-- General EELF logger --> @@ -384,10 +386,6 @@ </logger> <root level="DEBUG"> - <appender-ref ref="asyncDEBUG" /> - <appender-ref ref="asyncERROR" /> - <appender-ref ref="asyncMETRIC" /> - <appender-ref ref="asyncSANE" /> <appender-ref ref="external" /> </root> </configuration> diff --git a/aai-traversal/src/main/config/realm.properties b/aai-traversal/src/main/resources/realm.properties index fb692cc..fb692cc 100644 --- a/aai-traversal/src/main/config/realm.properties +++ b/aai-traversal/src/main/resources/realm.properties diff --git a/aai-traversal/src/main/runtime/context/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.context b/aai-traversal/src/main/runtime/context/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.context deleted file mode 100644 index 8514196..0000000 --- a/aai-traversal/src/main/runtime/context/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.context +++ /dev/null @@ -1 +0,0 @@ -{"context":{"contextClass":"ajsc.Context","contextId":"__module_ajsc_namespace_name__:__module_ajsc_namespace_version__","contextName":"__module_ajsc_namespace_name__","contextVersion":"__module_ajsc_namespace_version__","description":"__module_ajsc_namespace_name__ Context"}}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/context/default#0.context b/aai-traversal/src/main/runtime/context/default#0.context deleted file mode 100644 index d1b5ab4..0000000 --- a/aai-traversal/src/main/runtime/context/default#0.context +++ /dev/null @@ -1 +0,0 @@ -{"context":{"contextClass":"ajsc.Context","contextId":"default:0","contextName":"default","contextVersion":"0","description":"Default Context"}}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/deploymentPackage/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.json b/aai-traversal/src/main/runtime/deploymentPackage/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.json deleted file mode 100644 index d0954cf..0000000 --- a/aai-traversal/src/main/runtime/deploymentPackage/__module.ajsc.namespace.name__#__module.ajsc.namespace.version__.json +++ /dev/null @@ -1 +0,0 @@ -{"deploymentPackage":{"Class":"ajsc.DeploymentPackage","Id":"__module.ajsc.namespace.name__:__module_ajsc_namespace_version__","namespace":"__module_ajsc_namespace_name__","namespaceVersion":"__module_ajsc_namespace_version__","description":"__module_ajsc_namespace_name__ __module_ajsc_namespace_version__ - default description","userId":"ajsc"}}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroRole/ajscadmin.json b/aai-traversal/src/main/runtime/shiroRole/ajscadmin.json deleted file mode 100644 index f5e981e..0000000 --- a/aai-traversal/src/main/runtime/shiroRole/ajscadmin.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroRoleClass":"ajsc.auth.ShiroRole","shiroRoleId":"ajscadmin","name":"ajscadmin","permissions":"[ajscadmin:*, ajsc:*]"}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroRole/contextadmin#__module.ajsc.namespace.name__.json b/aai-traversal/src/main/runtime/shiroRole/contextadmin#__module.ajsc.namespace.name__.json deleted file mode 100644 index 2dae9f5..0000000 --- a/aai-traversal/src/main/runtime/shiroRole/contextadmin#__module.ajsc.namespace.name__.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroRoleClass":"ajsc.auth.ShiroRole","shiroRoleId":"contextadmin:__module_ajsc_namespace_name__","name":"contextadmin:__module_ajsc_namespace_name__","permissions":"[]"}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroRole/contextadmin#default.json b/aai-traversal/src/main/runtime/shiroRole/contextadmin#default.json deleted file mode 100644 index 5de814e..0000000 --- a/aai-traversal/src/main/runtime/shiroRole/contextadmin#default.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroRoleClass":"ajsc.auth.ShiroRole","shiroRoleId":"contextadmin:default","name":"contextadmin:default","permissions":"[]"}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroUser/ajsc.json b/aai-traversal/src/main/runtime/shiroUser/ajsc.json deleted file mode 100644 index f4c7855..0000000 --- a/aai-traversal/src/main/runtime/shiroUser/ajsc.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroUserClass":"ajsc.auth.ShiroUser","shiroUserId":"ajsc","passwordHash":"9471697417008c880720ba54c6038791ad7e98f3b88136fe34f4d31a462dd27a","permissions":"[*:*]","username":"ajsc"}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroUserRole/ajsc#ajscadmin.json b/aai-traversal/src/main/runtime/shiroUserRole/ajsc#ajscadmin.json deleted file mode 100644 index cb8d483..0000000 --- a/aai-traversal/src/main/runtime/shiroUserRole/ajsc#ajscadmin.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroUserRoleClass":"ajsc.auth.ShiroUserRole","shiroUserRoleId":"ajsc:ajscadmin","roleId":"ajscadmin","userId":"ajsc"}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroUserRole/ajsc#contextadmin#__module.ajsc.namespace.name__.json b/aai-traversal/src/main/runtime/shiroUserRole/ajsc#contextadmin#__module.ajsc.namespace.name__.json deleted file mode 100644 index 95d2361..0000000 --- a/aai-traversal/src/main/runtime/shiroUserRole/ajsc#contextadmin#__module.ajsc.namespace.name__.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroUserRoleClass":"ajsc.auth.ShiroUserRole","shiroUserRoleId":"ajsc:contextadmin:__module_ajsc_namespace_name__","roleId":"contextadmin:__module_ajsc_namespace_name__","userId":"ajsc"}
\ No newline at end of file diff --git a/aai-traversal/src/main/runtime/shiroUserRole/ajsc#contextadmin#default.json b/aai-traversal/src/main/runtime/shiroUserRole/ajsc#contextadmin#default.json deleted file mode 100644 index 2bd5063..0000000 --- a/aai-traversal/src/main/runtime/shiroUserRole/ajsc#contextadmin#default.json +++ /dev/null @@ -1 +0,0 @@ -{"shiroUserRoleClass":"ajsc.auth.ShiroUserRole","shiroUserRoleId":"ajsc:contextadmin:default","roleId":"contextadmin:default","userId":"ajsc"}
\ No newline at end of file diff --git a/aai-traversal/src/main/scripts/common_functions.sh b/aai-traversal/src/main/scripts/common_functions.sh new file mode 100644 index 0000000..8bd881a --- /dev/null +++ b/aai-traversal/src/main/scripts/common_functions.sh @@ -0,0 +1,56 @@ +#!/bin/ksh + +# Common functions that can be used throughout multiple scripts +# In order to call these functions, this file needs to be sourced + +# Checks if the user that is currently running is aaiadmin +check_user(){ + + userid=$( id | cut -f2 -d"(" | cut -f1 -d")" ) + + if [ "${userid}" != "aaiadmin" ]; then + echo "You must be aaiadmin to run $0. The id used $userid." + exit 1 + fi +} + +# Sources the profile and sets the project home +source_profile(){ + . /etc/profile.d/aai.sh + PROJECT_HOME=/opt/app/aai-traversal +} + +# Runs the spring boot jar based on which main class +# to execute and which logback file to use for that class +execute_spring_jar(){ + + className=$1; + logbackFile=$2; + + shift 2; + + EXECUTABLE_JAR=$(ls ${PROJECT_HOME}/lib/aai-traversal-*SNAPSHOT.jar); + + JAVA_OPTS="${JAVA_PRE_OPTS}"; + JAVA_OPTS="-DAJSC_HOME=$PROJECT_HOME"; + JAVA_OPTS="$JAVA_OPTS -DBUNDLECONFIG_DIR=resources"; + JAVA_OPTS="$JAVA_OPTS -Daai.home=$PROJECT_HOME "; + JAVA_OPTS="$JAVA_OPTS -Dhttps.protocols=TLSv1.1,TLSv1.2"; + JAVA_OPTS="$JAVA_OPTS -Dloader.main=${className}"; + JAVA_OPTS="$JAVA_OPTS -Dlogback.configurationFile=${logbackFile}"; + JAVA_OPTS="${JAVA_OPTS} ${JAVA_POST_OPTS}"; + + ${JAVA_HOME}/bin/java ${JVM_OPTS} ${JAVA_OPTS} -jar ${EXECUTABLE_JAR} "$@" +} + +# Prints the start date and the script that the user called +start_date(){ + echo + echo `date` " Starting $0" +} + +# Prints the end date and the script that the user called +end_date(){ + echo + echo `date` " Done $0" +} diff --git a/aai-traversal/src/main/scripts/deleteNamedQuery.sh b/aai-traversal/src/main/scripts/deleteNamedQuery.sh index 2d19a9c..43aaae7 100644 --- a/aai-traversal/src/main/scripts/deleteNamedQuery.sh +++ b/aai-traversal/src/main/scripts/deleteNamedQuery.sh @@ -22,15 +22,11 @@ # # -# This script deletes the named query in bundleconfig/etc/scriptdata/named-query-json directory +# This script deletes the named query in resources/etc/scriptdata/named-query-json directory # PROGNAME=$(basename $0) -<<<<<<< HEAD -OUTFILE=$PROJECT_HOME/logs/misc/${PROGNAME}.log.$(date +\%Y-\%m-\%d) -======= OUTFILE=/opt/app/aai-traversal/logs/misc/${PROGNAME}.log.$(date +\%Y-\%m-\%d) ->>>>>>> codecloud/release/1802 #OUTFILE=/c/temp/${PROGNAME}.log.$(date +\%Y-\%m-\%d) TS=$(date "+%Y-%m-%d %H:%M:%S") @@ -49,23 +45,15 @@ error_exit () { } j=0 -<<<<<<< HEAD -for filepath in `ls $PROJECT_HOME/bundleconfig/etc/scriptdata/named-query-json/*.json|sort -f` -======= -for filepath in `ls /opt/app/aai-traversal/bundleconfig/etc/scriptdata/named-query-json/*.json|sort -f` ->>>>>>> codecloud/release/1802 -#for filepath in `ls /c/sources/aai/aaigitnew/bundleconfig-local/etc/scriptdata/named-query-json/*.json|sort -f` +for filepath in `ls /opt/app/aai-traversal/resources/etc/scriptdata/named-query-json/*.json|sort -f` +#for filepath in `ls /c/sources/aai/aaigitnew/resources-local/etc/scriptdata/named-query-json/*.json|sort -f` do j=$(expr "$j" + 1) filename=$(basename $filepath) echo "Begin deleteTool for named-query $filename" | tee -a $OUTFILE vers=`grep named-query-uuid $filepath|cut -d':' -f2|cut -d'"' -f2` resource=service-design-and-creation/named-queries/named-query/$vers -<<<<<<< HEAD -echo "y" | $PROJECT_HOME/scripts/deleteTool.sh $resource >> $OUTFILE 2>&1 || error_exit "$resource $filepath" $j -======= echo "y" | /opt/app/aai-traversal/scripts/deleteTool.sh $resource >> $OUTFILE 2>&1 || error_exit "$resource $filepath" $j ->>>>>>> codecloud/release/1802 echo "End deleteTool for named-query $filename" | tee -a $OUTFILE done diff --git a/aai-traversal/src/main/scripts/deleteTool.sh b/aai-traversal/src/main/scripts/deleteTool.sh index 60c3e1c..8d51437 100644 --- a/aai-traversal/src/main/scripts/deleteTool.sh +++ b/aai-traversal/src/main/scripts/deleteTool.sh @@ -50,7 +50,7 @@ fi . /etc/profile.d/aai.sh PROJECT_HOME=/opt/app/aai-traversal -prop_file=$PROJECT_HOME/bundleconfig/etc/appprops/aaiconfig.properties +prop_file=$PROJECT_HOME/resources/etc/appprops/aaiconfig.properties log_dir=$PROJECT_HOME/logs/misc today=$(date +\%Y-\%m-\%d) @@ -80,7 +80,7 @@ fi if [ $MISSING_PROP = false ]; then if [ $USEBASICAUTH = false ]; then - AUTHSTRING="--cert $PROJECT_HOME/bundleconfig/etc/auth/aaiClientPublicCert.pem --key $PROJECT_HOME/bundleconfig/etc/auth/aaiClientPrivateKey.pem" + AUTHSTRING="--cert $PROJECT_HOME/resources/etc/auth/aaiClientPublicCert.pem --key $PROJECT_HOME/resources/etc/auth/aaiClientPrivateKey.pem" else AUTHSTRING="-u $CURLUSER:$CURLPASSWORD" fi diff --git a/aai-traversal/src/main/scripts/getTool.sh b/aai-traversal/src/main/scripts/getTool.sh index 39d4e87..df0456f 100644 --- a/aai-traversal/src/main/scripts/getTool.sh +++ b/aai-traversal/src/main/scripts/getTool.sh @@ -46,7 +46,7 @@ fi . /etc/profile.d/aai.sh PROJECT_HOME=/opt/app/aai-traversal -prop_file=$PROJECT_HOME/bundleconfig/etc/appprops/aaiconfig.properties +prop_file=$PROJECT_HOME/resources/etc/appprops/aaiconfig.properties log_dir=$PROJECT_HOME/logs/misc today=$(date +\%Y-\%m-\%d) @@ -76,7 +76,7 @@ fi if [ $MISSING_PROP = false ]; then if [ $USEBASICAUTH = false ]; then - AUTHSTRING="--cert $PROJECT_HOME/bundleconfig/etc/auth/aaiClientPublicCert.pem --key $PROJECT_HOME/bundleconfig/etc/auth/aaiClientPrivateKey.pem" + AUTHSTRING="--cert $PROJECT_HOME/resources/etc/auth/aaiClientPublicCert.pem --key $PROJECT_HOME/resources/etc/auth/aaiClientPrivateKey.pem" else AUTHSTRING="-u $CURLUSER:$CURLPASSWORD" fi diff --git a/aai-traversal/src/main/scripts/install/updateQueryData.sh b/aai-traversal/src/main/scripts/install/updateQueryData.sh index 3c7f1bf..a5723d0 100644 --- a/aai-traversal/src/main/scripts/install/updateQueryData.sh +++ b/aai-traversal/src/main/scripts/install/updateQueryData.sh @@ -41,7 +41,7 @@ error_exit () { } j=0 -for filepath in `ls $PROJECT_HOME/bundleconfig/etc/scriptdata/widget-model-json/*.json|sort -f` +for filepath in `ls $PROJECT_HOME/resources/etc/scriptdata/widget-model-json/*.json|sort -f` do j=$(expr "$j" + 1) filename=$(basename $filepath) @@ -54,7 +54,7 @@ echo "End putTool for widget $filename" | tee -a $OUTFILE done j=0 -for filepath in `ls $PROJECT_HOME/bundleconfig/etc/scriptdata/named-query-json/*.json|sort -f` +for filepath in `ls $PROJECT_HOME/resources/etc/scriptdata/named-query-json/*.json|sort -f` do j=$(expr "$j" + 1) filename=$(basename $filepath) @@ -67,7 +67,7 @@ echo "End putTool for named-query $filename" | tee -a $OUTFILE done j=0 -for filepath in `ls $PROJECT_HOME/bundleconfig/etc/scriptdata/resource-model-json/*.json|sort -f` +for filepath in `ls $PROJECT_HOME/resources/etc/scriptdata/resource-model-json/*.json|sort -f` do j=$(expr "$j" + 1) filename=$(basename $filepath) @@ -80,7 +80,7 @@ echo "End putTool for resource model $filename" | tee -a $OUTFILE done j=0 -for filepath in `ls $PROJECT_HOME/bundleconfig/etc/scriptdata/service-model-json/*.json|sort -f` +for filepath in `ls $PROJECT_HOME/resources/etc/scriptdata/service-model-json/*.json|sort -f` do j=$(expr "$j" + 1) filename=$(basename $filepath) diff --git a/aai-traversal/src/main/scripts/putTool.sh b/aai-traversal/src/main/scripts/putTool.sh index be273a2..6630d8f 100644 --- a/aai-traversal/src/main/scripts/putTool.sh +++ b/aai-traversal/src/main/scripts/putTool.sh @@ -22,14 +22,9 @@ # # -<<<<<<< HEAD -# The script is called with a resource, filepath and an optional argument to -# ignore HTTP failure codes which would otherwise indicate a failure. -======= # The script is called with a resource, filepath, an optional argument to # ignore HTTP failure codes which would otherwise indicate a failure, # and an optional argument to display more data. ->>>>>>> codecloud/release/1802 # It invokes a PUT on the resource with the file using curl # Uses aaiconfig.properties for authorization type and url. The HTTP response # code is checked. Responses between 200 and 299 are considered success. @@ -51,8 +46,6 @@ contains() { fi } -<<<<<<< HEAD -======= display_usage() { cat <<EOF Usage: $0 [options] @@ -70,7 +63,6 @@ if [ $# -eq 0 ]; then exit 1 fi ->>>>>>> codecloud/release/1802 # remove leading slash when present RESOURCE=`echo $1 | sed "s,^/,,"` if [ -z $RESOURCE ]; then @@ -98,12 +90,10 @@ fi . /etc/profile.d/aai.sh PROJECT_HOME=/opt/app/aai-traversal -prop_file=$PROJECT_HOME/bundleconfig/etc/appprops/aaiconfig.properties +prop_file=$PROJECT_HOME/resources/etc/appprops/aaiconfig.properties log_dir=$PROJECT_HOME/logs/misc today=$(date +\%Y-\%m-\%d) -<<<<<<< HEAD -======= RETURNRESPONSE=false if [ ${#} -ne 2 ]; then if [ "$3" = "-display" ]; then @@ -116,7 +106,6 @@ if [ ${#} -ne 3 ]; then fi fi ->>>>>>> codecloud/release/1802 MISSING_PROP=false RESTURL=`grep ^aai.server.url= $prop_file |cut -d'=' -f2 |tr -d "\015"` if [ -z $RESTURL ]; then @@ -143,26 +132,19 @@ fi if [ $MISSING_PROP = false ]; then if [ $USEBASICAUTH = false ]; then - AUTHSTRING="--cert $PROJECT_HOME/bundleconfig/etc/auth/aaiClientPublicCert.pem --key $PROJECT_HOME/bundleconfig/etc/auth/aaiClientPrivateKey.pem" + AUTHSTRING="--cert $PROJECT_HOME/resources/etc/auth/aaiClientPublicCert.pem --key $PROJECT_HOME/resources/etc/auth/aaiClientPrivateKey.pem" else AUTHSTRING="-u $CURLUSER:$CURLPASSWORD" fi -<<<<<<< HEAD - result=`curl --request PUT -sL -w "%{http_code}" -o /dev/null -k $AUTHSTRING -H "X-FromAppId: $XFROMAPPID" -H "X-TransactionId: $XTRANSID" -H "Accept: application/json" -T $JSONFILE $RESTURL$RESOURCE` - #echo "result is $result." - RC=0; - if [ $? -eq 0 ]; then -======= - + if [ $RETURNRESPONSE = true ]; then - curl --request PUT -sL -k $AUTHSTRING -H "X-FromAppId: $XFROMAPPID" -H "X-TransactionId: $XTRANSID" -H "Accept: application/json" -T $JSONFILE $RESTURL$RESOURCE | python -mjson.tool + curl --request PUT -sL -k $AUTHSTRING -H "Content-Type: application/json" -H "X-FromAppId: $XFROMAPPID" -H "X-TransactionId: $XTRANSID" -H "Accept: application/json" -T $JSONFILE $RESTURL$RESOURCE | python -mjson.tool RC=$? else - result=`curl --request PUT -sL -w "%{http_code}" -o /dev/null -k $AUTHSTRING -H "X-FromAppId: $XFROMAPPID" -H "X-TransactionId: $XTRANSID" -H "Accept: application/json" -T $JSONFILE $RESTURL$RESOURCE` + result=`curl --request PUT -sL -w "%{http_code}" -o /dev/null -k $AUTHSTRING -H "Content-Type: application/json" -H "X-FromAppId: $XFROMAPPID" -H "X-TransactionId: $XTRANSID" -H "Accept: application/json" -T $JSONFILE $RESTURL$RESOURCE` #echo "result is $result." RC=0; if [ $? -eq 0 ]; then ->>>>>>> codecloud/release/1802 case $result in +([0-9])?) #if [[ "$result" -eq 412 || "$result" -ge 200 && $result -lt 300 ]] @@ -191,18 +173,11 @@ if [ $MISSING_PROP = false ]; then ;; esac -<<<<<<< HEAD - else - echo "FAILED to send request to $RESTURL" - RC=-1 - fi -======= else echo "FAILED to send request to $RESTURL" RC=-1 fi fi ->>>>>>> codecloud/release/1802 else echo "usage: $0 resource file [expected-failure-codes]" RC=-1 diff --git a/aai-traversal/src/main/swm/package/nix/common/deinstall.env b/aai-traversal/src/main/swm/package/nix/common/deinstall.env new file mode 100644 index 0000000..fb0a9f5 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/common/deinstall.env @@ -0,0 +1,10 @@ + +# This file is used to set the environment which the install_*.sh files +# will use when executing. Only set variables that must be derived at +# installation time here. For variables that should be set by the installer +# in SWM, add VariableDescriptor elements to the descriptor.xml. Place +# logical steps in the install_preproc.sh or install_postproc.sh. + +. `dirname $0`/common.env + +AAI_USER=aaiadmin;export AAI_USER diff --git a/aai-traversal/src/test/resources/inmemory_titan.properties b/aai-traversal/src/main/swm/package/nix/common/install_postproc.sh index cf4bbfd..ab5f2b7 100644 --- a/aai-traversal/src/test/resources/inmemory_titan.properties +++ b/aai-traversal/src/main/swm/package/nix/common/install_postproc.sh @@ -1,23 +1,39 @@ -# +#!/bin/sh + +### # ============LICENSE_START======================================================= # org.onap.aai # ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# +# +# http://www.apache.org/licenses/LICENSE-2.0 +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# +### + +############################################################################## +# - SCLD GRM SERVICE +# - Copyright 2009 AT&T Intellectual Properties +############################################################################## + + +. `dirname $0`/install.env + +cd ${ROOT_DIR}; + +TEMPLATE_YAML_FILE=${ROOT_DIR}/docker-compose.template.yaml +YAML_FILE=${ROOT_DIR}/docker-compose.yaml + +sh ${UTILPATH}/findreplace.sh ${TEMPLATE_YAML_FILE} ${YAML_FILE} || exit 200 +rm ${TEMPLATE_YAML_FILE} -storage.backend=inmemory +exit 0 diff --git a/aai-traversal/src/main/swm/package/nix/deinstall/preproc/pre_proc b/aai-traversal/src/main/swm/package/nix/deinstall/preproc/pre_proc new file mode 100644 index 0000000..5f88c41 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/deinstall/preproc/pre_proc @@ -0,0 +1,4 @@ +#!/bin/sh + +cd ../../common +exec sh -x ./deinstall_preproc.sh diff --git a/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/docker-compose.template.yaml b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/docker-compose.template.yaml new file mode 100644 index 0000000..74ae555 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/docker-compose.template.yaml @@ -0,0 +1,51 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# + +# SCLD_ENV is for the environment context for dme2 +# AAI_CHEF_ENV is used for both dme2 properites and +# also used by chef to generate appropriate properties + +version: '2' +services: + aai-traversal: + image: __REGISTRY__/__NAMESPACE__/aai-traversal:__IMAGE_VERSION__ + network_mode: host + environment: + - LOCAL_USER_ID=__LOCAL_USER_ID__ + - LOCAL_GROUP_ID=__LOCAL_GROUP_ID__ + volumes: + - /opt/aai/logroot/AAI-GQ:/opt/aai/logroot/AAI-GQ + - /opt/app/aai-traversal/appconfig/aai-client-cert.p12:/opt/app/aai-traversal/resources/etc/auth/aai-client-cert.p12 + - /opt/app/aai-traversal/appconfig/tomcat_keystore:/opt/app/aai-traversal/resources/etc/auth/tomcat_keystore + - /opt/app/aai-traversal/appconfig/aai_policy.json:/opt/app/aai-traversal/resources/etc/auth/aai_policy.json + - /opt/app/aai-traversal/appconfig/aaiconfig.properties:/opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties + - /opt/app/aai-traversal/appconfig/application.properties:/opt/app/aai-traversal/resources/application.properties + - /opt/app/aai-traversal/appconfig/dme2.properties:/opt/app/aai-traversal/resources/dme2.properties + - /opt/app/aai-traversal/appconfig/localhost-access-logback.xml:/opt/app/aai-traversal/resources/localhost-access-logback.xml + - /opt/app/aai-traversal/appconfig/logback.xml:/opt/app/aai-traversal/resources/logback.xml + - /opt/app/aai-traversal/appconfig/titan-cached.properties:/opt/app/aai-traversal/resources/etc/appprops/titan-cached.properties + - /opt/app/aai-traversal/appconfig/titan-realtime.properties:/opt/app/aai-traversal/resources/etc/appprops/titan-realtime.properties + logging: + driver: "json-file" + options: + max-size: "30m" + max-file: "5" diff --git a/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/execTool.sh b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/execTool.sh new file mode 100644 index 0000000..ab634c0 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/execTool.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +export WORKING_DIR="$( cd "$(dirname "$0")" ; pwd -P )/" + +DOCKER_COMPOSE_CMD="docker-compose -f ${WORKING_DIR}/docker-compose.yaml"; + +ARG=$1; + +if [ -z "$ARG" ]; then + echo "Error: You need to at least provide one argument which is the script to execute"; + exit 1; +fi; + +if [ "${ARG}" = "--debug" ]; then + + SCRIPT_NAME=$2; + + if [ -z "$SCRIPT_NAME" ]; then + echo "Error: You need to provide the tool name after specifying the --debug flag"; + exit 1; + fi; + + shift 2; + +else + SCRIPT_NAME=$1; + shift 1; +fi; + +CONTAINER_NAME=$(${DOCKER_COMPOSE_CMD} ps -q aai-traversal); + +if [ $? -ne 0 ]; then + echo "Error: seems like the container is not running, please run the commands to start aai-traversal"; + exit 1; +fi; + +if [ ${SCRIPT_NAME} = "putTool.sh" ]; then + + PAYLOAD_FILE=$2; + + if [ ! -z "${PAYLOAD_FILE}" ] && [ -f "${PAYLOAD_FILE}" ]; then + docker cp ${PAYLOAD_FILE} ${CONTAINER_NAME}:/tmp/$(basename ${PAYLOAD_FILE}) + fi; +fi; + +${DOCKER_COMPOSE_CMD} exec --user aaiadmin aai-traversal ls /opt/app/aai-traversal/scripts/${SCRIPT_NAME} && { + + if [ "${ARG}" = "--debug" ]; then + ${DOCKER_COMPOSE_CMD} exec --user aaiadmin aai-traversal bash -x /opt/app/aai-traversal/scripts/${SCRIPT_NAME} "$@" + else + ${DOCKER_COMPOSE_CMD} exec --user aaiadmin aai-traversal /opt/app/aai-traversal/scripts/${SCRIPT_NAME} "$@" + fi; + + exit 0; +} || { + echo "Unable to find the tool in the /opt/app/aai-traversal/scripts"; + exit 1; +} diff --git a/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/kill_resources.sh b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/kill_resources.sh new file mode 100644 index 0000000..00855da --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/kill_resources.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +. /etc/profile.d/aai.sh +PROJECT_HOME=/opt/app/aai-traversal + +docker-compose -f ${PROJECT_HOME}/docker-compose.yaml stop && \ + docker-compose -f ${PROJECT_HOME}/docker-compose.yaml rm -f diff --git a/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/start_resources.sh b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/start_resources.sh new file mode 100644 index 0000000..61819d4 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/start_resources.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +. /etc/profile.d/aai.sh +PROJECT_HOME=/opt/app/aai-traversal + +docker-compose -f ${PROJECT_HOME}/docker-compose.yaml up -d || exit 200 diff --git a/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/stop_resources.sh b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/stop_resources.sh new file mode 100644 index 0000000..009e597 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/dist_files/opt/app/aai-traversal/stop_resources.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +. /etc/profile.d/aai.sh +PROJECT_HOME=/opt/app/aai-traversal + +docker-compose -f ${PROJECT_HOME}/docker-compose.yaml stop || exit 200 diff --git a/aai-traversal/src/main/swm/package/nix/initinst/postproc/post_proc b/aai-traversal/src/main/swm/package/nix/initinst/postproc/post_proc new file mode 100644 index 0000000..d017750 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/initinst/postproc/post_proc @@ -0,0 +1,4 @@ +#!/bin/sh + +cd ../../common +exec sh -x ./install_postproc.sh diff --git a/aai-traversal/src/main/swm/package/nix/install/postproc/post_proc b/aai-traversal/src/main/swm/package/nix/install/postproc/post_proc new file mode 100644 index 0000000..d017750 --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/install/postproc/post_proc @@ -0,0 +1,4 @@ +#!/bin/sh + +cd ../../common +exec sh -x ./install_postproc.sh diff --git a/aai-traversal/src/main/swm/package/nix/install/preproc/pre_proc b/aai-traversal/src/main/swm/package/nix/install/preproc/pre_proc new file mode 100644 index 0000000..3f1b26f --- /dev/null +++ b/aai-traversal/src/main/swm/package/nix/install/preproc/pre_proc @@ -0,0 +1,4 @@ +#!/bin/sh + +cd ../../common +exec sh -x ./install_preproc.sh diff --git a/aai-traversal/src/main/xjb/bindings.xjb b/aai-traversal/src/main/xjb/bindings.xjb deleted file mode 100644 index b7629d3..0000000 --- a/aai-traversal/src/main/xjb/bindings.xjb +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<jaxb:bindings - version="2.1" - xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" - xmlns:xs="http://www.w3.org/2001/XMLSchema"> - <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v7"> - <jaxb:schemaBindings> - <jaxb:package name="org.openecomp.aai.domain.yang.v7"/> - </jaxb:schemaBindings> - </jaxb:bindings> - <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v8"> - <jaxb:schemaBindings> - <jaxb:package name="org.openecomp.aai.domain.yang.v8"/> - </jaxb:schemaBindings> - </jaxb:bindings> - <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v9"> - <jaxb:schemaBindings> - <jaxb:package name="org.openecomp.aai.domain.yang"/> - </jaxb:schemaBindings> - </jaxb:bindings> -</jaxb:bindings>
\ No newline at end of file diff --git a/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java new file mode 100644 index 0000000..4210596 --- /dev/null +++ b/aai-traversal/src/test/java/org/onap/aai/AAIGremlinQueryTest.java @@ -0,0 +1,126 @@ +package org.onap.aai; + +import com.jayway.jsonpath.JsonPath; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.onap.aai.config.PropertyPasswordConfiguration; +import org.onap.aai.exceptions.AAIException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.embedded.LocalServerPort; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.Import; +import org.springframework.http.*; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.client.RestTemplate; + +import javax.ws.rs.core.Response; +import java.io.UnsupportedEncodingException; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertNotNull; + +/** + * A sample junit test using spring boot that provides the ability to spin + * up the application from the junit layer and run rest requests against + * SpringBootTest annotation with web environment requires which spring boot + * class to load and the random port starts the application on a random port + * and injects back into the application for the field with annotation LocalServerPort + * <p> + * + * This can be used to potentially replace a lot of the fitnesse tests since + * they will be testing against the same thing except fitnesse uses hbase + */ +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TraversalApp.class) +@TestPropertySource(locations = "classpath:application-test.properties") +@ContextConfiguration(initializers = PropertyPasswordConfiguration.class) +@Import(TraversalTestConfiguration.class) +public class AAIGremlinQueryTest { + + private HttpTestUtil httpTestUtil; + + private String pserverUri; + + private String hostname; + + @Autowired + RestTemplate restTemplate; + + @LocalServerPort + int randomPort; + + private HttpEntity httpEntity; + + private HttpHeaders headers; + + private String baseUrl; + + @Before + public void setup() throws Exception { + + httpTestUtil = new HttpTestUtil(); + + hostname = UUID.randomUUID().toString(); + + pserverUri ="/aai/v11/cloud-infrastructure/pservers/pserver/" + hostname; + + Map<String, String> pserverMap = new HashMap<>(); + pserverMap.put("hostname", hostname); + String payload = PayloadUtil.getTemplatePayload("pserver.json", pserverMap); + httpTestUtil.doPut(pserverUri, payload); + + headers = new HttpHeaders(); + + headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON)); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.add("Real-Time", "true"); + headers.add("X-FromAppId", "JUNIT"); + headers.add("X-TransactionId", "JUNIT"); + + baseUrl = "https://localhost:" + randomPort; + } + + @Test + public void testPserverCount() throws Exception { + Map<String, String> gremlinQueryMap = new HashMap<>(); + gremlinQueryMap.put("gremlin-query", "g.V().has('hostname', '" + hostname + "').count()"); + + String payload = PayloadUtil.getTemplatePayload("gremlin-query.json", gremlinQueryMap); + + ResponseEntity responseEntity = null; + + String endpoint = "/aai/v11/query?format=console"; + + httpEntity = new HttpEntity(payload, headers); + responseEntity = restTemplate.exchange(baseUrl + endpoint, HttpMethod.PUT, httpEntity, String.class); + assertThat(responseEntity.getStatusCode(), is(HttpStatus.OK)); + + String result = JsonPath.read(responseEntity.getBody().toString(), "$.results[0].result"); + assertThat(result, is("1")); + } + + @After + public void tearDown() throws UnsupportedEncodingException, AAIException { + + Response response = httpTestUtil.doGet(pserverUri); + + assertNotNull("Expected the response to be returned", response); + assertThat(response.getStatus(), is(200)); + + String body = response.getEntity().toString(); + String resourceVersion = JsonPath.read(body, "$.resource-version"); + + response = httpTestUtil.doDelete(pserverUri, resourceVersion); + assertNotNull("Expected the response to be returned", response); + assertThat(response.getStatus(), is(204)); + } +} diff --git a/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java b/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java new file mode 100644 index 0000000..e4c6f19 --- /dev/null +++ b/aai-traversal/src/test/java/org/onap/aai/TraversalTestConfiguration.java @@ -0,0 +1,125 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.aai; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import org.apache.http.client.HttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.ssl.SSLContextBuilder; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.core.env.Environment; +import org.springframework.http.HttpStatus; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.util.ResourceUtils; +import org.springframework.web.client.ResponseErrorHandler; +import org.springframework.web.client.RestTemplate; + +import javax.net.ssl.SSLContext; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.security.KeyStore; + +@TestConfiguration +public class TraversalTestConfiguration { + + private static final EELFLogger logger = EELFManager.getInstance().getLogger(TraversalTestConfiguration.class); + + @Autowired + private Environment env; + + /** + * Create a RestTemplate bean, using the RestTemplateBuilder provided + * by the auto-configuration. + */ + @Bean + RestTemplate restTemplate(RestTemplateBuilder builder) throws Exception { + + char[] trustStorePassword = env.getProperty("server.ssl.trust-store-password").toCharArray(); + char[] keyStorePassword = env.getProperty("server.ssl.key-store-password").toCharArray(); + + String keyStore = env.getProperty("server.ssl.key-store"); + String trustStore = env.getProperty("server.ssl.trust-store"); + + SSLContextBuilder sslContextBuilder = SSLContextBuilder.create(); + + if(env.acceptsProfiles("two-way-ssl")){ + sslContextBuilder = sslContextBuilder.loadKeyMaterial(loadPfx(keyStore, keyStorePassword), keyStorePassword); + } + + SSLContext sslContext = sslContextBuilder + .loadTrustMaterial(ResourceUtils.getFile(trustStore), trustStorePassword) + .build(); + + HttpClient client = HttpClients.custom() + .setSSLContext(sslContext) + .setSSLHostnameVerifier((s, sslSession) -> true) + .build(); + + RestTemplate restTemplate = builder + .requestFactory(new HttpComponentsClientHttpRequestFactory(client)) + .build(); + + restTemplate.setErrorHandler(new ResponseErrorHandler() { + @Override + public boolean hasError(ClientHttpResponse clientHttpResponse) throws IOException { + if (clientHttpResponse.getStatusCode() != HttpStatus.OK) { + + logger.debug("Status code: " + clientHttpResponse.getStatusCode()); + + if (clientHttpResponse.getStatusCode() == HttpStatus.FORBIDDEN) { + logger.debug("Call returned a error 403 forbidden resposne "); + return true; + } + + if(clientHttpResponse.getRawStatusCode() % 100 == 5){ + logger.debug("Call returned a error " + clientHttpResponse.getStatusText()); + return true; + } + } + + return false; + } + + @Override + public void handleError(ClientHttpResponse clientHttpResponse) throws IOException { + } + }); + + return restTemplate; + } + + private KeyStore loadPfx(String file, char[] password) throws Exception { + KeyStore keyStore = KeyStore.getInstance("PKCS12"); + File key = ResourceUtils.getFile(file); + try (InputStream in = new FileInputStream(key)) { + keyStore.load(in, password); + } + return keyStore; + } +} diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java index bd3705e..64d77a9 100644 --- a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingInvalidDataTest.java @@ -38,7 +38,6 @@ import com.thinkaurelius.titan.graphdb.types.system.EmptyVertex; import com.thinkaurelius.titan.graphdb.types.vertices.EdgeLabelVertex; import com.thinkaurelius.titan.graphdb.types.vertices.PropertyKeyVertex; import org.apache.commons.lang.ObjectUtils; -import org.apache.openjpa.kernel.exps.Exp; import org.apache.tinkerpop.gremlin.structure.Graph; import org.apache.tinkerpop.gremlin.structure.T; import org.apache.tinkerpop.gremlin.structure.Vertex; @@ -81,7 +80,7 @@ public class ModelBasedProcessingInvalidDataTest { @BeforeClass public static void configure() throws Exception { System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, AAIProperties.LATEST); diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java index 406d122..dc8871d 100644 --- a/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphgen/ModelBasedProcessingTest.java @@ -74,10 +74,9 @@ public class ModelBasedProcessingTest { @BeforeClass public static void configure() throws Exception { System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, AAIProperties.LATEST); - } @Before diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java index 552dbe4..029565d 100644 --- a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphNamedQueryTest.java @@ -98,7 +98,7 @@ public class SearchGraphNamedQueryTest { } private void addWidgets() { - String widgetPath = "." + AAIConstants.AAI_FILESEP + "bundleconfig-local" + AAIConstants.AAI_FILESEP + "etc" + + String widgetPath = "." + AAIConstants.AAI_FILESEP + "src/main/resources" + AAIConstants.AAI_FILESEP + "etc" + AAIConstants.AAI_FILESEP + "scriptdata"+ AAIConstants.AAI_FILESEP + "widget-model-json"; File dir = new File(widgetPath); @@ -120,7 +120,7 @@ public class SearchGraphNamedQueryTest { } private void addNamedQueries() { - String namedQueryPath = "." + AAIConstants.AAI_FILESEP + "bundleconfig-local" + AAIConstants.AAI_FILESEP + "etc" + + String namedQueryPath = "." + AAIConstants.AAI_FILESEP + "src/main/resources" + AAIConstants.AAI_FILESEP + "etc" + AAIConstants.AAI_FILESEP + "scriptdata"+ AAIConstants.AAI_FILESEP + "named-query-json"; File dir = new File(namedQueryPath); @@ -152,7 +152,7 @@ public class SearchGraphNamedQueryTest { httpTestUtil = new HttpTestUtil(); System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); searchGraph = new SearchGraph(); diff --git a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java index f624828..ba108a6 100644 --- a/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/dbgraphmap/SearchGraphTest.java @@ -27,7 +27,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSo import org.apache.tinkerpop.gremlin.structure.Graph; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.structure.VertexProperty; -import org.apache.velocity.util.ArrayListWrapper; import org.eclipse.persistence.dynamic.DynamicEntity; import org.junit.Assert; import org.junit.Before; @@ -100,7 +99,7 @@ public class SearchGraphTest { public void setup(){ System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); searchGraph = new SearchGraph(); @@ -376,4 +375,4 @@ public class SearchGraphTest { searchGraph.runNodesQuery(httpHeaders,"model-ver",edgeFilter, filter,dbEngine,loader,urlBuilder); } -}
\ No newline at end of file +} diff --git a/aai-traversal/src/test/java/org/onap/aai/interceptors/AAILogJAXRSInInterceptorTest.java b/aai-traversal/src/test/java/org/onap/aai/interceptors/AAILogJAXRSInInterceptorTest.java deleted file mode 100644 index 40de5a9..0000000 --- a/aai-traversal/src/test/java/org/onap/aai/interceptors/AAILogJAXRSInInterceptorTest.java +++ /dev/null @@ -1,204 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import org.apache.cxf.message.Exchange; -import org.apache.cxf.message.ExchangeImpl; -import org.apache.cxf.message.Message; -import org.junit.Before; -import org.junit.Test; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.mockito.Mockito.*; - -public class AAILogJAXRSInInterceptorTest { - - private AAILogJAXRSInInterceptor aaiLogJAXRSInInterceptor; - - private Message message; - private Exchange exchange; - private InputStream is; - private Map<String, List<String>> headers; - - - @Before - public void setup(){ - - aaiLogJAXRSInInterceptor = new AAILogJAXRSInInterceptor(); - - message = mock(Message.class); - exchange = spy(new ExchangeImpl()); - - is = getClass().getClassLoader().getResourceAsStream("logback.xml"); - - headers = new HashMap<>(); - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("JUNIT")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - } - - @Test - public void testHandleMessageWhenNotCamelRequest() throws IOException { - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - - when(message.get("CamelHttpUrl")).thenReturn("/somestring"); - aaiLogJAXRSInInterceptor.handleMessage(message); - } - - @Test - public void testHandleMessageWhenUUIDHasMultiple() throws IOException { - - Map<String, List<String>> headers = new HashMap<>(); - - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("jfasodjf:fjaosjfidsaj:afsidjfaodfja")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - - when(message.get("CamelHttpUrl")).thenReturn("/somestring"); - aaiLogJAXRSInInterceptor.handleMessage(message); - } - - @Test - public void testHandleMessageWhenMissingTransactionId() throws IOException { - - Map<String, List<String>> headers = new HashMap<>(); - - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - - when(message.get("CamelHttpUrl")).thenReturn("/somestring"); - aaiLogJAXRSInInterceptor.handleMessage(message); - } - - @Test - public void testHandleMessageWhenMissingContentType() throws IOException { - - Map<String, List<String>> headers = new HashMap<>(); - - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("jfasodjf:fjaosjfidsaj:afsidjfaodfja")); - headers.put("Accept", Arrays.asList("application/json")); - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - - when(message.get("CamelHttpUrl")).thenReturn("/somestring"); - aaiLogJAXRSInInterceptor.handleMessage(message); - } - - @Test - public void testHandleMessageWhenQueryExistsAndUriEcho() throws IOException { - - Map<String, List<String>> headers = new HashMap<>(); - - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("jfasodjf:fjaosjfidsaj:afsidjfaodfja")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - when(message.get(Message.QUERY_STRING)).thenReturn(null); - when(exchange.containsKey("AAI_LOGGING_HBASE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_HBASE_ENABLED")).thenReturn(""); - when(exchange.containsKey("AAI_LOGGING_TRACE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_TRACE_ENABLED")).thenReturn(""); - when(message.get("CamelHttpUrl")).thenReturn("/util/echo"); - aaiLogJAXRSInInterceptor.handleMessage(message); - } - - @Test - public void testHandleMessageWhenQueryExistsAndUriTranslog() throws IOException { - - Map<String, List<String>> headers = new HashMap<>(); - - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("jfasodjf:fjaosjfidsaj:afsidjfaodfja")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - when(message.get(Message.QUERY_STRING)).thenReturn(null); - when(exchange.containsKey("AAI_LOGGING_HBASE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_HBASE_ENABLED")).thenReturn(""); - when(exchange.containsKey("AAI_LOGGING_TRACE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_TRACE_ENABLED")).thenReturn(""); - when(message.get("CamelHttpUrl")).thenReturn("/translog/"); - aaiLogJAXRSInInterceptor.handleMessage(message); - } - - @Test - public void testHandleMessageWhenPutMessageKeyReturnsException() throws IOException { - - Map<String, List<String>> headers = new HashMap<>(); - - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("jfasodjf:fjaosjfidsaj:afsidjfaodfja")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(InputStream.class)).thenReturn(is); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - when(message.get(Message.QUERY_STRING)).thenReturn(null); - when(exchange.containsKey("AAI_LOGGING_HBASE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_HBASE_ENABLED")).thenReturn(""); - when(exchange.containsKey("AAI_LOGGING_TRACE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_TRACE_ENABLED")).thenReturn(""); - when(message.get("CamelHttpUrl")).thenReturn("/translog/"); - when(message.get(Message.ENCODING)).thenReturn("http"); - when(message.get(Message.RESPONSE_CODE)).thenReturn(200); - - aaiLogJAXRSInInterceptor.handleMessage(message); - } -}
\ No newline at end of file diff --git a/aai-traversal/src/test/java/org/onap/aai/interceptors/AAILogJAXRSOutInterceptorTest.java b/aai-traversal/src/test/java/org/onap/aai/interceptors/AAILogJAXRSOutInterceptorTest.java deleted file mode 100644 index 52c6a42..0000000 --- a/aai-traversal/src/test/java/org/onap/aai/interceptors/AAILogJAXRSOutInterceptorTest.java +++ /dev/null @@ -1,111 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import org.apache.cxf.io.CacheAndWriteOutputStream; -import org.apache.cxf.message.Exchange; -import org.apache.cxf.message.ExchangeImpl; -import org.apache.cxf.message.Message; -import org.junit.Before; -import org.junit.Test; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.mockito.Mockito.*; - -public class AAILogJAXRSOutInterceptorTest { - - private AAILogJAXRSOutInterceptor aaiLogJAXRSOutInterceptor; - - private Message message; - private Exchange exchange; - private OutputStream out; - private Map<String, List<String>> headers; - private Message outMessage; - private Message inMessage; - - - @Before - public void setup(){ - - aaiLogJAXRSOutInterceptor = new AAILogJAXRSOutInterceptor(); - - message = mock(Message.class); - exchange = spy(new ExchangeImpl()); - out = mock(OutputStream.class); - outMessage = mock(Message.class); - inMessage = mock(Message.class); - - - headers = new HashMap<>(); - headers.put("X-FromAppId", Arrays.asList("JUNIT")); - headers.put("X-TransactionId", Arrays.asList("JUNIT")); - headers.put("Content-Type", Arrays.asList("application/json")); - headers.put("Accept", Arrays.asList("application/json")); - } - - @Test - public void testHandleMessageWhenNotCamelRequest() throws IOException { - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(OutputStream.class)).thenReturn(out); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - when(exchange.getOutMessage()).thenReturn(outMessage); - when(outMessage.getContent(OutputStream.class)).thenReturn(out); - when(exchange.containsKey("AAI_LOGGING_HBASE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_HBASE_ENABLED")).thenReturn(""); - - when(message.get("CamelHttpUrl")).thenReturn("/somestring"); - aaiLogJAXRSOutInterceptor.handleMessage(message); - } - - @Test - public void testLogCallBack(){ - - when(message.getExchange()).thenReturn(exchange); - when(message.getContent(OutputStream.class)).thenReturn(out); - when(message.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(message.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - when(exchange.getOutMessage()).thenReturn(outMessage); - - when(outMessage.getContent(OutputStream.class)).thenReturn(out); - when(exchange.containsKey("AAI_LOGGING_HBASE_ENABLED")).thenReturn(true); - when(exchange.remove("AAI_LOGGING_HBASE_ENABLED")).thenReturn(""); - when(exchange.getInMessage()).thenReturn(inMessage); - - when(inMessage.getExchange()).thenReturn(exchange); - when(inMessage.getContent(OutputStream.class)).thenReturn(out); - when(inMessage.get(Message.PROTOCOL_HEADERS)).thenReturn(headers); - when(inMessage.get(Message.CONTENT_TYPE)).thenReturn("*/*"); - - AAILogJAXRSOutInterceptor.LoggingCallback loggingCallback = new AAILogJAXRSOutInterceptor().new LoggingCallback(message, out); - final CacheAndWriteOutputStream newOut = new CacheAndWriteOutputStream(out); - loggingCallback.onClose(newOut); - } - -}
\ No newline at end of file diff --git a/aai-traversal/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java b/aai-traversal/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java deleted file mode 100644 index fcc1ee3..0000000 --- a/aai-traversal/src/test/java/org/onap/aai/interceptors/PostAaiAjscInterceptorTest.java +++ /dev/null @@ -1,75 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.onap.aai.logging.LoggingContext; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -public class PostAaiAjscInterceptorTest { - - private PostAaiAjscInterceptor postAaiAjscInterceptor; - - @Before - public void setup(){ - postAaiAjscInterceptor = new PostAaiAjscInterceptor(); - } - - @Test - public void getInstance() throws Exception { - PostAaiAjscInterceptor interceptor = PostAaiAjscInterceptor.getInstance(); - assertNotNull(interceptor); - } - - @Test - public void testAllowOrRejectIfSuccess() throws Exception { - - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - HttpServletResponse response = Mockito.mock(HttpServletResponse.class); - response.setStatus(200); - Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("/fadsjoifj")); - - boolean success = postAaiAjscInterceptor.allowOrReject(request, response, null); - - assertTrue("Expecting the post interceptor to return success regardless", success); - } - - @Test - public void testAllowOrRejectIfFailure() throws Exception { - - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - HttpServletResponse response = Mockito.mock(HttpServletResponse.class); - response.setStatus(400); - Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("/fadsjoifj")); - - boolean success = postAaiAjscInterceptor.allowOrReject(request, response, null); - - assertTrue("Expecting the post interceptor to return success regardless", success); - } -}
\ No newline at end of file diff --git a/aai-traversal/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java b/aai-traversal/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java deleted file mode 100644 index 35651c3..0000000 --- a/aai-traversal/src/test/java/org/onap/aai/interceptors/PreAaiAjscInterceptorTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.interceptors; - -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; - -import javax.servlet.http.HttpServletRequest; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.anyString; - -public class PreAaiAjscInterceptorTest { - - private PreAaiAjscInterceptor preAaiAjscInterceptor; - - @Before - public void setup(){ - preAaiAjscInterceptor = new PreAaiAjscInterceptor(); - } - - @Test - public void getInstance() throws Exception { - PreAaiAjscInterceptor interceptor = PreAaiAjscInterceptor.getInstance(); - assertNotNull(interceptor); - } - - @Test - public void testAllowOrRejectIfSuccess() throws Exception { - - HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - - Mockito.when(request.getRequestURI()).thenReturn("/fadsjoifj"); - Mockito.when(request.getHeader(anyString())).thenReturn("JUNIT-Test"); - Mockito.when(request.getMethod()).thenReturn("GET"); - - boolean success = preAaiAjscInterceptor.allowOrReject(request, null, null); - - assertTrue("Expecting the post interceptor to return success regardless", success); - } - -}
\ No newline at end of file diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java index 9001f48..5988b43 100644 --- a/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/GetCustomQueryConfigTest.java @@ -16,7 +16,7 @@ public class GetCustomQueryConfigTest { @Before public void setUp() throws Exception { System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); configJson = "{\n \"stored-queries\": [{\n" + diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java index 9ab7bc5..2acf5ec 100644 --- a/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/ModelAndNamedQueryRestProviderTest.java @@ -89,7 +89,7 @@ public class ModelAndNamedQueryRestProviderTest { public void setup(){ logger.info("Starting the setup for the integration tests of Rest Endpoints"); System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); modelAndNamedQueryRestProvider = new ModelAndNamedQueryRestProvider(); httpHeaders = mock(HttpHeaders.class); diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java index ae54449..25d91ce 100644 --- a/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/QueryTest.java @@ -73,7 +73,7 @@ public abstract class QueryTest { public void setUp() throws AAIException, NoEdgeRuleFoundException { System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); MockitoAnnotations.initMocks(this); graph = TinkerGraph.open(); createGraph(); diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java index bb04653..102bc2f 100644 --- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SearchProviderTest.java @@ -85,7 +85,7 @@ public class SearchProviderTest { public void setup(){ logger.info("Starting the setup for the integration tests of Rest Endpoints"); System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); searchProvider = new SearchProvider(); httpHeaders = mock(HttpHeaders.class); diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java index 17ddfc5..106bb44 100644 --- a/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java +++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/SimpleFormatTest.java @@ -76,7 +76,7 @@ public class SimpleFormatTest { public void setUp() throws AAIException, NoEdgeRuleFoundException { System.setProperty("AJSC_HOME", "."); - System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local"); + System.setProperty("BUNDLECONFIG_DIR", "src/main/resources"); MockitoAnnotations.initMocks(this); graph = TinkerGraph.open(); loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v10); diff --git a/aai-traversal/src/test/java/org/onap/aai/retiredcustomer/JaxrsUserServiceTest.java b/aai-traversal/src/test/java/org/onap/aai/retiredcustomer/JaxrsUserServiceTest.java deleted file mode 100644 index 3e323dd..0000000 --- a/aai-traversal/src/test/java/org/onap/aai/retiredcustomer/JaxrsUserServiceTest.java +++ /dev/null @@ -1,111 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.retiredcustomer; - -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.onap.aai.ajsc_aai.JaxrsUserService; -import org.onap.aai.introspection.Version; -import org.onap.aai.rest.retired.RetiredConsumer; - -import javax.ws.rs.core.*; -import java.util.*; - -import static org.junit.Assert.assertNotNull; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Mockito.when; - -public class JaxrsUserServiceTest { - - - protected static final MediaType APPLICATION_JSON = MediaType.valueOf("application/json"); - - private static final Set<Integer> VALID_HTTP_STATUS_CODES = new HashSet<>(); - - static { - VALID_HTTP_STATUS_CODES.add(200); - VALID_HTTP_STATUS_CODES.add(201); - VALID_HTTP_STATUS_CODES.add(204); - } - - protected JaxrsUserService jaxrsUserService; - protected HttpHeaders httpHeaders; - protected UriInfo uriInfo; - - private MultivaluedMap<String, String> headersMultiMap; - private MultivaluedMap<String, String> queryParameters; - - private List<String> aaiRequestContextList; - - private List<MediaType> outputMediaTypes; - - private static final EELFLogger logger = EELFManager.getInstance().getLogger(RetiredConsumer.class.getName()); - - @Before - public void setup(){ - logger.info("Starting the setup for the integration tests of Rest Endpoints"); - - jaxrsUserService = new JaxrsUserService(); - httpHeaders = Mockito.mock(HttpHeaders.class); - uriInfo = Mockito.mock(UriInfo.class); - - headersMultiMap = new MultivaluedHashMap<>(); - queryParameters = Mockito.spy(new MultivaluedHashMap<>()); - - headersMultiMap.add("X-FromAppId", "JUNIT"); - headersMultiMap.add("X-TransactionId", UUID.randomUUID().toString()); - headersMultiMap.add("Real-Time", "true"); - headersMultiMap.add("Accept", "application/json"); - headersMultiMap.add("aai-request-context", ""); - - outputMediaTypes = new ArrayList<>(); - outputMediaTypes.add(APPLICATION_JSON); - - aaiRequestContextList = new ArrayList<>(); - aaiRequestContextList.add(""); - - when(httpHeaders.getAcceptableMediaTypes()).thenReturn(outputMediaTypes); - when(httpHeaders.getRequestHeaders()).thenReturn(headersMultiMap); - - when(httpHeaders.getRequestHeader("aai-request-context")).thenReturn(aaiRequestContextList); - - - when(uriInfo.getQueryParameters()).thenReturn(queryParameters); - when(uriInfo.getQueryParameters(false)).thenReturn(queryParameters); - - // TODO - Check if this is valid since RemoveDME2QueryParameters seems to be very unreasonable - Mockito.doReturn(null).when(queryParameters).remove(anyObject()); - - when(httpHeaders.getMediaType()).thenReturn(APPLICATION_JSON); - } - @Test - public void lookUpUserTest(){ - when(uriInfo.getPath()).thenReturn("/user?userID1"); - String response = jaxrsUserService.lookupUser("userID1"); - assertNotNull(response); - - - } -} diff --git a/aai-traversal/src/test/java/org/onap/aai/util/AAIAppServletContextListenerTest.java b/aai-traversal/src/test/java/org/onap/aai/util/AAIAppServletContextListenerTest.java deleted file mode 100644 index 9573d1f..0000000 --- a/aai-traversal/src/test/java/org/onap/aai/util/AAIAppServletContextListenerTest.java +++ /dev/null @@ -1,178 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.onap.aai.util; - -import ch.qos.logback.classic.Level; -import ch.qos.logback.classic.Logger; -import ch.qos.logback.classic.PatternLayout; -import ch.qos.logback.classic.spi.ILoggingEvent; -import ch.qos.logback.core.AppenderBase; -import org.apache.commons.lang.ObjectUtils; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.onap.aai.dbmap.AAIGraph; -import org.onap.aai.logging.ErrorLogHelper; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.agent.PowerMockAgent; -import org.powermock.modules.junit4.rule.PowerMockRule; -import org.slf4j.LoggerFactory; - -import javax.servlet.ServletContextEvent; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -@PrepareForTest({AAIGraph.class, AAIConfig.class, ErrorLogHelper.class}) -public class AAIAppServletContextListenerTest { - - @Rule - public PowerMockRule rule = new PowerMockRule(); - - static { - PowerMockAgent.initializeIfNeeded(); - } - - private ServletContextEvent arg; - private AAIAppServletContextListener listener; - - /** - * Initialize. - */ - @Before - @PrepareForTest({AAIGraph.class, AAIConfig.class, ErrorLogHelper.class}) - public void initialize(){ - arg = PowerMockito.mock(ServletContextEvent.class); - PowerMockito.mockStatic(AAIGraph.class); - PowerMockito.mockStatic(AAIConfig.class); - PowerMockito.mockStatic(ErrorLogHelper.class); - - listener = new AAIAppServletContextListener(); - configureLog(); - } - - /** - * Test contextDestroyed. - */ - @Test(expected = NullPointerException.class) - @Ignore - public void testContextDestroyed(){ - listener.contextDestroyed(arg); - assertTrue(logContains(Level.DEBUG, "AAI Server shutdown")); - assertTrue(logContains(Level.INFO, "AAI graph shutdown")); - } - - /** - * Test contextInitialized. - */ - @Test - //@Ignore - public void testContextInitialized(){ - listener.contextInitialized(arg); - assertFalse(logContains(Level.DEBUG, "Loading aaiconfig.properties")); - assertFalse(logContains(Level.DEBUG, "Loading error.properties")); - assertFalse(logContains(Level.DEBUG, "Loading graph database")); - assertFalse(logContains(Level.INFO, "AAI Server initialization")); - } - - - /** - * Helper method to check if a String appears in the desired log level. - * - * @param level Log level to use - * @param expected String to search for - * @return True if search String is found, false otherwise - */ - private boolean logContains(Level level, String expected) { - String actual[] = RecordingAppender.messages(); - for (String log : actual) { - if (log.contains(level.toString()) && log.contains(expected)) - return true; - } - return false; - } - - /** - * Set logging level, and initialize log-appender. - */ - private void configureLog() { - org.slf4j.Logger rootLogger = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); - rootLogger.debug("debug"); - // rootLogger.(); - // rootLogger.addAppender(RecordingAppender.appender(new PatternLayout())); - } - -} - - -/** - * Appender class that appends log messages to a String List when some logging event occurs - */ -class RecordingAppender extends AppenderBase<ILoggingEvent> { - private static List<String> messages = new ArrayList<String>(); - private static RecordingAppender appender = new RecordingAppender(); - private PatternLayout patternLayout; - - private RecordingAppender() { - super(); - } - - /** - * @param patternLayout Pattern to format log message - * @return Current appender - */ - public static RecordingAppender appender(PatternLayout patternLayout) { - appender.patternLayout = patternLayout; - appender.clear(); - return appender; - } - - @Override - protected void append(ILoggingEvent event) { - messages.add(patternLayout.doLayout(event)); - } - - public void close() {} - - public boolean requiresLayout() { - return false; - } - - /** - * @return Return logs as a String array - */ - public static String[] messages() { - return (String[]) messages.toArray(new String[messages.size()]); - } - - /** - * Clear the message container - */ - private void clear() { - messages.clear(); - } - -} diff --git a/aai-traversal/src/test/resources/application-test.properties b/aai-traversal/src/test/resources/application-test.properties new file mode 100644 index 0000000..9b6934b --- /dev/null +++ b/aai-traversal/src/test/resources/application-test.properties @@ -0,0 +1,70 @@ +# The following info parameters are being referenced by ajsc6 +info.build.artifact=aai-traversal +info.build.name=traversal +info.build.description=Traversal Microservice +info.build.version=1.1.0 + +spring.application.name=aai-traversal +spring.jersey.type=filter + +server.contextPath=/ +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration + +spring.profiles.active=production +#The max number of active threads in this pool +server.tomcat.max-threads=200 +#The minimum number of threads always kept alive +server.tomcat.min-Spare-Threads=25 +#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads +server.tomcat.max-idle-time=60000 + + +#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept +#com.att.ajsc.common.interceptors.PreInterceptor.url=/** +#com.att.ajsc.common.interceptors.PostInterceptor.url=/** + +#Servlet context parameters +server.context_parameters.p-name=value #context parameter with p-name as key and value as value. +kubernetes.namespace=org-onap-aai + +# If you get an application startup failure that the port is already taken +# If thats not it, please check if the key-store file path makes sense +server.local.startpath=src/main/resources/ +server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties + +server.port=8446 +server.ssl.enabled-protocols=TLSv1.1,TLSv1.2 +server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore +server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore +server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.client-auth=want +server.ssl.key-store-type=JKS + +# JMS bind address host port +jms.bind.address=tcp://localhost:61647 +dmaap.ribbon.eureka.enabled=false +dmaap.ribbon.listOfServers=localhost:3904 +# Number of milliseconds to wait before making ping requests again +dmaap.ribbon.ServerListRefreshInterval=75000 +dmaap.ribbon.NFLoadBalancerPingInterval=75000 +dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule +dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl +dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true +dmaap.ribbon.ServerDownFailureLimit=1 +# This needs to be verified but it seems that adding this property should automatically +# Make the dmaap client change the url from http to https depending on the server +dmaap.ribbon.securePorts=3905 + +# Custom Dmaap Specific Configuration +dmaap.ribbon.health.endpoint=/topics/AAI-EVENT +# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing +dmaap.ribbon.pingport.timeout=3 + +niws.loadbalancer.dmaap.filterCircuitTripped=true +niws.loadbalancer.dmaap.connectionFailureCountThreshold=3 +niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180 +#dmaap.ribbon.retryableStatusCodes=404,503 +#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2 +#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2 +#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true diff --git a/aai-traversal/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties b/aai-traversal/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties deleted file mode 100644 index 2fdb55e..0000000 --- a/aai-traversal/src/test/resources/bundleconfig-local/etc/appprops/aaiconfig.properties +++ /dev/null @@ -1,117 +0,0 @@ -# -# ============LICENSE_START======================================================= -# org.onap.aai -# ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -#################################################################### -# REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE -# TEMPLATE AND *ALL* DATAFILES -#################################################################### - -aai.config.checktime=1000 - -# this could come from siteconfig.pl? -aai.config.nodename=AutomaticallyOverwritten - -aai.logging.hbase.interceptor=true -aai.logging.hbase.enabled=true -aai.logging.hbase.logrequest=true -aai.logging.hbase.logresponse=true - -aai.logging.trace.enabled=true -aai.logging.trace.logrequest=false -aai.logging.trace.logresponse=false - -aai.transaction.logging=true -aai.transaction.logging.get=true -aai.transaction.logging.post=true - -aai.server.url.base=https://localhost:8446/aai/ -aai.server.url=https://localhost:8446/aai/v10/ -aai.global.callback.url=https://localhost:8446/aai/ - -aai.auth.cspcookies_on=false -aai.dbmodel.filename=ex5.json -aai.truststore.filename=aai_keystore -aai.truststore.passwd.x= -aai.keystore.filename=aai-client-cert.p12 -aai.keystore.passwd.x= - -# for transaction log -hbase.table.name=aailogging-dev1.dev -hbase.notificationTable.name=aainotification-dev1.dev -hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS -hbase.zookeeper.quorum=ONAPserverTBD -hbase.zookeeper.property.clientPort=2181 -hbase.zookeeper.znode.parent=/hbase-unsecure - -# single primary server -aai.primary.filetransfer.serverlist=ONAPserverTBD -aai.primary.filetransfer.primarycheck=echo:8443/aai/util/echo -aai.primary.filetransfer.pingtimeout=5000 -aai.primary.filetransfer.pingcount=5 - -#rsync properties -aai.rsync.command=rsync -aai.rsync.options.list=-v|-t -aai.rsync.remote.user=aaiadmin -aai.rsync.enabled=y - -aai.notification.current.version=v10 -aai.notificationEvent.default.status=UNPROCESSED -aai.notificationEvent.default.eventType=AAI-EVENT -aai.notificationEvent.default.domain=devINT1 -aai.notificationEvent.default.sourceName=aai -aai.notificationEvent.default.sequenceNumber=0 -aai.notificationEvent.default.severity=NORMAL -aai.notificationEvent.default.version=v10 -# This one lets us enable/disable resource-version checking on updates/deletes -aai.resourceversion.enableflag=true -aai.logging.maxStackTraceEntries=10 -aai.default.api.version=v10 - -# Used by Model-processing code -aai.model.delete.sleep.per.vtx.msec=500 -aai.model.query.resultset.maxcount=30 -aai.model.query.timeout.sec=90 - -aai.model.proc.max.levels=50 -aai.edgeTag.proc.max.levels=50 - -# Used by the ForceDelete tool -aai.forceDel.protected.nt.list=cloud-region -aai.forceDel.protected.edge.count=10 -aai.forceDel.protected.descendant.count=10 - -aai.dmaap.workload.enableEventProcessing=true - -aai.realtime.clients=RO,SDNC,MSO - -aai.server.rebind=g - -#timeout for traversal enabled flag -aai.traversal.timeoutenabled=true - -#timeout app specific -aai.traversal.timeout.appspecific=JUNITTESTAPP1,-1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1 - -#default timeout limit added for traversal if not overridden (in ms) -aai.traversal.timeoutlimit=180000 - diff --git a/aai-traversal/src/test/resources/bundleconfig-local/etc/auth/aai_policy.json b/aai-traversal/src/test/resources/bundleconfig-local/etc/auth/aai_policy.json deleted file mode 100644 index 9706ce9..0000000 --- a/aai-traversal/src/test/resources/bundleconfig-local/etc/auth/aai_policy.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "roles": [{ - "name": "testRole", - "functions": [{ - "name": "testFunction", - "methods": [{ - "name": "GET" - }, { - "name": "DELETE" - }, { - "name": "PUT" - } - ] - } - ], - "users": [{ - "username": "testUser" - } - ] - }, { - "name": "testBasicAuth", - "functions": [{ - "name": "testBasicAuthFuncyion", - "methods": [{ - "name": "GET" - } - ] - } - ], - "users": [{ - "user": "testBasicAuthUser", - "pass": "OBF:1ytc1vu91v2p1rxf1mqh1v8s1z0d1msn1san1mqf1z0h1v9u1msl1rvf1v1p1vv11yta" - } - ] - } - ] -}
\ No newline at end of file diff --git a/aai-traversal/src/test/resources/bundleconfig-local/etc/scriptdata/resource-model-json/000-README b/aai-traversal/src/test/resources/bundleconfig-local/etc/scriptdata/resource-model-json/000-README deleted file mode 100644 index 9647972..0000000 --- a/aai-traversal/src/test/resources/bundleconfig-local/etc/scriptdata/resource-model-json/000-README +++ /dev/null @@ -1,10 +0,0 @@ -Add resource models here in the order you want them to be added to the graph. - -Recommended that they are spaced by 10's. - -So, if you are adding a resource model it should be: - -100-ipe-resource-model-1.0.json -110-vBgf-resource-model-1.0.json - -This will allow others to insert models between existing models.
\ No newline at end of file diff --git a/aai-traversal/src/test/resources/bundleconfig-local/etc/scriptdata/service-model-json/000-README b/aai-traversal/src/test/resources/bundleconfig-local/etc/scriptdata/service-model-json/000-README deleted file mode 100644 index bb30e02..0000000 --- a/aai-traversal/src/test/resources/bundleconfig-local/etc/scriptdata/service-model-json/000-README +++ /dev/null @@ -1,10 +0,0 @@ -Add service models here in the order you want them to be added to the graph. - -Recommended that they are spaced by 10's. - -So, if you are adding a resource model it should be: - -100-connector-service-model-1.0.json -110-service-instance-service-model-1.0.json - -This will allow others to insert models between existing models.
\ No newline at end of file diff --git a/aai-traversal/src/test/resources/config/etc/titan-cached.properties b/aai-traversal/src/test/resources/config/etc/titan-cached.properties deleted file mode 100644 index 2333d2a..0000000 --- a/aai-traversal/src/test/resources/config/etc/titan-cached.properties +++ /dev/null @@ -1,39 +0,0 @@ -# -# ============LICENSE_START======================================================= -# org.onap.aai -# ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -query.fast-property=true -# the following parameters are not reloaded automatically and require a manual bounce -storage.backend=inmemory -storage.hostname=ONAPserverTBD - -#schema.default=none -storage.lock.wait-time=300 -storage.hbase.table=aaigraph-dev1.dev -storage.hbase.ext.zookeeper.znode.parent=/hbase-unsecure -#caching on -cache.db-cache = true -cache.db-cache-clean-wait = 20 -cache.db-cache-time = 180000 -cache.db-cache-size = 0.3 - -#load graphson file on startup -load.snapshot.file=false diff --git a/aai-traversal/src/test/resources/config/etc/titan-realtime.properties b/aai-traversal/src/test/resources/config/etc/titan-realtime.properties deleted file mode 100644 index 2d1d21d..0000000 --- a/aai-traversal/src/test/resources/config/etc/titan-realtime.properties +++ /dev/null @@ -1,36 +0,0 @@ -# -# ============LICENSE_START======================================================= -# org.onap.aai -# ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -query.fast-property=true -# the following parameters are not reloaded automatically and require a manual bounce -storage.backend=inmemory -storage.hostname=ONAPserverTBD - -#schema.default=none -storage.lock.wait-time=300 -storage.hbase.table=aaigraph-dev1.dev -storage.hbase.ext.zookeeper.znode.parent=/hbase-unsecure -# Setting db-cache to false ensure the fastest propagation of changes across servers -cache.db-cache = false - -#load graphson file on startup -load.snapshot.file=true diff --git a/aai-traversal/src/test/resources/log4j.properties b/aai-traversal/src/test/resources/log4j.properties deleted file mode 100644 index 2e68f61..0000000 --- a/aai-traversal/src/test/resources/log4j.properties +++ /dev/null @@ -1,3 +0,0 @@ -log4j.logger.org.apache.zookeeper=WARN -log4j.logger.org.apache.hadoop.hbase.zookeeper=WARN -log4j.logger.org.apache.hadoop.hbase.client=WARN
\ No newline at end of file diff --git a/aai-traversal/src/test/resources/logback.xml b/aai-traversal/src/test/resources/logback.xml index 38499e0..f79a189 100644 --- a/aai-traversal/src/test/resources/logback.xml +++ b/aai-traversal/src/test/resources/logback.xml @@ -22,14 +22,371 @@ --> <configuration scan="true" scanPeriod="60 seconds" debug="false"> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> - <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n</pattern> - </encoder> - </appender> + <property resource="application.properties" /> - <root level="INFO"> - <appender-ref ref="CONSOLE"/> - </root> + <property name="namespace" value="aai-traversal"/> + + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> + <jmxConfigurator /> + <property name="logDirectory" value="${AJSC_HOME}/logs" /> + <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> --> + <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/> + + <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> + <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern> + %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} + </pattern> + </encoder> + </appender> + + <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/sane.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + </pattern> + </encoder> + </appender> + + <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="SANE" /> + </appender> + + <appender name="METRIC" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/metrics.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="METRIC" /> + </appender> + + <appender name="DEBUG" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/debug.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="DEBUG" /> + </appender> + + <appender name="ERROR" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/rest/error.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfErrorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="ERROR" /> + </appender> + + <appender name="AUDIT" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/audit.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfAuditLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="AUDIT" /> + </appender> + + <appender name="translog" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/translog.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfTransLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="translog" /> + </appender> + + <appender name="dmaapAAIEventConsumer" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dmaapAAIEventConsumerDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="dmaapAAIEventConsumerMetric" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="external" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/external/external.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <logger name="org.onap.aai" level="DEBUG" additivity="true"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + <appender-ref ref="asyncSANE" /> + </logger> + + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + <logger name="com.jayway.jsonpath" level="WARN" /> + + <!-- AJSC Services (bootstrap services) --> + <logger name="ajsc" level="WARN" /> + <logger name="ajsc.RouteMgmtService" level="WARN" /> + <logger name="ajsc.ComputeService" level="WARN" /> + <logger name="ajsc.VandelayService" level="WARN" /> + <logger name="ajsc.FilePersistenceService" level="WARN" /> + <logger name="ajsc.UserDefinedJarService" level="WARN" /> + <logger name="ajsc.UserDefinedBeansDefService" level="WARN" /> + <logger name="ajsc.LoggingConfigurationService" level="WARN" /> + + <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet + logging) --> + <logger name="org.codehaus.groovy" level="WARN" /> + <logger name="com.att.scamper" level="WARN" /> + <logger name="ajsc.utils" level="WARN" /> + <logger name="ajsc.utils.DME2Helper" level="WARN" /> + <logger name="ajsc.filters" level="WARN" /> + <logger name="ajsc.beans.interceptors" level="WARN" /> + <logger name="ajsc.restlet" level="WARN" /> + <logger name="ajsc.servlet" level="WARN" /> + <logger name="com.att.ajsc" level="WARN" /> + <logger name="com.att.ajsc.csi.logging" level="WARN" /> + <logger name="com.att.ajsc.filemonitor" level="WARN" /> + <logger name="com.netflix.loadbalancer" level="WARN" /> + + <logger name="org.apache.zookeeper" level="WARN" /> + + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="WARN" /> + <logger name="org.apache.camel.component.restlet" level="WARN" /> + + <logger name="org.hibernate.validator" level="WARN" /> + <logger name="org.hibernate" level="WARN" /> + <logger name="org.hibernate.ejb" level="OFF" /> + + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + + <logger name="org.eclipse.jetty" level="WARN" /> + + <!-- logback jms appenders & loggers definition starts here --> + <appender name="auditLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <appender name="perfLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <logger name="AuditRecord" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="AuditRecord_DirectCall" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="PerfTrackerRecord" level="INFO" additivity="false"> + <appender-ref ref="perfLogs" /> + </logger> + <!-- logback jms appenders & loggers definition ends here --> + + <logger name="org.onap.aai.interceptors.post" level="DEBUG" + additivity="false"> + <appender-ref ref="asynctranslog" /> + </logger> + + <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + + <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + + <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false"> + <appender-ref ref="dmaapAAIEventConsumer" /> + <appender-ref ref="dmaapAAIEventConsumerDebug" /> + <appender-ref ref="dmaapAAIEventConsumerMetric" /> + </logger> + + <logger name="org.apache" level="WARN" /> + <logger name="org.zookeeper" level="WARN" /> + <logger name="com.thinkaurelius" level="WARN" /> + <logger name="com.att.aft.dme2" level="WARN" /> + + <!-- ============================================================================ --> + <!-- General EELF logger --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="WARN" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + </logger> + + <root level="DEBUG"> + <appender-ref ref="external" /> + <appender-ref ref="STDOUT" /> + </root> </configuration> diff --git a/aai-traversal/src/test/resources/payloads/templates/pserver.json b/aai-traversal/src/test/resources/payloads/templates/pserver.json new file mode 100644 index 0000000..dbaf2a9 --- /dev/null +++ b/aai-traversal/src/test/resources/payloads/templates/pserver.json @@ -0,0 +1,3 @@ +{ + "hostname": "${hostname}" +} diff --git a/aai-traversal/src/test/resources/test_aaiconfig.properties b/aai-traversal/src/test/resources/test_aaiconfig.properties deleted file mode 100644 index 4f130da..0000000 --- a/aai-traversal/src/test/resources/test_aaiconfig.properties +++ /dev/null @@ -1,99 +0,0 @@ -# -# ============LICENSE_START======================================================= -# org.onap.aai -# ================================================================================ -# Copyright © 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. -# - -#################################################################### -# REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE -# TEMPLATE AND *ALL* DATAFILES -#################################################################### - -aai.config.checktime=1000 - -# this could come from siteconfig.pl? -aai.config.nodename=AutomaticallyOverwritten - -aai.logging.hbase.interceptor=true -aai.logging.hbase.enabled=true -aai.logging.hbase.logrequest=true -aai.logging.hbase.logresponse=true - -aai.logging.trace.enabled=true -aai.logging.trace.logrequest=false -aai.logging.trace.logresponse=false - -aai.auth.cspcookies_on=false -aai.dbmodel.filename=ex5.json - -aai.server.url.base=https://localhost:8446/aai/ -aai.server.url=https://localhost:8446/aai/v12/ - -aai.truststore.filename=aai_keystore -aai.truststore.passwd.x= -aai.keystore.filename=aai-client-cert.p12 -aai.keystore.passwd.x= - -# the following parameters are not reloaded automatically and require a manual bounce -storage.backend=hbase -storage.hostname=ONAPserverTBD -#schema.default=none -storage.lock.wait-time=300 -storage.hbase.table=aaigraph-dev1.dev -storage.hbase.ext.zookeeper.znode.parent=/hbase-unsecure -# Setting db-cache to false ensure the fastest propagation of changes across servers -cache.db-cache = false -#cache.db-cache-clean-wait = 20 -#cache.db-cache-time = 180000 -#cache.db-cache-size = 0.5 - -# for transaction log -hbase.table.name=aailogging-dev1.dev -hbase.notificationTable.name=aainotification-dev1.dev -hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS -hbase.zookeeper.quorum=ONAPserverTBD -hbase.zookeeper.property.clientPort=2181 -hbase.zookeeper.znode.parent=/hbase-unsecure - -# single primary server -aai.primary.filetransfer.serverlist=ONAPserverTBD -aai.primary.filetransfer.primarycheck=echo:8443/aai/util/echo -aai.primary.filetransfer.pingtimeout=5000 -aai.primary.filetransfer.pingcount=5 - -#rsync properties -aai.rsync.command=rsync -aai.rsync.options.list=-v|-t -aai.rsync.remote.user=aaiadmin -aai.rsync.enabled=y - -aai.notification.current.version=v12 -aai.notificationEvent.default.status=UNPROCESSED -aai.notificationEvent.default.eventType=AAI-EVENT -aai.notificationEvent.default.domain=devINT1 -aai.notificationEvent.default.sourceName=aai -aai.notificationEvent.default.sequenceNumber=0 -aai.notificationEvent.default.severity=NORMAL -aai.notificationEvent.default.version=v9 -# This one lets us enable/disable resource-version checking on updates/deletes -aai.resourceversion.enableflag=true -aai.logging.maxStackTraceEntries=10 -aai.default.api.version=v12 - - @@ -3,11 +3,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>ajsc-archetype-parent</artifactId> - <groupId>com.att.ajsc</groupId> - <version>2.1.0</version> - </parent> <groupId>org.onap.aai.traversal</groupId> <artifactId>traversal</artifactId> <version>1.2.0-SNAPSHOT</version> @@ -18,234 +13,10 @@ </modules> <properties> <nexusproxy>https://nexus.onap.org</nexusproxy> - <onap.nexus.url>https://nexus.onap.org</onap.nexus.url> - <sitePath>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</sitePath> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> - <module.ajsc.namespace.name>ActiveAndAvailableInventory-Traversal</module.ajsc.namespace.name> - <module.ajsc.namespace.version>v1</module.ajsc.namespace.version> - <ajscRuntimeVersion>2.1.0</ajscRuntimeVersion> - <aai.project.version>1.2.0</aai.project.version> - <aai.docker.version>1.2</aai.docker.version> - - <!-- This will be the Absolute Root of the Project and should contain NO - Versioning --> - <absoluteDistFilesRoot>/opt/app/aai-traversal</absoluteDistFilesRoot> - - <!-- For Versioning upon installation, add /${project.version} to distFilesRoot. - For NO Versioning, leave as is --> - <!-- example: /appl/${project.artifactId}/${project.version}. Also, add - ${project.version} to ${runAjscHome} for running locally. --> - <distFilesRoot>/opt/app/${project.artifactId}</distFilesRoot> - <!-- <distFilesRoot>/opt/app/traversal/${project.version}</distFilesRoot> --> - <aaiAppHome>${basedir}</aaiAppHome> - <runAjscHome>${aaiAppHome}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome> - <!-- For SOA Cloud Installation --> - <installOwnerUser>aaiadmin</installOwnerUser> - <installOwnerGroup>aaiadmin</installOwnerGroup> - <ownerManagementGroup>org.onap.aai.dev</ownerManagementGroup> - - <!-- Port Selection. A value of 0 will allow for dynamic port selection. - For local testing, you may choose to hardcode this value to something like - 8080 --> - <serverPort>8083</serverPort> - <sslport>8446</sslport> - <testRouteOffer>workstation</testRouteOffer> - <testEnv>DEV</testEnv> - - <!-- For using CXF with Maven --> - <cxf.version>3.0.4</cxf.version> - <swmpkgversion>0.0.1</swmpkgversion> - <snapshot.file>int1-data.graphson</snapshot.file> - <aai.core.version>1.2.1-SNAPSHOT</aai.core.version> - <aai.schema.version>1.2.1-SNAPSHOT</aai.schema.version> + <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path> + <release.path>/content/repositories/releases/</release.path> + <snapshot.path>/content/repositories/snapshots/</snapshot.path> </properties> - - <repositories> - <repository> - <id>maven.restlet.org</id> - <name>maven.restlet.org</name> - <url>http://maven.restlet.org</url> - </repository> - </repositories> - - <distributionManagement> - <repository> - <id>ecomp-releases</id> - <name>ECOMP Release Repository</name> - <url>${onap.nexus.url}/content/repositories/releases/</url> - </repository> - <snapshotRepository> - <id>ecomp-snapshots</id> - <name>ECOMP Snapshot Repository</name> - <url>${onap.nexus.url}/content/repositories/snapshots/</url> - </snapshotRepository> - <site> - <id>ecomp-site</id> - <url>dav:${onap.nexus.url}${sitePath}</url> - </site> - </distributionManagement> - <profiles> - <profile> - <id>jenkins-properties</id> - <activation> - <os> - <family>unix</family> - </os> - </activation> - <properties> - <swmpkgversion>${env.swmpkgversion}</swmpkgversion> - </properties> - </profile> - <profile> - <id>runAjsc</id> - <build> - <defaultGoal>initialize</defaultGoal> - <plugins> - - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.3.2</version> - <executions> - <execution> - <id>run ajsc</id> - <phase>initialize</phase> - <goals> - <goal>java</goal> - </goals> - <configuration> - <!-- In order to better mimic a SOA cloud installation of AJSC (and - to help eliminate Maven/Eclipse/AJSC classpath issues that may be difficult - to diagnose), within this profile used to run locally, we are NOT including - project dependencies. These will be loaded by AJSC from $AJSC_HOME/extJars. - The only jar needed to run AJSC is the ajsc-runner.jar, and therefore is - the only dependency required by this profile to run locally. --> - <includeProjectDependencies>false</includeProjectDependencies> - <includePluginDependencies>true</includePluginDependencies> - <executable>java</executable> - <mainClass>com.att.ajsc.runner.Runner</mainClass> - <executableDependency> - <groupId>com.att.ajsc</groupId> - <artifactId>ajsc-runner</artifactId> - </executableDependency> - - <environmentVariables> - <AJSC_HOME>${runAjscHome}</AJSC_HOME> - </environmentVariables> - <additionalClasspathElements> - <additionalClasspathElement>${runAjscHome}/extJars/logback-access-1.1.7.jar - </additionalClasspathElement> - <additionalClasspathElement>${runAjscHome}/extJars/logback-core-1.1.7.jar - </additionalClasspathElement> - <additionalClasspathElement> - ${runAjscHome}/extJars/aai-core-${aai.core.version}.jar - </additionalClasspathElement> - </additionalClasspathElements> - - <!-- Main AJSC System Properties below (necessary for proper startup) --> - <systemProperties> - <systemProperty> - <key>AJSC_HOME</key> - <value>${runAjscHome}</value> - </systemProperty> - <systemProperty> - <key>AFT_HOME</key> - <value>${runAjscHome}/bundleconfig/</value> - </systemProperty> - <systemProperty> - <key>AJSC_CONF_HOME</key> - <value>${aaiAppHome}/bundleconfig-local</value> - </systemProperty> - <systemProperty> - <key>logback.configurationFile</key> - <value>${aaiAppHome}/ajsc-shared-config/etc/logback.xml</value> - </systemProperty> - <systemProperty> - <key>AJSC_SHARED_CONFIG</key> - <value>${aaiAppHome}/ajsc-shared-config</value> - </systemProperty> - <systemProperty> - <key>file.separator</key> - <value>/</value> - </systemProperty> - <systemProperty> - <key>snapshot.location</key> - <value>${basedir}/ajsc-aai/snapshots/${snapshot.file}</value> - </systemProperty> - <!-- Please, NOTE: The following 2 system properties will normally - be set within the sys-props.properties file once deployed to a node. We are - setting them HERE to run locally to make more efficient use of maven variable - replacement for ${basedir} --> - <!-- AJSC_EXTERNAL_LIB_FOLDERS represents the particular jars that - will be externalized on a CSI node. This includes dme2 and csm related artifact. --> - <sysproperty> - <key>AJSC_EXTERNAL_LIB_FOLDERS</key> - <value>${aaiAppHome}/target/commonLibs</value> - </sysproperty> - <!-- AJSC_EXTERNAL_PROPERTIES_FOLDERS represents the particular - files that may need to be added to the classpath. These files will be externalized - on a CSI node. This includes dme2 and csm related artifact (such as csm-config-app.properties). - Failure to have these files on the classpath may result in errors thrown - by csm framework. --> - <sysproperty> - <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key> - <value>${aaiAppHome}/ajsc-shared-config/etc</value> - </sysproperty> - - <systemProperty> - <key>AJSC_SERVICE_NAMESPACE</key> - <value>${module.ajsc.namespace.name}</value> - </systemProperty> - <systemProperty> - <key>AJSC_SERVICE_VERSION</key> - <value>${module.ajsc.namespace.version}</value> - </systemProperty> - <systemProperty> - <key>SOACLOUD_SERVICE_VERSION</key> - <value>${project.version}</value> - </systemProperty> - <systemProperty> - <key>server.port</key> - <value>${serverPort}</value> - </systemProperty> - <systemProperty> - <key>aai-core.version</key> - <value>${aai.core.version}</value> - </systemProperty> - </systemProperties> - - <!-- Command Line Arguments to add to the java command. Here, you - can specify the port as well as the Context you want your service to run - in. Use context=/ to run in an unnamed Context (Root Context). The default - configuration of the AJSC is to run under the / Context. Setting the port - here can aid during the development phase of your service. However, you can - leave this argument out entirely, and the AJSC will default to using an Ephemeral - port. --> - <arguments> - <argument>context=/</argument> - <argument>port=${serverPort}</argument> - <argument>sslport=${sslport}</argument> - </arguments> - </configuration> - </execution> - </executions> - <configuration> - <executable>java</executable> - </configuration> - <dependencies> - <dependency> - <groupId>com.att.ajsc</groupId> - <artifactId>ajsc-runner</artifactId> - <version>${ajscRuntimeVersion}</version> - </dependency> - </dependencies> - </plugin> - </plugins> - </build> - </profile> - </profiles> <build> <pluginManagement> <plugins> @@ -256,29 +27,6 @@ </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.1</version> - <configuration> - <compilerId>groovy-eclipse-compiler</compilerId> - <verbose>false</verbose> - <source>1.8</source> - <target>1.8</target> - </configuration> - <dependencies> - <dependency> - <groupId>org.codehaus.groovy</groupId> - <artifactId>groovy-eclipse-compiler</artifactId> - <version>2.9.0-01</version> - </dependency> - <dependency> - <groupId>org.codehaus.groovy</groupId> - <artifactId>groovy-eclipse-batch</artifactId> - <version>2.3.4-01</version> - </dependency> - </dependencies> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <executions> <execution> @@ -293,7 +41,7 @@ <version>1.6.7</version> <extensions>true</extensions> <configuration> - <nexusUrl>${onap.nexus.url}</nexusUrl> + <nexusUrl>${nexusproxy}</nexusUrl> <stagingProfileId>176c31dfe190a</stagingProfileId> <serverId>ecomp-staging</serverId> </configuration> @@ -313,42 +61,6 @@ </dependency> </dependencies> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <version>3.6</version> - <configuration> - <reportPlugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.4</version> - <configuration> - <dependencyDetailsEnabled>false</dependencyDetailsEnabled> - <dependencyLocationsEnabled>false</dependencyLocationsEnabled> - </configuration> - <reports> - <report>dependencies</report> - </reports> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <version>2.8</version> - <configuration> - <additionalparam>-Xdoclint:none</additionalparam> - </configuration> - </plugin> - </reportPlugins> - </configuration> - <dependencies> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-webdav-jackrabbit</artifactId> - <version>2.10</version> - </dependency> - </dependencies> - </plugin> </plugins> </build> <reporting> @@ -371,5 +83,31 @@ </plugin> </plugins> </reporting> - + <pluginRepositories> + <pluginRepository> + <id>central</id> + <url>http://repo1.maven.org/maven2</url> + </pluginRepository> + <pluginRepository> + <id>EvoSuite</id> + <name>EvoSuite Repository</name> + <url>http://www.evosuite.org/m2</url> + </pluginRepository> + </pluginRepositories> + <distributionManagement> + <repository> + <id>ecomp-releases</id> + <name>ECOMP Release Repository</name> + <url>${nexusproxy}${release.path}</url> + </repository> + <snapshotRepository> + <id>ecomp-snapshots</id> + <name>ECOMP Snapshot Repository</name> + <url>${nexusproxy}${snapshot.path}</url> + </snapshotRepository> + <site> + <id>ecomp-site</id> + <url>dav:${nexusproxy}${site.path}</url> + </site> + </distributionManagement> </project> |