From a44585454ea28e730faf2dce695f72b7faf43670 Mon Sep 17 00:00:00 2001 From: ashok-conflux Date: Thu, 16 May 2013 14:38:18 +0530 Subject: [PATCH] MIFOSX-356: modify api call to unassignStaff from a group --- .../service/CommandWrapperBuilder.java | 2 +- .../SynchronousCommandProcessingService.java | 2 +- .../group/api/GroupsApiResource.java | 8 +++-- ... => UnassignGroupStaffCommandHandler.java} | 6 ++-- ...UnassignStaffFromCenterCommandHandler.java | 31 +++++++++++++++++++ .../GroupingTypesWritePlatformService.java | 2 +- ...WritePlatformServiceJpaRepositoryImpl.java | 2 +- 7 files changed, 44 insertions(+), 9 deletions(-) rename mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/{UnassignStaffCommandHandler.java => UnassignGroupStaffCommandHandler.java} (77%) create mode 100644 mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffFromCenterCommandHandler.java diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/CommandWrapperBuilder.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/CommandWrapperBuilder.java index 65a233ffd..6ff9c0957 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/CommandWrapperBuilder.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/CommandWrapperBuilder.java @@ -884,7 +884,7 @@ public class CommandWrapperBuilder { return this; } - public CommandWrapperBuilder unassignStaff(final Long groupId) { + public CommandWrapperBuilder unassignGroupStaff(final Long groupId) { this.actionName = "UNASSIGNSTAFF"; this.entityName = "GROUP"; this.entityId = groupId; diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/SynchronousCommandProcessingService.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/SynchronousCommandProcessingService.java index 7e29b25e9..b609f4c47 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/SynchronousCommandProcessingService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/SynchronousCommandProcessingService.java @@ -395,7 +395,7 @@ public class SynchronousCommandProcessingService implements CommandProcessingSer } else if (wrapper.isUpdate()) { handler = applicationContext.getBean("updateGroupCommandHandler", NewCommandSourceHandler.class); } else if (wrapper.isUnassignStaff()) { - handler = applicationContext.getBean("unassignStaffCommandHandler", NewCommandSourceHandler.class); + handler = applicationContext.getBean("unassignGroupStaffCommandHandler", NewCommandSourceHandler.class); } else if (wrapper.isDelete()) { handler = applicationContext.getBean("deleteGroupCommandHandler", NewCommandSourceHandler.class); } else if (wrapper.isGroupActivation()) { diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java index d2af43983..30e0d037b 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java @@ -188,7 +188,7 @@ public class GroupsApiResource { public String unassignLoanOfficer(@PathParam("groupId") final Long groupId, final String apiRequestBodyAsJson) { final CommandWrapper commandRequest = new CommandWrapperBuilder() // - .unassignStaff(groupId) // + .unassignGroupStaff(groupId) // .withJson(apiRequestBodyAsJson) // .build(); // final CommandProcessingResult result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest); @@ -255,8 +255,12 @@ public class GroupsApiResource { final CommandWrapper commandRequest = builder.saveGroupCollectionSheet(groupId).build(); result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest); return this.toApiJsonSerializer.serialize(result); + }else if (is(commandParam, "unassignStaff")) { + final CommandWrapper commandRequest = builder.unassignGroupStaff(groupId).build(); + result = this.commandsSourceWritePlatformService.logCommandSource(commandRequest); + return this.toApiJsonSerializer.serialize(result); } else { - throw new UnrecognizedQueryParamException("command", commandParam, new Object[] { "activate", "generateCollectionSheet", "saveCollectionSheet" }); + throw new UnrecognizedQueryParamException("command", commandParam, new Object[] { "activate", "generateCollectionSheet", "saveCollectionSheet", "unassignStaff" }); } } diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignGroupStaffCommandHandler.java similarity index 77% rename from mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffCommandHandler.java rename to mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignGroupStaffCommandHandler.java index 5e6179f23..b50657f2d 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffCommandHandler.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignGroupStaffCommandHandler.java @@ -14,18 +14,18 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service -public class UnassignStaffCommandHandler implements NewCommandSourceHandler { +public class UnassignGroupStaffCommandHandler implements NewCommandSourceHandler { private final GroupingTypesWritePlatformService groupWritePlatformService; @Autowired - public UnassignStaffCommandHandler(final GroupingTypesWritePlatformService groupWritePlatformService) { + public UnassignGroupStaffCommandHandler(final GroupingTypesWritePlatformService groupWritePlatformService) { this.groupWritePlatformService = groupWritePlatformService; } @Transactional @Override public CommandProcessingResult processCommand(final JsonCommand command) { - return this.groupWritePlatformService.unassignStaff(command.entityId(), command); + return this.groupWritePlatformService.unassignGroupOrCenterStaff(command.entityId(), command); } } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffFromCenterCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffFromCenterCommandHandler.java new file mode 100644 index 000000000..09a901551 --- /dev/null +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/handler/UnassignStaffFromCenterCommandHandler.java @@ -0,0 +1,31 @@ +/** + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + */ +package org.mifosplatform.portfolio.group.handler; + +import org.mifosplatform.commands.handler.NewCommandSourceHandler; +import org.mifosplatform.infrastructure.core.api.JsonCommand; +import org.mifosplatform.infrastructure.core.data.CommandProcessingResult; +import org.mifosplatform.portfolio.group.service.GroupingTypesWritePlatformService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +public class UnassignStaffFromCenterCommandHandler implements NewCommandSourceHandler { + + private final GroupingTypesWritePlatformService writePlatformService; + + @Autowired + public UnassignStaffFromCenterCommandHandler(final GroupingTypesWritePlatformService groupWritePlatformService) { + this.writePlatformService = groupWritePlatformService; + } + + @Transactional + @Override + public CommandProcessingResult processCommand(final JsonCommand command) { + return this.writePlatformService.unassignGroupOrCenterStaff(command.entityId(), command); + } +} \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformService.java index b19f80c62..351f4a3d7 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformService.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformService.java @@ -22,7 +22,7 @@ public interface GroupingTypesWritePlatformService { CommandProcessingResult deleteGroup(Long groupId); - CommandProcessingResult unassignStaff(Long groupId, JsonCommand command); + CommandProcessingResult unassignGroupOrCenterStaff(Long groupId, JsonCommand command); CommandProcessingResult associateClientsToGroup(Long groupId, JsonCommand command); diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java index 9c6c44b14..9a6935811 100644 --- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java +++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupingTypesWritePlatformServiceJpaRepositoryImpl.java @@ -305,7 +305,7 @@ public class GroupingTypesWritePlatformServiceJpaRepositoryImpl implements Group @Transactional @Override - public CommandProcessingResult unassignStaff(final Long grouptId, final JsonCommand command) { + public CommandProcessingResult unassignGroupOrCenterStaff(final Long grouptId, final JsonCommand command) { this.context.authenticatedUser();