diff options
author | Prudence Au <prudence.au@amdocs.com> | 2018-08-13 17:06:59 -0400 |
---|---|---|
committer | Pierre Rioux <pierre.rioux@amdocs.com> | 2018-08-21 11:21:26 -0400 |
commit | c604f64b971491f8c9b953adce54b847d7946e26 (patch) | |
tree | 134f7fc91b4da9e04c564c92337d44df420c8df0 /src/main/resources | |
parent | 3baa3ebd0000b15f1c54c736f4a307731b16b923 (diff) |
Initial submission for validation service
Change-Id: I9372430f1ae347373d5a9a0c7a427d7bd393d61e
Issue-ID: LOG-427
Signed-off-by: Prudence Au (prudence.au@amdocs.com)
Signed-off-by: Geora Barsky <georab@amdocs.com>
Signed-off-by: Pierre Rioux <pierre.rioux@amdocs.com>
Diffstat (limited to 'src/main/resources')
-rw-r--r-- | src/main/resources/application.properties | 44 | ||||
-rw-r--r-- | src/main/resources/event-reader.properties | 31 | ||||
-rw-r--r-- | src/main/resources/logback.xml | 179 | ||||
-rw-r--r-- | src/main/resources/validation-service-beans.xml | 204 | ||||
-rw-r--r-- | src/main/resources/validation-service-logging-resources.properties | 178 |
5 files changed, 636 insertions, 0 deletions
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..44df999 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,44 @@ +# ============LICENSE_START=================================================== +# Copyright (c) 2018 Amdocs +# ============================================================================ +# 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===================================================== + +# Note that the start.sh script sets the following System Properties +# We provide default values here for testing purposes +APP_HOME=. +CONFIG_HOME=appconfig-local +com.att.eelf.logging.path=src/main/resources +com.att.eelf.logging.file=logback.xml +logback.configurationFile=${com.att.eelf.logging.path}/${com.att.eelf.logging.file} + +schemaIngestPropLoc=${CONFIG_HOME}/schemaIngest.properties + +server.port=9501 +server.ssl.client-auth=want +server.ssl.key-store=${CONFIG_HOME}/auth/tomcat_keystore +# Work-around for missing Java certificates file "cacerts". This default value should be overridden. +server.ssl.trust-store=${CONFIG_HOME}/auth/tomcat_keystore + +server.tomcat.max-threads=200 +# The minimum number of threads always kept alive +server.tomcat.min-spare-threads=25 + +# Spring Boot logging +logging.config=${logback.configurationFile} + +consumer.topic.names=poa-rule-validation +publisher.topic.names=poa-audit-result + +topics.properties.location=${CONFIG_HOME}/topics/ + diff --git a/src/main/resources/event-reader.properties b/src/main/resources/event-reader.properties new file mode 100644 index 0000000..a064c39 --- /dev/null +++ b/src/main/resources/event-reader.properties @@ -0,0 +1,31 @@ +# ============LICENSE_START=================================================== +# Copyright (c) 2018 Amdocs +# ============================================================================ +# 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===================================================== + +# Event relative paths. +event.domain.path=$.event-header.domain +event.action.path=$.event-header.action +event.type.path=$.event-header.event-type +event.entity.type.path=$.event-header.entity-type +event.entity.type.top.path=$.event-header.top-entity-type +event.entity.link.path=$.event-header.entity-link +event.entity.link.delimiter=\/aai\/v[0-9]*\/ +event.entity.path=$.entity +event.entity.nested.path=$.entity..{0}[*] + +# Entity relative paths. The JSON is the entity. +# Comma separated list of paths to cope with different entity JSON formats. +entity.id.path=$.{0},$.vertex.properties.{0} +entity.resource.version.path=$.resource-version,$.vertex.properties.resource-version
\ No newline at end of file diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..01861c1 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,179 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +============LICENSE_START=================================================== +Copyright (c) 2018 Amdocs +============================================================================ +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="30 seconds" debug="true"> + <property name="componentName" value="AAI-VS" /> + <property name="logDirectory" value="logs/${componentName}" /> + + <!-- default EELF log file names --> + <property name="generalLogName" value="error" /> + <property name="metricsLogName" value="metrics" /> + <property name="auditLogName" value="audit" /> + <property name="debugLogName" value="debug" /> + + <property name="errorLogPattern" + value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%.-5level|%logger|%mdc{ClassName}|%msg%n" /> + + <property name="auditLogPattern" + value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" /> + + <property name="metricsLogPattern" + value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" /> + + <!-- ============================================================================ --> + <!-- EELF Appenders --> + <!-- ============================================================================ --> + + <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${generalLogName}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> + <!-- deny all events with a level below INFO, that is TRACE and DEBUG --> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>INFO</level> + </filter> + <queueSize>256</queueSize> + <appender-ref ref="EELF" /> + </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"> + <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${auditLogPattern}</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"> + <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${metricsLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFMetrics" /> + </appender> + + <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file> + ${logDirectory}/${debugLogName}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> + <!-- allow only events with a level below INFO, that is TRACE and DEBUG --> + <filter class="ch.qos.logback.core.filter.EvaluatorFilter"> + <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator"> + <expression> + e.level.toInt() < INFO.toInt() + </expression> + </evaluator> + <OnMismatch>DENY</OnMismatch> + <OnMatch>NEUTRAL</OnMatch> + </filter> + <queueSize>256</queueSize> + <appender-ref ref="EELFDebug" /> + <includeCallerData>false</includeCallerData> + </appender> + + <!-- ============================================================================ --> + <!-- Default / root appenders --> + <!-- ============================================================================ --> + + <root level="DEBUG"> + <appender-ref ref="asyncEELF" /> + <appender-ref ref="asyncEELFDebug" /> + </root> + + <!-- ============================================================================ --> + <!-- EELF loggers --> + <!-- ============================================================================ --> + + <logger name="com.att.eelf" level="INFO" additivity="false"> + <appender-ref ref="asyncEELF" /> + </logger> + + <logger name="com.att.eelf.debug" level="DEBUG" additivity="false"> + <appender-ref ref="asyncEELFDebug" /> + </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> + + <!-- ============================================================================ --> + <!-- Non-EELF loggers --> + <!-- ============================================================================ --> + + <!-- ATT packages including DMAAP message routing --> + <logger name="com.att" level="DEBUG" /> + + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + + <!-- Other Loggers that may help troubleshoot --> + <logger name="org.apache" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="com.jayway.jsonpath.internal.path.CompiledPath" level="WARN" /> + + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + +</configuration> diff --git a/src/main/resources/validation-service-beans.xml b/src/main/resources/validation-service-beans.xml new file mode 100644 index 0000000..4482c6e --- /dev/null +++ b/src/main/resources/validation-service-beans.xml @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +============LICENSE_START=================================================== +Copyright (c) 2018 Amdocs +============================================================================ +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===================================================== +--> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> + + <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" /> + + <!-- ////////////////////////////////////////////////////////////////// --> + <!-- PROPERTY AND CONFIGURATION FILES --> + <!-- ////////////////////////////////////////////////////////////////// --> + <context:property-placeholder location="classpath:event-reader.properties" ignore-unresolvable="true" /> + <context:property-placeholder location="file:${CONFIG_HOME}/aai-environment.properties" ignore-unresolvable="true" /> + <context:property-placeholder location="file:${CONFIG_HOME}/validation-service.properties" ignore-unresolvable="true" /> + <context:property-placeholder location="file:${CONFIG_HOME}/validation-service-auth.properties" ignore-unresolvable="true" /> + <context:property-placeholder location="file:${CONFIG_HOME}/rule-indexing.properties" ignore-unresolvable="true" ignore-resource-not-found="true" /> + <context:property-placeholder location="file:${schemaIngestPropLoc}" ignore-unresolvable="true" /> + + <bean id="mappingFile" class="org.apache.commons.io.IOUtils" factory-method="toString"> + <constructor-arg value="file:${APP_HOME}/bundleconfig/etc/appprops/model-instance-mapping.json_conf" type="java.io.InputStream" /> + </bean> + + <!-- ////////////////////////////////////////////////////////////////// --> + <!-- CONFIG BEANS --> + <!-- ////////////////////////////////////////////////////////////////// --> + <bean id="eventReaderConfig" class="org.onap.aai.validation.config.EventReaderConfig"> + <property name="eventDomainPath" value="${event.domain.path}" /> + <property name="eventActionPath" value="${event.action.path}" /> + <property name="eventTypePath" value="${event.type.path}" /> + <property name="entityTypePath" value="${event.entity.type.path}" /> + <property name="topEntityTypePath" value="${event.entity.type.top.path}" /> + <property name="entityLinkPath" value="${event.entity.link.path}" /> + <property name="entityLinkDelimiter" value="${event.entity.link.delimiter}" /> + <property name="entityPath" value="${event.entity.path}" /> + <property name="nestedEntityPath" value="${event.entity.nested.path}" /> + <property name="entityIdPath" value="${entity.id.path}" /> + <property name="entityResourceVersionPath" value="${entity.resource.version.path}" /> + </bean> + + <bean id="modelConfig" class="org.onap.aai.validation.config.ModelConfig"> + <property name="modelCacheExpirySeconds" value="${model.cache.expirySeconds}" /> + </bean> + + <bean id="restConfig" class="org.onap.aai.validation.config.RestConfig"> + <property name="host" value="${host}" /> + <property name="port" value="${port}" /> + <property name="protocol" value="${httpProtocol}" /> + <property name="baseModelURI" value="${baseModelURI}" /> + <property name="trustStorePath" value="${trustStorePath}" /> + <property name="trustStorePassword" value="${trustStorePassword.x}" /> + <property name="keyStorePath" value="${keyStorePath}" /> + <property name="keyStorePassword" value="${keyStorePassword.x}" /> + <property name="keyManagerFactoryAlgorithm" value="${keyManagerFactoryAlgorithm}" /> + <property name="keyStoreType" value="${keyStoreType}" /> + <property name="securityProtocol" value="${securityProtocol}" /> + <property name="connectionTimeout" value="${connectionTimeout}" /> + <property name="readTimeout" value="${readTimeout}" /> + </bean> + + <bean id="topicAdminConfig" class="org.onap.aai.validation.config.TopicAdminConfig"> + <property name="publishEnable" value="${topic.publish.enable}" /> + <property name="publishRetries" value="${topic.publish.retries}" /> + <property name="consumeEnable" value="${topic.consume.enable}" /> + <property name="consumePollingIntervalSeconds" value="${topic.consume.polling.interval.seconds}" /> + </bean> + + <bean id="validationControllerConfig" class="org.onap.aai.validation.config.ValidationControllerConfig"> + <property name="eventDomain" value="${event.domain}" /> + <property name="excludedEventActions" value="#{'${event.action.exclude}'.split(',')}" /> + <property name="eventTypeRule" value="#{'${event.type.rule}'.split(',')}" /> + <property name="eventTypeModel" value="#{'${event.type.model}'.split(',')}" /> + </bean> + + <bean id="ruleIndexingConfig" class="org.onap.aai.validation.config.RuleIndexingConfig"> + <property name="indexedEvents" value="#{'${rule.indexing.events}'.split(',')}" /> + <property name="excludedOxmValidationEvents" value="#{'${rule.indexing.exclude.oxm.validation}'.split(',')}" /> + <property name="indexAttributes" value="#{'${rule.indexing.key.attributes}'.split(',')}" /> + <property name="defaultIndexKey" value="${rule.indexing.default.key}" /> + </bean> + + <bean id="validationServiceAuthConfig" class="org.onap.aai.validation.config.ValidationServiceAuthConfig"> + <property name="authenticationDisable" value="${auth.authentication.disable}" /> + <property name="authPolicyFile" value="${auth.policy.file}" /> + </bean> + + <!-- ////////////////////////////////////////////////////////////////// --> + <!-- READER BEANS --> + <!-- ////////////////////////////////////////////////////////////////// --> + <bean id="schemaLocationsBean" class="org.onap.aai.setup.SchemaLocationsBean"> + <property name="nodeDirectory" value="${nodeDir}" /> + <property name="edgeDirectory" value="${edgeDir}" /> + </bean> + + <bean id="configTranslator" class="org.onap.aai.validation.reader.OxmConfigTranslator"> + <constructor-arg ref="schemaLocationsBean" /> + </bean> + + <bean id="nodeIngestor" class="org.onap.aai.nodes.NodeIngestor"> + <constructor-arg ref="configTranslator" /> + </bean> + + <bean id="oxmReader" class="org.onap.aai.validation.reader.OxmReader" init-method="init"> + <constructor-arg ref="nodeIngestor" /> + <constructor-arg value="V${aai.oxm.version}" /> + </bean> + + <bean id="jsonReader" class="org.onap.aai.validation.reader.JsonReader" /> + + <bean id="eventReader" class="org.onap.aai.validation.reader.EventReader"> + <constructor-arg ref="eventReaderConfig" /> + <constructor-arg ref="jsonReader" /> + <constructor-arg ref="oxmReader" /> + </bean> + + <!-- ////////////////////////////////////////////////////////////////// --> + <!-- IMPLEMENTATION BEANS --> + <!-- ////////////////////////////////////////////////////////////////// --> + <bean id="messagePublisher" class="org.onap.aai.validation.publisher.ValidationEventPublisher"> + <constructor-arg ref="topicAdminConfig" /> + </bean> + + <bean id="validationController" class="org.onap.aai.validation.controller.ValidationController"> + <constructor-arg ref="validationControllerConfig" /> + <constructor-arg ref="eventReader" /> + <constructor-arg ref="ruleDrivenValidator" /> + <constructor-arg ref="modelDrivenValidator" /> + <constructor-arg ref="messagePublisher" /> + </bean> + + <bean id="eventPollingService" class="org.onap.aai.validation.services.EventPollingService"> + <property name="validationController" ref="validationController" /> + </bean> + + <bean id="startupServlet" class="org.onap.aai.validation.servlet.StartupServlet" init-method="init"> + <constructor-arg ref="eventPollingService" /> + <constructor-arg ref="topicAdminConfig" /> + </bean> + + <bean id="rulesConfigurationPath" class="java.nio.file.Paths" factory-method="get"> + <constructor-arg value="${APP_HOME}/bundleconfig/etc/rules/" /> + <constructor-arg> + <array /> + </constructor-arg> + </bean> + + <bean id="ruleDrivenValidator" class="org.onap.aai.validation.ruledriven.RuleDrivenValidator"> + <constructor-arg ref="rulesConfigurationPath" /> + <constructor-arg ref="oxmReader" /> + <constructor-arg ref="eventReader" /> + <constructor-arg ref="ruleIndexingConfig"/> + </bean> + + <bean id="restClient" class="org.onap.aai.validation.data.client.RestClient"> + <constructor-arg ref="restConfig" /> + </bean> + + <!-- MODEL VALIDATION BEANS --> + <bean id="modelCacheManager" class="org.onap.aai.validation.modeldriven.ModelCacheManager"> + <constructor-arg ref="modelConfig" /> + <constructor-arg ref="restConfig" /> + </bean> + + <bean id="modelInstanceMappingReader" class="org.onap.aai.validation.modeldriven.configuration.mapping.ModelInstanceMappingReader"> + <constructor-arg ref="mappingFile" /> + </bean> + + <bean id="instanceReader" class="org.onap.aai.validation.modeldriven.validator.InstanceReader"> + <constructor-arg ref="jsonReader" /> + <constructor-arg ref="oxmReader" /> + </bean> + + <bean id="modelDrivenValidator" class="org.onap.aai.validation.modeldriven.validator.ModelDrivenValidator"> + <constructor-arg ref="modelCacheManager" /> + <constructor-arg ref="modelInstanceMappingReader" /> + <constructor-arg ref="instanceReader" /> + <constructor-arg ref="eventReader" /> + </bean> + + <bean id="aaiMicroServiceAuth" class="org.onap.aai.auth.AAIMicroServiceAuth"> + <constructor-arg ref="validationServiceAuthConfig" /> + </bean> + + <bean id="validateService" class="org.onap.aai.validation.services.ValidateServiceImpl"> + <constructor-arg ref="validationController" /> + <constructor-arg ref="aaiMicroServiceAuth" /> + </bean> +</beans> diff --git a/src/main/resources/validation-service-logging-resources.properties b/src/main/resources/validation-service-logging-resources.properties new file mode 100644 index 0000000..2cdc2e8 --- /dev/null +++ b/src/main/resources/validation-service-logging-resources.properties @@ -0,0 +1,178 @@ +# ============LICENSE_START=================================================== +# Copyright (c) 2018 Amdocs +# ============================================================================ +# 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===================================================== +# +#Resource key=Error Code|Message text|Resolution text |Description text +####### +#Newlines can be utilized to add some clarity ensuring continuing line +#has atleast one leading space +#ResourceKey=\ +# ERR0000E\ +# Sample error msg txt\ +# Sample resolution msg\ +# Sample description txt +# +###### +#Error code classification category +#000 Info/Debug +#100 Permission errors +#200 Availability errors/Timeouts +#300 Data errors +#400 Schema Interface type/validation errors +#500 Business process errors +#900 Unknown errors +# +######################################################################## + +MESSAGE_VALIDATION_REQUEST=\ + LOG0001I|\ + Validation request payload: {0}|\ + No resolution required|\ + |\ + +POLL_EVENTS=\ + LOG0002I|\ + *** Polling for events ***|\ + +NUMBER_OF_MESSAGES_CONSUMED=\ + LOG0003I|\ + Number of messages consumed: {0}|\ + +STARTUP_SERVLET_INIT=\ + LOG0004I|\ + ---------- StartupServlet Initializing ----------|\ + +POLLING_INTERVAL_CONFIG_NOT_PRESENT=\ + LOG0005I|\ + Polling interval config not present, using default interval of {0} seconds|\ + +POLLING_FOR_EVENTS=\ + LOG0006I|\ + ---------- Starting to poll for events. Interval = {0} seconds. ----------|\ + +POLLING_DISABLED=\ + LOG0007I|\ + ---------- Event polling is disabled ----------|\ + +STARTUP_SERVLET_INIT_SUCCESS=\ + LOG0008I|\ + ---------- StartupServlet Initialized successfully ----------|\ + +EVENT_CLIENT_CLOSE_UNSENT_MESSAGE=\ + LOG0009I|\ + {0}|\ + +LOAD_PROPERTIES=\ + LOG0010I|\ + Loading properties - {0}|\ + +FILE_LOAD_INTO_MAP=\ + LOG0011I|\ + File {0} is loaded into the map and the corresponding system properties have been refreshed|\ + +MESSAGE_AUDIT=\ + LOG0012I|\ + {0}|\ + |\ + +MESSAGE_METRIC=\ + LOG0013I|\ + {0}|\ + |\ + +MISSING_REQUEST_ID=\ + LOG0014I|\ + Missing request ID. Assigned {0}|\ + +MESSAGE_PUBLISH_ERROR=\ + LOG0201E|\ + Error while publishing validation result: {0}|\ + |\ + +INVOKE_EVENT_CONSUMER_ERROR=\ + LOG0202E|\ + Error invoking the Event Consumer|\ + +UNSENT_MESSAGE_WARN=\ + LOG0203W|\ + Not all events were successfully sent|\ + +UNSENT_MESSAGE_ERROR=\ + LOG0204E|\ + Error sending events|\ + +SEND_MESSAGE_ABORT_WARN=\ + LOG0205W|\ + Retries exhausted, aborting|\ + +SEND_MESSAGE_RETRY_WARN=\ + LOG0206W|\ + Retrying to send events|\ + +READ_FILE_ERROR=\ + LOG0300E|\ + Error reading file {0}|\ + +FILE_ARG_NULL_ERROR=\ + LOG0301E|\ + File argument is null|\ + +FILE_LOAD_INTO_MAP_ERROR=\ + LOG0302E|\ + File {0} cannot be loaded into the map {1}|\ + +CREATE_PROPERTY_MAP_ERROR=\ + LOG0303E|\ + Error creating property map|\ + +FILE_MONITOR_BLOCK_ERROR=\ + LOG0304E|\ + Error in the file monitor block|\ + +READ_FILE_STREAM_ERROR=\ + LOG0305E|\ + Error reading the file stream|\ + +STRING_UTILS_INVALID_REGEX=\ + LOG0306E|\ + Invalid regular expression: {0}|\ + +OXM_LOAD_ERROR=\ + LOG0401E|\ + OXM load error|\ + Check the OXM files are well formed and present and retry|\ + The OXM files are missing and or corrupt|\ + +OXM_MISSING_KEY_ERROR=\ + LOG0402E|\ + Graph object {0} primary key missing|\ + Check request is valid and retry|\ + The Graph object is missing the primary key(s)|\ + +CANNOT_VALIDATE_ERROR=\ + LOG0901E|\ + Error during validation of event: {0}|\ + |\ + +CANNOT_VALIDATE_HANDLE_EXCEPTION_ERROR=\ + LOG0902E|\ + Error during handling the exception for an event that could not be validated: {0}|\ + |\ + +MALFORMED_REQUEST_ERROR=\ + LOG1000E|\ + Malformed request.|\ + +PROCESS_REQUEST_ERROR=LOG1001E|Error while processing request.|
\ No newline at end of file |