From 7a8f3c64dccbc4e234e9a58a024a7346a3de994d Mon Sep 17 00:00:00 2001 From: megala21 Date: Mon, 9 Oct 2017 15:50:44 +0530 Subject: [PATCH] Refactoring --- .../services/ApplicationManagementAPI.java | 13 +- .../GenericApplicationDAOImpl.java | 2 +- .../mgt/core/impl/ApplicationManagerImpl.java | 114 ++++++++++-------- 3 files changed, 69 insertions(+), 60 deletions(-) diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java index 65c1b7d4686..573e13f458d 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.api/src/main/java/org/wso2/carbon/device/application/mgt/api/services/ApplicationManagementAPI.java @@ -110,8 +110,8 @@ import javax.ws.rs.core.Response; permissions = {"/device-mgt/application/category/create"} ), @Scope( - name = "Delete an Application", - description = "Delete an application", + name = "Delete an Application category", + description = "Delete an application category", key = "perm:application-category:delete", permissions = {"/device-mgt/application/category/delete"} ) @@ -823,13 +823,14 @@ public interface ApplicationManagementAPI { @ApiResponse( code = 200, message = "OK. \n Successfully retrieved existing categories.", - response = Application.class), + response = List.class), @ApiResponse( code = 400, message = "Bad request. Required parameters are not provided"), @ApiResponse( code = 500, - message = "Internal Server Error. \n Error occurred while getting the application list.", + message = "Internal Server Error. \n Error occurred while getting the application " + + "categories.", response = ErrorResponse.class) }) Response getCategories(); @@ -855,14 +856,14 @@ public interface ApplicationManagementAPI { value = { @ApiResponse( code = 200, - message = "OK. \n Successfully retrieved existing categories.", + message = "OK. \n Successfully deleted the application with the given name.", response = Application.class), @ApiResponse( code = 400, message = "Bad request. Required parameters are not provided"), @ApiResponse( code = 500, - message = "Internal Server Error. \n Error occurred while getting the application list.", + message = "Internal Server Error. \n Error occurred while deleting applcation category.", response = ErrorResponse.class) }) Response deleteCategory( diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/GenericApplicationDAOImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/GenericApplicationDAOImpl.java index b79dca2017f..a6da6d77281 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/GenericApplicationDAOImpl.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/application/GenericApplicationDAOImpl.java @@ -537,7 +537,7 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic Connection conn; PreparedStatement stmt = null; ResultSet rs = null; - String sql = "SELECT * FROM APPM_APPLICATION WHERE APPLICATION_CATEGORY_ID = (ID FROM " + String sql = "SELECT * FROM APPM_APPLICATION WHERE APPLICATION_CATEGORY_ID = (SELECT ID FROM " + "APPM_APPLICATION_CATEGORY WHERE NAME = ?)"; try { diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java index 31da0f4ff55..f5e7c84f3c9 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationManagerImpl.java @@ -22,7 +22,16 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.CarbonConstants; import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.application.mgt.common.*; +import org.wso2.carbon.device.application.mgt.common.Application; +import org.wso2.carbon.device.application.mgt.common.ApplicationList; +import org.wso2.carbon.device.application.mgt.common.Category; +import org.wso2.carbon.device.application.mgt.common.Filter; +import org.wso2.carbon.device.application.mgt.common.Lifecycle; +import org.wso2.carbon.device.application.mgt.common.LifecycleState; +import org.wso2.carbon.device.application.mgt.common.LifecycleStateTransition; +import org.wso2.carbon.device.application.mgt.common.Platform; +import org.wso2.carbon.device.application.mgt.common.User; +import org.wso2.carbon.device.application.mgt.common.Visibility; import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException; import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager; import org.wso2.carbon.device.application.mgt.core.dao.ApplicationDAO; @@ -62,22 +71,20 @@ public class ApplicationManagerImpl implements ApplicationManager { application.setUuid(HelperUtil.generateApplicationUuid()); application.setCreatedAt(new Date()); application.setModifiedAt(new Date()); - try { - Platform platform = DataHolder.getInstance().getPlatformManager().getPlatform(application.getUser() - .getTenantId(), application.getPlatform().getIdentifier()); + Platform platform = DataHolder.getInstance().getPlatformManager() + .getPlatform(application.getUser().getTenantId(), application.getPlatform().getIdentifier()); - if (platform == null) { - throw new NotFoundException( - "Invalid platform is provided for the application " + application.getUuid()); - } + if (platform == null) { + throw new NotFoundException("Invalid platform is provided for the application " + application.getUuid()); + } - Category category = DataHolder.getInstance().getCategoryManager() - .getCategory(application.getCategory().getName()); - if (category == null) { - throw new NotFoundException( - "Invalid Category is provided for the application " + application.getUuid()); - } - application.setCategory(category); + Category category = DataHolder.getInstance().getCategoryManager() + .getCategory(application.getCategory().getName()); + if (category == null) { + throw new NotFoundException("Invalid Category is provided for the application " + application.getUuid()); + } + application.setCategory(category); + try { ConnectionManagerUtil.beginDBTransaction(); // Validating the platform @@ -119,48 +126,49 @@ public class ApplicationManagerImpl implements ApplicationManager { } if (!isApplicationOwnerOrAdmin(application.getUuid(), userName, tenantId)) { - throw new ApplicationManagementException("User " + userName + " does not have permissions to edit the " - + "application with the UUID " + application.getUuid()); + throw new ApplicationManagementException( + "User " + userName + " does not have permissions to edit the " + "application with the UUID " + + application.getUuid()); } if (this.getApplication(application.getUuid()) != null) { - try { - if (application.getPlatform() != null && application.getPlatform().getIdentifier() != null) { - Platform platform = DataHolder.getInstance().getPlatformManager() - .getPlatform(tenantId, application.getPlatform().getIdentifier()); - if (platform == null) { - throw new NotFoundException( - "Platform specified by identifier " + application.getPlatform().getIdentifier() - + " is not found. Please give a valid platform identifier."); - } + if (application.getPlatform() == null || application.getPlatform().getIdentifier() == null) { + throw new NotFoundException("Platform information not available with the application!"); + } + Platform platform = DataHolder.getInstance().getPlatformManager() + .getPlatform(tenantId, application.getPlatform().getIdentifier()); + if (platform == null) { + throw new NotFoundException( + "Platform specified by identifier " + application.getPlatform().getIdentifier() + + " is not found. Please give a valid platform identifier."); + } + application.setPlatform(platform); - if (application.getCategory() != null) { - String applicationCategoryName = application.getCategory().getName(); - if (applicationCategoryName == null || applicationCategoryName.isEmpty()) { - throw new ApplicationManagementException("Application category name cannot be null or " - + "empty. Cannot edit the application."); - } - Category category = DataHolder.getInstance().getCategoryManager() - .getCategory(application.getCategory().getName()); - if (category == null) { - throw new NotFoundException( - "Invalid Category is provided for the application " + application.getUuid() + ". " - + "Cannot edit application"); - } - application.setCategory(category); - } - application.setPlatform(platform); - ConnectionManagerUtil.beginDBTransaction(); - ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO(); - application.setModifiedAt(new Date()); - Application modifiedApplication = applicationDAO.editApplication(application, tenantId); - Visibility visibility = DataHolder.getInstance().getVisibilityManager().put(application.getId(), - application.getVisibility()); - modifiedApplication.setVisibility(visibility); - ConnectionManagerUtil.commitDBTransaction(); - return modifiedApplication; - } else { - throw new NotFoundException("Platform information not available with the application!"); + if (application.getCategory() != null) { + String applicationCategoryName = application.getCategory().getName(); + if (applicationCategoryName == null || applicationCategoryName.isEmpty()) { + throw new ApplicationManagementException( + "Application category name cannot be null or " + "empty. Cannot edit the application."); + } + Category category = DataHolder.getInstance().getCategoryManager() + .getCategory(application.getCategory().getName()); + if (category == null) { + throw new NotFoundException( + "Invalid Category is provided for the application " + application.getUuid() + ". " + + "Cannot edit application"); } + application.setCategory(category); + } + + try { + ConnectionManagerUtil.beginDBTransaction(); + ApplicationDAO applicationDAO = DAOFactory.getApplicationDAO(); + application.setModifiedAt(new Date()); + Application modifiedApplication = applicationDAO.editApplication(application, tenantId); + Visibility visibility = DataHolder.getInstance().getVisibilityManager() + .put(application.getId(), application.getVisibility()); + modifiedApplication.setVisibility(visibility); + ConnectionManagerUtil.commitDBTransaction(); + return modifiedApplication; } catch (ApplicationManagementDAOException e) { ConnectionManagerUtil.rollbackDBTransaction(); throw e;