diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/pom.xml b/appc-dg/appc-dg-shared/appc-dg-aai/pom.xml
index 4597ee0..ee5325c 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/pom.xml
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/pom.xml
@@ -2,7 +2,7 @@
 <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.openecomp.appc</groupId>
+        <groupId>org.onap.appc</groupId>
         <artifactId>appc-dg-shared</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
@@ -11,12 +11,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.openecomp.appc</groupId>
+            <groupId>org.onap.appc</groupId>
             <artifactId>appc-common</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.openecomp.appc</groupId>
+            <groupId>org.onap.appc</groupId>
             <artifactId>appc-dg-common</artifactId>
             <version>${project.version}</version>
             <scope>provided</scope>
@@ -31,7 +31,7 @@
             <artifactId>aai-service-provider</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.openecomp.appc</groupId>
+            <groupId>org.onap.appc</groupId>
             <artifactId>appc-dg-dependency-model</artifactId>
             <version>${project.version}</version>
         </dependency>
@@ -60,7 +60,7 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.openecomp.appc</groupId>
+            <groupId>org.onap.appc</groupId>
             <artifactId>appc-dg-domain-model-lib</artifactId>
             <version>${project.version}</version>
         </dependency>
@@ -76,8 +76,8 @@
                 <configuration>
                     <instructions>
                         <Bundle-SymbolicName>appc-dg-aai</Bundle-SymbolicName>
-                        <Export-Package>org.openecomp.appc.dg.aai</Export-Package>
-                        <Private-Package>org.openecomp.appc.dg.aai.exception,org.openecomp.appc.dg.aai.objects,org.openecomp.appc.dg.aai.impl.*</Private-Package>
+                        <Export-Package>org.onap.appc.dg.aai</Export-Package>
+                        <Private-Package>org.onap.appc.dg.aai.exception,org.onap.appc.dg.aai.objects,org.onap.appc.dg.aai.impl.*</Private-Package>
                         <Import-Package>
                             *;resolution:=optional
                         </Import-Package>
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/AAIPlugin.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/AAIPlugin.java
index f71f85e..64033dd 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/AAIPlugin.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/AAIPlugin.java
@@ -22,11 +22,11 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai;
+package org.onap.appc.dg.aai;
 
 import java.util.Map;
 
-import org.openecomp.appc.exceptions.APPCException;
+import org.onap.appc.exceptions.APPCException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
 
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/exception/AAIQueryException.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/exception/AAIQueryException.java
index 2068253..2ec604d 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/exception/AAIQueryException.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/exception/AAIQueryException.java
@@ -22,7 +22,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.exception;
+package org.onap.appc.dg.aai.exception;
 
 
 public class AAIQueryException extends Exception{
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/AAIPluginImpl.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/AAIPluginImpl.java
index d0fdf54..1b510a8 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/AAIPluginImpl.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/AAIPluginImpl.java
@@ -22,18 +22,18 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.impl;
-import org.openecomp.appc.domainmodel.Vnf;
-import org.openecomp.appc.domainmodel.Vnfc;
-import org.openecomp.appc.domainmodel.Vserver;
-import org.openecomp.appc.exceptions.APPCException;
-import org.openecomp.appc.i18n.Msg;
+package org.onap.appc.dg.aai.impl;
+import org.onap.appc.domainmodel.Vnf;
+import org.onap.appc.domainmodel.Vnfc;
+import org.onap.appc.domainmodel.Vserver;
+import org.onap.appc.exceptions.APPCException;
+import org.onap.appc.i18n.Msg;
 import com.att.eelf.i18n.EELFResourceManager;
 
-import org.openecomp.appc.dg.aai.AAIPlugin;
-import org.openecomp.appc.dg.aai.exception.AAIQueryException;
-import org.openecomp.appc.dg.aai.objects.AAIQueryResult;
-import org.openecomp.appc.dg.aai.objects.Relationship;
+import org.onap.appc.dg.aai.AAIPlugin;
+import org.onap.appc.dg.aai.exception.AAIQueryException;
+import org.onap.appc.dg.aai.objects.AAIQueryResult;
+import org.onap.appc.dg.aai.objects.Relationship;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
@@ -92,7 +92,7 @@
                 throw new APPCException(msg);
             }
             String msg = EELFResourceManager.format(Msg.SUCCESS_EVENT_MESSAGE, "PostGenericVnfData", "VNF ID " + vnf_id);
-            ctx.setAttribute(org.openecomp.appc.Constants.ATTRIBUTE_SUCCESS_MESSAGE, msg);
+            ctx.setAttribute(org.onap.appc.Constants.ATTRIBUTE_SUCCESS_MESSAGE, msg);
 
         } catch (SvcLogicException e) {
             String msg = EELFResourceManager.format(Msg.AAI_QUERY_FAILED, vnf_id);
@@ -128,7 +128,7 @@
             ctx.setAttribute(Constants.IS_RELEASE_ENTITLEMENT_REQUIRE, Boolean.toString(!aaiEntitlementPoolUuid.isEmpty()));
             ctx.setAttribute(Constants.IS_RELEASE_LICENSE_REQUIRE, Boolean.toString(!aaiLicenseKeyGroupUuid.isEmpty()));
             String msg = EELFResourceManager.format(Msg.SUCCESS_EVENT_MESSAGE, "GetGenericVnfData","VNF ID " + vnf_id);
-            ctx.setAttribute(org.openecomp.appc.Constants.ATTRIBUTE_SUCCESS_MESSAGE, msg);
+            ctx.setAttribute(org.onap.appc.Constants.ATTRIBUTE_SUCCESS_MESSAGE, msg);
 
             logger.info("AAIResponse: " + response.toString());
         } catch (SvcLogicException e) {
@@ -207,7 +207,7 @@
         populateContext(vnf,ctx);
         ctx.setAttribute("getVnfHierarchy_result", "SUCCESS");
         String msg = EELFResourceManager.format(Msg.SUCCESS_EVENT_MESSAGE, "GetVNFHierarchy","VNF ID " + vnfId);
-        ctx.setAttribute(org.openecomp.appc.Constants.ATTRIBUTE_SUCCESS_MESSAGE, msg);
+        ctx.setAttribute(org.onap.appc.Constants.ATTRIBUTE_SUCCESS_MESSAGE, msg);
 
     }
 
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/Constants.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/Constants.java
index 7f82ea7..6a6818e 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/Constants.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/impl/Constants.java
@@ -22,14 +22,14 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.impl;
+package org.onap.appc.dg.aai.impl;
 
 
 public class Constants {
     public final static String VNF_ID_PARAM_NAME = "aai.vnfID";
     public static final String AAI_PREFIX_PARAM_NAME = "aai.prefix";
     public static final String AAI_INPUT_DATA = "aai.input.data";
-    public static final String AAI_ERROR_MESSAGE = "org.openecomp.appc.dg.error";
+    public static final String AAI_ERROR_MESSAGE = "org.onap.appc.dg.error";
 
     public static final String CONFIGURE_PATH = "/restconf/config/opendaylight-inventory:nodes/node/";
     public static final String CONNECT_PATH = "/restconf/config/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount/config:modules";
@@ -64,20 +64,20 @@
     public static final String PAYLOAD = "payload";
 
     // constants fo DG
-    public static final String VNF_TYPE_FIELD_NAME = "org.openecomp.appc.vftype";
-    public static final String VNF_VERSION_FIELD_NAME = "org.openecomp.appc.vfversion";
-    public static final String VNF_RESOURCE_VERSION_FIELD_NAME = "org.openecomp.appc.resource-version";
+    public static final String VNF_TYPE_FIELD_NAME = "org.onap.appc.vftype";
+    public static final String VNF_VERSION_FIELD_NAME = "org.onap.appc.vfversion";
+    public static final String VNF_RESOURCE_VERSION_FIELD_NAME = "org.onap.appc.resource-version";
     public static final String TARGET_VNF_TYPE = "target-vnf-type";
     public static final String FILE_CONTENT_FIELD_NAME = "file-content";
     public static final String CONNECTION_DETAILS_FIELD_NAME = "connection-details";
     public static final String CONFIGURATION_FILE_FIELD_NAME = "configuration-file-name";
     public static final String VNF_HOST_IP_ADDRESS_FIELD_NAME = "vnf-host-ip-address";
     public static final String UPGRADE_VERSION = "upgrade-version";
-    public static final String DG_ERROR_FIELD_NAME = "org.openecomp.appc.dg.error";
+    public static final String DG_ERROR_FIELD_NAME = "org.onap.appc.dg.error";
     public static final String ATTRIBUTE_ERROR_MESSAGE = "error-message";
     public static final String RESOURCEKEY = "resourceKey";
-    public static final String REQ_ID_FIELD_NAME = "org.openecomp.appc.reqid";
-    public static final String API_VERSION_FIELD_NAME = "org.openecomp.appc.apiversion";
+    public static final String REQ_ID_FIELD_NAME = "org.onap.appc.reqid";
+    public static final String API_VERSION_FIELD_NAME = "org.onap.appc.apiversion";
     public static final String MODEL_ENTITLMENT_POOL_UUID_NAME = "model.entitlement.pool.uuid";
     public static final String MODEL_LICENSE_KEY_UUID_NAME = "model.license.key.uuid";
     public static final String ENTITLMENT_POOL_UUID_NAME = "entitlement.pool.uuid";
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/AAIQueryResult.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/AAIQueryResult.java
index e6989a3..674da55 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/AAIQueryResult.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/AAIQueryResult.java
@@ -22,7 +22,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.objects;
+package org.onap.appc.dg.aai.objects;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/Relationship.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/Relationship.java
index f819192..d32898f 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/Relationship.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/java/org/openecomp/appc/dg/aai/objects/Relationship.java
@@ -22,7 +22,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.objects;
+package org.onap.appc.dg.aai.objects;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/resources/OSGI-INF/blueprint/blueprint.xml
index 1b76c29..7adde0a 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/resources/OSGI-INF/blueprint/blueprint.xml
@@ -27,8 +27,8 @@
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
 
-    <service id="aaiServicePlugin" interface="org.openecomp.appc.dg.aai.AAIPlugin">
-        <bean class="org.openecomp.appc.dg.aai.impl.AAIPluginImpl"/>
+    <service id="aaiServicePlugin" interface="org.onap.appc.dg.aai.AAIPlugin">
+        <bean class="org.onap.appc.dg.aai.impl.AAIPluginImpl"/>
     </service>
 
 </blueprint>
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIClientMock.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIClientMock.java
index 5de5e85..3de3083 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIClientMock.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIClientMock.java
@@ -22,7 +22,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.impl;
+package org.onap.appc.dg.aai.impl;
 
 import java.net.URL;
 import java.util.HashMap;
diff --git a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIPluginImplTest.java b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIPluginImplTest.java
index fbf7f03..d2f0859 100644
--- a/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIPluginImplTest.java
+++ b/appc-dg/appc-dg-shared/appc-dg-aai/src/main/test/java/org/openecomp/appc/dg/aai/impl/AAIPluginImplTest.java
@@ -22,14 +22,14 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.dg.aai.impl;
+package org.onap.appc.dg.aai.impl;
 
 import org.junit.runner.RunWith;
-import org.openecomp.appc.dg.aai.Constants;
-import org.openecomp.appc.dg.aai.impl.AAIPluginImpl;
-import org.openecomp.appc.dg.common.dao.DAOService;
-import org.openecomp.appc.dg.common.impl.LicenseManagerImpl;
-import org.openecomp.appc.exceptions.APPCException;
+import org.onap.appc.dg.aai.Constants;
+import org.onap.appc.dg.aai.impl.AAIPluginImpl;
+import org.onap.appc.dg.common.dao.DAOService;
+import org.onap.appc.dg.common.impl.LicenseManagerImpl;
+import org.onap.appc.exceptions.APPCException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
 import org.onap.ccsdk.sli.adaptors.aai.AAIClient;
