diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/controller/DroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java
similarity index 94%
rename from policy-management/src/main/java/org/openecomp/policy/drools/controller/DroolsController.java
rename to policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java
index 251cef1..c4c61a8 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/controller/DroolsController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsController.java
@@ -18,16 +18,16 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.controller;
+package org.onap.policy.drools.controller;
 
 import java.util.List;
 import java.util.Map;
 
-import org.openecomp.policy.drools.core.PolicyContainer;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.properties.Lockable;
-import org.openecomp.policy.drools.properties.Startable;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
+import org.onap.policy.drools.core.PolicyContainer;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.properties.Lockable;
+import org.onap.policy.drools.properties.Startable;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
 
 /**
  * Drools Controller is the abstractions that wraps the
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/controller/DroolsControllerFactory.java b/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsControllerFactory.java
similarity index 94%
rename from policy-management/src/main/java/org/openecomp/policy/drools/controller/DroolsControllerFactory.java
rename to policy-management/src/main/java/org/onap/policy/drools/controller/DroolsControllerFactory.java
index 625eef5..c7a63a0 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/controller/DroolsControllerFactory.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/controller/DroolsControllerFactory.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.controller;
+package org.onap.policy.drools.controller;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -26,21 +26,21 @@
 import java.util.List;
 import java.util.Properties;
 
-import org.openecomp.policy.drools.controller.internal.MavenDroolsController;
-import org.openecomp.policy.drools.controller.internal.NullDroolsController;
-import org.openecomp.policy.drools.event.comm.Topic;
-import org.openecomp.policy.drools.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.drools.controller.internal.MavenDroolsController;
+import org.onap.policy.drools.controller.internal.NullDroolsController;
+import org.onap.policy.drools.event.comm.Topic;
+import org.onap.policy.drools.event.comm.Topic.CommInfrastructure;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.openecomp.policy.drools.event.comm.TopicSource;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.properties.PolicyProperties;
-import org.openecomp.policy.drools.protocol.coders.JsonProtocolFilter;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.PotentialCoderFilter;
-import org.openecomp.policy.drools.utils.Pair;
+import org.onap.policy.drools.event.comm.TopicSource;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.properties.PolicyProperties;
+import org.onap.policy.drools.protocol.coders.JsonProtocolFilter;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.PotentialCoderFilter;
+import org.onap.policy.drools.utils.Pair;
 
 /**
  * Drools Controller Factory to manage controller creation, destruction,
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java
similarity index 96%
rename from policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java
rename to policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java
index 4eacbd1..db62f78 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/MavenDroolsController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.controller.internal;
+package org.onap.policy.drools.controller.internal;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -36,18 +36,18 @@
 import org.kie.api.runtime.rule.QueryResultsRow;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.core.PolicyContainer;
-import org.openecomp.policy.drools.core.PolicySession;
-import org.openecomp.policy.drools.core.jmx.PdpJmx;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder;
-import org.openecomp.policy.drools.protocol.coders.JsonProtocolFilter;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.PotentialCoderFilter;
-import org.openecomp.policy.drools.utils.ReflectionUtil;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.core.PolicyContainer;
+import org.onap.policy.drools.core.PolicySession;
+import org.onap.policy.drools.core.jmx.PdpJmx;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.protocol.coders.EventProtocolCoder;
+import org.onap.policy.drools.protocol.coders.JsonProtocolFilter;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.PotentialCoderFilter;
+import org.onap.policy.drools.utils.ReflectionUtil;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/NullDroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java
similarity index 93%
rename from policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/NullDroolsController.java
rename to policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java
index 7f5d466..3fef6fa 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/controller/internal/NullDroolsController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/NullDroolsController.java
@@ -18,17 +18,17 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.controller.internal;
+package org.onap.policy.drools.controller.internal;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.core.PolicyContainer;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.core.PolicyContainer;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
 
 /**
  * no-op Drools Controller
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/features/PolicyControllerFeatureAPI.java b/policy-management/src/main/java/org/onap/policy/drools/features/PolicyControllerFeatureAPI.java
similarity index 96%
rename from policy-management/src/main/java/org/openecomp/policy/drools/features/PolicyControllerFeatureAPI.java
rename to policy-management/src/main/java/org/onap/policy/drools/features/PolicyControllerFeatureAPI.java
index 66f64a8..9d166f5 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/features/PolicyControllerFeatureAPI.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/features/PolicyControllerFeatureAPI.java
@@ -18,14 +18,14 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.features;
+package org.onap.policy.drools.features;
 
 import java.util.Properties;
 
-import org.openecomp.policy.drools.event.comm.Topic.CommInfrastructure;
-import org.openecomp.policy.drools.system.PolicyController;
-import org.openecomp.policy.drools.utils.OrderedService;
-import org.openecomp.policy.drools.utils.OrderedServiceImpl;
+import org.onap.policy.drools.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.drools.system.PolicyController;
+import org.onap.policy.drools.utils.OrderedService;
+import org.onap.policy.drools.utils.OrderedServiceImpl;
 
 public interface PolicyControllerFeatureAPI extends OrderedService {
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/features/PolicyEngineFeatureAPI.java b/policy-management/src/main/java/org/onap/policy/drools/features/PolicyEngineFeatureAPI.java
similarity index 96%
rename from policy-management/src/main/java/org/openecomp/policy/drools/features/PolicyEngineFeatureAPI.java
rename to policy-management/src/main/java/org/onap/policy/drools/features/PolicyEngineFeatureAPI.java
index df2ddd6..eb65c70 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/features/PolicyEngineFeatureAPI.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/features/PolicyEngineFeatureAPI.java
@@ -18,13 +18,13 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.features;
+package org.onap.policy.drools.features;
 
 import java.util.Properties;
 
-import org.openecomp.policy.drools.system.PolicyEngine;
-import org.openecomp.policy.drools.utils.OrderedService;
-import org.openecomp.policy.drools.utils.OrderedServiceImpl;
+import org.onap.policy.drools.system.PolicyEngine;
+import org.onap.policy.drools.utils.OrderedService;
+import org.onap.policy.drools.utils.OrderedServiceImpl;
 
 /**
  * Policy Engine Feature API.
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/persistence/SystemPersistence.java b/policy-management/src/main/java/org/onap/policy/drools/persistence/SystemPersistence.java
similarity index 98%
rename from policy-management/src/main/java/org/openecomp/policy/drools/persistence/SystemPersistence.java
rename to policy-management/src/main/java/org/onap/policy/drools/persistence/SystemPersistence.java
index dda20a0..52aac74 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/persistence/SystemPersistence.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/persistence/SystemPersistence.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.persistence;
+package org.onap.policy.drools.persistence;
 
 import java.io.File;
 import java.io.FileWriter;
@@ -28,7 +28,7 @@
 import java.nio.file.StandardCopyOption;
 import java.util.Properties;
 
-import org.openecomp.policy.drools.utils.PropertyUtil;
+import org.onap.policy.drools.utils.PropertyUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/EventProtocolCoder.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/EventProtocolCoder.java
similarity index 98%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/EventProtocolCoder.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/coders/EventProtocolCoder.java
index 819ee81..762f447 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/EventProtocolCoder.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/EventProtocolCoder.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.coders;
+package org.onap.policy.drools.protocol.coders;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -26,11 +26,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
-import org.openecomp.policy.drools.utils.Pair;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
+import org.onap.policy.drools.utils.Pair;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/JsonProtocolFilter.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/JsonProtocolFilter.java
similarity index 98%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/JsonProtocolFilter.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/coders/JsonProtocolFilter.java
index 7831e7b..6afeb26 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/JsonProtocolFilter.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/JsonProtocolFilter.java
@@ -18,12 +18,12 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.coders;
+package org.onap.policy.drools.protocol.coders;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.openecomp.policy.drools.utils.Pair;
+import org.onap.policy.drools.utils.Pair;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolset.java
similarity index 97%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolset.java
index bf7a43f..8e7dec0 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolset.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.coders;
+package org.onap.policy.drools.protocol.coders;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
@@ -30,11 +30,11 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
-import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
+import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/TopicCoderFilterConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/TopicCoderFilterConfiguration.java
similarity index 99%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/TopicCoderFilterConfiguration.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/coders/TopicCoderFilterConfiguration.java
index 3c11257..9373726 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/TopicCoderFilterConfiguration.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/coders/TopicCoderFilterConfiguration.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.coders;
+package org.onap.policy.drools.protocol.coders;
 
 import java.util.List;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/ControllerConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java
similarity index 97%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/ControllerConfiguration.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java
index 98af02e..ded7a52 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/ControllerConfiguration.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.configuration;
+package org.onap.policy.drools.protocol.configuration;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -214,7 +214,7 @@
                 if (value instanceof DroolsConfiguration) {
                     setDrools(((DroolsConfiguration) value));
                 } else {
-                    throw new IllegalArgumentException(("property \"drools\" is of type \"org.openecomp.policy.drools.protocol.configuration.Drools\", but got "+ value.getClass().toString()));
+                    throw new IllegalArgumentException(("property \"drools\" is of type \"org.onap.policy.drools.protocol.configuration.Drools\", but got "+ value.getClass().toString()));
                 }
                 return true;
             default:
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/DroolsConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java
similarity index 98%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/DroolsConfiguration.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java
index 87cf234..5f32d7a 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/DroolsConfiguration.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.configuration;
+package org.onap.policy.drools.protocol.configuration;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/PdpdConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java
similarity index 97%
rename from policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/PdpdConfiguration.java
rename to policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java
index 65de665..d7295fd 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/configuration/PdpdConfiguration.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.protocol.configuration;
+package org.onap.policy.drools.protocol.configuration;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -217,7 +217,7 @@
                 if (value instanceof List) {
                     setControllers(((List<ControllerConfiguration> ) value));
                 } else {
-                    throw new IllegalArgumentException(("property \"controllers\" is of type \"java.util.List<org.openecomp.policy.drools.protocol.configuration.Controller>\", but got "+ value.getClass().toString()));
+                    throw new IllegalArgumentException(("property \"controllers\" is of type \"java.util.List<org.onap.policy.drools.protocol.configuration.Controller>\", but got "+ value.getClass().toString()));
                 }
                 return true;
             default:
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/server/restful/RestManager.java b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
similarity index 98%
rename from policy-management/src/main/java/org/openecomp/policy/drools/server/restful/RestManager.java
rename to policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
index be6c496..4f5e33e 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/server/restful/RestManager.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.server.restful;
+package org.onap.policy.drools.server.restful;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -43,26 +43,26 @@
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.event.comm.TopicEndpoint;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.event.comm.TopicSource;
-import org.openecomp.policy.drools.event.comm.bus.DmaapTopicSink;
-import org.openecomp.policy.drools.event.comm.bus.DmaapTopicSource;
-import org.openecomp.policy.drools.event.comm.bus.UebTopicSink;
-import org.openecomp.policy.drools.event.comm.bus.UebTopicSource;
-import org.openecomp.policy.drools.features.PolicyControllerFeatureAPI;
-import org.openecomp.policy.drools.features.PolicyEngineFeatureAPI;
-import org.openecomp.policy.drools.properties.PolicyProperties;
-import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder;
-import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
-import org.openecomp.policy.drools.protocol.coders.JsonProtocolFilter;
-import org.openecomp.policy.drools.protocol.coders.JsonProtocolFilter.FilterRule;
-import org.openecomp.policy.drools.protocol.coders.ProtocolCoderToolset;
-import org.openecomp.policy.drools.protocol.configuration.ControllerConfiguration;
-import org.openecomp.policy.drools.protocol.configuration.PdpdConfiguration;
-import org.openecomp.policy.drools.system.PolicyController;
-import org.openecomp.policy.drools.system.PolicyEngine;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.event.comm.TopicEndpoint;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.event.comm.TopicSource;
+import org.onap.policy.drools.event.comm.bus.DmaapTopicSink;
+import org.onap.policy.drools.event.comm.bus.DmaapTopicSource;
+import org.onap.policy.drools.event.comm.bus.UebTopicSink;
+import org.onap.policy.drools.event.comm.bus.UebTopicSource;
+import org.onap.policy.drools.features.PolicyControllerFeatureAPI;
+import org.onap.policy.drools.features.PolicyEngineFeatureAPI;
+import org.onap.policy.drools.properties.PolicyProperties;
+import org.onap.policy.drools.protocol.coders.EventProtocolCoder;
+import org.onap.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
+import org.onap.policy.drools.protocol.coders.JsonProtocolFilter;
+import org.onap.policy.drools.protocol.coders.JsonProtocolFilter.FilterRule;
+import org.onap.policy.drools.protocol.coders.ProtocolCoderToolset;
+import org.onap.policy.drools.protocol.configuration.ControllerConfiguration;
+import org.onap.policy.drools.protocol.configuration.PdpdConfiguration;
+import org.onap.policy.drools.system.PolicyController;
+import org.onap.policy.drools.system.PolicyEngine;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/system/Main.java b/policy-management/src/main/java/org/onap/policy/drools/system/Main.java
similarity index 96%
rename from policy-management/src/main/java/org/openecomp/policy/drools/system/Main.java
rename to policy-management/src/main/java/org/onap/policy/drools/system/Main.java
index 1bb9a32..fe0cc01 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/system/Main.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/Main.java
@@ -18,15 +18,15 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.system;
+package org.onap.policy.drools.system;
 
 import java.io.File;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Properties;
 
-import org.openecomp.policy.drools.persistence.SystemPersistence;
-import org.openecomp.policy.drools.utils.PropertyUtil;
+import org.onap.policy.drools.persistence.SystemPersistence;
+import org.onap.policy.drools.utils.PropertyUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyController.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java
similarity index 87%
rename from policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyController.java
rename to policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java
index 15d1acf..e6e1ca7 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyController.java
@@ -18,18 +18,18 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.system;
+package org.onap.policy.drools.system;
 
 import java.util.List;
 import java.util.Properties;
 
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.event.comm.TopicSource;
-import org.openecomp.policy.drools.event.comm.Topic.CommInfrastructure;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.properties.Lockable;
-import org.openecomp.policy.drools.properties.Startable;
-import org.openecomp.policy.drools.protocol.configuration.DroolsConfiguration;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.event.comm.TopicSource;
+import org.onap.policy.drools.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.properties.Lockable;
+import org.onap.policy.drools.properties.Startable;
+import org.onap.policy.drools.protocol.configuration.DroolsConfiguration;
 
 /**
  * A Policy Controller is the higher level unit of control.  It corresponds to
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyControllerFactory.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyControllerFactory.java
similarity index 97%
rename from policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyControllerFactory.java
rename to policy-management/src/main/java/org/onap/policy/drools/system/PolicyControllerFactory.java
index 12a8acd..34c8589 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyControllerFactory.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyControllerFactory.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.system;
+package org.onap.policy.drools.system;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -27,10 +27,10 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.features.PolicyControllerFeatureAPI;
-import org.openecomp.policy.drools.protocol.configuration.DroolsConfiguration;
-import org.openecomp.policy.drools.system.internal.AggregatedPolicyController;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.features.PolicyControllerFeatureAPI;
+import org.onap.policy.drools.protocol.configuration.DroolsConfiguration;
+import org.onap.policy.drools.system.internal.AggregatedPolicyController;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
similarity index 96%
rename from policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java
rename to policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
index 02479ec..1ee1230 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.system;
+package org.onap.policy.drools.system;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -26,25 +26,25 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.core.PolicyContainer;
-import org.openecomp.policy.drools.core.jmx.PdpJmxListener;
-import org.openecomp.policy.drools.event.comm.Topic;
-import org.openecomp.policy.drools.event.comm.Topic.CommInfrastructure;
-import org.openecomp.policy.drools.event.comm.TopicEndpoint;
-import org.openecomp.policy.drools.event.comm.TopicListener;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.event.comm.TopicSource;
-import org.openecomp.policy.drools.features.PolicyControllerFeatureAPI;
-import org.openecomp.policy.drools.features.PolicyEngineFeatureAPI;
-import org.openecomp.policy.drools.http.server.HttpServletServer;
-import org.openecomp.policy.drools.persistence.SystemPersistence;
-import org.openecomp.policy.drools.properties.Lockable;
-import org.openecomp.policy.drools.properties.PolicyProperties;
-import org.openecomp.policy.drools.properties.Startable;
-import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder;
-import org.openecomp.policy.drools.protocol.configuration.ControllerConfiguration;
-import org.openecomp.policy.drools.protocol.configuration.PdpdConfiguration;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.core.PolicyContainer;
+import org.onap.policy.drools.core.jmx.PdpJmxListener;
+import org.onap.policy.drools.event.comm.Topic;
+import org.onap.policy.drools.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.drools.event.comm.TopicEndpoint;
+import org.onap.policy.drools.event.comm.TopicListener;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.event.comm.TopicSource;
+import org.onap.policy.drools.features.PolicyControllerFeatureAPI;
+import org.onap.policy.drools.features.PolicyEngineFeatureAPI;
+import org.onap.policy.drools.http.server.HttpServletServer;
+import org.onap.policy.drools.persistence.SystemPersistence;
+import org.onap.policy.drools.properties.Lockable;
+import org.onap.policy.drools.properties.PolicyProperties;
+import org.onap.policy.drools.properties.Startable;
+import org.onap.policy.drools.protocol.coders.EventProtocolCoder;
+import org.onap.policy.drools.protocol.configuration.ControllerConfiguration;
+import org.onap.policy.drools.protocol.configuration.PdpdConfiguration;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/system/internal/AggregatedPolicyController.java b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
similarity index 95%
rename from policy-management/src/main/java/org/openecomp/policy/drools/system/internal/AggregatedPolicyController.java
rename to policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
index f049162..e67e542 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/system/internal/AggregatedPolicyController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
@@ -18,7 +18,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.policy.drools.system.internal;
+package org.onap.policy.drools.system.internal;
 
 import java.util.HashMap;
 import java.util.List;
@@ -26,17 +26,17 @@
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.openecomp.policy.drools.controller.DroolsController;
-import org.openecomp.policy.drools.event.comm.Topic;
-import org.openecomp.policy.drools.event.comm.TopicEndpoint;
-import org.openecomp.policy.drools.event.comm.TopicListener;
-import org.openecomp.policy.drools.event.comm.TopicSink;
-import org.openecomp.policy.drools.event.comm.TopicSource;
-import org.openecomp.policy.drools.features.PolicyControllerFeatureAPI;
-import org.openecomp.policy.drools.persistence.SystemPersistence;
-import org.openecomp.policy.drools.properties.PolicyProperties;
-import org.openecomp.policy.drools.protocol.configuration.DroolsConfiguration;
-import org.openecomp.policy.drools.system.PolicyController;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.event.comm.Topic;
+import org.onap.policy.drools.event.comm.TopicEndpoint;
+import org.onap.policy.drools.event.comm.TopicListener;
+import org.onap.policy.drools.event.comm.TopicSink;
+import org.onap.policy.drools.event.comm.TopicSource;
+import org.onap.policy.drools.features.PolicyControllerFeatureAPI;
+import org.onap.policy.drools.persistence.SystemPersistence;
+import org.onap.policy.drools.properties.PolicyProperties;
+import org.onap.policy.drools.protocol.configuration.DroolsConfiguration;
+import org.onap.policy.drools.system.PolicyController;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
diff --git a/policy-management/src/main/server-gen/bin/features b/policy-management/src/main/server-gen/bin/features
index 7b14644..e21562f 100644
--- a/policy-management/src/main/server-gen/bin/features
+++ b/policy-management/src/main/server-gen/bin/features
@@ -51,7 +51,7 @@
 #        │   │   ├── logback-eelf.xml
 #        │   └── lib/
 #        │   │   └── dependencies/
-#        │   │   │   └── ECOMP-Logging-1.1.0-SNAPSHOT.jar
+#        │   │   │   └── ONAP-Logging-1.1.0-SNAPSHOT.jar
 #        │   │   │   └── eelf-core-1.0.0.jar
 #        │   │   └── feature/
 #        │   │       └── feature-eelf-1.1.0-SNAPSHOT.jar
diff --git a/policy-management/src/main/server-gen/bin/policy-management-controller b/policy-management/src/main/server-gen/bin/policy-management-controller
index d77a870..a9f8ce0 100644
--- a/policy-management/src/main/server-gen/bin/policy-management-controller
+++ b/policy-management/src/main/server-gen/bin/policy-management-controller
@@ -22,7 +22,7 @@
 
 SNAME="Policy Management"
 PNAME=policy-management
-CLASS=org.openecomp.policy.drools.system.Main
+CLASS=org.onap.policy.drools.system.Main
 
 
 function start() {
diff --git a/policy-management/src/main/server/config/policy-engine.properties b/policy-management/src/main/server/config/policy-engine.properties
index dbaf72a..70a5dcc 100644
--- a/policy-management/src/main/server/config/policy-engine.properties
+++ b/policy-management/src/main/server/config/policy-engine.properties
@@ -42,6 +42,6 @@
 http.server.services.CONFIG.port=${{ENGINE_MANAGEMENT_PORT}}
 http.server.services.CONFIG.userName=${{ENGINE_MANAGEMENT_USER}}
 http.server.services.CONFIG.password=${{ENGINE_MANAGEMENT_PASSWORD}}
-http.server.services.CONFIG.restPackages=org.openecomp.policy.drools.server.restful
+http.server.services.CONFIG.restPackages=org.onap.policy.drools.server.restful
 http.server.services.CONFIG.managed=false
 http.server.services.CONFIG.swagger=true
diff --git a/policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java b/policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
similarity index 90%
rename from policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java
rename to policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
index 15a2776..a9b916b 100644
--- a/policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java
+++ b/policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
@@ -17,7 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-package org.openecomp.policy.drools.system.test;
+package org.onap.policy.drools.system.test;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -29,10 +29,10 @@
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import org.openecomp.policy.drools.http.client.HttpClient;
-import org.openecomp.policy.drools.http.server.HttpServletServer;
-import org.openecomp.policy.drools.system.PolicyController;
-import org.openecomp.policy.drools.system.PolicyEngine;
+import org.onap.policy.drools.http.client.HttpClient;
+import org.onap.policy.drools.http.server.HttpServletServer;
+import org.onap.policy.drools.system.PolicyController;
+import org.onap.policy.drools.system.PolicyEngine;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -50,7 +50,7 @@
 		engineProperties.put("http.server.services", "CONFIG");
 		engineProperties.put("http.server.services.CONFIG.host", "0.0.0.0");
 		engineProperties.put("http.server.services.CONFIG.port", "9696");
-		engineProperties.put("http.server.services.CONFIG.restPackages", "org.openecomp.policy.drools.server.restful");
+		engineProperties.put("http.server.services.CONFIG.restPackages", "org.onap.policy.drools.server.restful");
 		
 		assertFalse(PolicyEngine.manager.isAlive());
 		
diff --git a/policy-management/src/test/resources/logback-test.xml b/policy-management/src/test/resources/logback-test.xml
index e48b9a1..58e3248 100644
--- a/policy-management/src/test/resources/logback-test.xml
+++ b/policy-management/src/test/resources/logback-test.xml
@@ -8,7 +8,7 @@
         </encoder>
     </appender>
     
-    <logger name="org.openecomp.policy.drools.system.test" level="INFO"/>
+    <logger name="org.onap.policy.drools.system.test" level="INFO"/>
 
     <root level="warn">
         <appender-ref ref="STDOUT"/>
