Change appc-oam to blueprint

Change-Id: I848953fd492ad05d178c7b2d85b191248b45fa36
Signed-off-by: Patrick Brady <patrick.brady@att.com>
Issue-ID: APPC-1368
diff --git a/appc-oam/appc-oam-bundle/pom.xml b/appc-oam/appc-oam-bundle/pom.xml
index 4babf2a..6d04da8 100644
--- a/appc-oam/appc-oam-bundle/pom.xml
+++ b/appc-oam/appc-oam-bundle/pom.xml
@@ -3,7 +3,7 @@
   ============LICENSE_START=======================================================
   ONAP : APPC
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
   ================================================================================
   Copyright (C) 2017 Amdocs
   =============================================================================
@@ -44,7 +44,6 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
-                        <Export-Package>org.opendaylight.controller.config.yang.config.sample_oam.impl</Export-Package>
                         <Export-Package>org.onap.appc.oam</Export-Package>
                         <Import-Package>
                             org.onap.appc.i18n,
@@ -61,75 +60,6 @@
                     </instructions>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.opendaylight.yangtools</groupId>
-                <artifactId>yang-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>config</id>
-                        <goals>
-                            <goal>generate-sources</goal>
-                        </goals>
-                        <configuration>
-                            <codeGenerators>
-                                <generator>
-                                    <codeGeneratorClass>
-                                        org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-                                    </codeGeneratorClass>
-                                    <outputBaseDir>${jmxGeneratorPath}</outputBaseDir>
-                                    <additionalConfiguration>
-                                        <namespaceToPackage1>
-                                            urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang
-                                        </namespaceToPackage1>
-                                    </additionalConfiguration>
-                                </generator>
-                                <generator>
-                                    <codeGeneratorClass>
-                                        org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl
-                                    </codeGeneratorClass>
-                                    <outputBaseDir>${salGeneratorPath}</outputBaseDir>
-                                </generator>
-                            </codeGenerators>
-                            <inspectDependencies>true</inspectDependencies>
-                        </configuration>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.opendaylight.mdsal</groupId>
-                        <artifactId>maven-sal-api-gen-plugin</artifactId>
-                        <version>${odl.sal.api.gen.plugin.version}</version>
-                        <type>jar</type>
-                    </dependency>
-                    <dependency>
-                        <groupId>org.opendaylight.controller</groupId>
-                        <artifactId>yang-jmx-generator-plugin</artifactId>
-                        <version>${odl.yang.jmx.generator.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>build-helper-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>attach-artifacts</id>
-                        <goals>
-                            <goal>attach-artifact</goal>
-                        </goals>
-                        <phase>package</phase>
-                        <configuration>
-                            <artifacts>
-                                <artifact>
-                                    <file>${project.build.directory}/classes/initial/appc-oam.xml</file>
-                                    <type>xml</type>
-                                    <classifier>config</classifier>
-                                </artifact>
-                            </artifacts>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
         <pluginManagement>
             <plugins>
diff --git a/appc-oam/appc-oam-bundle/src/main/java/org/opendaylight/yang/gen/v1/org/onap/appc/oam/impl/rev170303/AppcOamModule.java b/appc-oam/appc-oam-bundle/src/main/java/org/opendaylight/yang/gen/v1/org/onap/appc/oam/impl/rev170303/AppcOamModule.java
deleted file mode 100644
index a1a1890..0000000
--- a/appc-oam/appc-oam-bundle/src/main/java/org/opendaylight/yang/gen/v1/org/onap/appc/oam/impl/rev170303/AppcOamModule.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2017 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=========================================================
- */
-
-package org.opendaylight.yang.gen.v1.org.onap.appc.oam.impl.rev170303;
-
-import org.onap.appc.oam.AppcOam;
-
-public class AppcOamModule extends org.opendaylight.yang.gen.v1.org.onap.appc.oam.impl.rev170303.AbstractAppcOamModule {
-    public AppcOamModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
-        super(identifier, dependencyResolver);
-    }
-
-    public AppcOamModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.org.onap.appc.oam.impl.rev170303.AppcOamModule oldModule, java.lang.AutoCloseable oldInstance) {
-        super(identifier, dependencyResolver, oldModule, oldInstance);
-    }
-
-    @Override
-    public void customValidation() {
-        // add custom validation form module attributes here.
-    }
-
-    @Override
-    public java.lang.AutoCloseable createInstance() {
-        final AppcOam oam  = new AppcOam(getDataBrokerDependency(), getNotificationServiceDependency(), getRpcRegistryDependency());
-        return new AutoCloseable() {
-
-            @Override
-            public void close() throws Exception {
-                oam.close();
-            }
-        };
-    }
-
-}
diff --git a/appc-oam/appc-oam-bundle/src/main/java/org/opendaylight/yang/gen/v1/org/onap/appc/oam/impl/rev170303/AppcOamModuleFactory.java b/appc-oam/appc-oam-bundle/src/main/java/org/opendaylight/yang/gen/v1/org/onap/appc/oam/impl/rev170303/AppcOamModuleFactory.java
deleted file mode 100644
index 5161989..0000000
--- a/appc-oam/appc-oam-bundle/src/main/java/org/opendaylight/yang/gen/v1/org/onap/appc/oam/impl/rev170303/AppcOamModuleFactory.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2017 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=========================================================
- */
-
-/*
-* Generated file
-*
-* Generated from: yang module name: appc-oam-impl yang module local name: appc-oam-impl
-* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
-* Generated at: Mon Apr 24 16:25:46 IST 2017
-*
-* Do not modify this file unless it is present under src/main directory
-*/
-package org.opendaylight.yang.gen.v1.org.onap.appc.oam.impl.rev170303;
-public class AppcOamModuleFactory extends org.opendaylight.yang.gen.v1.org.onap.appc.oam.impl.rev170303.AbstractAppcOamModuleFactory {
-
-}
diff --git a/appc-oam/appc-oam-bundle/src/main/resources/initial/appc-oam.xml b/appc-oam/appc-oam-bundle/src/main/resources/initial/appc-oam.xml
deleted file mode 100644
index 13da867..0000000
--- a/appc-oam/appc-oam-bundle/src/main/resources/initial/appc-oam.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ============LICENSE_START=======================================================
-  ONAP : APPC
-  ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
-  ================================================================================
-  Copyright (C) 2017 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=========================================================
-  -->
-
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<snapshot>
-	<configuration>
-		<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-			<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-				<module>
-
-					<!-- This xmlns:prefix should match the namespace in the *-oam-impl.yang
-						file The prefix: inside type should match the prefix of the yang file. -->
-					<type xmlns:prefix="org:onap:appc:oam:impl">
-						prefix:appc-oam-impl
-					</type>
-					<name>appc-oam-impl</name>
-
-					<!-- The following sections contain bindings to services defined in 
-						the *-oam-impl yang file. For example the rpc-registry is required because
-						we have a dependency (or augmentation) named "rpc-registry" and which binds 
-						to the md-sa-binding-registry. If you remove those dependencies from the 
-						yang file then you can remove them from here. -->
-					<rpc-registry>
-						<type
-							xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-rpc-registry</type>
-						<name>binding-rpc-broker</name>
-					</rpc-registry>
-
-					<data-broker>
-						<type
-							xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>
-						<name>binding-data-broker</name>
-					</data-broker>
-
-					<notification-service>
-						<type
-							xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">
-							binding:binding-notification-service
-						</type>
-						<name>binding-notification-broker</name>
-					</notification-service>
-				</module>
-
-			</modules>
-		</data>
-
-	</configuration>
-
-	<!-- Required capabilities are basically a listing of all modules that need 
-		to be imported before our service can be resolved. Capabilities for dependencies 
-		defined above are implied which is why we do not have define a required capability 
-		for the data broker, for example. -->
-	<required-capabilities>
-		<capability>org:onap:appc:oam:impl?module=appc-oam-impl&amp;revision=2017-03-03
-		</capability>
-	</required-capabilities>
-
-</snapshot>
diff --git a/appc-oam/appc-oam-bundle/src/main/resources/org/opendaylight/blueprint/oam-blueprint.xml b/appc-oam/appc-oam-bundle/src/main/resources/org/opendaylight/blueprint/oam-blueprint.xml
new file mode 100644
index 0000000..adb4085
--- /dev/null
+++ b/appc-oam/appc-oam-bundle/src/main/resources/org/opendaylight/blueprint/oam-blueprint.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APPC
+  ================================================================================
+  Copyright (C) 2019 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=========================================================
+  -->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+           odl:use-default-for-reference-types="true">
+
+    <reference id="dataBroker"
+               interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+               odl:type="default" />
+
+    <reference id="notificationService"
+               interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService"
+               odl:type="default" />
+
+    <reference id="rpcRegistry"
+               interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"
+               odl:type="default" />
+
+    <bean id="oam" class="org.onap.appc.oam.AppcOam">
+        <argument ref="dataBroker" />
+        <argument ref="notificationService" />
+        <argument ref="rpcRegistry" />
+    </bean>
+
+    <odl:rpc-implementation ref="oam"/>
+
+</blueprint>
\ No newline at end of file
diff --git a/appc-oam/appc-oam-bundle/src/main/yang/appc-oam.yang b/appc-oam/appc-oam-bundle/src/main/yang/appc-oam.yang
deleted file mode 100644
index 9f0a77f..0000000
--- a/appc-oam/appc-oam-bundle/src/main/yang/appc-oam.yang
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2017 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.
- * 
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * ============LICENSE_END=========================================================
- */
-
-module appc-oam-impl {
-
-    yang-version 1;
-    namespace "org:onap:appc:oam:impl";
-    prefix "appc-oam-impl";
-
-    import config { prefix config; revision-date 2013-04-05; }
-    import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }
-
-     description
-        "This module contains the base YANG definitions for
-        appc-oam implementation.";
-
-    revision "2017-03-03" {
-        description
-            "Initial revision.";
-    }
-
-    // This is the definition of the service implementation as a module identity.
-    identity appc-oam-impl {
-            base config:module-type;
-
-            // Specifies the prefix for generated java classes.
-            config:java-name-prefix AppcOam;
-    }
-
-    // Augments the 'configuration' choice node under modules/module.
-    // We consume the three main services, RPCs, DataStore, and Notifications
-    augment "/config:modules/config:module/config:configuration" {
-        case appc-oam-impl {
-            when "/config:modules/config:module/config:type = 'appc-oam-impl'";
-
-            container rpc-registry {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity mdsal:binding-rpc-registry;
-                    }
-                }
-            }
-
-            container notification-service {
-                uses config:service-ref {
-                    refine type {
-                        mandatory true;
-                        config:required-identity mdsal:binding-notification-service;
-                    }
-                }
-            }
-
-            container data-broker {
-                uses config:service-ref {
-                    refine type {
-                        mandatory false;
-                        config:required-identity mdsal:binding-async-data-broker;
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/appc-oam/appc-oam-features/onap-appc-oam/src/main/feature/feature.xml b/appc-oam/appc-oam-features/onap-appc-oam/src/main/feature/feature.xml
deleted file mode 100644
index d36e84d..0000000
--- a/appc-oam/appc-oam-features/onap-appc-oam/src/main/feature/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ============LICENSE_START=======================================================
-  ONAP : APPC
-  ================================================================================
-  Copyright (C) 2018 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=========================================================
-  -->
-<features name="onap-appc-oam" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0">
-    <feature name="onap-appc-oam" version="${project.version}">
-        <configfile finalname="etc/opendaylight/karaf/201-appc-oam.xml">mvn:org.onap.appc/appc-oam-bundle/${project.version}/xml/config</configfile>
-    </feature>
-</features>
\ No newline at end of file
diff --git a/appc-oam/appc-oam-installer/pom.xml b/appc-oam/appc-oam-installer/pom.xml
index af349c9..5965f69 100644
--- a/appc-oam/appc-oam-installer/pom.xml
+++ b/appc-oam/appc-oam-installer/pom.xml
@@ -3,7 +3,7 @@
   ============LICENSE_START=======================================================
   ONAP : APPC
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
   ================================================================================
   Copyright (C) 2017 Amdocs
   =============================================================================
@@ -65,14 +65,6 @@
       <version>${project.version}</version>
     </dependency>
 
-    <dependency>
-      <groupId>org.onap.appc</groupId>
-      <artifactId>appc-oam-bundle</artifactId>
-      <version>${project.version}</version>
-      <classifier>config</classifier>
-      <type>xml</type>
-    </dependency>
-
   </dependencies>
 
   <build>
diff --git a/appc-oam/appc-oam-installer/src/assembly/assemble_mvnrepo_zip.xml b/appc-oam/appc-oam-installer/src/assembly/assemble_mvnrepo_zip.xml
index ac20001..fa4194b 100644
--- a/appc-oam/appc-oam-installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/appc-oam/appc-oam-installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -2,7 +2,7 @@
   ============LICENSE_START=======================================================
   ONAP : APPC
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
   ================================================================================
   Copyright (C) 2017 Amdocs
   =============================================================================
@@ -47,10 +47,6 @@
 	</fileSets>
 	
 	<files>
-		<file>
-			<source>../${feature-name}-bundle/src/main/resources/initial/${feature-name}.xml</source>
-			<destName>./etc/opendaylight/karaf/201-${feature-name}.xml</destName>
-		</file>
 	</files>
 
 </assembly>
diff --git a/appc-oam/appc-oam-model/pom.xml b/appc-oam/appc-oam-model/pom.xml
index 51b2949..7db1a47 100644
--- a/appc-oam/appc-oam-model/pom.xml
+++ b/appc-oam/appc-oam-model/pom.xml
@@ -3,7 +3,7 @@
   ============LICENSE_START=======================================================
   ONAP : APPC
   ================================================================================
-  Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
   ================================================================================
   Copyright (C) 2017 Amdocs
   =============================================================================
@@ -52,6 +52,7 @@
             <plugin>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yang-maven-plugin</artifactId>
+                <version>${odl.yangtools.version}</version>
                 <dependencies>
                     <dependency>
                         <groupId>org.opendaylight.mdsal</groupId>