Add the A1 Adapter API

Restructed the repo's

Issue-ID: CCSDK-2581
Change-Id: Idb4062cf32d3e55b9c93829e51f67c83842a125e
Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
diff --git a/a1-adapter/a1-adapter-api/installer/pom.xml b/a1-adapter/a1-adapter-api/installer/pom.xml
new file mode 100644
index 0000000..22b4e9e
--- /dev/null
+++ b/a1-adapter/a1-adapter-api/installer/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk oran
+  ~ ================================================================================
+  ~ Copyright (C) 2020 Nordix Foundation. 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=======================================================
+  ~
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.onap.ccsdk.oran</groupId>
+    <artifactId>a1-adapter-installer</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>ccsdk-oran :: ${project.artifactId}</name>
+
+    <properties>
+        <application.name>a1-adapter</application.name>
+        <include.transitive.dependencies>false</include.transitive.dependencies>
+    </properties>
+
+</project>
diff --git a/a1-adapter/a1-adapter-api/installer/src/assembly/assemble_mvnrepo_zip.xml b/a1-adapter/a1-adapter-api/installer/src/assembly/assemble_mvnrepo_zip.xml
new file mode 100644
index 0000000..2e5494d
--- /dev/null
+++ b/a1-adapter/a1-adapter-api/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -0,0 +1,47 @@
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk oran
+  ~ ================================================================================
+  ~ Copyright (C) 2020 Nordix Foundation. 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+  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>repo</id>
+    <formats>
+        <format>zip</format>
+    </formats>
+
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
+
+</assembly>
diff --git a/a1-adapter/a1-adapter-api/model/pom.xml b/a1-adapter/a1-adapter-api/model/pom.xml
new file mode 100644
index 0000000..3c90faf
--- /dev/null
+++ b/a1-adapter/a1-adapter-api/model/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk oran
+  ~ ================================================================================
+  ~ Copyright (C) 2020 Nordix Foundation. 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=======================================================
+  ~
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.onap.ccsdk.parent</groupId>
+      <artifactId>binding-parent</artifactId>
+      <version>2.0.0-SNAPSHOT</version>
+      <relativePath />
+   </parent>
+   <groupId>org.onap.ccsdk.oran</groupId>
+   <artifactId>a1-adapter-model</artifactId>
+   <version>1.0.0-SNAPSHOT</version>
+   <packaging>bundle</packaging>
+   <name>ccsdk-oran :: ${project.artifactId}</name>
+   <dependencies>
+      <dependency>
+         <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+         <artifactId>rfc6991</artifactId>
+      </dependency>
+   </dependencies>
+   <build>
+      <pluginManagement>
+         <plugins>
+            <plugin>
+               <groupId>org.eclipse.m2e</groupId>
+               <artifactId>lifecycle-mapping</artifactId>
+               <version>1.0.0</version>
+               <configuration>
+                  <lifecycleMappingMetadata>
+                     <pluginExecutions>
+                        <pluginExecution>
+                           <pluginExecutionFilter>
+                              <groupId>org.codehaus.mojo</groupId>
+                              <artifactId>properties-maven-plugin</artifactId>
+                              <versionRange>[1.0.0,)</versionRange>
+                              <goals>
+                                 <goal>set-system-properties</goal>
+                              </goals>
+                           </pluginExecutionFilter>
+                           <action>
+                              <execute />
+                           </action>
+                        </pluginExecution>
+                     </pluginExecutions>
+                  </lifecycleMappingMetadata>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-javadoc-plugin</artifactId>
+               <configuration>
+                  <source>8</source>
+               </configuration>
+            </plugin>
+         </plugins>
+      </pluginManagement>
+   </build>
+</project>
\ No newline at end of file
diff --git a/a1-adapter/a1-adapter-api/model/src/main/yang/A1-ADAPTER-API.yang b/a1-adapter/a1-adapter-api/model/src/main/yang/A1-ADAPTER-API.yang
new file mode 100644
index 0000000..9bc4df8
--- /dev/null
+++ b/a1-adapter/a1-adapter-api/model/src/main/yang/A1-ADAPTER-API.yang
@@ -0,0 +1,125 @@
+//-
+// ============LICENSE_START=======================================================
+// ONAP : ccsdk oran
+// ================================================================================
+// Copyright (C) 2020 Nordix Foundation. 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.
+//
+// SPDX-License-Identifier: Apache-2.0
+// ============LICENSE_END=========================================================
+
+
+module A1-ADAPTER-API {
+
+    namespace "org:onap:a1-adapter";
+
+    prefix a1-adapter-api;
+
+    import ietf-inet-types {
+        prefix "inet";
+        revision-date "2013-07-15";
+    }
+
+    import ietf-yang-types {
+        prefix yang;
+    }
+
+    revision "2020-01-22" {
+        description
+          "A1 adapter";
+    }
+
+    rpc putA1Policy {
+        input {
+            leaf near-rt-ric-url {
+                type inet:uri;
+            }
+            leaf body {
+                type string;
+            }
+        }
+        output {
+            leaf body {
+                type string;
+            }
+            leaf http-status {
+                type int32;
+            }
+        }
+    }
+
+    rpc getA1Policy {
+        input {
+            leaf near-rt-ric-url {
+                type inet:uri;
+            }
+        }
+        output {
+            leaf body {
+                type string;
+            }
+            leaf http-status {
+                type int32;
+            }
+        }
+    }
+
+    rpc getA1PolicyStatus {
+        input {
+            leaf near-rt-ric-url {
+                type inet:uri;
+            }
+        }
+        output {
+            leaf body {
+                type string;
+            }
+            leaf http-status {
+                type int32;
+            }
+        }
+    }
+
+    rpc getA1PolicyType {
+        input {
+            leaf near-rt-ric-url {
+                type inet:uri;
+            }
+        }
+        output {
+            leaf body {
+                type string;
+            }
+            leaf http-status {
+                type int32;
+            }
+        }
+    }
+
+    rpc deleteA1Policy {
+        input {
+            leaf near-rt-ric-url {
+                type inet:uri;
+            }
+        }
+        output {
+            leaf body {
+                type string;
+            }
+            leaf http-status {
+                type int32;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/a1-adapter/a1-adapter-api/pom.xml b/a1-adapter/a1-adapter-api/pom.xml
new file mode 100644
index 0000000..122d295
--- /dev/null
+++ b/a1-adapter/a1-adapter-api/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk oran
+  ~ ================================================================================
+  ~ Copyright (C) 2020 Nordix Foundation. 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=======================================================
+  ~
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.onap.ccsdk.parent</groupId>
+      <artifactId>odlparent-lite</artifactId>
+      <version>2.0.0-SNAPSHOT</version>
+      <relativePath />
+   </parent>
+   <groupId>org.onap.ccsdk.oran</groupId>
+   <artifactId>a1-adapter-api</artifactId>
+   <version>1.0.0-SNAPSHOT</version>
+   <packaging>pom</packaging>
+   <name>ccsdk-oran :: ${project.artifactId}</name>
+   <properties>
+      <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
+   </properties>
+   <modules>
+      <module>model</module>
+      <module>provider</module>
+      <module>installer</module>
+   </modules>
+   <build>
+      <plugins>
+         <!-- support sonar in multi-module project -->
+         <plugin>
+            <groupId>org.sonarsource.scanner.maven</groupId>
+            <artifactId>sonar-maven-plugin</artifactId>
+            <version>${sonar-maven-plugin.version}</version>
+         </plugin>
+      </plugins>
+   </build>
+</project>
\ No newline at end of file
diff --git a/a1-adapter/a1-adapter-api/provider/pom.xml b/a1-adapter/a1-adapter-api/provider/pom.xml
new file mode 100644
index 0000000..bf7ae33
--- /dev/null
+++ b/a1-adapter/a1-adapter-api/provider/pom.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk oran
+  ~ ================================================================================
+  ~ Copyright (C) 2020 Nordix Foundation. 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=======================================================
+  ~
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.onap.ccsdk.oran</groupId>
+    <artifactId>a1-adapter-provider</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <name>ccsdk-oran :: ${project.artifactId}</name>
+
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>mdsal-artifacts</artifactId>
+                <version>1.6.1</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.onap.ccsdk.sli.core</groupId>
+                <artifactId>sli-core-artifacts</artifactId>
+                <version>${ccsdk.sli.core.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.ccsdk.oran</groupId>
+            <artifactId>a1-adapter-model</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-binding-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-common-util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-core-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-common</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-provider</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>utils-provider</artifactId>
+            <!-- <version>${sdnctl.sli.version}</version> -->
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.codehaus.mojo</groupId>
+                                        <artifactId>properties-maven-plugin</artifactId>
+                                        <versionRange>[1.0.0,)</versionRange>
+                                        <goals>
+                                            <goal>set-system-properties</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <execute/>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>
diff --git a/a1-adapter/features/pom.xml b/a1-adapter/features/pom.xml
new file mode 100644
index 0000000..2309ff0
--- /dev/null
+++ b/a1-adapter/features/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk oran
+  ~ ================================================================================
+  ~ Copyright (C) 2020 Nordix Foundation. 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=======================================================
+  ~
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.onap.ccsdk.parent</groupId>
+      <artifactId>odlparent-lite</artifactId>
+      <version>2.0.0-SNAPSHOT</version>
+      <relativePath />
+   </parent>
+   <groupId>org.onap.ccsdk.oran</groupId>
+   <artifactId>ccsdk-a1-adapter-feature-aggregator</artifactId>
+   <version>1.0.0-SNAPSHOT</version>
+   <packaging>pom</packaging>
+   <name>ccsdk-oran :: ${project.artifactId}</name>
+</project>
\ No newline at end of file
diff --git a/a1-adapter/pom.xml b/a1-adapter/pom.xml
index 84d4620..473b125 100644
--- a/a1-adapter/pom.xml
+++ b/a1-adapter/pom.xml
@@ -28,4 +28,8 @@
     <packaging>pom</packaging>
 
     <name>ccsdk-features :: ${project.artifactId}</name>
-</project>
+    <modules>
+      <module>a1-adapter-api</module>
+      <module>features</module>
+   </modules>
+</project>
\ No newline at end of file
diff --git a/a1-policy-management/pom.xml b/a1-policy-management/pom.xml
index da4368a..248c238 100644
--- a/a1-policy-management/pom.xml
+++ b/a1-policy-management/pom.xml
@@ -33,7 +33,7 @@
     <artifactId>a1-policy-management-service</artifactId>
     <version>1.0.0-SNAPSHOT</version>
 
-    <name>ccsdk-features :: ${project.artifactId}</name>
+    <name>ccsdk-oran :: ${project.artifactId}</name>
 
     <issueManagement>
         <system>JIRA</system>