diff options
author | Jim Hahn <jrh3@att.com> | 2020-08-31 20:53:44 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-08-31 20:53:44 +0000 |
commit | a588736799d94747f70ed648d3d821210993c5c4 (patch) | |
tree | f54ea646db61861985fe6ae87b76d87e8a9369a2 /controlloop/common/feature-controlloop-tdjam/src | |
parent | 1c5cb8a0d740ccd92d2b3fdce8eb192cd20b147f (diff) | |
parent | a6d4077e3639a0f3478f0cbf51e06ef46517a10d (diff) |
Merge "Add tdjam-controller"
Diffstat (limited to 'controlloop/common/feature-controlloop-tdjam/src')
6 files changed, 282 insertions, 0 deletions
diff --git a/controlloop/common/feature-controlloop-tdjam/src/assembly/assemble_zip.xml b/controlloop/common/feature-controlloop-tdjam/src/assembly/assemble_zip.xml new file mode 100644 index 000000000..746754952 --- /dev/null +++ b/controlloop/common/feature-controlloop-tdjam/src/assembly/assemble_zip.xml @@ -0,0 +1,84 @@ +<!-- + ============LICENSE_START======================================================= + ONAP + ================================================================================ + Copyright (C) 2020 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========================================================= + --> + +<!-- Defines how we build the .zip file which is our distribution. --> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> + <id>feature-controlloop-tdjam-package</id> + <formats> + <format>zip</format> + </formats> + + <includeBaseDirectory>false</includeBaseDirectory> + + <fileSets> + <fileSet> + <directory>target</directory> + <outputDirectory>lib/feature</outputDirectory> + <includes> + <include>feature-controlloop-tdjam-${project.version}.jar</include> + </includes> + </fileSet> + <fileSet> + <directory>target/assembly/lib</directory> + <outputDirectory>artifacts</outputDirectory> + <includes> + <include>controller-tdjam-${project.version}.jar</include> + </includes> + </fileSet> + <fileSet> + <directory>target/assembly/lib</directory> + <outputDirectory>lib/dependencies</outputDirectory> + <includes> + <include>*.jar</include> + </includes> + <excludes> + <exclude>controller-tdjam-${project.version}.jar</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>target/classes/config</directory> + <outputDirectory>config</outputDirectory> + <fileMode>0644</fileMode> + <excludes /> + </fileSet> + <fileSet> + <directory>src/main/feature/bin</directory> + <outputDirectory>bin</outputDirectory> + <fileMode>0755</fileMode> + <excludes /> + </fileSet> + <fileSet> + <directory>src/main/feature/db</directory> + <outputDirectory>db</outputDirectory> + <fileMode>0744</fileMode> + <excludes /> + </fileSet> + <fileSet> + <directory>src/main/feature/install</directory> + <outputDirectory>install</outputDirectory> + <fileMode>0755</fileMode> + <excludes /> + </fileSet> + </fileSets> +</assembly> diff --git a/controlloop/common/feature-controlloop-tdjam/src/main/feature/config/logback-include-tdjam.xml b/controlloop/common/feature-controlloop-tdjam/src/main/feature/config/logback-include-tdjam.xml new file mode 100644 index 000000000..ae0384c60 --- /dev/null +++ b/controlloop/common/feature-controlloop-tdjam/src/main/feature/config/logback-include-tdjam.xml @@ -0,0 +1,56 @@ +<!-- + ============LICENSE_START======================================================= + feature-controlloop-tdjam + ================================================================================ + Copyright (C) 2020 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========================================================= + --> + +<!-- + The logger configurations in this file are for each individual controller + to have their own network logger for topic traffic. This is an extension of + logback.xml or logback-eelf.xml. + + NOTE: Each logger MUST contain the same name as the control loop's controller. +--> +<included> + + <property name="logDir" value="${POLICY_LOGS}" /> + <property name="tdjamLog" value="tdjam-network" /> + <property name="networkPattern" value="[%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%t]%m%n" /> + + <!-- Tdjam Network Logging Properties --> + <appender name="TdjamOut" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDir}/${tdjamLog}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> + <fileNamePattern>${logDir}/${tdjamLog}.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern> + <maxFileSize>50MB</maxFileSize> + <maxHistory>30</maxHistory> + <totalSizeCap>10GB</totalSizeCap> + </rollingPolicy> + <encoder> + <pattern>${networkPattern}</pattern> + </encoder> + </appender> + + <appender name="AsyncTdjamOut" class="ch.qos.logback.classic.AsyncAppender"> + <appender-ref ref="TdjamOut" /> + </appender> + + <logger name="tdjam" level="INFO" additivity="false"> + <appender-ref ref="AsyncTdjamOut" /> + </logger> + +</included> diff --git a/controlloop/common/feature-controlloop-tdjam/src/main/feature/config/tdjam-controller.properties b/controlloop/common/feature-controlloop-tdjam/src/main/feature/config/tdjam-controller.properties new file mode 100644 index 000000000..d507998c0 --- /dev/null +++ b/controlloop/common/feature-controlloop-tdjam/src/main/feature/config/tdjam-controller.properties @@ -0,0 +1,61 @@ +### +# ============LICENSE_START======================================================= +# ONAP +# ================================================================================ +# Copyright (C) 2020 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========================================================= +### + +controller.name=tdjam +controller.type=tdjam + +rules.groupId=${project.groupId} +rules.artifactId=controller-tdjam +rules.version=${project.version} + +dmaap.source.topics=DCAE_TOPIC,APPC-CL,APPC-LCM-WRITE,SDNR-CL-RSP +dmaap.sink.topics=APPC-CL,APPC-LCM-READ,POLICY-CL-MGT,SDNR-CL,DCAE_CL_RSP + +dmaap.source.topics.DCAE_TOPIC.events=\ + org.onap.policy.controlloop.CanonicalOnset,org.onap.policy.controlloop.CanonicalAbated +dmaap.source.topics.DCAE_TOPIC.events.org.onap.policy.controlloop.CanonicalOnset.filter=\ + [?($.closedLoopEventStatus == 'ONSET')] +dmaap.source.topics.DCAE_TOPIC.events.org.onap.policy.controlloop.CanonicalAbated.filter=\ + [?($.closedLoopEventStatus == 'ABATED')] +dmaap.source.topics.DCAE_TOPIC.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gson + +dmaap.source.topics.APPC-CL.events=org.onap.policy.appc.Response +dmaap.source.topics.APPC-CL.events.org.onap.policy.appc.Response.filter=[?($.CommonHeader && $.Status)] +dmaap.source.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty + +dmaap.source.topics.APPC-LCM-WRITE.events=org.onap.policy.appclcm.AppcLcmDmaapWrapper +dmaap.source.topics.APPC-LCM-WRITE.events.org.onap.policy.appclcm.AppcLcmDmaapWrapper.filter=[?($.type == 'response')] +dmaap.source.topics.APPC-LCM-WRITE.events.custom.gson=org.onap.policy.appclcm.util.Serialization,gson + +dmaap.sink.topics.APPC-CL.events=org.onap.policy.appc.Request +dmaap.sink.topics.APPC-CL.events.custom.gson=org.onap.policy.appc.util.Serialization,gsonPretty + +dmaap.sink.topics.APPC-LCM-READ.events=org.onap.policy.appclcm.AppcLcmDmaapWrapper +dmaap.sink.topics.APPC-LCM-READ.events.custom.gson=org.onap.policy.appclcm.util.Serialization,gson + +dmaap.sink.topics.POLICY-CL-MGT.events=org.onap.policy.controlloop.VirtualControlLoopNotification +dmaap.sink.topics.POLICY-CL-MGT.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty + +dmaap.sink.topics.DCAE_CL_RSP.events=org.onap.policy.controlloop.ControlLoopResponse +dmaap.sink.topics.DCAE_CL_RSP.events.custom.gson=org.onap.policy.controlloop.util.Serialization,gsonPretty + +dmaap.source.topics.SDNR-CL-RSP.events=org.onap.policy.sdnr.PciResponseWrapper +dmaap.source.topics.SDNR-CL-RSP.events.org.onap.policy.sdnr.PciResponseWrapper.filter=[?($.type == 'response')] +dmaap.source.topics.SDNR-CL-RSP.events.custom.gson=org.onap.policy.sdnr.util.Serialization,gson diff --git a/controlloop/common/feature-controlloop-tdjam/src/main/java/org/onap/policy/drools/apps/controlloop/feature/tdjam/TdjamFeature.java b/controlloop/common/feature-controlloop-tdjam/src/main/java/org/onap/policy/drools/apps/controlloop/feature/tdjam/TdjamFeature.java new file mode 100644 index 000000000..615dba4c8 --- /dev/null +++ b/controlloop/common/feature-controlloop-tdjam/src/main/java/org/onap/policy/drools/apps/controlloop/feature/tdjam/TdjamFeature.java @@ -0,0 +1,46 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.drools.apps.controlloop.feature.tdjam; + +import org.onap.policy.drools.features.PolicyEngineFeatureApi; + +/** + * TDJAM Use Cases installation as a feature saves time loading the controller at + * runtime over the usual installation from nexus. It also reduces potential for errors in + * the pom.xml generated in the brmsgw side. + * + * <p/> + * There is no impact on other components as the brmsgw etc .. they will continue + * operating as usual. + * + * <p/> + * This class will be expanded in the future for additional functionality + * + */ +public class TdjamFeature implements PolicyEngineFeatureApi { + + public static final int SEQNO = 1000; + + @Override + public int getSequenceNumber() { + return SEQNO; + } +} diff --git a/controlloop/common/feature-controlloop-tdjam/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureApi b/controlloop/common/feature-controlloop-tdjam/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureApi new file mode 100644 index 000000000..8ce2ea7d9 --- /dev/null +++ b/controlloop/common/feature-controlloop-tdjam/src/main/resources/META-INF/services/org.onap.policy.drools.features.PolicyEngineFeatureApi @@ -0,0 +1 @@ +org.onap.policy.drools.apps.controlloop.feature.tdjam.TdjamFeature diff --git a/controlloop/common/feature-controlloop-tdjam/src/test/java/org/onap/policy/drools/apps/controlloop/feature/tdjam/TdjamFeatureTest.java b/controlloop/common/feature-controlloop-tdjam/src/test/java/org/onap/policy/drools/apps/controlloop/feature/tdjam/TdjamFeatureTest.java new file mode 100644 index 000000000..0d64c0496 --- /dev/null +++ b/controlloop/common/feature-controlloop-tdjam/src/test/java/org/onap/policy/drools/apps/controlloop/feature/tdjam/TdjamFeatureTest.java @@ -0,0 +1,34 @@ +/* + * ============LICENSE_START======================================================= + * ONAP + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.drools.apps.controlloop.feature.tdjam; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; +import org.onap.policy.drools.apps.controlloop.feature.tdjam.TdjamFeature; + +public class TdjamFeatureTest { + + @Test + public void testGetSequenceNumber() { + assertEquals(TdjamFeature.SEQNO, new TdjamFeature().getSequenceNumber()); + } +} |