Merge pull request #5 from myrle-krantz/develop

Updating package names.
diff --git a/README.md b/README.md
index 3f20df9..0c955ed 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,6 @@
 # Apache Fineract CN Template
 
-[![Join the chat at https://gitter.im/mifos-initiative/mifos.io](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mifos-initiative/mifos.io?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
-This project provides a template layout for all Apache Fineract CN microservices.
+This project provides a template layout for all Apache Fineract CN services.
 
 ## Abstract
 Apache Fineract CN is an application framework for digital financial services, a system to support nationwide and cross-national financial transactions and help to level and speed the creation of an inclusive, interconnected digital economy for every nation in the world.
@@ -25,11 +23,11 @@
 
         gradle wrapper
 
-6.  Open all module specific build.gradle files (api, service, and component-test) and replace value of _group_ with io.mifos.{project name}
+6.  Open all module specific build.gradle files (api, service, and component-test) and replace value of _group_ with org.apache.fineract.cn.{project name}
 
 7.  Import project into IDE
 
-8.  Rename all io.mifos.template packages to io.mifos.{project name}
+8.  Rename all org.apache.fineract.cn.template packages to org.apache.fineract.cn.{project name}
 
 9.  Open _SampleRestConfiguration_ and _SampleServiceConfiguration_, adjust @ComponentScan to reflect the new package name
 
diff --git a/api/src/main/java/io/mifos/template/api/v1/PermittableGroupIds.java b/api/src/main/java/org/apache/fineract/cn/template/api/v1/PermittableGroupIds.java
similarity index 95%
rename from api/src/main/java/io/mifos/template/api/v1/PermittableGroupIds.java
rename to api/src/main/java/org/apache/fineract/cn/template/api/v1/PermittableGroupIds.java
index ef5ec01..5b7a4a9 100644
--- a/api/src/main/java/io/mifos/template/api/v1/PermittableGroupIds.java
+++ b/api/src/main/java/org/apache/fineract/cn/template/api/v1/PermittableGroupIds.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.api.v1;
+package org.apache.fineract.cn.template.api.v1;
 
 @SuppressWarnings("unused")
 public interface PermittableGroupIds {
diff --git a/api/src/main/java/io/mifos/template/api/v1/client/IamATeapotException.java b/api/src/main/java/org/apache/fineract/cn/template/api/v1/client/IamATeapotException.java
similarity index 93%
rename from api/src/main/java/io/mifos/template/api/v1/client/IamATeapotException.java
rename to api/src/main/java/org/apache/fineract/cn/template/api/v1/client/IamATeapotException.java
index 00825b2..df11da2 100644
--- a/api/src/main/java/io/mifos/template/api/v1/client/IamATeapotException.java
+++ b/api/src/main/java/org/apache/fineract/cn/template/api/v1/client/IamATeapotException.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.api.v1.client;
+package org.apache.fineract.cn.template.api.v1.client;
 
 @SuppressWarnings("WeakerAccess")
 public class IamATeapotException extends RuntimeException {
diff --git a/api/src/main/java/io/mifos/template/api/v1/client/TemplateManager.java b/api/src/main/java/org/apache/fineract/cn/template/api/v1/client/TemplateManager.java
similarity index 89%
rename from api/src/main/java/io/mifos/template/api/v1/client/TemplateManager.java
rename to api/src/main/java/org/apache/fineract/cn/template/api/v1/client/TemplateManager.java
index 96cfc98..9caf8dc 100644
--- a/api/src/main/java/io/mifos/template/api/v1/client/TemplateManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/template/api/v1/client/TemplateManager.java
@@ -16,11 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.api.v1.client;
+package org.apache.fineract.cn.template.api.v1.client;
 
-import io.mifos.core.api.annotation.ThrowsException;
-import io.mifos.core.api.util.CustomFeignClientsConfiguration;
-import io.mifos.template.api.v1.domain.Sample;
+import org.apache.fineract.cn.template.api.v1.domain.Sample;
+import java.util.List;
+import org.apache.fineract.cn.api.annotation.ThrowsException;
+import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
 import org.springframework.cloud.netflix.feign.FeignClient;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
@@ -28,8 +29,6 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
-import java.util.List;
-
 @SuppressWarnings("unused")
 @FeignClient(value="template-v1", path="/template/v1", configuration = CustomFeignClientsConfiguration.class)
 public interface TemplateManager {
diff --git a/api/src/main/java/io/mifos/template/api/v1/domain/Sample.java b/api/src/main/java/org/apache/fineract/cn/template/api/v1/domain/Sample.java
similarity index 93%
rename from api/src/main/java/io/mifos/template/api/v1/domain/Sample.java
rename to api/src/main/java/org/apache/fineract/cn/template/api/v1/domain/Sample.java
index 12549e9..1155f4c 100644
--- a/api/src/main/java/io/mifos/template/api/v1/domain/Sample.java
+++ b/api/src/main/java/org/apache/fineract/cn/template/api/v1/domain/Sample.java
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.api.v1.domain;
-
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
-import org.hibernate.validator.constraints.Length;
+package org.apache.fineract.cn.template.api.v1.domain;
 
 import java.util.Objects;
+import org.apache.fineract.cn.lang.validation.constraints.ValidIdentifier;
+import org.hibernate.validator.constraints.Length;
 
 @SuppressWarnings({"WeakerAccess", "unused"})
 public class Sample {
diff --git a/api/src/main/java/io/mifos/template/api/v1/events/EventConstants.java b/api/src/main/java/org/apache/fineract/cn/template/api/v1/events/EventConstants.java
similarity index 95%
rename from api/src/main/java/io/mifos/template/api/v1/events/EventConstants.java
rename to api/src/main/java/org/apache/fineract/cn/template/api/v1/events/EventConstants.java
index 58368c4..ce52f51 100644
--- a/api/src/main/java/io/mifos/template/api/v1/events/EventConstants.java
+++ b/api/src/main/java/org/apache/fineract/cn/template/api/v1/events/EventConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.api.v1.events;
+package org.apache.fineract.cn.template.api.v1.events;
 
 @SuppressWarnings("unused")
 public interface EventConstants {
diff --git a/api/src/test/java/io/mifos/template/api/v1/domain/SampleTest.java b/api/src/test/java/org/apache/fineract/cn/template/api/v1/domain/SampleTest.java
similarity index 91%
rename from api/src/test/java/io/mifos/template/api/v1/domain/SampleTest.java
rename to api/src/test/java/org/apache/fineract/cn/template/api/v1/domain/SampleTest.java
index eab7ef9..b0a05bf 100644
--- a/api/src/test/java/io/mifos/template/api/v1/domain/SampleTest.java
+++ b/api/src/test/java/org/apache/fineract/cn/template/api/v1/domain/SampleTest.java
@@ -16,15 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.api.v1.domain;
-
-import io.mifos.core.test.domain.ValidationTest;
-import io.mifos.core.test.domain.ValidationTestCase;
-import org.apache.commons.lang.RandomStringUtils;
-import org.junit.runners.Parameterized;
+package org.apache.fineract.cn.template.api.v1.domain;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import org.apache.commons.lang.RandomStringUtils;
+import org.apache.fineract.cn.test.domain.ValidationTest;
+import org.apache.fineract.cn.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
 
 public class SampleTest extends ValidationTest<Sample> {
 
diff --git a/component-test/src/main/java/io/mifos/template/SuiteTestEnvironment.java b/component-test/src/main/java/org/apache/fineract/cn/template/SuiteTestEnvironment.java
similarity index 88%
rename from component-test/src/main/java/io/mifos/template/SuiteTestEnvironment.java
rename to component-test/src/main/java/org/apache/fineract/cn/template/SuiteTestEnvironment.java
index a5eaa0d..85b601e 100644
--- a/component-test/src/main/java/io/mifos/template/SuiteTestEnvironment.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/template/SuiteTestEnvironment.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template;
+package org.apache.fineract.cn.template;
 
-import io.mifos.core.test.env.TestEnvironment;
-import io.mifos.core.test.fixture.cassandra.CassandraInitializer;
-import io.mifos.core.test.fixture.mariadb.MariaDBInitializer;
+import org.apache.fineract.cn.test.env.TestEnvironment;
+import org.apache.fineract.cn.test.fixture.cassandra.CassandraInitializer;
+import org.apache.fineract.cn.test.fixture.mariadb.MariaDBInitializer;
 import org.junit.ClassRule;
 import org.junit.rules.RuleChain;
 import org.junit.rules.RunExternalResourceOnce;
diff --git a/component-test/src/main/java/io/mifos/template/TestSample.java b/component-test/src/main/java/org/apache/fineract/cn/template/TestSample.java
similarity index 80%
rename from component-test/src/main/java/io/mifos/template/TestSample.java
rename to component-test/src/main/java/org/apache/fineract/cn/template/TestSample.java
index 365009c..42fc067 100644
--- a/component-test/src/main/java/io/mifos/template/TestSample.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/template/TestSample.java
@@ -16,19 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template;
+package org.apache.fineract.cn.template;
 
-import io.mifos.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
-import io.mifos.core.api.context.AutoUserContext;
-import io.mifos.core.test.fixture.TenantDataStoreContextTestRule;
-import io.mifos.core.test.listener.EnableEventRecording;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.template.api.v1.events.EventConstants;
-import io.mifos.template.api.v1.client.TemplateManager;
-import io.mifos.template.api.v1.domain.Sample;
-import io.mifos.template.service.TemplateConfiguration;
+import org.apache.fineract.cn.template.api.v1.client.TemplateManager;
+import org.apache.fineract.cn.template.api.v1.domain.Sample;
+import org.apache.fineract.cn.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.template.service.TemplateConfiguration;
+import java.util.List;
 import org.apache.commons.lang3.RandomStringUtils;
-import org.junit.*;
+import org.apache.fineract.cn.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
+import org.apache.fineract.cn.api.context.AutoUserContext;
+import org.apache.fineract.cn.test.fixture.TenantDataStoreContextTestRule;
+import org.apache.fineract.cn.test.listener.EnableEventRecording;
+import org.apache.fineract.cn.test.listener.EventRecorder;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -43,8 +49,6 @@
 import org.springframework.context.annotation.Import;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import java.util.List;
-
 @RunWith(SpringRunner.class)
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
 public class TestSample extends SuiteTestEnvironment {
@@ -54,10 +58,10 @@
 
   @Configuration
   @EnableEventRecording
-  @EnableFeignClients(basePackages = {"io.mifos.template.api.v1.client"})
+  @EnableFeignClients(basePackages = {"org.apache.fineract.cn.template.api.v1.client"})
   @RibbonClient(name = APP_NAME)
   @Import({TemplateConfiguration.class})
-  @ComponentScan("io.mifos.template.listener")
+  @ComponentScan("org.apache.fineract.cn.template.listener")
   public static class TestConfiguration {
     public TestConfiguration() {
       super();
diff --git a/component-test/src/main/java/io/mifos/template/TestSuite.java b/component-test/src/main/java/org/apache/fineract/cn/template/TestSuite.java
similarity index 96%
rename from component-test/src/main/java/io/mifos/template/TestSuite.java
rename to component-test/src/main/java/org/apache/fineract/cn/template/TestSuite.java
index 13af827..a8f0647 100644
--- a/component-test/src/main/java/io/mifos/template/TestSuite.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/template/TestSuite.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template;
+package org.apache.fineract.cn.template;
 
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
diff --git a/component-test/src/main/java/io/mifos/template/listener/MigrationEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/template/listener/MigrationEventListener.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/template/listener/MigrationEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/template/listener/MigrationEventListener.java
index 3fb8213..9222a99 100644
--- a/component-test/src/main/java/io/mifos/template/listener/MigrationEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/template/listener/MigrationEventListener.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.listener;
+package org.apache.fineract.cn.template.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/component-test/src/main/java/io/mifos/template/listener/SampleEventListener.java b/component-test/src/main/java/org/apache/fineract/cn/template/listener/SampleEventListener.java
similarity index 87%
rename from component-test/src/main/java/io/mifos/template/listener/SampleEventListener.java
rename to component-test/src/main/java/org/apache/fineract/cn/template/listener/SampleEventListener.java
index 0ff3df7..c23228d 100644
--- a/component-test/src/main/java/io/mifos/template/listener/SampleEventListener.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/template/listener/SampleEventListener.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.listener;
+package org.apache.fineract.cn.template.listener;
 
-import io.mifos.core.lang.config.TenantHeaderFilter;
-import io.mifos.core.test.listener.EventRecorder;
-import io.mifos.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
+import org.apache.fineract.cn.test.listener.EventRecorder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jms.annotation.JmsListener;
 import org.springframework.messaging.handler.annotation.Header;
diff --git a/service/src/main/java/io/mifos/template/service/ServiceConstants.java b/service/src/main/java/org/apache/fineract/cn/template/service/ServiceConstants.java
similarity index 94%
rename from service/src/main/java/io/mifos/template/service/ServiceConstants.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/ServiceConstants.java
index fd1d982..eaff469 100644
--- a/service/src/main/java/io/mifos/template/service/ServiceConstants.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/ServiceConstants.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service;
+package org.apache.fineract.cn.template.service;
 
 public interface ServiceConstants {
   String LOGGER_NAME = "rest-logger";
diff --git a/service/src/main/java/io/mifos/template/service/TemplateApplication.java b/service/src/main/java/org/apache/fineract/cn/template/service/TemplateApplication.java
similarity index 95%
rename from service/src/main/java/io/mifos/template/service/TemplateApplication.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/TemplateApplication.java
index 473bec4..8d2bd42 100644
--- a/service/src/main/java/io/mifos/template/service/TemplateApplication.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/TemplateApplication.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service;
+package org.apache.fineract.cn.template.service;
 
 import org.springframework.boot.SpringApplication;
 
diff --git a/service/src/main/java/io/mifos/template/service/TemplateConfiguration.java b/service/src/main/java/org/apache/fineract/cn/template/service/TemplateConfiguration.java
similarity index 72%
rename from service/src/main/java/io/mifos/template/service/TemplateConfiguration.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/TemplateConfiguration.java
index 5e62592..568ae47 100644
--- a/service/src/main/java/io/mifos/template/service/TemplateConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/TemplateConfiguration.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service;
+package org.apache.fineract.cn.template.service;
 
-import io.mifos.anubis.config.EnableAnubis;
-import io.mifos.core.async.config.EnableAsync;
-import io.mifos.core.cassandra.config.EnableCassandra;
-import io.mifos.core.command.config.EnableCommandProcessing;
-import io.mifos.core.lang.config.EnableServiceException;
-import io.mifos.core.lang.config.EnableTenantContext;
-import io.mifos.core.mariadb.config.EnableMariaDB;
+import org.apache.fineract.cn.anubis.config.EnableAnubis;
+import org.apache.fineract.cn.async.config.EnableAsync;
+import org.apache.fineract.cn.cassandra.config.EnableCassandra;
+import org.apache.fineract.cn.command.config.EnableCommandProcessing;
+import org.apache.fineract.cn.lang.config.EnableServiceException;
+import org.apache.fineract.cn.lang.config.EnableTenantContext;
+import org.apache.fineract.cn.mariadb.config.EnableMariaDB;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -48,13 +48,13 @@
 @EnableAnubis
 @EnableServiceException
 @ComponentScan({
-    "io.mifos.template.service.rest",
-    "io.mifos.template.service.internal.service",
-    "io.mifos.template.service.internal.repository",
-    "io.mifos.template.service.internal.command.handler"
+    "org.apache.fineract.cn.template.service.rest",
+    "org.apache.fineract.cn.template.service.internal.service",
+    "org.apache.fineract.cn.template.service.internal.repository",
+    "org.apache.fineract.cn.template.service.internal.command.handler"
 })
 @EnableJpaRepositories({
-    "io.mifos.template.service.internal.repository"
+    "org.apache.fineract.cn.template.service.internal.repository"
 })
 public class TemplateConfiguration extends WebMvcConfigurerAdapter {
 
diff --git a/service/src/main/java/io/mifos/template/service/internal/command/InitializeServiceCommand.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/InitializeServiceCommand.java
similarity index 93%
rename from service/src/main/java/io/mifos/template/service/internal/command/InitializeServiceCommand.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/command/InitializeServiceCommand.java
index aef272b..99ad3af 100644
--- a/service/src/main/java/io/mifos/template/service/internal/command/InitializeServiceCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/InitializeServiceCommand.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.command;
+package org.apache.fineract.cn.template.service.internal.command;
 
 public class InitializeServiceCommand {
 
diff --git a/service/src/main/java/io/mifos/template/service/internal/command/SampleCommand.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/SampleCommand.java
similarity index 89%
rename from service/src/main/java/io/mifos/template/service/internal/command/SampleCommand.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/command/SampleCommand.java
index b11ecfc..bca95d9 100644
--- a/service/src/main/java/io/mifos/template/service/internal/command/SampleCommand.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/SampleCommand.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.command;
+package org.apache.fineract.cn.template.service.internal.command;
 
-import io.mifos.template.api.v1.domain.Sample;
+import org.apache.fineract.cn.template.api.v1.domain.Sample;
 
 public class SampleCommand {
 
diff --git a/service/src/main/java/io/mifos/template/service/internal/command/handler/MigrationAggregate.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/handler/MigrationAggregate.java
similarity index 76%
rename from service/src/main/java/io/mifos/template/service/internal/command/handler/MigrationAggregate.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/command/handler/MigrationAggregate.java
index f0034aa..ef44e6c 100644
--- a/service/src/main/java/io/mifos/template/service/internal/command/handler/MigrationAggregate.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/handler/MigrationAggregate.java
@@ -16,24 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.command.handler;
+package org.apache.fineract.cn.template.service.internal.command.handler;
 
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.core.lang.ApplicationName;
-import io.mifos.core.mariadb.domain.FlywayFactoryBean;
-import io.mifos.template.api.v1.events.EventConstants;
-import io.mifos.template.service.ServiceConstants;
-import io.mifos.template.service.internal.command.InitializeServiceCommand;
+import org.apache.fineract.cn.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.template.service.ServiceConstants;
+import org.apache.fineract.cn.template.service.internal.command.InitializeServiceCommand;
+import javax.sql.DataSource;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.command.annotation.EventEmitter;
+import org.apache.fineract.cn.lang.ApplicationName;
+import org.apache.fineract.cn.mariadb.domain.FlywayFactoryBean;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.sql.DataSource;
-
 @SuppressWarnings({
     "unused"
 })
diff --git a/service/src/main/java/io/mifos/template/service/internal/command/handler/SampleAggregate.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/handler/SampleAggregate.java
similarity index 79%
rename from service/src/main/java/io/mifos/template/service/internal/command/handler/SampleAggregate.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/command/handler/SampleAggregate.java
index 3640a05..26e396a 100644
--- a/service/src/main/java/io/mifos/template/service/internal/command/handler/SampleAggregate.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/command/handler/SampleAggregate.java
@@ -16,16 +16,16 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.command.handler;
+package org.apache.fineract.cn.template.service.internal.command.handler;
 
-import io.mifos.core.command.annotation.Aggregate;
-import io.mifos.core.command.annotation.CommandHandler;
-import io.mifos.core.command.annotation.CommandLogLevel;
-import io.mifos.core.command.annotation.EventEmitter;
-import io.mifos.template.api.v1.events.EventConstants;
-import io.mifos.template.service.internal.command.SampleCommand;
-import io.mifos.template.service.internal.repository.SampleJpaEntity;
-import io.mifos.template.service.internal.repository.SampleJpaEntityRepository;
+import org.apache.fineract.cn.template.api.v1.events.EventConstants;
+import org.apache.fineract.cn.template.service.internal.command.SampleCommand;
+import org.apache.fineract.cn.template.service.internal.repository.SampleJpaEntity;
+import org.apache.fineract.cn.template.service.internal.repository.SampleJpaEntityRepository;
+import org.apache.fineract.cn.command.annotation.Aggregate;
+import org.apache.fineract.cn.command.annotation.CommandHandler;
+import org.apache.fineract.cn.command.annotation.CommandLogLevel;
+import org.apache.fineract.cn.command.annotation.EventEmitter;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
diff --git a/service/src/main/java/io/mifos/template/service/internal/mapper/SampleMapper.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/mapper/SampleMapper.java
similarity index 87%
rename from service/src/main/java/io/mifos/template/service/internal/mapper/SampleMapper.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/mapper/SampleMapper.java
index 23ccc7a..028553d 100644
--- a/service/src/main/java/io/mifos/template/service/internal/mapper/SampleMapper.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/mapper/SampleMapper.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.mapper;
+package org.apache.fineract.cn.template.service.internal.mapper;
 
-import io.mifos.template.api.v1.domain.Sample;
-import io.mifos.template.service.internal.repository.SampleJpaEntity;
+import org.apache.fineract.cn.template.api.v1.domain.Sample;
+import org.apache.fineract.cn.template.service.internal.repository.SampleJpaEntity;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/service/src/main/java/io/mifos/template/service/internal/repository/SampleJpaEntity.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/repository/SampleJpaEntity.java
similarity index 95%
rename from service/src/main/java/io/mifos/template/service/internal/repository/SampleJpaEntity.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/repository/SampleJpaEntity.java
index 382437b..49452f3 100644
--- a/service/src/main/java/io/mifos/template/service/internal/repository/SampleJpaEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/repository/SampleJpaEntity.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.repository;
+package org.apache.fineract.cn.template.service.internal.repository;
 
 import javax.persistence.*;
 
diff --git a/service/src/main/java/io/mifos/template/service/internal/repository/SampleJpaEntityRepository.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/repository/SampleJpaEntityRepository.java
similarity index 93%
rename from service/src/main/java/io/mifos/template/service/internal/repository/SampleJpaEntityRepository.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/repository/SampleJpaEntityRepository.java
index 6b9df88..87dc990 100644
--- a/service/src/main/java/io/mifos/template/service/internal/repository/SampleJpaEntityRepository.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/repository/SampleJpaEntityRepository.java
@@ -16,12 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.repository;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
+package org.apache.fineract.cn.template.service.internal.repository;
 
 import java.util.Optional;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
 
 @Repository
 public interface SampleJpaEntityRepository extends JpaRepository<SampleJpaEntity, Long> {
diff --git a/service/src/main/java/io/mifos/template/service/internal/service/SampleService.java b/service/src/main/java/org/apache/fineract/cn/template/service/internal/service/SampleService.java
similarity index 83%
rename from service/src/main/java/io/mifos/template/service/internal/service/SampleService.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/internal/service/SampleService.java
index e87a379..ec791ed 100644
--- a/service/src/main/java/io/mifos/template/service/internal/service/SampleService.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/internal/service/SampleService.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.internal.service;
+package org.apache.fineract.cn.template.service.internal.service;
 
-import io.mifos.template.api.v1.domain.Sample;
-import io.mifos.template.service.internal.mapper.SampleMapper;
-import io.mifos.template.service.internal.repository.SampleJpaEntityRepository;
+import org.apache.fineract.cn.template.api.v1.domain.Sample;
+import org.apache.fineract.cn.template.service.internal.mapper.SampleMapper;
+import org.apache.fineract.cn.template.service.internal.repository.SampleJpaEntityRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/service/src/main/java/io/mifos/template/service/rest/SampleRestController.java b/service/src/main/java/org/apache/fineract/cn/template/service/rest/SampleRestController.java
similarity index 76%
rename from service/src/main/java/io/mifos/template/service/rest/SampleRestController.java
rename to service/src/main/java/org/apache/fineract/cn/template/service/rest/SampleRestController.java
index b6ced2b..30b0565 100644
--- a/service/src/main/java/io/mifos/template/service/rest/SampleRestController.java
+++ b/service/src/main/java/org/apache/fineract/cn/template/service/rest/SampleRestController.java
@@ -16,27 +16,31 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package io.mifos.template.service.rest;
+package org.apache.fineract.cn.template.service.rest;
 
-import io.mifos.anubis.annotation.AcceptedTokenType;
-import io.mifos.anubis.annotation.Permittable;
-import io.mifos.core.command.gateway.CommandGateway;
-import io.mifos.core.lang.ServiceException;
-import io.mifos.template.api.v1.PermittableGroupIds;
-import io.mifos.template.api.v1.domain.Sample;
-import io.mifos.template.service.ServiceConstants;
-import io.mifos.template.service.internal.command.InitializeServiceCommand;
-import io.mifos.template.service.internal.command.SampleCommand;
-import io.mifos.template.service.internal.service.SampleService;
+import org.apache.fineract.cn.template.api.v1.PermittableGroupIds;
+import org.apache.fineract.cn.template.api.v1.domain.Sample;
+import org.apache.fineract.cn.template.service.ServiceConstants;
+import org.apache.fineract.cn.template.service.internal.command.InitializeServiceCommand;
+import org.apache.fineract.cn.template.service.internal.command.SampleCommand;
+import org.apache.fineract.cn.template.service.internal.service.SampleService;
+import java.util.List;
+import javax.validation.Valid;
+import org.apache.fineract.cn.anubis.annotation.AcceptedTokenType;
+import org.apache.fineract.cn.anubis.annotation.Permittable;
+import org.apache.fineract.cn.command.gateway.CommandGateway;
+import org.apache.fineract.cn.lang.ServiceException;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import javax.validation.Valid;
-import java.util.List;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
 @SuppressWarnings("unused")
 @RestController