OSAM infra seed code - merge with osam-core side-by-side - fixed warnings in onap-enabler POMs

Change-Id: I0cd9ea39d4b7c1dc088ab0ecd6fb787c7f490e5e
Signed-off-by: Aharoni, Pavel (pa0916) <pavel.aharoni@intl.att.com>
diff --git a/onap-enabler-infra/src/main/resources/cache.ccf b/onap-enabler-infra/src/main/resources/cache.ccf
new file mode 100644
index 0000000..22cace1
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/cache.ccf
@@ -0,0 +1,52 @@
+#<!--/*-

+#        * ============LICENSE_START=======================================================

+#        * OSAM Core

+#        * ================================================================================

+#        * Copyright (C) 2018 AT&T

+#        * ================================================================================

+#        * 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=========================================================

+#        */

+#-->

+

+

+# DEFAULT CACHE REGION

+jcs.default=DC

+jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes

+jcs.default.cacheattributes.MaxObjects=1000

+jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

+jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes

+jcs.default.elementattributes.IsEternal=true

+jcs.default.elementattributes.IsSpool=true

+

+

+# MEMORY SHRINKING CONFIGURATION (Commented)

+#jcs.default.cacheattributes.UseMemoryShrinker=true

+#jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600

+#jcs.default.cacheattributes.ShrinkerIntervalSeconds=60

+#jcs.default.cacheattributes.MaxSpoolPerRun=500

+#jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes

+#jcs.default.elementattributes.IsEternal=false

+

+

+# AUXILLARY CACHE CONFIGURATION

+jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory

+jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes

+jcs.auxiliary.DC.attributes.DiskPath=/tmp

+

+

+# PRE-DEFINED REGION FOR LOOKUP DATA

+jcs.region.lookUpObjectCache=DC

+jcs.region.lookUpObjectCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes

+jcs.region.lookUpObjectCache.cacheattributes.MaxObjects=4000

+jcs.region.lookUpObjectCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

diff --git a/onap-enabler-infra/src/main/resources/cache_template.ccf b/onap-enabler-infra/src/main/resources/cache_template.ccf
new file mode 100644
index 0000000..19c36bb
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/cache_template.ccf
@@ -0,0 +1,52 @@
+#<!--/*-

+#        * ============LICENSE_START=======================================================

+#        * OSAM Core

+#        * ================================================================================

+#        * Copyright (C) 2018 AT&T

+#        * ================================================================================

+#        * 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=========================================================

+#        */

+#-->

+

+

+# DEFAULT CACHE REGION

+jcs.default=DC

+jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes

+jcs.default.cacheattributes.MaxObjects=1000

+jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

+jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes

+jcs.default.elementattributes.IsEternal=true

+jcs.default.elementattributes.IsSpool=true

+

+

+# MEMORY SHRINKING CONFIGURATION (Commented)

+#jcs.default.cacheattributes.UseMemoryShrinker=true

+#jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600

+#jcs.default.cacheattributes.ShrinkerIntervalSeconds=60

+#jcs.default.cacheattributes.MaxSpoolPerRun=500

+#jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes

+#jcs.default.elementattributes.IsEternal=false

+

+

+# AUXILLARY CACHE CONFIGURATION

+jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory

+jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes

+jcs.auxiliary.DC.attributes.DiskPath=${CACHE_DIRECTORY}

+

+

+# PRE-DEFINED REGION FOR LOOKUP DATA

+jcs.region.lookUpObjectCache=DC

+jcs.region.lookUpObjectCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes

+jcs.region.lookUpObjectCache.cacheattributes.MaxObjects=4000

+jcs.region.lookUpObjectCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

diff --git a/onap-enabler-infra/src/main/resources/catalog.json b/onap-enabler-infra/src/main/resources/catalog.json
new file mode 100644
index 0000000..e5fb521
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/catalog.json
@@ -0,0 +1,174 @@
+{

+	"services": {

+		"0346aa9f-57b7-458a-9681-daf5b19d52b0": {

+			"uuid": "0346aa9f-57b7-458a-9681-daf5b19d52b0",

+			"name": "The Worst Service",

+			"version": "1.0",

+			"toscaModelURL": "sampleTosca.csar",

+			"category": "Bad Services",

+			"lifecycleState": "NOT_CERTIFIED_CHECKOUT",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"distributionStatus": "DISTRIBUTION_REJECTED",

+			"artifacts": [],

+			"resources": []

+		},

+		"1346aa9f-57b7-458a-9681-daf5b19d52b1": {

+			"uuid": "1346aa9f-57b7-458a-9681-daf5b19d52b1",

+			"name": "The Worst Service",

+			"version": "1.1",

+			"toscaModelURL": "sampleTosca.csar",

+			"category": "Bad Services",

+			"lifecycleState": "CERTIFIED",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"distributionStatus": "DISTRIBUTED",

+			"artifacts": [],

+			"resources": []

+		},

+		"3346aa9f-57b7-458a-9681-daf5b19d52b3": {

+			"uuid": "3346aa9f-57b7-458a-9681-daf5b19d52b3",

+			"name": "Bland Service",

+			"version": "1.9",

+			"toscaModelURL": "sampleTosca.csar",

+			"category": "Neutral Services",

+			"lifecycleState": "CERTIFIED",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"distributionStatus": "DISTRIBUTION_NOT_APPROVED",

+			"artifacts": [],

+			"resources": []

+		},

+		"2346aa9f-57b7-458a-9681-daf5b19d52b2": {

+			"uuid": "2346aa9f-57b7-458a-9681-daf5b19d52b2",

+			"name": "The Best Service",

+			"version": "1.3",

+			"toscaModelURL": "sampleTosca.csar",

+			"category": "Good Services",

+			"lifecycleState": "CERTIFIED",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"distributionStatus": "DISTRIBUTION_APPROVED",

+			"artifacts": [

+					{

+						"artifactUUID": "0cf78c81-1246-45e7-a190-eaa309ee5680",

+						"generatedFromUUID": "3cf78c81-1246-45e7-a190-eaa309ee5680",

+						"artifactName": "The Worst Artifact",

+						"artifactType": "HEAT",

+						"artifactDescription": "This is the worst artifact",

+						"artifactURL": "http://www.openecomp.org/",

+						"artifactTimeout": "60",

+						"artifactChecksum": "A worthy checksum",

+						"artifactVersion": "0.1",

+					},

+					{

+						"artifactUUID": "1cf78c81-1246-45e7-a190-eaa309ee5681",

+						"generatedFromUUID": "3cf78c81-1246-45e7-a190-eaa309ee5680",

+						"artifactName": "The Worst Artifact",

+						"artifactType": "HEAT",

+						"artifactDescription": "This is the worst artifact",

+						"artifactURL": "http://www.openecomp.org/",

+						"artifactTimeout": "60",

+						"artifactChecksum": "A worthy checksum",

+						"artifactVersion": "0.1",

+					},

+					{

+						"artifactUUID": "2cf78c81-1246-45e7-a190-eaa309ee5682",

+						"generatedFromUUID": "3cf78c81-1246-45e7-a190-eaa309ee5680",

+						"artifactName": "The Worst Artifact",

+						"artifactType": "HEAT",

+						"artifactDescription": "This is the worst artifact",

+						"artifactURL": "http://www.openecomp.org/",

+						"artifactTimeout": "60",

+						"artifactChecksum": "A worthy checksum",

+						"artifactVersion": "0.1",

+					}

+			],

+			"resources": []

+		}

+	},

+	"resources": {

+		"2f92b5b0-10ff-4cf4-9531-88546fe88a42": {

+			"uuid": "2f92b5b0-10ff-4cf4-9531-88546fe88a42",

+			"invariantUUID": "df92b5b0-10ff-4cf4-9531-88546fe88a4d",

+			"name": "The Worst Resource",

+			"version": "0.1",

+			"toscaModelURL": "sampleTosca.csar",

+			"toscaModel": "http://www.openecomp.org/",

+			"toscaResourceName": "The Worst Resource (TOSCA)",

+			"category": "Bad Resources",

+			"subCategory": "Really Bad Resources",

+			"resourceType": "VF",

+			"lifecycleState": "CERTIFIED",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"artifacts": [

+					{

+						"artifactUUID": "0cf78c81-1246-45e7-a190-eaa309ee5680",

+						"generatedFromUUID": "3cf78c81-1246-45e7-a190-eaa309ee5680",

+						"artifactName": "The Worst Artifact",

+						"artifactType": "HEAT",

+						"artifactDescription": "This is the worst artifact",

+						"artifactURL": "http://www.openecomp.org/",

+						"artifactTimeout": "60",

+						"artifactChecksum": "A worthy checksum",

+						"artifactVersion": "0.1",

+					},

+					{

+						"artifactUUID": "1cf78c81-1246-45e7-a190-eaa309ee5681",

+						"generatedFromUUID": "3cf78c81-1246-45e7-a190-eaa309ee5680",

+						"artifactName": "The Worst Artifact",

+						"artifactType": "HEAT",

+						"artifactDescription": "This is the worst artifact",

+						"artifactURL": "http://www.openecomp.org/",

+						"artifactTimeout": "60",

+						"artifactChecksum": "A worthy checksum",

+						"artifactVersion": "0.1",

+					},

+					{

+						"artifactUUID": "2cf78c81-1246-45e7-a190-eaa309ee5682",

+						"generatedFromUUID": "3cf78c81-1246-45e7-a190-eaa309ee5680",

+						"artifactName": "The Worst Artifact",

+						"artifactType": "HEAT",

+						"artifactDescription": "This is the worst artifact",

+						"artifactURL": "http://www.openecomp.org/",

+						"artifactTimeout": "60",

+						"artifactChecksum": "A worthy checksum",

+						"artifactVersion": "0.1",

+					}

+			]

+		},

+		"0f92b5b0-10ff-4cf4-9531-88546fe88a40": {

+			"uuid": "0f92b5b0-10ff-4cf4-9531-88546fe88a40",

+			"invariantUUID": "df92b5b0-10ff-4cf4-9531-88546fe88a4d",

+			"name": "The Worst Resource",

+			"version": "0.1",

+			"toscaModelURL": "sampleTosca.csar",

+			"toscaModel": "http://www.openecomp.org/",

+			"toscaResourceName": "The Worst Resource (TOSCA)",

+			"category": "Bad Resources",

+			"subCategory": "Really Bad Resources",

+			"resourceType": "VF",

+			"lifecycleState": "CERTIFIED",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"artifacts": []

+		},

+		"1f92b5b0-10ff-4cf4-9531-88546fe88a41": {

+			"uuid": "1f92b5b0-10ff-4cf4-9531-88546fe88a41",

+			"invariantUUID": "df92b5b0-10ff-4cf4-9531-88546fe88a4d",

+			"name": "The Worst Resource",

+			"version": "0.1",

+			"toscaModelURL": "sampleTosca.csar",

+			"toscaModel": "http://www.openecomp.org/",

+			"toscaResourceName": "The Worst Resource (TOSCA)",

+			"category": "Bad Resources",

+			"subCategory": "Really Bad Resources",

+			"resourceType": "VF",

+			"lifecycleState": "CERTIFIED",

+			"lastUpdaterUserId": "example@example.org",

+			"lastUpdaterFullName": "Example User",

+			"artifacts": []

+		}

+	}

+}
\ No newline at end of file
diff --git a/onap-enabler-infra/src/main/resources/key.properties b/onap-enabler-infra/src/main/resources/key.properties
new file mode 100644
index 0000000..d2bfb48
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/key.properties
@@ -0,0 +1,41 @@
+###

+# ============LICENSE_START==========================================

+# ONAP Portal SDK

+# ===================================================================

+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.

+# ===================================================================

+#

+# Unless otherwise specified, all software contained herein is licensed

+# under the Apache License, Version 2.0 (the “License”);

+# you may not use this software 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.

+#

+# Unless otherwise specified, all documentation contained herein is licensed

+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);

+# you may not use this documentation except in compliance with the License.

+# You may obtain a copy of the License at

+#

+#             https://creativecommons.org/licenses/by/4.0/

+#

+# Unless required by applicable law or agreed to in writing, documentation

+# 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.

+###

+

+# Properties read by the ECOMP Framework library (epsdk-fw)

+

+cipher.enc.key = AGLDdG4D04BKm2IxIWEr8o==!
\ No newline at end of file
diff --git a/onap-enabler-infra/src/main/resources/logback.xml b/onap-enabler-infra/src/main/resources/logback.xml
new file mode 100644
index 0000000..14b534d
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/logback.xml
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  ============LICENSE_START==========================================

+  ONAP Portal SDK

+  ===================================================================

+  Copyright © 2017 AT&T Intellectual Property. All rights reserved.

+  ===================================================================

+ 

+  Unless otherwise specified, all software contained herein is licensed

+  under the Apache License, Version 2.0 (the “License”);

+  you may not use this software 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.

+ 

+  Unless otherwise specified, all documentation contained herein is licensed

+  under the Creative Commons License, Attribution 4.0 Intl. (the “License”);

+  you may not use this documentation except in compliance with the License.

+  You may obtain a copy of the License at

+ 

+              https://creativecommons.org/licenses/by/4.0/

+ 

+  Unless required by applicable law or agreed to in writing, documentation

+  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">

+  <!-- 

+  Logback files for the ONAP Portal SDK Application "epsdk-app-os"

+  are created in directory ${catalina.base}/logs/epsdk_app_os;

+  e.g., apache-tomcat-8.0.35/logs/epsdk_app_os/application.log  

+  -->

+  <!--<jmxConfigurator /> -->

+

+  <!--  specify the component name -->

+  <property name="componentName" value="ep_sdk_app"></property>

+  

+  <!--  specify the base path of the log directory -->

+  <property name="logDirPrefix" value="${catalina.base}/logs"></property>

+  

+  <!-- The directories where logs are written -->

+  <property name="logDirectory" value="${logDirPrefix}/${componentName}" />

+  <!-- Can easily relocate debug logs by modifying this path. -->

+  <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}" />

+  

+  <!--  log file names -->

+  <property name="generalLogName" value="application" />

+  <property name="errorLogName" value="error" />

+  <property name="metricsLogName" value="metrics" />

+  <property name="auditLogName" value="audit" />

+  <property name="debugLogName" value="debug" />

+  <!--

+  These loggers are not used in code (yet). 

+  <property name="securityLogName" value="security" />

+  <property name="policyLogName" value="policy" />

+  <property name="performanceLogName" value="performance" />

+  <property name="serverLogName" value="server" />

+   -->

+  

+  <!-- 1610 Logging Fields Format Revisions --> 

+  <property name="auditLoggerPattern"

+	value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />

+

+  <property name="metricsLoggerPattern"

+	value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n" />

+

+  <property name="errorLoggerPattern"

+	value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n" />

+

+  <property name="defaultLoggerPattern"

+	value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n" />

+

+  <!-- use %class so library logging calls yield their class name -->

+  <property name="applicationLoggerPattern"

+	value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n" />

+

+  <!-- Example evaluator filter applied against console appender -->

+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

+    <encoder>

+      <pattern>${defaultLoggerPattern}</pattern>

+    </encoder>

+  </appender>

+

+  <!-- ============================================================================ -->

+  <!-- EELF Appenders -->

+  <!-- ============================================================================ -->

+

+  <!-- The EELFAppender is used to record events to the general application 

+    log -->

+    

+    

+  <appender name="EELF"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${generalLogName}.log</file>

+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 

+      <!-- daily rollover --> 

+      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> 

+ 

+      <!-- keep 30 days' worth of history capped at 3GB total size --> 

+      <maxHistory>30</maxHistory> 

+      <totalSizeCap>3GB</totalSizeCap> 

+ 

+    </rollingPolicy>

+    <encoder>

+      <pattern>${applicationLoggerPattern}</pattern>

+    </encoder>

+    <filter class="org.onap.portalapp.util.CustomLoggingFilter" />

+  </appender>

+  

+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <!-- Class name is part of caller data -->

+    <includeCallerData>true</includeCallerData>

+    <appender-ref ref="EELF" />

+  </appender>

+

+  <!-- EELF Security Appender. This appender is used to record security events 

+    to the security log file. Security events are separate from other loggers 

+    in EELF so that security log records can be captured and managed in a secure 

+    way separate from the other logs. This appender is set to never discard any 

+    events. -->

+  <!--     

+  <appender name="EELFSecurity"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${securityLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${securityLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <discardingThreshold>0</discardingThreshold>

+    <appender-ref ref="EELFSecurity" />

+  </appender>

+   -->

+   

+  <!-- EELF Performance Appender. This appender is used to record performance 

+    records. -->

+  <!--

+  <appender name="EELFPerformance"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${performanceLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip

+      </fileNamePattern>

+      <minIndex>1</minIndex>

+      <maxIndex>9</maxIndex>

+    </rollingPolicy>

+    <triggeringPolicy

+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

+      <maxFileSize>5MB</maxFileSize>

+    </triggeringPolicy>

+    <encoder>

+      <outputPatternAsHeader>true</outputPatternAsHeader>

+      <pattern>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFPerformance" />

+  </appender>

+  -->

+

+  <!-- EELF Server Appender. This appender is used to record Server related 

+    logging events. The Server logger and appender are specializations of the 

+    EELF application root logger and appender. This can be used to segregate Server 

+    events from other components, or it can be eliminated to record these events 

+    as part of the application root log. -->

+  <!--

+  <appender name="EELFServer"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${serverLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${serverLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFServer" />

+  </appender>

+   -->

+  

+  <!-- EELF Policy Appender. This appender is used to record Policy engine 

+    related logging events. The Policy logger and appender are specializations 

+    of the EELF application root logger and appender. This can be used to segregate 

+    Policy engine events from other components, or it can be eliminated to record 

+    these events as part of the application root log. -->

+  <!--

+  <appender name="EELFPolicy"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${policyLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${policyLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFPolicy" />

+  </appender>

+  -->

+  

+  <!-- EELF Audit Appender. This appender is used to record audit engine 

+    related logging events. The audit logger and appender are specializations 

+    of the EELF application root logger and appender. This can be used to segregate 

+    Policy engine events from other components, or it can be eliminated to record 

+    these events as part of the application root log. -->

+    

+  <appender name="EELFAudit"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${auditLogName}.log</file>

+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 

+      <!-- daily rollover --> 

+      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> 

+ 

+      <!-- keep 30 days' worth of history capped at 3GB total size --> 

+      <maxHistory>30</maxHistory> 

+      <totalSizeCap>3GB</totalSizeCap> 

+ 

+    </rollingPolicy>

+    <encoder>

+         <pattern>${auditLoggerPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFAudit" />

+  </appender>

+

+  <appender name="EELFMetrics"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${metricsLogName}.log</file>

+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 

+      <!-- daily rollover --> 

+      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> 

+ 

+      <!-- keep 30 days' worth of history capped at 3GB total size --> 

+      <maxHistory>30</maxHistory> 

+      <totalSizeCap>3GB</totalSizeCap> 

+ 

+    </rollingPolicy>

+    <encoder>

+      <pattern>${metricsLoggerPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  

+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFMetrics"/>

+  </appender>

+   

+  <appender name="EELFError"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${errorLogName}.log</file>

+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 

+      <!-- daily rollover --> 

+      <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> 

+ 

+      <!-- keep 30 days' worth of history capped at 3GB total size --> 

+      <maxHistory>30</maxHistory> 

+      <totalSizeCap>3GB</totalSizeCap> 

+ 

+    </rollingPolicy>

+    <encoder>

+      <pattern>${errorLoggerPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFError"/>

+  </appender>

+  

+   <appender name="EELFDebug"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${debugLogDirectory}/${debugLogName}.log</file>

+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 

+      <!-- daily rollover --> 

+      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern> 

+ 

+      <!-- keep 30 days' worth of history capped at 3GB total size --> 

+      <maxHistory>30</maxHistory> 

+      <totalSizeCap>3GB</totalSizeCap> 

+ 

+    </rollingPolicy>

+    <encoder>

+      <pattern>${defaultLoggerPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFDebug" />

+  </appender>

+ 

+  

+ 

+

+  <logger name="org.onap.eelf" level="info" additivity="false">

+    <appender-ref ref="asyncEELF" />

+  </logger>

+

+  <logger name="org.onap.eelf.audit" level="info" additivity="false">

+    <appender-ref ref="asyncEELFAudit" />

+  </logger>

+  

+  <logger name="org.onap.eelf.debug" level="debug" additivity="false">

+    <appender-ref ref="asyncEELFDebug" />

+  </logger>

+	

+  <logger name="org.onap.eelf.error" level="info" additivity="false">

+    <appender-ref ref="asyncEELFError" />

+  </logger>

+

+  <logger name="org.onap.eelf.metrics" level="info" additivity="false">

+    <appender-ref ref="asyncEELFMetrics" />

+  </logger>      

+    

+  

+  <root level="DEBUG">

+    <appender-ref ref="asyncEELF" />

+  </root>

+

+</configuration>

diff --git a/onap-enabler-infra/src/main/resources/logback_template.xml b/onap-enabler-infra/src/main/resources/logback_template.xml
new file mode 100644
index 0000000..41b9781
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/logback_template.xml
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>

+        <!--/*-

+                * ============LICENSE_START=======================================================

+                * OSAM Core

+                * ================================================================================

+                * Copyright (C) 2018 AT&T

+                * ================================================================================

+                * 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=========================================================

+                */

+        -->

+

+<configuration scan="true" scanPeriod="3 seconds" debug="true">

+  <!--  specify the component name -->

+  <property name="componentName" value="vid"></property>

+  

+  <!--  specify the base path of the log directory -->

+  <property name="logDirPrefix" value="${VID_LOG_DIR}"></property>

+  

+  <!-- The directories where logs are written -->

+  <property name="logDirectory" value="${logDirPrefix}/${componentName}" />

+  <!-- Can easily relocate debug logs by modifying this path. -->

+  <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}" />

+  

+  <!--  log file names -->

+  <property name="generalLogName" value="application" />

+  <property name="errorLogName" value="error" />

+  <property name="metricsLogName" value="metrics" />

+  <property name="auditLogName" value="audit" />

+  <property name="debugLogName" value="debug" />

+  <!--

+  These loggers are not used in code (yet). 

+  <property name="securityLogName" value="security" />

+  <property name="policyLogName" value="policy" />

+  <property name="performanceLogName" value="performance" />

+  <property name="serverLogName" value="server" />

+   -->

+   

+  <property name="defaultPattern" value="%date{ISO8601}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" />

+  <property name="debugLoggerPattern" value="%date{ISO8601}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" />

+  <!-- <property name="debugLoggerPattern" value="%date{ISO8601}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />-->

+  

+  <!-- Example evaluator filter applied against console appender -->

+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

+    <encoder>

+      <pattern>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+

+  <!-- ============================================================================ -->

+  <!-- EELF Appenders -->

+  <!-- ============================================================================ -->

+

+  <!-- The EELFAppender is used to record events to the general application 

+    log -->

+    

+    

+  <appender name="EELF"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${generalLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${generalLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+    <filter class="org.onap.portalapp.util.CustomLoggingFilter" />

+  </appender>

+  

+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELF" />

+  </appender>

+

+  <!-- EELF Security Appender. This appender is used to record security events 

+    to the security log file. Security events are separate from other loggers 

+    in EELF so that security log records can be captured and managed in a secure 

+    way separate from the other logs. This appender is set to never discard any 

+    events. -->

+  <!--     

+  <appender name="EELFSecurity"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${securityLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${securityLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <discardingThreshold>0</discardingThreshold>

+    <appender-ref ref="EELFSecurity" />

+  </appender>

+   -->

+   

+  <!-- EELF Performance Appender. This appender is used to record performance 

+    records. -->

+  <!--

+  <appender name="EELFPerformance"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${performanceLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip

+      </fileNamePattern>

+      <minIndex>1</minIndex>

+      <maxIndex>9</maxIndex>

+    </rollingPolicy>

+    <triggeringPolicy

+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">

+      <maxFileSize>5MB</maxFileSize>

+    </triggeringPolicy>

+    <encoder>

+      <outputPatternAsHeader>true</outputPatternAsHeader>

+      <pattern>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFPerformance" />

+  </appender>

+  -->

+

+  <!-- EELF Server Appender. This appender is used to record Server related 

+    logging events. The Server logger and appender are specializations of the 

+    EELF application root logger and appender. This can be used to segregate Server 

+    events from other components, or it can be eliminated to record these events 

+    as part of the application root log. -->

+  <!--

+  <appender name="EELFServer"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${serverLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${serverLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFServer" />

+  </appender>

+   -->

+  

+  <!-- EELF Policy Appender. This appender is used to record Policy engine 

+    related logging events. The Policy logger and appender are specializations 

+    of the EELF application root logger and appender. This can be used to segregate 

+    Policy engine events from other components, or it can be eliminated to record 

+    these events as part of the application root log. -->

+  <!--

+  <appender name="EELFPolicy"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${policyLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${policyLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFPolicy" />

+  </appender>

+  -->

+  

+  <!-- EELF Audit Appender. This appender is used to record audit engine 

+    related logging events. The audit logger and appender are specializations 

+    of the EELF application root logger and appender. This can be used to segregate 

+    Policy engine events from other components, or it can be eliminated to record 

+    these events as part of the application root log. -->

+    

+  <appender name="EELFAudit"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${auditLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${auditLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFAudit" />

+  </appender>

+

+  <appender name="EELFMetrics"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${metricsLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${metricsLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  

+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFMetrics"/>

+  </appender>

+   

+  <appender name="EELFError"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${logDirectory}/${errorLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${logDirectory}/${errorLogName}.%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>${defaultPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFError"/>

+  </appender>

+  

+   <appender name="EELFDebug"

+    class="ch.qos.logback.core.rolling.RollingFileAppender">

+    <file>${debugLogDirectory}/${debugLogName}.log</file>

+    <rollingPolicy

+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">

+      <fileNamePattern>${debugLogDirectory}/${debugLogName}.%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>${debugLoggerPattern}</pattern>

+    </encoder>

+  </appender>

+  

+  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">

+    <queueSize>256</queueSize>

+    <appender-ref ref="EELFDebug" />

+    <includeCallerData>true</includeCallerData>

+  </appender>

+ 

+  

+  <!-- ============================================================================ -->

+  <!--  EELF loggers -->

+  <!-- ============================================================================ -->

+  <logger name="com.att.eelf" level="debug" additivity="false">

+    <appender-ref ref="asyncEELF" />

+  </logger>

+  

+  <!--

+  <logger name="com.att.eelf.security" level="info" additivity="false">

+    <appender-ref ref="asyncEELFSecurity" />

+  </logger>

+  <logger name="com.att.eelf.perf" level="info" additivity="false">

+    <appender-ref ref="asyncEELFPerformance" />

+  </logger>

+  <logger name="com.att.eelf.server" level="info" additivity="false">

+    <appender-ref ref="asyncEELFServer" />

+  </logger>

+  <logger name="com.att.eelf.policy" level="info" additivity="false">

+    <appender-ref ref="asyncEELFPolicy" />

+  </logger>

+  -->

+  

+  <logger name="com.att.eelf.audit" level="info" additivity="false">

+    <appender-ref ref="asyncEELFAudit" />

+  </logger>

+  

+  <logger name="com.att.eelf.metrics" level="info" additivity="false">

+        <appender-ref ref="asyncEELFMetrics" />

+  </logger>

+    

+  <logger name="com.att.eelf.error" level="info" additivity="false">

+  	<appender-ref ref="asyncEELFError" />

+  </logger>

+  

+   <logger name="com.att.eelf.debug" level="debug" additivity="false">

+        <appender-ref ref="asyncEELFDebug" />

+  </logger>

+  

+    

+  <root level="${VID_LOG_LEVEL}">

+    <appender-ref ref="asyncEELF" />

+  </root>

+

+</configuration>

diff --git a/onap-enabler-infra/src/main/resources/mchange-log.properties b/onap-enabler-infra/src/main/resources/mchange-log.properties
new file mode 100644
index 0000000..37e6f50
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/mchange-log.properties
@@ -0,0 +1,23 @@
+###

+# ================================================================================

+# eCOMP Portal SDK

+# ================================================================================

+# Copyright (C) 2017 AT&T Intellectual Property

+# ================================================================================

+# 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.

+# ================================================================================

+###

+# Direct the proprietary logger used by com.mchange.c3p0 to use slf4j

+

+com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog

+com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF

diff --git a/onap-enabler-infra/src/main/resources/my.cnf b/onap-enabler-infra/src/main/resources/my.cnf
new file mode 100644
index 0000000..b47f64f
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/my.cnf
@@ -0,0 +1,192 @@
+# MariaDB database server configuration file.

+#

+# You can copy this file to one of:

+# - "/etc/mysql/my.cnf" to set global options,

+# - "~/.my.cnf" to set user-specific options.

+#

+# One can use all long options that the program supports.

+# Run program with --help to get a list of available options and with

+# --print-defaults to see which it would actually understand and use.

+#

+# For explanations see

+# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

+

+# This will be passed to all mysql clients

+# It has been reported that passwords should be enclosed with ticks/quotes

+# escpecially if they contain "#" chars...

+# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

+[client]

+port            = 3306

+socket          = /var/run/mysqld/mysqld.sock

+

+# Here is entries for some specific programs

+# The following values assume you have at least 32M ram

+

+# This was formally known as [safe_mysqld]. Both versions are currently parsed.

+[mysqld_safe]

+socket          = /var/run/mysqld/mysqld.sock

+nice            = 0

+

+[mysqld]

+lower_case_table_names = 1

+skip-host-cache

+skip-name-resolve

+#

+# * Basic Settings

+#

+#user           = mysql

+pid-file        = /var/run/mysqld/mysqld.pid

+socket          = /var/run/mysqld/mysqld.sock

+port            = 3306

+basedir         = /usr

+datadir         = /var/lib/mysql

+tmpdir          = /tmp

+lc_messages_dir = /usr/share/mysql

+lc_messages     = en_US

+skip-external-locking

+#

+# Instead of skip-networking the default is now to listen only on

+# localhost which is more compatible and is not less secure.

+#bind-address           = 127.0.0.1

+#

+# * Fine Tuning

+#

+max_connections         = 100

+connect_timeout         = 5

+wait_timeout            = 600

+max_allowed_packet      = 16M

+thread_cache_size       = 128

+sort_buffer_size        = 4M

+bulk_insert_buffer_size = 16M

+tmp_table_size          = 32M

+max_heap_table_size     = 32M

+#

+# * MyISAM

+#

+# This replaces the startup script and checks MyISAM tables if needed

+# the first time they are touched. On error, make copy and try a repair.

+myisam_recover_options = BACKUP

+key_buffer_size         = 128M

+#open-files-limit       = 2000

+table_open_cache        = 400

+myisam_sort_buffer_size = 512M

+concurrent_insert       = 2

+read_buffer_size        = 2M

+read_rnd_buffer_size    = 1M

+#

+# * Query Cache Configuration

+#

+# Cache only tiny result sets, so we can fit more in the query cache.

+query_cache_limit               = 128K

+query_cache_size                = 64M

+# for more write intensive setups, set to DEMAND or OFF

+#query_cache_type               = DEMAND

+#

+# * Logging and Replication

+#

+# Both location gets rotated by the cronjob.

+# Be aware that this log type is a performance killer.

+# As of 5.1 you can enable the log at runtime!

+#general_log_file        = /var/log/mysql/mysql.log

+#general_log             = 1

+#

+# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.

+#

+# we do want to know about network errors and such

+#log_warnings           = 2

+#

+# Enable the slow query log to see queries with especially long duration

+#slow_query_log[={0|1}]

+slow_query_log_file     = /var/log/mysql/mariadb-slow.log

+long_query_time = 10

+#log_slow_rate_limit    = 1000

+#log_slow_verbosity     = query_plan

+

+#log-queries-not-using-indexes

+#log_slow_admin_statements

+#

+# The following can be used as easy to replay backup logs or for replication.

+# note: if you are setting up a replication slave, see README.Debian about

+#       other settings you may need to change.

+#server-id              = 1

+#report_host            = master1

+#auto_increment_increment = 2

+#auto_increment_offset  = 1

+#log_bin                        = /var/log/mysql/mariadb-bin

+#log_bin_index          = /var/log/mysql/mariadb-bin.index

+# not fab for performance, but safer

+#sync_binlog            = 1

+expire_logs_days        = 10

+max_binlog_size         = 100M

+# slaves

+#relay_log              = /var/log/mysql/relay-bin

+#relay_log_index        = /var/log/mysql/relay-bin.index

+#relay_log_info_file    = /var/log/mysql/relay-bin.info

+#log_slave_updates

+#read_only

+#

+# If applications support it, this stricter sql_mode prevents some

+# mistakes like inserting invalid dates etc.

+#sql_mode               = NO_ENGINE_SUBSTITUTION,TRADITIONAL

+#

+# * InnoDB

+#

+# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.

+# Read the manual for more InnoDB related options. There are many!

+default_storage_engine  = InnoDB

+# you can't just change log file size, requires special procedure

+#innodb_log_file_size   = 50M

+innodb_buffer_pool_size = 256M

+innodb_log_buffer_size  = 8M

+innodb_file_per_table   = 1

+innodb_open_files       = 400

+innodb_io_capacity      = 400

+innodb_flush_method     = O_DIRECT

+#

+# * Security Features

+#

+# Read the manual, too, if you want chroot!

+# chroot = /var/lib/mysql/

+#

+# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".

+#

+# ssl-ca=/etc/mysql/cacert.pem

+# ssl-cert=/etc/mysql/server-cert.pem

+# ssl-key=/etc/mysql/server-key.pem

+

+#

+# * Galera-related settings

+#

+[galera]

+# Mandatory settings

+#wsrep_on=ON

+#wsrep_provider=

+#wsrep_cluster_address=

+#binlog_format=row

+#default_storage_engine=InnoDB

+#innodb_autoinc_lock_mode=2

+#

+# Allow server to accept connections on all interfaces.

+#

+#bind-address=0.0.0.0

+#

+# Optional setting

+#wsrep_slave_threads=1

+#innodb_flush_log_at_trx_commit=0

+

+[mysqldump]

+quick

+quote-names

+max_allowed_packet      = 16M

+

+[mysql]

+#no-auto-rehash # faster start of mysql but no tab completion

+

+[isamchk]

+key_buffer              = 16M

+

+#

+# * IMPORTANT: Additional settings that can override those from this file!

+#   The files must end with '.cnf', otherwise they'll be ignored.

+#

+!includedir /etc/mysql/conf.d/
\ No newline at end of file
diff --git a/onap-enabler-infra/src/main/resources/osam-core-data.sql b/onap-enabler-infra/src/main/resources/osam-core-data.sql
new file mode 100644
index 0000000..2437e82
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/osam-core-data.sql
@@ -0,0 +1,709 @@
+/*-

+ * ============LICENSE_START=======================================================

+ * VID

+ * ================================================================================

+ * 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=========================================================

+ */

+USE osam_core;

+

+DELETE FROM `fn_datasource`;

+TRUNCATE `fn_menu`;

+DELETE FROM `fn_role_function`;

+DELETE FROM `fn_restricted_url`;

+DELETE FROM `fn_tab_selected`;

+DELETE FROM `fn_tab`;

+DELETE FROM `fn_function`;

+DELETE FROM `fn_lu_alert_method`;

+DELETE FROM `fn_lu_activity`;

+DELETE FROM `fn_lu_call_times`;

+DELETE FROM `fn_lu_country`;

+DELETE FROM `fn_lu_menu_set`;

+DELETE FROM `fn_lu_priority`;

+DELETE FROM `fn_lu_state`;

+DELETE FROM `fn_lu_tab_set`;

+

+--

+-- Dumping data for table `cr_raptor_action_img`

+--

+REPLACE INTO `cr_raptor_action_img` VALUES ('CALENDAR','/static/fusion/raptor/img/Calendar-16x16.png');

+REPLACE INTO `cr_raptor_action_img` VALUES ('DELETE','/static/fusion/raptor/img/deleteicon.gif');

+

+--

+-- Dumping data for table `fn_app`

+--

+INSERT IGNORE INTO `fn_app` VALUES (1,'Default',null,'Some Default Description','Some Default Note',null,null,null,'ECPP','?',1,'okYTaDrhzibcbGVq5mjkVQ==','N','N',null,'Default',null,null,'ECOMP-PORTAL-INBOX');

+

+

+--

+-- Dumping data for table `fn_function`

+--

+INSERT INTO `fn_function` VALUES ('1','test role function','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='test role function';

+INSERT INTO `fn_function` VALUES ('doclib','Document Library','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Document Library';

+INSERT INTO `fn_function` VALUES ('doclib_admin','Document Library Admin','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Document Library Admin';

+INSERT INTO `fn_function` VALUES ('login','Login','url','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Login';

+INSERT INTO `fn_function` VALUES ('menu_admin','Admin Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Admin Menu';

+INSERT INTO `fn_function` VALUES ('menu_ajax','Ajax Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Ajax Menu';

+INSERT INTO `fn_function` VALUES ('menu_servicemodels','Browse SDC Service Instances','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Browse SDC Service Instances';

+INSERT INTO `fn_function` VALUES ('menu_concept','CoNCEPT','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='CoNCEPT';

+INSERT INTO `fn_function` VALUES ('menu_customer','Customer Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Customer Menu';

+INSERT INTO `fn_function` VALUES ('menu_customer_create','Customer Create','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Customer Create';

+INSERT INTO `fn_function` VALUES ('menu_doclib','Document Library Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Document Library Menu';

+INSERT INTO `fn_function` VALUES ('menu_feedback','Feedback Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Feedback Menu';

+INSERT INTO `fn_function` VALUES ('menu_help','Help Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Help Menu';

+INSERT INTO `fn_function` VALUES ('menu_home','Home Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Home Menu';

+INSERT INTO `fn_function` VALUES ('menu_itracker','iTracker Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='iTracker Menu';

+INSERT INTO `fn_function` VALUES ('menu_itracker_admin','Itracker Admin/Support menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Itracker Admin/Support menu';

+INSERT INTO `fn_function` VALUES ('menu_job','Job Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Job Menu';

+INSERT INTO `fn_function` VALUES ('menu_job_create','Job Create','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Job Create';

+INSERT INTO `fn_function` VALUES ('menu_job_designer','Process in Designer view','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Process in Designer view';

+INSERT INTO `fn_function` VALUES ('menu_logout','Logout Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Logout Menu';

+INSERT INTO `fn_function` VALUES ('menu_map','Map Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Map Menu';

+INSERT INTO `fn_function` VALUES ('menu_newserinstance','Create New Service Instance','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Create New Service Instance';

+INSERT INTO `fn_function` VALUES ('menu_notes','Notes Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Notes Menu';

+INSERT INTO `fn_function` VALUES ('menu_process','Process List','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Process List';

+INSERT INTO `fn_function` VALUES ('menu_profile','Profile Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Profile Menu';

+INSERT INTO `fn_function` VALUES ('menu_profile_create','Profile Create','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Profile Create';

+INSERT INTO `fn_function` VALUES ('menu_profile_import','Profile Import','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Profile Import';

+INSERT INTO `fn_function` VALUES ('menu_reports','Reports Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Reports Menu';

+INSERT INTO `fn_function` VALUES ('menu_sample','Sample Pages Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Sample Pages Menu';

+INSERT INTO `fn_function` VALUES ('menu_tab','Sample Tab Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Sample Tab Menu';

+INSERT INTO `fn_function` VALUES ('menu_task','Task Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Task Menu';

+INSERT INTO `fn_function` VALUES ('menu_task_search','Task Search','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Task Search';

+INSERT INTO `fn_function` VALUES ('menu_test','Test Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Test Menu';

+INSERT INTO `fn_function` VALUES ('menu_viewlog','Log Menu','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Log Menu';

+INSERT INTO `fn_function` VALUES ('view_reports','View Raptor reports','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='View Raptor reports';

+INSERT INTO `fn_function` VALUES ('menu_searchexisting', 'Search for Existing Service Instances','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Search for Existing Service Instances';

+INSERT INTO `fn_function` VALUES ('menu_changemanagement','VNF Changes','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='VNF Changes';

+--INSERT INTO `fn_function` VALUES ('menu_testenvironment','Test Environments','menu','*') ON DUPLICATE KEY UPDATE FUNCTION_NAME='Test Environments';

+

+--

+-- Dumping data for table `fn_lu_activity`

+--

+REPLACE INTO `fn_lu_activity` VALUES ('add_child_role','add_child_role');

+REPLACE INTO `fn_lu_activity` VALUES ('add_role','add_role');

+REPLACE INTO `fn_lu_activity` VALUES ('add_role_function','add_role_function');

+REPLACE INTO `fn_lu_activity` VALUES ('add_user_role','add_user_role');

+REPLACE INTO `fn_lu_activity` VALUES ('login','Login');

+REPLACE INTO `fn_lu_activity` VALUES ('logout','Logout');

+REPLACE INTO `fn_lu_activity` VALUES ('mobile_login','Mobile Login');

+REPLACE INTO `fn_lu_activity` VALUES ('mobile_logout','Mobile Logout');

+REPLACE INTO `fn_lu_activity` VALUES ('remove_child_role','remove_child_role');

+REPLACE INTO `fn_lu_activity` VALUES ('remove_role','remove_role');

+REPLACE INTO `fn_lu_activity` VALUES ('remove_role_function','remove_role_function');

+REPLACE INTO `fn_lu_activity` VALUES ('remove_user_role','remove_user_role');

+

+--

+-- Dumping data for table `fn_lu_alert_method`

+--

+REPLACE INTO `fn_lu_alert_method` VALUES ('EMAIL','Email');

+REPLACE INTO `fn_lu_alert_method` VALUES ('FAX','Fax');

+REPLACE INTO `fn_lu_alert_method` VALUES ('PAGER','Pager');

+REPLACE INTO `fn_lu_alert_method` VALUES ('PHONE','Phone');

+REPLACE INTO `fn_lu_alert_method` VALUES ('SMS','SMS');

+

+--

+-- Dumping data for table `fn_lu_call_times`

+--

+REPLACE INTO `fn_lu_call_times` VALUES (1,20,'20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (2,40,'40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (3,60,'1 hr');

+REPLACE INTO `fn_lu_call_times` VALUES (4,80,'1 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (5,100,'1 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (6,120,'2 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (7,140,'2 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (8,160,'2 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (9,180,'3 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (10,200,'3 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (11,220,'3 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (12,240,'4 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (13,260,'4 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (14,280,'4 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (15,300,'5 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (16,320,'5 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (17,340,'5 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (18,360,'6 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (19,380,'6 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (20,400,'6 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (21,420,'7 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (22,440,'7 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (23,460,'7 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (24,480,'8 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (25,500,'8 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (26,520,'8 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (27,540,'9 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (28,560,'9 hr 20 min');

+REPLACE INTO `fn_lu_call_times` VALUES (29,580,'9 hr 40 min');

+REPLACE INTO `fn_lu_call_times` VALUES (30,600,'10 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (31,10,'10 min');

+REPLACE INTO `fn_lu_call_times` VALUES (32,5,'5 min');

+REPLACE INTO `fn_lu_call_times` VALUES (33,1200,'20 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (34,1800,'30 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (35,2400,'40 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (36,3000,'50 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (37,4200,'70 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (38,4800,'80 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (39,5400,'90 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (40,6000,'100 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (41,7200,'120 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (42,9600,'160 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (43,10800,'180 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (44,12000,'200 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (45,18000,'300 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (46,24000,'400 hrs');

+REPLACE INTO `fn_lu_call_times` VALUES (47,30000,'500 hrs');

+

+--

+-- Dumping data for table `fn_lu_country`

+--

+REPLACE INTO `fn_lu_country` VALUES ('AD','Andorra','Andorra',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AE','United Arab Emirates','United Arab Emirates',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AF','Afghanistan','Afghanistan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AG','Antigua and Barbuda','Antigua and Barbuda',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AI','Anguilla','Anguilla',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AL','Albania','Albania',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AM','Armenia','Armenia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AN','Netherlands Antilles','Netherlands Antilles',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AO','Angola','Angola',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AQ','Antarctica','Antarctica',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AR','Argentina','Argentina',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AS','American Samoa','American Samoa',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AT','Austria','Austria',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AU','Australia','Australia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AW','Aruba','Aruba',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('AZ','Azerbaidjan','Azerbaidjan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BA','Bosnia-Herzegovina','Bosnia-Herzegovina',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BB','Barbados','Barbados',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BD','Bangladesh','Bangladesh',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BE','Belgium','Belgium',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BF','Burkina Faso','Burkina Faso',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BG','Bulgaria','Bulgaria',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BH','Bahrain','Bahrain',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BI','Burundi','Burundi',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BJ','Benin','Benin',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BM','Bermuda','Bermuda',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BN','Brunei Darussalam','Brunei Darussalam',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BO','Bolivia','Bolivia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BR','Brazil','Brazil',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BS','Bahamas','Bahamas',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BT','Bhutan','Bhutan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BV','Bouvet Island','Bouvet Island',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BW','Botswana','Botswana',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BY','Belarus','Belarus',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('BZ','Belize','Belize',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CA','Canada','Canada',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CC','Cocos (Keeling) Islands','Cocos (Keeling) Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CF','Central African Republic','Central African Republic',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CG','Congo','Congo',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CH','Switzerland','Switzerland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CI','Ivory Coast (Cote D\'Ivoire)','Ivory Coast (Cote D\'Ivoire)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CK','Cook Islands','Cook Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CL','Chile','Chile',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CM','Cameroon','Cameroon',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CN','China','China','China');

+REPLACE INTO `fn_lu_country` VALUES ('CO','Colombia','Colombia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CR','Costa Rica','Costa Rica',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CS','Former Czechoslovakia','Former Czechoslovakia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CU','Cuba','Cuba',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CV','Cape Verde','Cape Verde',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CX','Christmas Island','Christmas Island',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CY','Cyprus','Cyprus',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('CZ','Czech Republic','Czech Republic',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('DE','Germany','Germany',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('DJ','Djibouti','Djibouti',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('DK','Denmark','Denmark',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('DM','Dominica','Dominica',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('DO','Dominican Republic','Dominican Republic',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('DZ','Algeria','Algeria',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('EC','Ecuador','Ecuador',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('EE','Estonia','Estonia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('EG','Egypt','Egypt',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('EH','Western Sahara','Western Sahara',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ER','Eritrea','Eritrea',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ES','Spain','Spain',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ET','Ethiopia','Ethiopia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FI','Finland','Finland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FJ','Fiji','Fiji',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FK','Falkland Islands','Falkland Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FM','Micronesia','Micronesia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FO','Faroe Islands','Faroe Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FR','France','France',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('FX','France (European Territory)','France (European Territory)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GA','Gabon','Gabon',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GB','Great Britain','Great Britain',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GD','Grenada','Grenada',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GE','Georgia','Georgia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GF','French Guyana','French Guyana',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GH','Ghana','Ghana',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GI','Gibraltar','Gibraltar',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GL','Greenland','Greenland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GM','Gambia','Gambia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GN','Guinea','Guinea',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GP','Guadeloupe (French)','Guadeloupe (French)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GQ','Equatorial Guinea','Equatorial Guinea',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GR','Greece','Greece',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GS','S. Georgia and S. Sandwich Isls.','S. Georgia and S. Sandwich Isls.',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GT','Guatemala','Guatemala',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GU','Guam (USA)','Guam (USA)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GW','Guinea Bissau','Guinea Bissau',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('GY','Guyana','Guyana',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('HK','Hong Kong','Hong Kong',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('HM','Heard and McDonald Islands','Heard and McDonald Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('HN','Honduras','Honduras',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('HR','Croatia','Croatia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('HT','Haiti','Haiti',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('HU','Hungary','Hungary',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ID','Indonesia','Indonesia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IE','Ireland','Ireland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IL','Israel','Israel',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IN','India','India',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IO','British Indian Ocean Territory','British Indian Ocean Territory',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IQ','Iraq','Iraq',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IR','Iran','Iran',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IS','Iceland','Iceland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('IT','Italy','Italy',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('JM','Jamaica','Jamaica',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('JO','Jordan','Jordan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('JP','Japan','Japan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KE','Kenya','Kenya',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KG','Kyrgyzstan','Kyrgyzstan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KH','Cambodia','Cambodia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KI','Kiribati','Kiribati',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KM','Comoros','Comoros',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KN','Saint Kitts and Nevis Anguilla','Saint Kitts and Nevis Anguilla',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KP','North Korea','North Korea',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KR','South Korea','South Korea',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KW','Kuwait','Kuwait',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KY','Cayman Islands','Cayman Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('KZ','Kazakhstan','Kazakhstan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LA','Laos','Laos',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LB','Lebanon','Lebanon',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LC','Saint Lucia','Saint Lucia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LI','Liechtenstein','Liechtenstein',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LK','Sri Lanka','Sri Lanka',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LR','Liberia','Liberia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LS','Lesotho','Lesotho',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LT','Lithuania','Lithuania',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LU','Luxembourg','Luxembourg',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LV','Latvia','Latvia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('LY','Libya','Libya',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MA','Morocco','Morocco',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MC','Monaco','Monaco',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MD','Moldavia','Moldavia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MG','Madagascar','Madagascar',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MH','Marshall Islands','Marshall Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MK','Macedonia','Macedonia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ML','Mali','Mali',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MM','Myanmar','Myanmar',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MN','Mongolia','Mongolia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MO','Macau','Macau',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MP','Northern Mariana Islands','Northern Mariana Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MQ','Martinique (French)','Martinique (French)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MR','Mauritania','Mauritania',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MS','Montserrat','Montserrat',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MT','Malta','Malta',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MU','Mauritius','Mauritius',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MV','Maldives','Maldives',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MW','Malawi','Malawi',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MX','Mexico','Mexico','Mexico');

+REPLACE INTO `fn_lu_country` VALUES ('MY','Malaysia','Malaysia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('MZ','Mozambique','Mozambique',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NA','Namibia','Namibia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NC','New Caledonia (French)','New Caledonia (French)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NE','Niger','Niger',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NF','Norfolk Island','Norfolk Island',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NG','Nigeria','Nigeria',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NI','Nicaragua','Nicaragua',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NL','Netherlands','Netherlands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NO','Norway','Norway',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NP','Nepal','Nepal',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NR','Nauru','Nauru',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NU','Niue','Niue',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('NZ','New Zealand','New Zealand',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('OM','Oman','Oman',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PA','Panama','Panama',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PE','Peru','Peru',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PF','Polynesia (French)','Polynesia (French)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PG','Papua New Guinea','Papua New Guinea',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PH','Philippines','Philippines',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PK','Pakistan','Pakistan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PL','Poland','Poland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PM','Saint Pierre and Miquelon','Saint Pierre and Miquelon',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PN','Pitcairn Island','Pitcairn Island',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PR','Puerto Rico','Puerto Rico',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PT','Portugal','Portugal',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PW','Palau','Palau',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('PY','Paraguay','Paraguay',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('QA','Qatar','Qatar',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('RE','Reunion (French)','Reunion (French)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('RO','Romania','Romania',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('RU','Russian Federation','Russian Federation',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('RW','Rwanda','Rwanda',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SA','Saudi Arabia','Saudi Arabia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SB','Solomon Islands','Solomon Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SC','Seychelles','Seychelles',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SD','Sudan','Sudan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SE','Sweden','Sweden',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SG','Singapore','Singapore',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SH','Saint Helena','Saint Helena',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SI','Slovenia','Slovenia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SJ','Svalbard and Jan Mayen Islands','Svalbard and Jan Mayen Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SK','Slovak Republic','Slovak Republic',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SL','Sierra Leone','Sierra Leone',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SM','San Marino','San Marino',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SN','Senegal','Senegal',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SO','Somalia','Somalia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SR','Suriname','Suriname',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ST','Saint Tome (Sao Tome) and Principe','Saint Tome (Sao Tome) and Principe',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SU','Former USSR','Former USSR',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SV','El Salvador','El Salvador',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SY','Syria','Syria',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('SZ','Swaziland','Swaziland',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TC','Turks and Caicos Islands','Turks and Caicos Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TD','Chad','Chad',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TF','French Southern Territories','French Southern Territories',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TG','Togo','Togo',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TH','Thailand','Thailand',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TJ','Tadjikistan','Tadjikistan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TK','Tokelau','Tokelau',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TM','Turkmenistan','Turkmenistan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TN','Tunisia','Tunisia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TO','Tonga','Tonga',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TP','East Timor','East Timor',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TR','Turkey','Turkey',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TT','Trinidad and Tobago','Trinidad and Tobago',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TV','Tuvalu','Tuvalu',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TW','Taiwan','Taiwan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('TZ','Tanzania','Tanzania',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('UA','Ukraine','Ukraine',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('UG','Uganda','Uganda',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('UK','United Kingdom','United Kingdom',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('UM','USA Minor Outlying Islands','USA Minor Outlying Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('US','United States','United States','USA');

+REPLACE INTO `fn_lu_country` VALUES ('UY','Uruguay','Uruguay',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('UZ','Uzbekistan','Uzbekistan',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VA','Vatican City State','Vatican City State',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VC','Saint Vincent and Grenadines','Saint Vincent and Grenadines',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VE','Venezuela','Venezuela',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VG','Virgin Islands (British)','Virgin Islands (British)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VI','Virgin Islands (USA)','Virgin Islands (USA)',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VN','Vietnam','Vietnam',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('VU','Vanuatu','Vanuatu',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('WF','Wallis and Futuna Islands','Wallis and Futuna Islands',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('WS','Samoa','Samoa',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('YE','Yemen','Yemen',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('YT','Mayotte','Mayotte',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('YU','Yugoslavia','Yugoslavia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ZA','South Africa','South Africa',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ZM','Zambia','Zambia',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ZR','Zaire','Zaire',NULL);

+REPLACE INTO `fn_lu_country` VALUES ('ZW','Zimbabwe','Zimbabwe',NULL);

+

+--

+-- Dumping data for table `fn_lu_menu_set`

+--

+INSERT INTO `fn_lu_menu_set` VALUES ('APP','Application Menu') ON DUPLICATE KEY UPDATE MENU_SET_NAME='Application Menu';

+

+--

+-- Dumping data for table `fn_lu_priority`

+--

+REPLACE INTO `fn_lu_priority` VALUES (10,'Low','Y',10);

+REPLACE INTO `fn_lu_priority` VALUES (20,'Normal','Y',20);

+REPLACE INTO `fn_lu_priority` VALUES (30,'High','Y',30);

+REPLACE INTO `fn_lu_priority` VALUES (40,'Urgent','Y',40);

+REPLACE INTO `fn_lu_priority` VALUES (50,'Fatal','Y',50);

+

+--

+-- Dumping data for table `fn_lu_state`

+--

+REPLACE INTO `fn_lu_state` VALUES ('AK','AK - Alaska');

+REPLACE INTO `fn_lu_state` VALUES ('AL','AL - Alabama');

+REPLACE INTO `fn_lu_state` VALUES ('AR','AR - Arkansas');

+REPLACE INTO `fn_lu_state` VALUES ('AZ','AZ - Arizona');

+REPLACE INTO `fn_lu_state` VALUES ('CA','CA - California');

+REPLACE INTO `fn_lu_state` VALUES ('CO','CO - Colorado');

+REPLACE INTO `fn_lu_state` VALUES ('CT','CT - Connecticut');

+REPLACE INTO `fn_lu_state` VALUES ('DC','DC - District Of Columbia');

+REPLACE INTO `fn_lu_state` VALUES ('DE','DE - Delaware');

+REPLACE INTO `fn_lu_state` VALUES ('FL','FL - Florida');

+REPLACE INTO `fn_lu_state` VALUES ('GA','GA - Georgia');

+REPLACE INTO `fn_lu_state` VALUES ('HI','HI - Hawaii');

+REPLACE INTO `fn_lu_state` VALUES ('IA','IA - Iowa');

+REPLACE INTO `fn_lu_state` VALUES ('ID','ID - Idaho');

+REPLACE INTO `fn_lu_state` VALUES ('IL','IL - Illinois');

+REPLACE INTO `fn_lu_state` VALUES ('IN','IN - Indiana');

+REPLACE INTO `fn_lu_state` VALUES ('KS','KS - Kansas');

+REPLACE INTO `fn_lu_state` VALUES ('KY','KY - Kentucky');

+REPLACE INTO `fn_lu_state` VALUES ('LA','LA - Louisiana');

+REPLACE INTO `fn_lu_state` VALUES ('MA','MA - Massachusetts');

+REPLACE INTO `fn_lu_state` VALUES ('MD','MD - Maryland');

+REPLACE INTO `fn_lu_state` VALUES ('ME','ME - Maine');

+REPLACE INTO `fn_lu_state` VALUES ('MI','MI - Michigan');

+REPLACE INTO `fn_lu_state` VALUES ('MN','MN - Minnesota');

+REPLACE INTO `fn_lu_state` VALUES ('MO','MO - Missouri');

+REPLACE INTO `fn_lu_state` VALUES ('MS','MS - Mississippi');

+REPLACE INTO `fn_lu_state` VALUES ('MT','MT - Montana');

+REPLACE INTO `fn_lu_state` VALUES ('NC','NC - North Carolina');

+REPLACE INTO `fn_lu_state` VALUES ('ND','ND - North Dakota');

+REPLACE INTO `fn_lu_state` VALUES ('NE','NE - Nebraska');

+REPLACE INTO `fn_lu_state` VALUES ('NH','NH - New Hampshire');

+REPLACE INTO `fn_lu_state` VALUES ('NJ','NJ - New Jersey');

+REPLACE INTO `fn_lu_state` VALUES ('NM','NM - New Mexico');

+REPLACE INTO `fn_lu_state` VALUES ('NV','NV - Nevada');

+REPLACE INTO `fn_lu_state` VALUES ('NY','NY - New York');

+REPLACE INTO `fn_lu_state` VALUES ('OH','OH - Ohio');

+REPLACE INTO `fn_lu_state` VALUES ('OK','OK - Oklahoma');

+REPLACE INTO `fn_lu_state` VALUES ('OR','OR - Oregon');

+REPLACE INTO `fn_lu_state` VALUES ('PA','PA - Pennsylvania');

+REPLACE INTO `fn_lu_state` VALUES ('PR','PR - Puerto Rico');

+REPLACE INTO `fn_lu_state` VALUES ('RI','RI - Rhode Island');

+REPLACE INTO `fn_lu_state` VALUES ('SC','SC - South Carolina');

+REPLACE INTO `fn_lu_state` VALUES ('SD','SD - South Dakota');

+REPLACE INTO `fn_lu_state` VALUES ('TN','TN - Tennessee');

+REPLACE INTO `fn_lu_state` VALUES ('TX','TX - Texas');

+REPLACE INTO `fn_lu_state` VALUES ('UT','UT - Utah');

+REPLACE INTO `fn_lu_state` VALUES ('VA','VA - Virginia');

+REPLACE INTO `fn_lu_state` VALUES ('VI','VI-Virgin Island');

+REPLACE INTO `fn_lu_state` VALUES ('VT','VT - Vermont');

+REPLACE INTO `fn_lu_state` VALUES ('WA','WA - Washington');

+REPLACE INTO `fn_lu_state` VALUES ('WI','WI - Wisconsin');

+REPLACE INTO `fn_lu_state` VALUES ('WV','WV - West Virginia');

+REPLACE INTO `fn_lu_state` VALUES ('WY','WY - Wyoming');

+

+--

+-- Dumping data for table `fn_lu_tab_set`

+--

+INSERT INTO `fn_lu_tab_set` VALUES ('APP','Application Tabs') ON DUPLICATE KEY UPDATE TAB_SET_NAME='Application Tabs';

+

+--

+-- Dumping data for table `fn_lu_timezone`

+--

+INSERT INTO `fn_lu_timezone` VALUES (10,'US/Eastern','US/Eastern') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Eastern', TIMEZONE_VALUE='US/Eastern';

+INSERT INTO `fn_lu_timezone` VALUES (20,'US/Central','US/Central') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Central', TIMEZONE_VALUE='US/Central';

+INSERT INTO `fn_lu_timezone` VALUES (30,'US/Mountain','US/Mountain') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Mountain', TIMEZONE_VALUE='US/Mountain';

+INSERT INTO `fn_lu_timezone` VALUES (40,'US/Arizona','America/Phoenix') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Arizona', TIMEZONE_VALUE='America/Phoenix';

+INSERT INTO `fn_lu_timezone` VALUES (50,'US/Pacific','US/Pacific') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Pacific', TIMEZONE_VALUE='US/Pacific';

+INSERT INTO `fn_lu_timezone` VALUES (60,'US/Alaska','US/Alaska') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Alaska', TIMEZONE_VALUE='US/Alaska';

+INSERT INTO `fn_lu_timezone` VALUES (70,'US/Hawaii','US/Hawaii') ON DUPLICATE KEY UPDATE TIMEZONE_NAME='US/Hawaii', TIMEZONE_VALUE='US/Hawaii';

+

+--

+-- Dumping data for table `fn_menu`

+--

+INSERT INTO `fn_menu` VALUES (1,'Root',NULL,10,NULL,'menu_home','N',NULL,NULL,NULL,NULL,'APP','N',NULL) ON DUPLICATE KEY UPDATE LABEL='Root', PARENT_ID=NULL, SORT_ORDER=10, ACTION=NULL, FUNCTION_CD='menu_home', ACTIVE_YN='N', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC=NULL;

+INSERT INTO `fn_menu` VALUES (2,'VID Home',1,10,'welcome.htm','menu_home','Y',NULL,NULL,NULL,NULL,'APP','N','icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='VID Home', PARENT_ID=1, SORT_ORDER=10, ACTION='welcome.htm', FUNCTION_CD='menu_home', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+

+INSERT INTO `fn_menu` VALUES (3,'Search for Existing Service Instances',1,10,'serviceModels.htm#/instances/services','menu_searchexisting','Y',NULL,NULL,NULL,NULL,'APP','N','icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='Search for Existing Service Instances', PARENT_ID=1, SORT_ORDER=10, ACTION='serviceModels.htm#/instances/services', FUNCTION_CD='menu_searchexisting', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+INSERT INTO `fn_menu` VALUES (10,'Admin',1,110,'role_list.htm','menu_admin','Y',NULL,NULL,NULL,NULL,'APP','N','icon-settings') ON DUPLICATE KEY UPDATE LABEL='Admin', PARENT_ID=1, SORT_ORDER=110, ACTION='admin', FUNCTION_CD='menu_admin', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-settings';

+INSERT INTO `fn_menu` VALUES (13,'VID Logout',1,130,'app_logout.htm','menu_logout','N',NULL,NULL,NULL,NULL,'APP','N','icon-sign-out') ON DUPLICATE KEY UPDATE LABEL='VID Logout', PARENT_ID=1, SORT_ORDER=130, ACTION='app_logout.htm', FUNCTION_CD='menu_logout', ACTIVE_YN='N', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-sign-out';

+INSERT INTO `fn_menu` VALUES (42,'Browse SDC Service Models',1,10,'serviceModels.htm','menu_servicemodels','Y',NULL,NULL,NULL,NULL,'APP','N','icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='Browse SDC Service Instances', PARENT_ID=1, SORT_ORDER=10, ACTION='serviceModels.htm', FUNCTION_CD='menu_servicemodels', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+INSERT INTO `fn_menu` VALUES (41,'Create New Service Instance',1,10,'serviceModels.htm#/instances/subscribers','menu_newserinstance','Y',NULL,NULL,NULL,NULL,'APP','N','icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='Create New Service Instance', PARENT_ID=1, SORT_ORDER=10, ACTION='serviceModels.htm#/instances/subscribers', FUNCTION_CD='menu_newserinstance', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+INSERT INTO `fn_menu` VALUES (43,'View Log',1,10,'viewlog.htm','menu_viewlog','N',NULL,NULL,NULL,NULL,'APP','N','icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='View Log', PARENT_ID=1, SORT_ORDER=10, ACTION='viewlog.htm', FUNCTION_CD='menu_viewlog', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+INSERT INTO `fn_menu` VALUES (101,'Roles',10,20,'admin','menu_admin','Y',NULL,NULL,NULL,NULL,'APP','N','/static/fusion/images/users.png') ON DUPLICATE KEY UPDATE LABEL='Roles', PARENT_ID=10, SORT_ORDER=20, ACTION='admin', FUNCTION_CD='menu_admin', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='/static/fusion/images/users.png';

+INSERT INTO `fn_menu` VALUES (102,'Role Functions',10,30,'admin#/role_function_list','menu_admin','Y',NULL,NULL,NULL,NULL,'APP','N',NULL) ON DUPLICATE KEY UPDATE LABEL='Role Functions', PARENT_ID=10, SORT_ORDER=30, ACTION='admin#/role_function_list', FUNCTION_CD='menu_admin', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC=NULL;

+INSERT INTO `fn_menu` VALUES (103,'Broadcast Messages',10,50,'admin#/broadcast_list','menu_admin','N',NULL,NULL,NULL,NULL,'APP','N','/static/fusion/images/bubble.png') ON DUPLICATE KEY UPDATE LABEL='Broadcast Messages', PARENT_ID=10, SORT_ORDER=50, ACTION='admin#/broadcast_list', FUNCTION_CD='menu_admin', ACTIVE_YN='N', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='/static/fusion/images/bubble.png';

+INSERT INTO `fn_menu` VALUES (105,'Cache Admin',10,40,'admin#/jcs_admin','menu_admin','N',NULL,NULL,NULL,NULL,'APP','N','/static/fusion/images/cache.png') ON DUPLICATE KEY UPDATE LABEL='Cache Admin', PARENT_ID=10, SORT_ORDER=40, ACTION='admin#/jcs_admin', FUNCTION_CD='menu_admin', ACTIVE_YN='N', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='/static/fusion/images/cache.png';

+INSERT INTO `fn_menu` VALUES (106,'Lock/Unlock Application',10,60,'application_lockout.htm','menu_admin','N',NULL,NULL,NULL,NULL,'APP','N','/static/fusion/images/decrypted.png') ON DUPLICATE KEY UPDATE LABEL='Lock/Unlock Application', PARENT_ID=10, SORT_ORDER=60, ACTION='application_lockout.htm', FUNCTION_CD='menu_admin', ACTIVE_YN='N', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='/static/fusion/images/decrypted.png';

+INSERT INTO `fn_menu` VALUES (108,'Usage',10,80,'admin#/usage_list','menu_admin','N',NULL,NULL,NULL,NULL,'APP','N','/static/fusion/images/users.png') ON DUPLICATE KEY UPDATE LABEL='Usage', PARENT_ID=10, SORT_ORDER=80, ACTION='admin#/usage_list', FUNCTION_CD='menu_admin', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='/static/fusion/images/users.png';

+INSERT INTO `fn_menu` VALUES (109, 'VNF Changes', 1, 11, 'serviceModels.htm#/change-management', 'menu_changemanagement', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', 'icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='VNF Changes', PARENT_ID=1, SORT_ORDER=11, ACTION='serviceModels.htm#/change-management', FUNCTION_CD='menu_changemanagement', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+--INSERT INTO `fn_menu` VALUES (110, 'Test Environments', 1, 12, 'serviceModels.htm#/testEnvironments', 'menu_testenvironment', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', 'icon-location-pin') ON DUPLICATE KEY UPDATE LABEL='Test Environments', PARENT_ID=1, SORT_ORDER=12, ACTION='serviceModels.htm#/testEnvironments', FUNCTION_CD='menu_testenvironment', ACTIVE_YN='Y', SERVLET=NULL, QUERY_STRING=NULL, EXTERNAL_URL=NULL, TARGET=NULL, MENU_SET_CD='APP', SEPARATOR_YN='N', IMAGE_SRC='icon-location-pin';

+--

+-- Dumping data for table `fn_restricted_url`

+--

+REPLACE INTO `fn_restricted_url` VALUES ('attachment.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('broadcast.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('file_upload.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('job.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('role.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('role_function.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('test.htm','menu_admin');

+REPLACE INTO `fn_restricted_url` VALUES ('serviceModels.htm','menu_servicemodels');

+REPLACE INTO `fn_restricted_url` VALUES ('async_test.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('chatWindow.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('contact_list.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('customer_dynamic_list.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('event.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('event_list.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('mobile_welcome.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('sample_map.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('template.jsp','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('welcome.htm','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('zkau','menu_home');

+REPLACE INTO `fn_restricted_url` VALUES ('itracker_assign.htm','menu_itracker');

+REPLACE INTO `fn_restricted_url` VALUES ('itracker_byassignee.htm','menu_itracker');

+REPLACE INTO `fn_restricted_url` VALUES ('itracker_create.htm','menu_itracker');

+REPLACE INTO `fn_restricted_url` VALUES ('itracker_update.htm','menu_itracker');

+REPLACE INTO `fn_restricted_url` VALUES ('manage_license.htm','menu_itracker');

+REPLACE INTO `fn_restricted_url` VALUES ('support_ticket.htm','menu_itracker');

+REPLACE INTO `fn_restricted_url` VALUES ('jbpm_designer.htm','menu_job_create');

+REPLACE INTO `fn_restricted_url` VALUES ('jbpm_drools.htm','menu_job_create');

+REPLACE INTO `fn_restricted_url` VALUES ('process_job.htm','menu_job_create');

+-- REPLACE INTO `fn_restricted_url` VALUES ('novamap_controller.htm','menu_map');

+REPLACE INTO `fn_restricted_url` VALUES ('createnewserviceinstance.htm','menu_newserinstance');

+REPLACE INTO `fn_restricted_url` VALUES ('profile.htm','menu_profile_create');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor.htm','menu_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor2.htm','menu_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor_blob_extract.htm','menu_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor_email_attachment.htm','menu_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor_search.htm','menu_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('report_list.htm','menu_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('gauge.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('gmap_controller.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('gmap_frame.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('map.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('map_download.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('map_grid_search.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('sample_animated_map.htm','menu_tab');

+-- REPLACE INTO `fn_restricted_url` VALUES ('sample_heat_map.htm','menu_tab');

+-- REPLACE INTO `fn_restricted_url` VALUES ('sample_heat_map_no_header.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('sample_map_2.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('sample_map_3.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('tab2_sub1.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('tab2_sub2_link1.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('tab2_sub2_link2.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('tab2_sub3.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('tab3.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('tab4.htm','menu_tab');

+REPLACE INTO `fn_restricted_url` VALUES ('viewlog.htm','menu_viewlog');

+-- REPLACE INTO `fn_restricted_url` VALUES ('bd_optima.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('bd_optima_interactive.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('bd_p2t.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('grid_heatmap.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('hive.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('hiveconfig.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('hiveconfig_popup.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('hive_search.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('hive_search_popup.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('jbpmTestProcess.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('job_progress.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('mapreduce.htm','quantum_bd');

+-- REPLACE INTO `fn_restricted_url` VALUES ('mapreduce_search.htm','quantum_bd');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor.htm','view_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('raptor_blob_extract.htm','view_reports');

+REPLACE INTO `fn_restricted_url` VALUES ('serviceModels.htm','menu_servicemodels');

+--

+-- Dumping data for table `fn_role`

+--

+INSERT INTO `fn_role` VALUES (1,'System Administrator','Y',1) ON DUPLICATE KEY UPDATE ROLE_NAME='System Administrator', ACTIVE_YN='Y', PRIORITY=1;

+INSERT INTO `fn_role` VALUES (16,'Standard User','Y',5) ON DUPLICATE KEY UPDATE ROLE_NAME='Standard User', ACTIVE_YN='Y', PRIORITY=5;

+

+--

+-- Dumping data for table `fn_role_composite`

+--

+REPLACE INTO `fn_role_composite` VALUES (1,16);

+

+--

+-- Dumping data for table `fn_role_function`

+--

+REPLACE INTO `fn_role_function` VALUES (1,'doclib');

+REPLACE INTO `fn_role_function` VALUES (1,'doclib_admin');

+REPLACE INTO `fn_role_function` VALUES (1,'login');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_admin');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_ajax');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_servicemodels');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_customer');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_customer_create');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_feedback');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_help');

+-- REPLACE INTO `fn_role_function` VALUES (1,'menu_hiveconfig');

+-- REPLACE INTO `fn_role_function` VALUES (1,'menu_hiveconfig_create');

+-- REPLACE INTO `fn_role_function` VALUES (1,'menu_hiveconfig_search');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_home');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_itracker');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_itracker_admin');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_job');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_job_create');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_logout');

+-- REPLACE INTO `fn_role_function` VALUES (1,'menu_mapreduce');

+-- REPLACE INTO `fn_role_function` VALUES (1,'menu_mapreduce_create');

+-- REPLACE INTO `fn_role_function` VALUES (1,'menu_mapreduce_search');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_newserinstance');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_notes');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_process');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_profile');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_profile_create');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_profile_import');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_reports');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_sample');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_tab');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_test');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_viewlog');

+-- REPLACE INTO `fn_role_function` VALUES (1,'quantum_bd');

+REPLACE INTO `fn_role_function` VALUES (16,'login');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_ajax');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_servicemodels');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_customer');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_customer_create');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_home');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_itracker');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_logout');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_map');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_newserinstance');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_profile');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_reports');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_tab');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_viewlog');

+-- REPLACE INTO `fn_role_function` VALUES (16,'quantum_bd');

+REPLACE INTO `fn_role_function` VALUES ('1', 'menu_searchexisting');

+REPLACE INTO `fn_role_function` VALUES ('16', 'menu_searchexisting');

+REPLACE INTO `fn_role_function` VALUES (1,'menu_changemanagement');

+REPLACE INTO `fn_role_function` VALUES (16,'menu_changemanagement');

+--REPLACE INTO `fn_role_function` VALUES (1,'menu_testenvironment');

+--REPLACE INTO `fn_role_function` VALUES (16,'menu_testenvironment');

+

+update fn_menu set active_yn = 'Y' where label = 'Admin';

+update fn_menu set active_yn = 'Y' where label = 'Root';

+update fn_menu set action = 'admin' where label = 'Admin';

+

+--

+-- Dumping data for table `fn_tab`

+--

+INSERT INTO `fn_tab` VALUES ('TAB1','Tab 1','Tab 1 Information','tab1.htm','menu_tab','Y',10,NULL,'APP') ON DUPLICATE KEY UPDATE TAB_NAME='Tab 1', TAB_DESCR='Tab 1 Information', ACTION='tab1.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=10, PARENT_TAB_CD=NULL, TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB2','Tab 2','Tab 2 Information','tab2_sub1.htm','menu_tab','Y',20,NULL,'APP') ON DUPLICATE KEY UPDATE TAB_NAME='Tab 2', TAB_DESCR='Tab 2 Information', ACTION='tab2_sub1.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=20, PARENT_TAB_CD=NULL, TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB2_SUB1','Sub Tab 1','Sub Tab 1 Information','tab2_sub1.htm','menu_tab','Y',10,'TAB2','APP') ON DUPLICATE KEY UPDATE TAB_NAME='Sub Tab 1', TAB_DESCR='Sub Tab 1 Information', ACTION='tab2_sub1.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=10, PARENT_TAB_CD='TAB2', TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB2_SUB1_S1','Left Tab 1','Sub - Sub Tab 1 Information','tab2_sub1.htm','menu_tab','Y',10,'TAB2_SUB1','APP') ON DUPLICATE KEY UPDATE TAB_NAME='Left Tab 1', TAB_DESCR='Sub - Sub Tab 1 Information', ACTION='tab2_sub1.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=10, PARENT_TAB_CD='TAB2_SUB1', TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB2_SUB2','Sub Tab 2','Sub Tab 2 Information','tab2_sub2.htm','menu_tab','Y',20,'TAB2','APP') ON DUPLICATE KEY UPDATE TAB_NAME='Sub Tab 2', TAB_DESCR='Sub Tab 2 Information', ACTION='tab2_sub2.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=20, PARENT_TAB_CD='TAB2', TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB2_SUB3','Sub Tab 3','Sub Tab 3 Information','tab2_sub3.htm','menu_tab','Y',30,'TAB2','APP') ON DUPLICATE KEY UPDATE TAB_NAME='Sub Tab 3', TAB_DESCR='Sub Tab 3 Information', ACTION='tab2_sub3.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=30, PARENT_TAB_CD='TAB2', TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB3','Tab 3','Tab 3 Information','tab3.htm','menu_tab','Y',30,NULL,'APP') ON DUPLICATE KEY UPDATE TAB_NAME='Tab 3', TAB_DESCR='Tab 3 Information', ACTION='tab3.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=30, PARENT_TAB_CD=NULL, TAB_SET_CD='APP';

+INSERT INTO `fn_tab` VALUES ('TAB4','Tab 4','Tab 4 Information','tab4.htm','menu_tab','Y',40,NULL,'APP') ON DUPLICATE KEY UPDATE TAB_NAME='Tab 4', TAB_DESCR='Tab 4 Information', ACTION='tab4.htm', FUNCTION_CD='menu_tab', ACTIVE_YN='Y', SORT_ORDER=40, PARENT_TAB_CD=NULL, TAB_SET_CD='APP';

+

+--

+-- Dumping data for table `fn_tab_selected`

+--

+REPLACE INTO `fn_tab_selected` VALUES ('TAB1','tab1');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2','tab2_sub1');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2','tab2_sub2');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2','tab2_sub3');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2_SUB1','tab2_sub1');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2_SUB1_S1','tab2_sub1');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2_SUB2','tab2_sub2');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB2_SUB3','tab2_sub3');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB3','tab3');

+REPLACE INTO `fn_tab_selected` VALUES ('TAB4','tab4');

+

+

+--

+-- Dumping data for table `fn_user`

+--

+INSERT IGNORE `fn_user` VALUES (1,null,null,'Demo',null,'User',null,null,null,null,null,null,null,'demo',null,'demo','Kp8bJ4SXszM0WX','2016-11-14 13:24:07','Y',null,'2016-10-17 00:00:00',1,'2016-11-14 13:24:07','N',null,null,null,'NJ',null,'US',null,null,null,null,null,10,null,null,null,null,null,null);

+INSERT IGNORE `fn_user` VALUES (2,null,null,'vid1',null,'User',null,null,null,null,null,null,null,'vid1',null,'vid1','Kp8bJ4SXszM0WX','2016-11-14 13:24:07','Y',null,'2016-10-17 00:00:00',1,'2016-11-14 13:24:07','N',null,null,null,'NJ',null,'US',null,null,null,null,null,10,null,null,null,null,null,null);

+INSERT IGNORE `fn_user` VALUES (3,null,null,'vid2',null,'User',null,null,null,null,null,null,null,'vid2',null,'vid2','Kp8bJ4SXszM0WX','2016-11-14 13:24:07','Y',null,'2016-10-17 00:00:00',1,'2016-11-14 13:24:07','N',null,null,null,'NJ',null,'US',null,null,null,null,null,10,null,null,null,null,null,null);

+INSERT IGNORE `fn_user` VALUES (4,null,null,'vid3',null,'User',null,null,null,null,null,null,null,'vid3',null,'vid3','Kp8bJ4SXszM0WX','2016-11-14 13:24:07','Y',null,'2016-10-17 00:00:00',1,'2016-11-14 13:24:07','N',null,null,null,'NJ',null,'US',null,null,null,null,null,10,null,null,null,null,null,null);

+INSERT IGNORE `fn_user` VALUES (5,null,null,'vid4',null,'User',null,null,null,null,null,null,null,'vid4',null,'vid4','Kp8bJ4SXszM0WX','2016-11-14 13:24:07','Y',null,'2016-10-17 00:00:00',1,'2016-11-14 13:24:07','N',null,null,null,'NJ',null,'US',null,null,null,null,null,10,null,null,null,null,null,null);

+

+INSERT IGNORE `fn_user_role` VALUES (1,1,NULL,1);

+INSERT IGNORE `fn_user_role` VALUES (2,1,NULL,1);

+INSERT IGNORE `fn_user_role` VALUES (3,1,NULL,1);

+INSERT IGNORE `fn_user_role` VALUES (4,1,NULL,1);

+INSERT IGNORE `fn_user_role` VALUES (5,1,NULL,1);

diff --git a/onap-enabler-infra/src/main/resources/osam-core-pre-init.sql b/onap-enabler-infra/src/main/resources/osam-core-pre-init.sql
new file mode 100644
index 0000000..53740d5
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/osam-core-pre-init.sql
@@ -0,0 +1,32 @@
+/*-

+ * ============LICENSE_START=======================================================

+ * VID

+ * ================================================================================

+ * 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=========================================================

+ */

+CREATE TABLE IF NOT EXISTS `osam_core`.`schema_info` (

+  `SCHEMA_ID` VARCHAR(25) NOT NULL,

+  `SCHEMA_DESC` VARCHAR(75) NOT NULL,

+  `DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL,

+  `CONNECTION_URL` VARCHAR(200) NOT NULL,

+  `USER_NAME` VARCHAR(45) NOT NULL,

+  `PASSWORD` VARCHAR(45) NULL DEFAULT NULL,

+  `DRIVER_CLASS` VARCHAR(100) NOT NULL,

+  `MIN_POOL_SIZE` INT(11) NOT NULL,

+  `MAX_POOL_SIZE` INT(11) NOT NULL,

+  `IDLE_CONNECTION_TEST_PERIOD` INT(11) NOT NULL)

+ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

diff --git a/onap-enabler-infra/src/main/resources/osam-core-schema.sql b/onap-enabler-infra/src/main/resources/osam-core-schema.sql
new file mode 100644
index 0000000..4a2e17e
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/osam-core-schema.sql
@@ -0,0 +1,1324 @@
+/*-

+ * ============LICENSE_START=======================================================

+ * VID

+ * ================================================================================

+ * 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=========================================================

+ */

+-- ----------------------------------------------------------------------------

+-- MySQL Workbench Migration

+-- Migrated Schemata: osam_core

+-- Source Schemata: ecomp_sd

+-- Created: Sun Nov 13 08:58:53 2016

+-- Workbench Version: 6.3.6

+-- ----------------------------------------------------------------------------

+

+SET FOREIGN_KEY_CHECKS = 0;

+

+-- ----------------------------------------------------------------------------

+-- Schema osam_core

+-- ----------------------------------------------------------------------------

+CREATE SCHEMA IF NOT EXISTS `osam_core` ;

+

+USE osam_core;

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_favorite_reports

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_favorite_reports` (

+  `USER_ID` INT(11) NOT NULL,

+  `REP_ID` INT(11) NOT NULL,

+PRIMARY KEY (`USER_ID`, `REP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_filehist_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_filehist_log` (

+  `SCHEDULE_ID` DECIMAL(11,0) NOT NULL,

+  `URL` VARCHAR(4000) NULL DEFAULT NULL,

+  `NOTES` VARCHAR(3500) NULL DEFAULT NULL,

+  `RUN_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_folder

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_folder` (

+  `FOLDER_ID` INT(11) NOT NULL,

+  `FOLDER_NAME` VARCHAR(50) NOT NULL,

+  `DESCR` VARCHAR(500) NULL DEFAULT NULL,

+  `CREATE_ID` INT(11) NOT NULL,

+  `CREATE_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+  `PARENT_FOLDER_ID` INT(11) NULL DEFAULT NULL,

+  `PUBLIC_YN` VARCHAR(1) NOT NULL DEFAULT 'N',

+PRIMARY KEY (`FOLDER_ID`),

+INDEX `FK_PARENT_KEY_CR_FOLDER` (`PARENT_FOLDER_ID` ASC),

+CONSTRAINT `FK_PARENT_KEY_CR_FOLDER`

+FOREIGN KEY (`PARENT_FOLDER_ID`)

+REFERENCES `osam_core`.`cr_folder` (`FOLDER_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_folder_access

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_folder_access` (

+  `FOLDER_ACCESS_ID` DECIMAL(11,0) NOT NULL,

+  `FOLDER_ID` DECIMAL(11,0) NOT NULL,

+  `ORDER_NO` DECIMAL(11,0) NOT NULL,

+  `ROLE_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `USER_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `READ_ONLY_YN` VARCHAR(1) NOT NULL DEFAULT 'N',

+PRIMARY KEY (`FOLDER_ACCESS_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_hist_user_map

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_hist_user_map` (

+  `HIST_ID` INT(11) NOT NULL,

+  `USER_ID` INT(11) NOT NULL,

+PRIMARY KEY (`HIST_ID`, `USER_ID`),

+INDEX `SYS_C0014617` (`USER_ID` ASC),

+CONSTRAINT `SYS_C0014616`

+FOREIGN KEY (`HIST_ID`)

+REFERENCES `osam_core`.`cr_report_file_history` (`HIST_ID`),

+CONSTRAINT `SYS_C0014617`

+FOREIGN KEY (`USER_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_lu_file_type

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_lu_file_type` (

+  `LOOKUP_ID` DECIMAL(2,0) NOT NULL,

+  `LOOKUP_DESCR` VARCHAR(255) NOT NULL,

+  `ACTIVE_YN` CHAR(1) NULL DEFAULT 'Y',

+  `ERROR_CODE` DECIMAL(11,0) NULL DEFAULT NULL,

+PRIMARY KEY (`LOOKUP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_raptor_action_img

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_raptor_action_img` (

+  `IMAGE_ID` VARCHAR(100) NOT NULL,

+  `IMAGE_LOC` VARCHAR(400) NULL DEFAULT NULL,

+PRIMARY KEY (`IMAGE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_raptor_pdf_img

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_raptor_pdf_img` (

+  `IMAGE_ID` VARCHAR(100) NOT NULL,

+  `IMAGE_LOC` VARCHAR(400) NULL DEFAULT NULL,

+PRIMARY KEY (`IMAGE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_remote_schema_info

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_remote_schema_info` (

+  `SCHEMA_PREFIX` VARCHAR(5) NOT NULL,

+  `SCHEMA_DESC` VARCHAR(75) NOT NULL,

+  `DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL,

+PRIMARY KEY (`SCHEMA_PREFIX`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report` (

+  `REP_ID` DECIMAL(11,0) NOT NULL,

+  `TITLE` VARCHAR(100) NOT NULL,

+  `DESCR` VARCHAR(255) NULL DEFAULT NULL,

+  `PUBLIC_YN` VARCHAR(1) NOT NULL DEFAULT 'N',

+  `REPORT_XML` TEXT NULL DEFAULT NULL,

+  `CREATE_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `CREATE_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `MAINT_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `MAINT_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `MENU_ID` VARCHAR(500) NULL DEFAULT NULL,

+  `MENU_APPROVED_YN` VARCHAR(1) NOT NULL DEFAULT 'N',

+  `OWNER_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `FOLDER_ID` INT(11) NULL DEFAULT '0',

+  `DASHBOARD_TYPE_YN` VARCHAR(1) NULL DEFAULT 'N',

+  `DASHBOARD_YN` VARCHAR(1) NULL DEFAULT 'N',

+PRIMARY KEY (`REP_ID`),

+INDEX `CR_REPORT_CREATE_IDPUBLIC_YNTITLE` (`CREATE_ID` ASC, `PUBLIC_YN` ASC, `TITLE` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_access

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_access` (

+  `REP_ID` DECIMAL(11,0) NOT NULL,

+  `ORDER_NO` DECIMAL(11,0) NOT NULL,

+  `ROLE_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `USER_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `READ_ONLY_YN` VARCHAR(1) NOT NULL DEFAULT 'N',

+PRIMARY KEY (`REP_ID`, `ORDER_NO`),

+CONSTRAINT `FK_CR_REPOR_REF_8550_CR_REPOR`

+FOREIGN KEY (`REP_ID`)

+REFERENCES `osam_core`.`cr_report` (`REP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_dwnld_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_dwnld_log` (

+  `USER_ID` DECIMAL(11,0) NOT NULL,

+  `REP_ID` INT(11) NOT NULL,

+  `FILE_NAME` VARCHAR(100) NOT NULL,

+  `DWNLD_START_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `RECORD_READY_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `FILTER_PARAMS` VARCHAR(2000) NULL DEFAULT NULL)

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_email_sent_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_email_sent_log` (

+  `LOG_ID` INT(11) NOT NULL,

+  `SCHEDULE_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `GEN_KEY` VARCHAR(25) NOT NULL,

+  `REP_ID` DECIMAL(11,0) NOT NULL,

+  `USER_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `SENT_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `ACCESS_FLAG` VARCHAR(1) NOT NULL DEFAULT 'Y',

+  `TOUCH_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+PRIMARY KEY (`LOG_ID`),

+INDEX `FK_CR_REPORT_REP_ID` (`REP_ID` ASC),

+CONSTRAINT `FK_CR_REPORT_REP_ID`

+FOREIGN KEY (`REP_ID`)

+REFERENCES `osam_core`.`cr_report` (`REP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_file_history

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_file_history` (

+  `HIST_ID` INT(11) NOT NULL,

+  `SCHED_USER_ID` DECIMAL(11,0) NOT NULL,

+  `SCHEDULE_ID` DECIMAL(11,0) NOT NULL,

+  `USER_ID` DECIMAL(11,0) NOT NULL,

+  `REP_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `RUN_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+  `RECURRENCE` VARCHAR(50) NULL DEFAULT NULL,

+  `FILE_TYPE_ID` DECIMAL(2,0) NULL DEFAULT NULL,

+  `FILE_NAME` VARCHAR(80) NULL DEFAULT NULL,

+  `FILE_BLOB` BLOB NULL DEFAULT NULL,

+  `FILE_SIZE` DECIMAL(11,0) NULL DEFAULT NULL,

+  `RAPTOR_URL` VARCHAR(4000) NULL DEFAULT NULL,

+  `ERROR_YN` CHAR(1) NULL DEFAULT 'N',

+  `ERROR_CODE` DECIMAL(11,0) NULL DEFAULT NULL,

+  `DELETED_YN` CHAR(1) NULL DEFAULT 'N',

+  `DELETED_BY` DECIMAL(38,0) NULL DEFAULT NULL,

+PRIMARY KEY (`HIST_ID`),

+INDEX `SYS_C0014614` (`FILE_TYPE_ID` ASC),

+INDEX `SYS_C0014615` (`REP_ID` ASC),

+CONSTRAINT `SYS_C0014614`

+FOREIGN KEY (`FILE_TYPE_ID`)

+REFERENCES `osam_core`.`cr_lu_file_type` (`LOOKUP_ID`),

+CONSTRAINT `SYS_C0014615`

+FOREIGN KEY (`REP_ID`)

+REFERENCES `osam_core`.`cr_report` (`REP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_log` (

+  `REP_ID` DECIMAL(11,0) NOT NULL,

+  `LOG_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+  `USER_ID` DECIMAL(11,0) NOT NULL,

+  `ACTION` VARCHAR(2000) NOT NULL,

+  `ACTION_VALUE` VARCHAR(50) NULL DEFAULT NULL,

+  `FORM_FIELDS` VARCHAR(4000) NULL DEFAULT NULL,

+INDEX `FK_CR_REPOR_REF_17645_CR_REPOR` (`REP_ID` ASC),

+CONSTRAINT `FK_CR_REPOR_REF_17645_CR_REPOR`

+FOREIGN KEY (`REP_ID`)

+REFERENCES `osam_core`.`cr_report` (`REP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_schedule

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_schedule` (

+  `SCHEDULE_ID` DECIMAL(11,0) NOT NULL,

+  `SCHED_USER_ID` DECIMAL(11,0) NOT NULL,

+  `REP_ID` DECIMAL(11,0) NOT NULL,

+  `ENABLED_YN` VARCHAR(1) NOT NULL,

+  `START_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `END_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `RUN_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `RECURRENCE` VARCHAR(50) NULL DEFAULT NULL,

+  `CONDITIONAL_YN` VARCHAR(1) NOT NULL,

+  `CONDITION_SQL` VARCHAR(4000) NULL DEFAULT NULL,

+  `NOTIFY_TYPE` INT(11) NULL DEFAULT '0',

+  `MAX_ROW` INT(11) NULL DEFAULT '1000',

+  `INITIAL_FORMFIELDS` VARCHAR(3500) NULL DEFAULT NULL,

+  `PROCESSED_FORMFIELDS` VARCHAR(3500) NULL DEFAULT NULL,

+  `FORMFIELDS` VARCHAR(3500) NULL DEFAULT NULL,

+  `CONDITION_LARGE_SQL` TEXT NULL DEFAULT NULL,

+  `ENCRYPT_YN` CHAR(1) NULL DEFAULT 'N',

+  `ATTACHMENT_YN` CHAR(1) NULL DEFAULT 'Y',

+PRIMARY KEY (`SCHEDULE_ID`),

+INDEX `FK_CR_REPOR_REF_14707_CR_REPOR` (`REP_ID` ASC),

+CONSTRAINT `FK_CR_REPOR_REF_14707_CR_REPOR`

+FOREIGN KEY (`REP_ID`)

+REFERENCES `osam_core`.`cr_report` (`REP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_schedule_users

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_schedule_users` (

+  `SCHEDULE_ID` DECIMAL(11,0) NOT NULL,

+  `REP_ID` DECIMAL(11,0) NOT NULL,

+  `USER_ID` DECIMAL(11,0) NOT NULL,

+  `ROLE_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `ORDER_NO` DECIMAL(11,0) NOT NULL,

+PRIMARY KEY (`SCHEDULE_ID`, `REP_ID`, `USER_ID`, `ORDER_NO`),

+CONSTRAINT `FK_CR_REPOR_REF_14716_CR_REPOR`

+FOREIGN KEY (`SCHEDULE_ID`)

+REFERENCES `osam_core`.`cr_report_schedule` (`SCHEDULE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_report_template_map

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_report_template_map` (

+  `REPORT_ID` INT(11) NOT NULL,

+  `TEMPLATE_FILE` VARCHAR(200) NULL DEFAULT NULL,

+PRIMARY KEY (`REPORT_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_schedule_activity_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_schedule_activity_log` (

+  `SCHEDULE_ID` DECIMAL(11,0) NOT NULL,

+  `URL` VARCHAR(4000) NULL DEFAULT NULL,

+  `NOTES` VARCHAR(2000) NULL DEFAULT NULL,

+  `RUN_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_table_join

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_table_join` (

+  `SRC_TABLE_NAME` VARCHAR(30) NOT NULL,

+  `DEST_TABLE_NAME` VARCHAR(30) NOT NULL,

+  `JOIN_EXPR` VARCHAR(500) NOT NULL,

+INDEX `CR_TABLE_JOIN_DEST_TABLE_NAME` (`DEST_TABLE_NAME` ASC),

+INDEX `CR_TABLE_JOIN_SRC_TABLE_NAME` (`SRC_TABLE_NAME` ASC),

+CONSTRAINT `FK_CR_TABLE_REF_311_CR_TAB`

+FOREIGN KEY (`SRC_TABLE_NAME`)

+REFERENCES `osam_core`.`cr_table_source` (`TABLE_NAME`),

+CONSTRAINT `FK_CR_TABLE_REF_315_CR_TAB`

+FOREIGN KEY (`DEST_TABLE_NAME`)

+REFERENCES `osam_core`.`cr_table_source` (`TABLE_NAME`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_table_role

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_table_role` (

+  `TABLE_NAME` VARCHAR(30) NOT NULL,

+  `ROLE_ID` DECIMAL(11,0) NOT NULL,

+PRIMARY KEY (`TABLE_NAME`, `ROLE_ID`),

+CONSTRAINT `FK_CR_TABLE_REF_32384_CR_TABLE`

+FOREIGN KEY (`TABLE_NAME`)

+REFERENCES `osam_core`.`cr_table_source` (`TABLE_NAME`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.cr_table_source

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`cr_table_source` (

+  `TABLE_NAME` VARCHAR(30) NOT NULL,

+  `DISPLAY_NAME` VARCHAR(30) NOT NULL,

+  `PK_FIELDS` VARCHAR(200) NULL DEFAULT NULL,

+  `WEB_VIEW_ACTION` VARCHAR(50) NULL DEFAULT NULL,

+  `LARGE_DATA_SOURCE_YN` VARCHAR(1) NOT NULL DEFAULT 'N',

+  `FILTER_SQL` VARCHAR(4000) NULL DEFAULT NULL,

+  `SOURCE_DB` VARCHAR(50) NULL DEFAULT NULL,

+PRIMARY KEY (`TABLE_NAME`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table vid_portal.fn_app

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_app` (

+  `APP_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `APP_NAME` VARCHAR(100) NOT NULL DEFAULT '?',

+  `APP_IMAGE_URL` VARCHAR(256) NULL DEFAULT NULL,

+  `APP_DESCRIPTION` VARCHAR(512) NULL DEFAULT NULL,

+  `APP_NOTES` VARCHAR(4096) NULL DEFAULT NULL,

+  `APP_URL` VARCHAR(256) NULL DEFAULT NULL,

+  `APP_ALTERNATE_URL` VARCHAR(256) NULL DEFAULT NULL,

+  `APP_REST_ENDPOINT` VARCHAR(2000) NULL DEFAULT NULL,

+  `ML_APP_NAME` VARCHAR(50) NOT NULL DEFAULT '?',

+  `ML_APP_ADMIN_ID` VARCHAR(7) NOT NULL DEFAULT '?',

+  `MOTS_ID` INT(11) NULL DEFAULT NULL,

+  `APP_PASSWORD` VARCHAR(256) NOT NULL DEFAULT '?',

+  `OPEN` CHAR(1) NULL DEFAULT 'N',

+  `ENABLED` CHAR(1) NULL DEFAULT 'Y',

+  `THUMBNAIL` MEDIUMBLOB NULL DEFAULT NULL,

+  `APP_USERNAME` VARCHAR(50) NULL DEFAULT NULL,

+  `UEB_KEY` VARCHAR(256) NULL DEFAULT NULL,

+  `UEB_SECRET` VARCHAR(256) NULL DEFAULT NULL,

+  `UEB_TOPIC_NAME` VARCHAR(256) NULL DEFAULT NULL,

+PRIMARY KEY (`APP_ID`))

+  ENGINE = InnoDB

+  AUTO_INCREMENT = 2

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_app_mme_cpu

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_app_mme_cpu` (

+  `MME` VARCHAR(200) NULL DEFAULT NULL,

+  `YEARMONTH` INT(11) NULL DEFAULT NULL,

+  `SCTP_CPU` INT(11) NULL DEFAULT NULL,

+  `AP_CPU` INT(11) NULL DEFAULT NULL,

+  `DP_CPU` INT(11) NULL DEFAULT NULL,

+  `ROUTER_CPU` INT(11) NULL DEFAULT NULL,

+  `PEB_CPU` INT(11) NULL DEFAULT NULL,

+  `SAU` INT(11) NULL DEFAULT NULL)

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_audit_action

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_audit_action` (

+  `AUDIT_ACTION_ID` INT(11) NOT NULL,

+  `CLASS_NAME` VARCHAR(500) NOT NULL,

+  `METHOD_NAME` VARCHAR(50) NOT NULL,

+  `AUDIT_ACTION_CD` VARCHAR(20) NOT NULL,

+  `AUDIT_ACTION_DESC` VARCHAR(200) NULL DEFAULT NULL,

+  `ACTIVE_YN` VARCHAR(1) NULL DEFAULT NULL,

+PRIMARY KEY (`AUDIT_ACTION_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_audit_action_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_audit_action_log` (

+  `AUDIT_LOG_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `AUDIT_ACTION_CD` VARCHAR(200) NULL DEFAULT NULL,

+  `ACTION_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+  `USER_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `CLASS_NAME` VARCHAR(100) NULL DEFAULT NULL,

+  `METHOD_NAME` VARCHAR(50) NULL DEFAULT NULL,

+  `SUCCESS_MSG` VARCHAR(20) NULL DEFAULT NULL,

+  `ERROR_MSG` VARCHAR(500) NULL DEFAULT NULL,

+PRIMARY KEY (`AUDIT_LOG_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_audit_log

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_audit_log` (

+  `LOG_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `USER_ID` INT(11) NOT NULL,

+  `ACTIVITY_CD` VARCHAR(50) NOT NULL,

+  `AUDIT_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `COMMENTS` VARCHAR(1000) NULL DEFAULT NULL,

+  `AFFECTED_RECORD_ID_BK` VARCHAR(500) NULL DEFAULT NULL,

+  `AFFECTED_RECORD_ID` VARCHAR(4000) NULL DEFAULT NULL,

+PRIMARY KEY (`LOG_ID`),

+INDEX `FN_AUDIT_LOG_ACTIVITY_CD` (`ACTIVITY_CD` ASC),

+INDEX `FN_AUDIT_LOG_USER_ID` (`USER_ID` ASC),

+CONSTRAINT `FK_FN_AUDIT_REF_205_FN_LU_AC`

+FOREIGN KEY (`ACTIVITY_CD`)

+REFERENCES `osam_core`.`fn_lu_activity` (`ACTIVITY_CD`),

+CONSTRAINT `FK_FN_AUDIT_REF_209_FN_USER`

+FOREIGN KEY (`USER_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_broadcast_message

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_broadcast_message` (

+  `MESSAGE_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `MESSAGE_TEXT` VARCHAR(1000) NOT NULL,

+  `MESSAGE_LOCATION_ID` DECIMAL(11,0) NOT NULL,

+  `BROADCAST_START_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `BROADCAST_END_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `ACTIVE_YN` CHAR(1) NOT NULL DEFAULT 'Y',

+  `SORT_ORDER` DECIMAL(4,0) NOT NULL,

+  `BROADCAST_SITE_CD` VARCHAR(50) NULL DEFAULT NULL,

+PRIMARY KEY (`MESSAGE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_chat_logs

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_chat_logs` (

+  `CHAT_LOG_ID` INT(11) NOT NULL,

+  `CHAT_ROOM_ID` INT(11) NULL DEFAULT NULL,

+  `USER_ID` INT(11) NULL DEFAULT NULL,

+  `MESSAGE` VARCHAR(1000) NULL DEFAULT NULL,

+  `MESSAGE_DATE_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+PRIMARY KEY (`CHAT_LOG_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_chat_room

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_chat_room` (

+  `CHAT_ROOM_ID` INT(11) NOT NULL,

+  `NAME` VARCHAR(50) NOT NULL,

+  `DESCRIPTION` VARCHAR(500) NULL DEFAULT NULL,

+  `OWNER_ID` INT(11) NULL DEFAULT NULL,

+  `CREATED_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `UPDATED_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+PRIMARY KEY (`CHAT_ROOM_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_chat_users

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_chat_users` (

+  `CHAT_ROOM_ID` INT(11) NULL DEFAULT NULL,

+  `USER_ID` INT(11) NULL DEFAULT NULL,

+  `LAST_ACTIVITY_DATE_TIME` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+  `CHAT_STATUS` VARCHAR(20) NULL DEFAULT NULL,

+  `ID` INT(11) NOT NULL,

+PRIMARY KEY (`ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_datasource

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_datasource` (

+  `ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `NAME` VARCHAR(50) NULL DEFAULT NULL,

+  `DRIVER_NAME` VARCHAR(256) NULL DEFAULT NULL,

+  `SERVER` VARCHAR(256) NULL DEFAULT NULL,

+  `PORT` INT(11) NULL DEFAULT NULL,

+  `USER_NAME` VARCHAR(256) NULL DEFAULT NULL,

+  `PASSWORD` VARCHAR(256) NULL DEFAULT NULL,

+  `URL` VARCHAR(256) NULL DEFAULT NULL,

+  `MIN_POOL_SIZE` INT(11) NULL DEFAULT NULL,

+  `MAX_POOL_SIZE` INT(11) NULL DEFAULT NULL,

+  `ADAPTER_ID` INT(11) NULL DEFAULT NULL,

+  `DS_TYPE` VARCHAR(20) NULL DEFAULT NULL,

+PRIMARY KEY (`ID`))

+  ENGINE = InnoDB

+  AUTO_INCREMENT = 4

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_function

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_function` (

+  `FUNCTION_CD` VARCHAR(30) NOT NULL,

+  `FUNCTION_NAME` VARCHAR(50) NOT NULL,

+  `type` VARCHAR(20) NOT NULL,

+  `action` VARCHAR(20) NOT NULL,

+PRIMARY KEY (`FUNCTION_CD`),

+CONSTRAINT `function` UNIQUE (FUNCTION_CD,TYPE,ACTION))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_license

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_license` (

+  `id` DECIMAL(11,0) NOT NULL,

+  `app_id` DECIMAL(11,0) NOT NULL,

+  `ip_address` VARCHAR(100) NOT NULL,

+  `quantum_version_id` DECIMAL(11,0) NOT NULL,

+  `created_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `modified_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `created_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `modified_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `end_date` TIMESTAMP NOT NULL DEFAULT '2036-01-19 03:14:07',

+PRIMARY KEY (`id`),

+INDEX `fn_license_r02` (`quantum_version_id` ASC),

+CONSTRAINT `fn_license_r02`

+FOREIGN KEY (`quantum_version_id`)

+REFERENCES `osam_core`.`fn_license_version` (`id`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_license_app

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_license_app` (

+  `id` DECIMAL(11,0) NOT NULL,

+  `app_name` VARCHAR(100) NOT NULL,

+  `ctxt_name` VARCHAR(100) NULL DEFAULT NULL,

+INDEX `fn_license_app_ID` (`id` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_license_contact

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_license_contact` (

+  `id` INT(11) NOT NULL,

+  `license_id` INT(11) NULL DEFAULT NULL,

+  `sbcid` VARCHAR(20) NULL DEFAULT NULL,

+PRIMARY KEY (`id`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_license_history

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_license_history` (

+  `license_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `app_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `ip_address` VARCHAR(100) NULL DEFAULT NULL,

+  `quantum_version_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `created_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `modified_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `created_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `modified_id` DECIMAL(11,0) NULL DEFAULT NULL,

+  `id` DECIMAL(11,0) NOT NULL,

+PRIMARY KEY (`id`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_license_version

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_license_version` (

+  `id` DECIMAL(11,0) NOT NULL,

+  `quantum_version` VARCHAR(25) NULL DEFAULT NULL,

+PRIMARY KEY (`id`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_activity

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_activity` (

+  `ACTIVITY_CD` VARCHAR(50) NOT NULL,

+  `ACTIVITY` VARCHAR(50) NOT NULL,

+PRIMARY KEY (`ACTIVITY_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_alert_method

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_alert_method` (

+  `ALERT_METHOD_CD` VARCHAR(10) NOT NULL,

+  `ALERT_METHOD` VARCHAR(50) NOT NULL,

+PRIMARY KEY (`ALERT_METHOD_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_broadcast_site

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_broadcast_site` (

+  `BROADCAST_SITE_CD` VARCHAR(50) NOT NULL,

+  `BROADCAST_SITE_DESCR` VARCHAR(100) NULL DEFAULT NULL,

+PRIMARY KEY (`BROADCAST_SITE_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_call_times

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_call_times` (

+  `CALL_TIME_ID` DECIMAL(10,0) NOT NULL,

+  `CALL_TIME_AMOUNT` DECIMAL(10,0) NOT NULL,

+  `CALL_TIME_DISPLAY` VARCHAR(50) NOT NULL,

+PRIMARY KEY (`CALL_TIME_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_city

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_city` (

+  `CITY_CD` VARCHAR(2) NOT NULL,

+  `CITY` VARCHAR(100) NOT NULL,

+  `STATE_CD` VARCHAR(2) NOT NULL,

+PRIMARY KEY (`CITY_CD`, `STATE_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_country

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_country` (

+  `COUNTRY_CD` VARCHAR(3) NOT NULL,

+  `COUNTRY` VARCHAR(100) NOT NULL,

+  `FULL_NAME` VARCHAR(100) NULL DEFAULT NULL,

+  `WEBPHONE_COUNTRY_LABEL` VARCHAR(30) NULL DEFAULT NULL,

+PRIMARY KEY (`COUNTRY_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_menu_set

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_menu_set` (

+  `MENU_SET_CD` VARCHAR(10) NOT NULL,

+  `MENU_SET_NAME` VARCHAR(50) NOT NULL,

+PRIMARY KEY (`MENU_SET_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_priority

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_priority` (

+  `PRIORITY_ID` DECIMAL(11,0) NOT NULL,

+  `PRIORITY` VARCHAR(50) NOT NULL,

+  `ACTIVE_YN` CHAR(1) NOT NULL,

+  `SORT_ORDER` DECIMAL(5,0) NULL DEFAULT NULL,

+PRIMARY KEY (`PRIORITY_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_role_type

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_role_type` (

+  `ROLE_TYPE_ID` DECIMAL(11,0) NOT NULL,

+  `ROLE_TYPE` VARCHAR(50) NOT NULL,

+PRIMARY KEY (`ROLE_TYPE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_state

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_state` (

+  `STATE_CD` VARCHAR(2) NOT NULL,

+  `STATE` VARCHAR(100) NOT NULL,

+PRIMARY KEY (`STATE_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_tab_set

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_tab_set` (

+  `TAB_SET_CD` VARCHAR(30) NOT NULL,

+  `TAB_SET_NAME` VARCHAR(50) NOT NULL,

+PRIMARY KEY (`TAB_SET_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_lu_timezone

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_lu_timezone` (

+  `TIMEZONE_ID` INT(11) NOT NULL,

+  `TIMEZONE_NAME` VARCHAR(100) NOT NULL,

+  `TIMEZONE_VALUE` VARCHAR(100) NOT NULL,

+PRIMARY KEY (`TIMEZONE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_menu

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_menu` (

+  `MENU_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `LABEL` VARCHAR(100) NULL DEFAULT NULL,

+  `PARENT_ID` INT(11) NULL DEFAULT NULL,

+  `SORT_ORDER` DECIMAL(4,0) NULL DEFAULT NULL,

+  `ACTION` VARCHAR(200) NULL DEFAULT NULL,

+  `FUNCTION_CD` VARCHAR(30) NULL DEFAULT NULL,

+  `ACTIVE_YN` VARCHAR(1) NOT NULL DEFAULT 'Y',

+  `SERVLET` VARCHAR(50) NULL DEFAULT NULL,

+  `QUERY_STRING` VARCHAR(200) NULL DEFAULT NULL,

+  `EXTERNAL_URL` VARCHAR(200) NULL DEFAULT NULL,

+  `TARGET` VARCHAR(25) NULL DEFAULT NULL,

+  `MENU_SET_CD` VARCHAR(10) NULL DEFAULT 'APP',

+  `SEPARATOR_YN` CHAR(1) NULL DEFAULT 'N',

+  `IMAGE_SRC` VARCHAR(100) NULL DEFAULT NULL,

+PRIMARY KEY (`MENU_ID`),

+INDEX `FK_FN_MENU_REF_196_FN_MENU` (`PARENT_ID` ASC),

+INDEX `FK_FN_MENU_MENU_SET_CD` (`MENU_SET_CD` ASC),

+INDEX `FN_MENU_FUNCTION_CD` (`FUNCTION_CD` ASC),

+CONSTRAINT `FK_FN_MENU_MENU_SET_CD`

+FOREIGN KEY (`MENU_SET_CD`)

+REFERENCES `osam_core`.`fn_lu_menu_set` (`MENU_SET_CD`),

+CONSTRAINT `FK_FN_MENU_REF_196_FN_MENU`

+FOREIGN KEY (`PARENT_ID`)

+REFERENCES `osam_core`.`fn_menu` (`MENU_ID`),

+CONSTRAINT `FK_FN_MENU_REF_223_FN_FUNCT`

+FOREIGN KEY (`FUNCTION_CD`)

+REFERENCES `osam_core`.`fn_function` (`FUNCTION_CD`))

+  ENGINE = InnoDB

+  AUTO_INCREMENT = 150029

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_org

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_org` (

+  `ORG_ID` INT(11) NOT NULL,

+  `ORG_NAME` VARCHAR(50) NOT NULL,

+  `ACCESS_CD` VARCHAR(10) NULL DEFAULT NULL,

+PRIMARY KEY (`ORG_ID`),

+INDEX `FN_ORG_ACCESS_CD` (`ACCESS_CD` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_blob_triggers

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_blob_triggers` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `TRIGGER_NAME` VARCHAR(200) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+  `BLOB_DATA` BLOB NULL DEFAULT NULL,

+PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`),

+INDEX `SCHED_NAME` (`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC),

+CONSTRAINT `fn_qz_blob_triggers_ibfk_1`

+FOREIGN KEY (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`)

+REFERENCES `osam_core`.`fn_qz_triggers` (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_calendars

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_calendars` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `CALENDAR_NAME` VARCHAR(200) NOT NULL,

+  `CALENDAR` BLOB NOT NULL,

+PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_cron_triggers

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_cron_triggers` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `TRIGGER_NAME` VARCHAR(200) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+  `CRON_EXPRESSION` VARCHAR(120) NOT NULL,

+  `TIME_ZONE_ID` VARCHAR(80) NULL DEFAULT NULL,

+PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`),

+CONSTRAINT `fn_qz_cron_triggers_ibfk_1`

+FOREIGN KEY (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`)

+REFERENCES `osam_core`.`fn_qz_triggers` (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_fired_triggers

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_fired_triggers` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `ENTRY_ID` VARCHAR(95) NOT NULL,

+  `TRIGGER_NAME` VARCHAR(200) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+  `INSTANCE_NAME` VARCHAR(200) NOT NULL,

+  `FIRED_TIME` BIGINT(13) NOT NULL,

+  `SCHED_TIME` BIGINT(13) NOT NULL,

+  `PRIORITY` INT(11) NOT NULL,

+  `STATE` VARCHAR(16) NOT NULL,

+  `JOB_NAME` VARCHAR(200) NULL DEFAULT NULL,

+  `JOB_GROUP` VARCHAR(200) NULL DEFAULT NULL,

+  `IS_NONCONCURRENT` VARCHAR(1) NULL DEFAULT NULL,

+  `REQUESTS_RECOVERY` VARCHAR(1) NULL DEFAULT NULL,

+PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`),

+INDEX `IDX_FN_QZ_FT_TRIG_INST_NAME` (`SCHED_NAME` ASC, `INSTANCE_NAME` ASC),

+INDEX `IDX_FN_QZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME` ASC, `INSTANCE_NAME` ASC, `REQUESTS_RECOVERY` ASC),

+INDEX `IDX_FN_QZ_FT_J_G` (`SCHED_NAME` ASC, `JOB_NAME` ASC, `JOB_GROUP` ASC),

+INDEX `IDX_FN_QZ_FT_JG` (`SCHED_NAME` ASC, `JOB_GROUP` ASC),

+INDEX `IDX_FN_QZ_FT_T_G` (`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC),

+INDEX `IDX_FN_QZ_FT_TG` (`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_job_details

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_job_details` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `JOB_NAME` VARCHAR(200) NOT NULL,

+  `JOB_GROUP` VARCHAR(200) NOT NULL,

+  `DESCRIPTION` VARCHAR(250) NULL DEFAULT NULL,

+  `JOB_CLASS_NAME` VARCHAR(250) NOT NULL,

+  `IS_DURABLE` VARCHAR(1) NOT NULL,

+  `IS_NONCONCURRENT` VARCHAR(1) NOT NULL,

+  `IS_UPDATE_DATA` VARCHAR(1) NOT NULL,

+  `REQUESTS_RECOVERY` VARCHAR(1) NOT NULL,

+  `JOB_DATA` BLOB NULL DEFAULT NULL,

+PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`),

+INDEX `IDX_FN_QZ_J_REQ_RECOVERY` (`SCHED_NAME` ASC, `REQUESTS_RECOVERY` ASC),

+INDEX `IDX_FN_QZ_J_GRP` (`SCHED_NAME` ASC, `JOB_GROUP` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_locks

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_locks` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `LOCK_NAME` VARCHAR(40) NOT NULL,

+PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_paused_trigger_grps

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_paused_trigger_grps` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_scheduler_state

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_scheduler_state` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `INSTANCE_NAME` VARCHAR(200) NOT NULL,

+  `LAST_CHECKIN_TIME` BIGINT(13) NOT NULL,

+  `CHECKIN_INTERVAL` BIGINT(13) NOT NULL,

+PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_simple_triggers

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_simple_triggers` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `TRIGGER_NAME` VARCHAR(200) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+  `REPEAT_COUNT` BIGINT(7) NOT NULL,

+  `REPEAT_INTERVAL` BIGINT(12) NOT NULL,

+  `TIMES_TRIGGERED` BIGINT(10) NOT NULL,

+PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`),

+CONSTRAINT `fn_qz_simple_triggers_ibfk_1`

+FOREIGN KEY (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`)

+REFERENCES `osam_core`.`fn_qz_triggers` (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_simprop_triggers

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_simprop_triggers` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `TRIGGER_NAME` VARCHAR(200) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+  `STR_PROP_1` VARCHAR(512) NULL DEFAULT NULL,

+  `STR_PROP_2` VARCHAR(512) NULL DEFAULT NULL,

+  `STR_PROP_3` VARCHAR(512) NULL DEFAULT NULL,

+  `INT_PROP_1` INT(11) NULL DEFAULT NULL,

+  `INT_PROP_2` INT(11) NULL DEFAULT NULL,

+  `LONG_PROP_1` BIGINT(20) NULL DEFAULT NULL,

+  `LONG_PROP_2` BIGINT(20) NULL DEFAULT NULL,

+  `DEC_PROP_1` DECIMAL(13,4) NULL DEFAULT NULL,

+  `DEC_PROP_2` DECIMAL(13,4) NULL DEFAULT NULL,

+  `BOOL_PROP_1` VARCHAR(1) NULL DEFAULT NULL,

+  `BOOL_PROP_2` VARCHAR(1) NULL DEFAULT NULL,

+PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`),

+CONSTRAINT `fn_qz_simprop_triggers_ibfk_1`

+FOREIGN KEY (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`)

+REFERENCES `osam_core`.`fn_qz_triggers` (`SCHED_NAME` , `TRIGGER_NAME` , `TRIGGER_GROUP`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_qz_triggers

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_qz_triggers` (

+  `SCHED_NAME` VARCHAR(120) NOT NULL,

+  `TRIGGER_NAME` VARCHAR(200) NOT NULL,

+  `TRIGGER_GROUP` VARCHAR(200) NOT NULL,

+  `JOB_NAME` VARCHAR(200) NOT NULL,

+  `JOB_GROUP` VARCHAR(200) NOT NULL,

+  `DESCRIPTION` VARCHAR(250) NULL DEFAULT NULL,

+  `NEXT_FIRE_TIME` BIGINT(13) NULL DEFAULT NULL,

+  `PREV_FIRE_TIME` BIGINT(13) NULL DEFAULT NULL,

+  `PRIORITY` INT(11) NULL DEFAULT NULL,

+  `TRIGGER_STATE` VARCHAR(16) NOT NULL,

+  `TRIGGER_TYPE` VARCHAR(8) NOT NULL,

+  `START_TIME` BIGINT(13) NOT NULL,

+  `END_TIME` BIGINT(13) NULL DEFAULT NULL,

+  `CALENDAR_NAME` VARCHAR(200) NULL DEFAULT NULL,

+  `MISFIRE_INSTR` SMALLINT(2) NULL DEFAULT NULL,

+  `JOB_DATA` BLOB NULL DEFAULT NULL,

+PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`),

+INDEX `IDX_FN_QZ_T_J` (`SCHED_NAME` ASC, `JOB_NAME` ASC, `JOB_GROUP` ASC),

+INDEX `IDX_FN_QZ_T_JG` (`SCHED_NAME` ASC, `JOB_GROUP` ASC),

+INDEX `IDX_FN_QZ_T_C` (`SCHED_NAME` ASC, `CALENDAR_NAME` ASC),

+INDEX `IDX_FN_QZ_T_G` (`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC),

+INDEX `IDX_FN_QZ_T_STATE` (`SCHED_NAME` ASC, `TRIGGER_STATE` ASC),

+INDEX `IDX_FN_QZ_T_N_STATE` (`SCHED_NAME` ASC, `TRIGGER_NAME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC),

+INDEX `IDX_FN_QZ_T_N_G_STATE` (`SCHED_NAME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC),

+INDEX `IDX_FN_QZ_T_NEXT_FIRE_TIME` (`SCHED_NAME` ASC, `NEXT_FIRE_TIME` ASC),

+INDEX `IDX_FN_QZ_T_NFT_ST` (`SCHED_NAME` ASC, `TRIGGER_STATE` ASC, `NEXT_FIRE_TIME` ASC),

+INDEX `IDX_FN_QZ_T_NFT_MISFIRE` (`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC),

+INDEX `IDX_FN_QZ_T_NFT_ST_MISFIRE` (`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC, `TRIGGER_STATE` ASC),

+INDEX `IDX_FN_QZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME` ASC, `MISFIRE_INSTR` ASC, `NEXT_FIRE_TIME` ASC, `TRIGGER_GROUP` ASC, `TRIGGER_STATE` ASC),

+CONSTRAINT `fn_qz_triggers_ibfk_1`

+FOREIGN KEY (`SCHED_NAME` , `JOB_NAME` , `JOB_GROUP`)

+REFERENCES `osam_core`.`fn_qz_job_details` (`SCHED_NAME` , `JOB_NAME` , `JOB_GROUP`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_restricted_url

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_restricted_url` (

+  `RESTRICTED_URL` VARCHAR(250) NOT NULL,

+  `FUNCTION_CD` VARCHAR(30) NOT NULL,

+PRIMARY KEY (`RESTRICTED_URL`, `FUNCTION_CD`),

+INDEX `FK_RESTRICTED_URL_FUNCTION_CD` (`FUNCTION_CD` ASC),

+CONSTRAINT `FK_RESTRICTED_URL_FUNCTION_CD`

+FOREIGN KEY (`FUNCTION_CD`)

+REFERENCES `osam_core`.`fn_function` (`FUNCTION_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_role

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_role` (

+  `ROLE_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `ROLE_NAME` VARCHAR(255) NOT NULL,

+  `ACTIVE_YN` VARCHAR(1) NOT NULL DEFAULT 'Y',

+  `PRIORITY` DECIMAL(4,0) NULL DEFAULT NULL,

+PRIMARY KEY (`ROLE_ID`))

+  ENGINE = InnoDB

+  AUTO_INCREMENT = 17

+DEFAULT CHARACTER SET = utf8;

+

+ALTER TABLE `osam_core`.`fn_role` MODIFY `ROLE_NAME` VARCHAR (255);

+

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_role_composite

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_role_composite` (

+  `PARENT_ROLE_ID` INT(11) NOT NULL,

+  `CHILD_ROLE_ID` INT(11) NOT NULL,

+PRIMARY KEY (`PARENT_ROLE_ID`, `CHILD_ROLE_ID`),

+INDEX `FK_FN_ROLE_COMPOSITE_CHILD` (`CHILD_ROLE_ID` ASC),

+CONSTRAINT `FK_FN_ROLE_COMPOSITE_CHILD`

+FOREIGN KEY (`CHILD_ROLE_ID`)

+REFERENCES `osam_core`.`fn_role` (`ROLE_ID`),

+CONSTRAINT `FK_FN_ROLE_COMPOSITE_PARENT`

+FOREIGN KEY (`PARENT_ROLE_ID`)

+REFERENCES `osam_core`.`fn_role` (`ROLE_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_role_function

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_role_function` (

+  `ROLE_ID` INT(11) NOT NULL,

+  `FUNCTION_CD` VARCHAR(30) NOT NULL,

+PRIMARY KEY (`ROLE_ID`, `FUNCTION_CD`),

+INDEX `FN_ROLE_FUNCTION_FUNCTION_CD` (`FUNCTION_CD` ASC),

+INDEX `FN_ROLE_FUNCTION_ROLE_ID` (`ROLE_ID` ASC),

+CONSTRAINT `FK_FN_ROLE__REF_198_FN_ROLE`

+FOREIGN KEY (`ROLE_ID`)

+REFERENCES `osam_core`.`fn_role` (`ROLE_ID`),

+CONSTRAINT `FK_FN_ROLE__REF_201_FN_FUNCT`

+FOREIGN KEY (`FUNCTION_CD`)

+REFERENCES `osam_core`.`fn_function` (`FUNCTION_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_schedule_workflows

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_schedule_workflows` (

+  `id_schedule_workflows` BIGINT(25) NOT NULL AUTO_INCREMENT,

+  `workflow_server_url` VARCHAR(45) NULL DEFAULT NULL,

+  `workflow_key` VARCHAR(45) NOT NULL,

+  `workflow_arguments` VARCHAR(45) NULL DEFAULT NULL,

+  `startDateTimeCron` VARCHAR(45) NULL DEFAULT NULL,

+  `endDateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `start_date_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `recurrence` VARCHAR(45) NULL DEFAULT NULL,

+PRIMARY KEY (`id_schedule_workflows`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_tab

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_tab` (

+  `TAB_CD` VARCHAR(30) NOT NULL,

+  `TAB_NAME` VARCHAR(50) NOT NULL,

+  `TAB_DESCR` VARCHAR(100) NULL DEFAULT NULL,

+  `ACTION` VARCHAR(100) NOT NULL,

+  `FUNCTION_CD` VARCHAR(30) NOT NULL,

+  `ACTIVE_YN` CHAR(1) NOT NULL,

+  `SORT_ORDER` DECIMAL(11,0) NOT NULL,

+  `PARENT_TAB_CD` VARCHAR(30) NULL DEFAULT NULL,

+  `TAB_SET_CD` VARCHAR(30) NULL DEFAULT NULL,

+PRIMARY KEY (`TAB_CD`),

+INDEX `FK_FN_TAB_FUNCTION_CD` (`FUNCTION_CD` ASC),

+INDEX `FK_FN_TAB_SET_CD` (`TAB_SET_CD` ASC),

+CONSTRAINT `FK_FN_TAB_FUNCTION_CD`

+FOREIGN KEY (`FUNCTION_CD`)

+REFERENCES `osam_core`.`fn_function` (`FUNCTION_CD`),

+CONSTRAINT `FK_FN_TAB_SET_CD`

+FOREIGN KEY (`TAB_SET_CD`)

+REFERENCES `osam_core`.`fn_lu_tab_set` (`TAB_SET_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_tab_selected

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_tab_selected` (

+  `SELECTED_TAB_CD` VARCHAR(30) NOT NULL,

+  `TAB_URI` VARCHAR(40) NOT NULL,

+PRIMARY KEY (`SELECTED_TAB_CD`, `TAB_URI`),

+CONSTRAINT `FK_FN_TAB_SELECTED_TAB_CD`

+FOREIGN KEY (`SELECTED_TAB_CD`)

+REFERENCES `osam_core`.`fn_tab` (`TAB_CD`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_user

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_user` (

+  `USER_ID` INT(11) NOT NULL AUTO_INCREMENT,

+  `ORG_ID` INT(11) NULL DEFAULT NULL,

+  `MANAGER_ID` INT(11) NULL DEFAULT NULL,

+  `FIRST_NAME` VARCHAR(50) NULL DEFAULT NULL,

+  `MIDDLE_NAME` VARCHAR(50) NULL DEFAULT NULL,

+  `LAST_NAME` VARCHAR(50) NULL DEFAULT NULL,

+  `PHONE` VARCHAR(25) NULL DEFAULT NULL,

+  `FAX` VARCHAR(25) NULL DEFAULT NULL,

+  `CELLULAR` VARCHAR(25) NULL DEFAULT NULL,

+  `EMAIL` VARCHAR(50) NULL DEFAULT NULL,

+  `ADDRESS_ID` DECIMAL(11,0) NULL DEFAULT NULL,

+  `ALERT_METHOD_CD` VARCHAR(10) NULL DEFAULT NULL,

+  `HRID` VARCHAR(20) NULL DEFAULT NULL,

+  `ORG_USER_ID` VARCHAR(20) NULL DEFAULT NULL,

+  `ORG_CODE` VARCHAR(30) NULL DEFAULT NULL,

+  `LOGIN_ID` VARCHAR(25) NULL DEFAULT NULL,

+  `LOGIN_PWD` VARCHAR(25) NULL DEFAULT NULL,

+  `LAST_LOGIN_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

+  `ACTIVE_YN` VARCHAR(1) NOT NULL DEFAULT 'Y',

+  `CREATED_ID` INT(11) NULL DEFAULT NULL,

+  `CREATED_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `MODIFIED_ID` INT(11) NULL DEFAULT NULL,

+  `MODIFIED_DATE` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `IS_INTERNAL_YN` CHAR(1) NOT NULL DEFAULT 'N',

+  `ADDRESS_LINE_1` VARCHAR(100) NULL DEFAULT NULL,

+  `ADDRESS_LINE_2` VARCHAR(100) NULL DEFAULT NULL,

+  `CITY` VARCHAR(50) NULL DEFAULT NULL,

+  `STATE_CD` VARCHAR(3) NULL DEFAULT NULL,

+  `ZIP_CODE` VARCHAR(11) NULL DEFAULT NULL,

+  `COUNTRY_CD` VARCHAR(3) NULL DEFAULT NULL,

+  `LOCATION_CLLI` VARCHAR(8) NULL DEFAULT NULL,

+  `ORG_MANAGER_USERID` VARCHAR(20) NULL DEFAULT NULL,

+  `COMPANY` VARCHAR(100) NULL DEFAULT NULL,

+  `DEPARTMENT_NAME` VARCHAR(100) NULL DEFAULT NULL,

+  `JOB_TITLE` VARCHAR(100) NULL DEFAULT NULL,

+  `TIMEZONE` INT(11) NULL DEFAULT NULL,

+  `DEPARTMENT` VARCHAR(25) NULL DEFAULT NULL,

+  `BUSINESS_UNIT` VARCHAR(25) NULL DEFAULT NULL,

+  `BUSINESS_UNIT_NAME` VARCHAR(100) NULL DEFAULT NULL,

+  `COST_CENTER` VARCHAR(25) NULL DEFAULT NULL,

+  `FIN_LOC_CODE` VARCHAR(10) NULL DEFAULT NULL,

+  `SILO_STATUS` VARCHAR(10) NULL DEFAULT NULL,

+PRIMARY KEY (`USER_ID`),

+UNIQUE INDEX `FN_USER_HRID` (`HRID` ASC),

+UNIQUE INDEX `FN_USER_LOGIN_ID` (`LOGIN_ID` ASC),

+INDEX `FN_USER_ADDRESS_ID` (`ADDRESS_ID` ASC),

+INDEX `FN_USER_ALERT_METHOD_CD` (`ALERT_METHOD_CD` ASC),

+INDEX `FN_USER_ORG_ID` (`ORG_ID` ASC),

+INDEX `FK_FN_USER_REF_197_FN_USER` (`MANAGER_ID` ASC),

+INDEX `FK_FN_USER_REF_198_FN_USER` (`CREATED_ID` ASC),

+INDEX `FK_FN_USER_REF_199_FN_USER` (`MODIFIED_ID` ASC),

+INDEX `FK_TIMEZONE` (`TIMEZONE` ASC),

+CONSTRAINT `FK_FN_USER_REF_110_FN_ORG`

+FOREIGN KEY (`ORG_ID`)

+REFERENCES `osam_core`.`fn_org` (`ORG_ID`),

+CONSTRAINT `FK_FN_USER_REF_123_FN_LU_AL`

+FOREIGN KEY (`ALERT_METHOD_CD`)

+REFERENCES `osam_core`.`fn_lu_alert_method` (`ALERT_METHOD_CD`),

+CONSTRAINT `FK_FN_USER_REF_197_FN_USER`

+FOREIGN KEY (`MANAGER_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`),

+CONSTRAINT `FK_FN_USER_REF_198_FN_USER`

+FOREIGN KEY (`CREATED_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`),

+CONSTRAINT `FK_FN_USER_REF_199_FN_USER`

+FOREIGN KEY (`MODIFIED_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`),

+CONSTRAINT `FK_TIMEZONE`

+FOREIGN KEY (`TIMEZONE`)

+REFERENCES `osam_core`.`fn_lu_timezone` (`TIMEZONE_ID`))

+  ENGINE = InnoDB

+  AUTO_INCREMENT = 3

+DEFAULT CHARACTER SET = utf8;

+

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_user_pseudo_role

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_user_pseudo_role` (

+  `PSEUDO_ROLE_ID` INT(11) NOT NULL,

+  `USER_ID` INT(11) NOT NULL,

+PRIMARY KEY (`PSEUDO_ROLE_ID`, `USER_ID`),

+INDEX `FK_PSEUDO_ROLE_USER_ID` (`USER_ID` ASC),

+CONSTRAINT `FK_PSEUDO_ROLE_PSEUDO_ROLE_ID`

+FOREIGN KEY (`PSEUDO_ROLE_ID`)

+REFERENCES `osam_core`.`fn_role` (`ROLE_ID`),

+CONSTRAINT `FK_PSEUDO_ROLE_USER_ID`

+FOREIGN KEY (`USER_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_user_role

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_user_role` (

+  `USER_ID` INT(10) NOT NULL,

+  `ROLE_ID` INT(10) NOT NULL,

+  `PRIORITY` DECIMAL(4,0) NULL DEFAULT NULL,

+  `APP_ID` INT(11) NOT NULL DEFAULT '1',

+PRIMARY KEY (`USER_ID`, `ROLE_ID`, `APP_ID`),

+INDEX `FN_USER_ROLE_ROLE_ID` (`ROLE_ID` ASC),

+INDEX `FN_USER_ROLE_USER_ID` (`USER_ID` ASC),

+INDEX `FK_FN_USER__REF_178_FN_APP_idx` (`APP_ID` ASC),

+CONSTRAINT `FK_FN_USER__REF_172_FN_USER`

+FOREIGN KEY (`USER_ID`)

+REFERENCES `osam_core`.`fn_user` (`USER_ID`),

+CONSTRAINT `FK_FN_USER__REF_175_FN_ROLE`

+FOREIGN KEY (`ROLE_ID`)

+REFERENCES `osam_core`.`fn_role` (`ROLE_ID`),

+CONSTRAINT `FK_FN_USER__REF_178_FN_APP`

+FOREIGN KEY (`APP_ID`)

+REFERENCES `osam_core`.`fn_app` (`APP_ID`))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_workflow

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_workflow` (

+  `id` MEDIUMINT(9) NOT NULL AUTO_INCREMENT,

+  `name` VARCHAR(20) NOT NULL,

+  `description` VARCHAR(500) NULL DEFAULT NULL,

+  `run_link` VARCHAR(300) NULL DEFAULT NULL,

+  `suspend_link` VARCHAR(300) NULL DEFAULT NULL,

+  `modified_link` VARCHAR(300) NULL DEFAULT NULL,

+  `active_yn` VARCHAR(300) NULL DEFAULT NULL,

+  `created` VARCHAR(300) NULL DEFAULT NULL,

+  `created_by` INT(11) NULL DEFAULT NULL,

+  `modified` VARCHAR(300) NULL DEFAULT NULL,

+  `modified_by` INT(11) NULL DEFAULT NULL,

+  `workflow_key` VARCHAR(50) NULL DEFAULT NULL,

+PRIMARY KEY (`id`),

+UNIQUE INDEX `name` (`name` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.fn_xmltype

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`fn_xmltype` (

+  `ID` DECIMAL(10,0) NOT NULL,

+  `XML_DOCUMENT` TEXT NULL DEFAULT NULL,

+UNIQUE INDEX `FN_XMLTYPE_ID` (`ID` ASC))

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+

+-- ----------------------------------------------------------------------------

+-- Table osam_core.schema_info

+-- ----------------------------------------------------------------------------

+CREATE TABLE IF NOT EXISTS `osam_core`.`schema_info` (

+  `SCHEMA_ID` VARCHAR(25) NOT NULL,

+  `SCHEMA_DESC` VARCHAR(75) NOT NULL,

+  `DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL,

+  `CONNECTION_URL` VARCHAR(200) NOT NULL,

+  `USER_NAME` VARCHAR(45) NOT NULL,

+  `PASSWORD` VARCHAR(45) NULL DEFAULT NULL,

+  `DRIVER_CLASS` VARCHAR(100) NOT NULL,

+  `MIN_POOL_SIZE` INT(11) NOT NULL,

+  `MAX_POOL_SIZE` INT(11) NOT NULL,

+  `IDLE_CONNECTION_TEST_PERIOD` INT(11) NOT NULL)

+  ENGINE = InnoDB

+DEFAULT CHARACTER SET = utf8;

+-- ----------------------------------------------------------------------------

+-- Table osam_core.osam_core_job

+-- ----------------------------------------------------------------------------

+

+CREATE TABLE IF NOT EXISTS `osam_core`.`osam_core_job` (

+  `JOB_ID`        BINARY(16)   NOT NULL PRIMARY KEY,

+  `CREATED_DATE`  TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `MODIFIED_DATE` TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,

+  `JOB_STATUS`    VARCHAR(50)  NULL COLLATE 'utf8_bin',

+  `JOB_TYPE`      VARCHAR(50)  NULL COLLATE 'utf8_bin',

+  `JOB_DATA`      MEDIUMTEXT   NULL COLLATE 'utf8_bin',

+  `PARENT_JOB_ID` BINARY(16)   NULL,

+  `TAKEN_BY`      VARCHAR(100) NULL COLLATE 'utf8_bin',

+CONSTRAINT `FK_OWNING_VID_JOB_PARENT` FOREIGN KEY (`PARENT_JOB_ID`) REFERENCES `osam_core`.`vid_job` (`JOB_ID`)

+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

+

+-- ----------------------------------------------------------------------------

+-- View osam_core.v_url_access

+-- ----------------------------------------------------------------------------

+CREATE OR REPLACE ALGORITHM=UNDEFINED SQL SECURITY DEFINER VIEW `v_url_access` AS select distinct `m`.`ACTION` AS `URL`,`m`.`FUNCTION_CD` AS `FUNCTION_CD` from `fn_menu` `m` where (`m`.`ACTION` is not null) union select distinct `t`.`ACTION` AS `URL`,`t`.`FUNCTION_CD` AS `FUNCTION_CD` from `fn_tab` `t` where (`t`.`ACTION` is not null) union select `r`.`RESTRICTED_URL` AS `URL`,`r`.`FUNCTION_CD` AS `FUNCTION_CD` from `fn_restricted_url` `r`;

+SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
diff --git a/onap-enabler-infra/src/main/resources/portal.properties b/onap-enabler-infra/src/main/resources/portal.properties
new file mode 100644
index 0000000..104e85d
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/portal.properties
@@ -0,0 +1,85 @@
+###

+# ============LICENSE_START==========================================

+# ONAP Portal SDK

+# ===================================================================

+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.

+# ===================================================================

+#

+# Unless otherwise specified, all software contained herein is licensed

+# under the Apache License, Version 2.0 (the “License”);

+# you may not use this software 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.

+#

+# Unless otherwise specified, all documentation contained herein is licensed

+# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);

+# you may not use this documentation except in compliance with the License.

+# You may obtain a copy of the License at

+#

+#             https://creativecommons.org/licenses/by/4.0/

+#

+# Unless required by applicable law or agreed to in writing, documentation

+# 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.

+###

+# Properties read by ECOMP Framework library, ecompFW.jar

+

+##########################################################################

+# The following properties should NOT be changed by partner applications.

+##########################################################################

+

+portal.api.prefix = /api

+max.idle.time = 5

+user.attribute.name = user_attribute

+

+#Use REST API instead of UEB to fetch the functional menu data

+use_rest_for_functional_menu=true

+

+##########################################################################

+# The following properties MUST be changed by partner applications.

+##########################################################################

+

+# Name of java class that implements the OnBoardingApiService interface.

+portal.api.impl.class = org.onap.portalapp.service.OnBoardingApiServiceImpl

+

+# Log On for single sign on

+ecomp_redirect_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm

+

+# URL of the ECOMP Portal REST API

+ecomp_rest_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi

+

+# Applications do not need to run a UEB listener after 1607.

+ueb_listeners_enable = false

+

+# UEB Configuration

+# In release 1607, all 6 entries below were required.

+# In release 1610, if key ueb_listeners_enable is set to false,

+# then only the ueb_app_key is required.

+# UEB servers

+#ueb_url_list = todo_ueb_url_list

+# ECOMP Portal listens on this UEB topic

+#ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX-DEV-LOCAL

+

+# Replace these 3 default values with the ones for your specific App,

+# as shown on the on-boarding page on the ECOMP Portal web application.

+ueb_app_key = oVGikIIFjzjUNtph

+ueb_app_secret = 8xJNPcgKJJgHhfbth6C1yN3e

+ueb_app_mailbox_name = ECOMP-PORTAL-OUTBOX-TEST-77621

+# Consumer group name for UEB topic.

+# Use the special tag to generate a unique one for each sdk-app server.

+#ueb_app_consumer_group_name = {UUID}

+

+#decryption_key				  = AGLDdG4D04BKm2IxIWEr8o==

diff --git a/onap-enabler-infra/src/main/resources/portal_template.properties b/onap-enabler-infra/src/main/resources/portal_template.properties
new file mode 100644
index 0000000..d01413a
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/portal_template.properties
@@ -0,0 +1,32 @@
+# Properties read by ECOMP Framework library, ecompFW.jar

+

+portal.api.impl.class = org.onap.portalapp.service.OnBoardingApiServiceImpl

+portal.api.prefix = /api

+max.idle.time = 5

+user.attribute.name = user_attribute

+decryption_key = ${VID_DECRYPTION_KEY}

+

+# Log On for single sign on

+ecomp_redirect_url	= ${VID_ECOMP_REDIRECT_URL}

+

+

+# URL of the ECOMP Portal REST API

+ecomp_rest_url = ${VID_ECOMP_REST_URL}

+

+# UEB servers

+ueb_url_list = ${VID_UEB_URL_LIST}

+

+# ECOMP Portal listens here 

+ecomp_portal_inbox_name = ${VID_ECOMP_PORTAL_INBOX_NAME}

+

+# Replace these 3 default values with the ones for your specific App,

+# as shown on the on-boarding page on the ECOMP Portal website.

+ueb_app_key = ${VID_UEB_APP_KEY}

+ueb_app_secret = ${VID_UEB_APP_SECRET}

+ueb_app_mailbox_name = ${VID_UEB_APP_MAILBOX_NAME}

+# Consumer group name for UEB topic.

+# Use the special tag to generate a unique one for each sdk-app server.

+ueb_app_consumer_group_name = ${VID_UEB_CONSUMER_GROUP}

+

+ueb_listeners_enable = ${VID_UEB_LISTENERS_ENABLE}

+ueb_rest_for_function_menu = true

diff --git a/onap-enabler-infra/src/main/resources/sampleTosca.csar b/onap-enabler-infra/src/main/resources/sampleTosca.csar
new file mode 100644
index 0000000..7532f58
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/sampleTosca.csar
Binary files differ
diff --git a/onap-enabler-infra/src/main/resources/server.xml b/onap-enabler-infra/src/main/resources/server.xml
new file mode 100644
index 0000000..d9dc27a
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/server.xml
@@ -0,0 +1,186 @@
+<?xml version='1.0' encoding='utf-8'?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You 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.

+-->

+<!-- Note:  A "Server" is not itself a "Container", so you may not

+     define subcomponents such as "Valves" at this level.

+     Documentation at /docs/config/server.html

+ -->

+<Server port="8005" shutdown="SHUTDOWN">

+  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

+  <!-- Security listener. Documentation at /docs/config/listeners.html

+  <Listener className="org.apache.catalina.security.SecurityListener" />

+  -->

+  <!--APR library loader. Documentation at /docs/apr.html -->

+  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

+  <!-- Prevent memory leaks due to use of particular java/javax APIs-->

+  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

+  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

+

+  <!-- Global JNDI resources

+       Documentation at /docs/jndi-resources-howto.html

+  -->

+  <GlobalNamingResources>

+    <!-- Editable user database that can also be used by

+         UserDatabaseRealm to authenticate users

+    -->

+    <Resource name="UserDatabase" auth="Container"

+      type="org.apache.catalina.UserDatabase"

+      description="User database that can be updated and saved"

+      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

+      pathname="conf/tomcat-users.xml" />

+  </GlobalNamingResources>

+

+  <!-- A "Service" is a collection of one or more "Connectors" that share

+       a single "Container" Note:  A "Service" is not itself a "Container",

+       so you may not define subcomponents such as "Valves" at this level.

+       Documentation at /docs/config/service.html

+   -->

+  <Service name="Catalina">

+

+    <!--The connectors can use a shared executor, you can define one or more named thread pools-->

+    <!--

+    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

+        maxThreads="150" minSpareThreads="4"/>

+    -->

+

+

+    <!-- A "Connector" represents an endpoint by which requests are received

+         and responses are returned. Documentation at :

+         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)

+         Java AJP  Connector: /docs/config/ajp.html

+         APR (HTTP/AJP) Connector: /docs/apr.html

+         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080

+    -->

+    <Connector port="8080" protocol="HTTP/1.1"

+      connectionTimeout="20000"

+      redirectPort="8443" />

+    <!-- A "Connector" using the shared thread pool-->

+    <!--

+    <Connector executor="tomcatThreadPool"

+               port="8080" protocol="HTTP/1.1"

+               connectionTimeout="20000"

+               redirectPort="8443" />

+    -->

+    <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443

+         This connector uses the NIO implementation that requires the JSSE

+         style configuration. When using the APR/native implementation, the

+         OpenSSL style configuration is required as described in the APR/native

+         documentation -->

+

+    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

+               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

+               clientAuth="false" sslProtocol="TLS" keyAlias="${osam.keyalias}"

+               keystoreFile="${osam.keystore.filename}" keystorePass="${osam.keystore.password}"

+               useServerCipherSuitesOrder="true"

+               ciphers="TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,

+                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,

+                TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,

+                TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,

+                TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,

+                TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,

+                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,

+                TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,

+                TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,

+                TLS_DHE_DSS_WITH_AES_256_CBC_SHA,

+                TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,

+                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,

+                TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,

+                TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,

+                TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,

+                TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,

+                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,

+                TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,

+                TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,

+                TLS_DHE_DSS_WITH_AES_128_CBC_SHA,

+                TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,

+                TLS_ECDH_ECDSA_WITH_RC4_128_SHA,

+                TLS_ECDH_RSA_WITH_RC4_128_SHA,

+                TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,

+                TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,

+                TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,

+                TLS_RSA_WITH_AES_256_GCM_SHA384,

+                TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,

+                TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,

+                TLS_DHE_DSS_WITH_AES_256_GCM_SHA384,

+                TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,

+                TLS_RSA_WITH_AES_128_GCM_SHA256,

+                TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,

+                TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,

+                TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,

+                TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,

+                TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,

+                TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,

+                TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,

+                TLS_EMPTY_RENEGOTIATION_INFO_SCSVF"

+    />

+

+

+    <!-- Define an AJP 1.3 Connector on port 8009 -->

+    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

+

+

+    <!-- An Engine represents the entry point (within Catalina) that processes

+         every request.  The Engine implementation for Tomcat stand alone

+         analyzes the HTTP headers included with the request, and passes them

+         on to the appropriate Host (virtual host).

+         Documentation at /docs/config/engine.html -->

+

+    <!-- You should set jvmRoute to support load-balancing via AJP ie :

+    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

+    -->

+    <Engine name="Catalina" defaultHost="localhost">

+

+      <!--For clustering, please take a look at documentation at:

+          /docs/cluster-howto.html  (simple how to)

+          /docs/config/cluster.html (reference documentation) -->

+      <!--

+      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

+      -->

+

+      <!-- Use the LockOutRealm to prevent attempts to guess user passwords

+           via a brute-force attack -->

+      <Realm className="org.apache.catalina.realm.LockOutRealm">

+        <!-- This Realm uses the UserDatabase configured in the global JNDI

+             resources under the key "UserDatabase".  Any edits

+             that are performed against this UserDatabase are immediately

+             available for use by the Realm.  -->

+        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

+          resourceName="UserDatabase"/>

+      </Realm>

+

+      <Host name="localhost"  appBase="webapps"

+        unpackWARs="true" autoDeploy="true">

+

+        <!-- SingleSignOn valve, share authentication between web applications

+             Documentation at: /docs/config/valve.html -->

+        <!--

+        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />

+        -->

+

+        <!-- Access log processes all example.

+             Documentation at: /docs/config/valve.html

+             Note: The pattern used is equivalent to using pattern="common" -->

+        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

+          prefix="localhost_access_log" suffix=".txt"

+          pattern="%h %l %u %t &quot;%r&quot; %s %b" />

+

+      </Host>

+    </Engine>

+  </Service>

+</Server>

+

diff --git a/onap-enabler-infra/src/main/resources/state-rules.drl b/onap-enabler-infra/src/main/resources/state-rules.drl
new file mode 100644
index 0000000..bf92f11
--- /dev/null
+++ b/onap-enabler-infra/src/main/resources/state-rules.drl
@@ -0,0 +1,58 @@
+/*-

+        * ============LICENSE_START=======================================================

+        * OSAM Core

+        * ================================================================================

+        * Copyright (C) 2018 AT&T

+        * ================================================================================

+        * 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.portalsdk.core.drools;

+global String age

+

+rule "Default"

+when

+$droolsRuleService : DroolsRuleServiceImpl( state != null )

+then

+System.out.println($droolsRuleService.accessLabel() +" "+ $droolsRuleService.getState() +" state legal age is " + getDefaultIfNull(age));

+$droolsRuleService.setResultsString($droolsRuleService.getState()+" state legal age is " + getDefaultIfNull(age));

+end

+

+rule "Drools NJ"

+when

+$droolsRuleService : DroolsRuleServiceImpl( state == "NJ" )

+then

+System.out.println($droolsRuleService.accessLabel() +" "+ "NJ state legal age is " + getDefaultIfNull(age));

+$droolsRuleService.setResultsString("NJ state legal age is " + getDefaultIfNull(age));

+end

+

+rule "Drools KY"

+when

+$droolsRuleService : DroolsRuleServiceImpl( state == "KY" )

+then

+System.out.println($droolsRuleService.accessLabel() +" "+ "KY state legal age is " + getDefaultIfNull("20"));

+$droolsRuleService.setResultsString("KY state legal age is " + getDefaultIfNull("20"));

+end

+

+rule "Drools NY"

+when

+$droolsRuleService : DroolsRuleServiceImpl( state == "NY" )

+then

+System.out.println($droolsRuleService.accessLabel() +" "+ "NY state legal age is " + getDefaultIfNull("21"));

+$droolsRuleService.setResultsString("NY state legal age is " + getDefaultIfNull("21"));

+end

+

+function String getDefaultIfNull(String age) {

+return age == null ? "18" : age;

+}