diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/pom.xml b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/pom.xml index 43fc4fc2fe1..188ec9c3016 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.common/pom.xml +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.common/pom.xml @@ -57,7 +57,8 @@ io.swagger.annotations.*;resolution:=optional, com.fasterxml.jackson.annotation, javax.validation.constraints, - javax.xml.bind.annotation.* + javax.xml.bind.annotation.*, + org.wso2.carbon.device.mgt.core.dto org.wso2.carbon.device.application.mgt.common.* 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 59524195729..cfe2aafd16a 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 @@ -79,6 +79,8 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic if (rs.next()) { applicationId = rs.getInt(1); } + + // TODO : throw error if applicationId = -1 return applicationId; } catch (DBConnectionException e) { 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/release/GenericApplicationReleaseDAOImpl.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/release/GenericApplicationReleaseDAOImpl.java index ce5829ac7fd..3081fbba23e 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/release/GenericApplicationReleaseDAOImpl.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/release/GenericApplicationReleaseDAOImpl.java @@ -62,6 +62,7 @@ public class GenericApplicationReleaseDAOImpl extends AbstractDAOImpl implements + "APP_HASH_VALUE, SHARED_WITH_ALL_TENANTS, APP_META_INFO,AP_APP_ID) " + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; + // TODO : make this readable int index = 0; String generatedColumns[] = { "ID" }; try { 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/visibility/GenericVisibilityDAOImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/visibility/GenericVisibilityDAOImpl.java index 07edb26c22a..dc568a7b82c 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/visibility/GenericVisibilityDAOImpl.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/dao/impl/visibility/GenericVisibilityDAOImpl.java @@ -89,7 +89,7 @@ public class GenericVisibilityDAOImpl extends AbstractDAOImpl implements Visibil rs = stmt.executeQuery(); while (rs.next()){ - unrestrictedRoles.add(rs.getString("ROLE").toLowerCase()); + unrestrictedRoles.add(rs.getString("ROLE")); } return unrestrictedRoles; 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 134ba1d13f0..69be2968fa6 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 @@ -126,7 +126,6 @@ public class ApplicationManagerImpl implements ApplicationManager { ConnectionManagerUtil.beginDBTransaction(); if (deviceType == null) { log.error("Device type is not matched with application type"); - ConnectionManagerUtil.rollbackDBTransaction(); return null; } if (!application.getUnrestrictedRoles().isEmpty()) { @@ -166,7 +165,8 @@ public class ApplicationManagerImpl implements ApplicationManager { if (log.isDebugEnabled()) { log.debug("Changing lifecycle state. App Id:" + appId); } - LifecycleState lifecycleState = getLifecycleStateInstant(AppLifecycleState.CREATED.toString(), + //todo get initial state from lifecycle manager and set current state to Release object + LifecycleState lifecycleState = getLifecycleStateInstance(AppLifecycleState.CREATED.toString(), AppLifecycleState.CREATED.toString()); this.lifecycleStateDAO.addLifecycleState(lifecycleState, appId, applicationRelease.getUuid(), tenantId); applicationRelease.setLifecycleState(lifecycleState); @@ -306,7 +306,7 @@ public class ApplicationManagerImpl implements ApplicationManager { } applicationRelease = this.applicationReleaseDAO .createRelease(applicationRelease, existingApplication.getId(), tenantId); - LifecycleState lifecycleState = getLifecycleStateInstant(AppLifecycleState.CREATED.toString(), + LifecycleState lifecycleState = getLifecycleStateInstance(AppLifecycleState.CREATED.toString(), AppLifecycleState.CREATED.toString()); this.lifecycleStateDAO .addLifecycleState(lifecycleState, applicationId, applicationRelease.getUuid(), tenantId); @@ -584,7 +584,7 @@ public class ApplicationManagerImpl implements ApplicationManager { for (ApplicationRelease applicationRelease : applicationReleases) { LifecycleState appLifecycleState = this.lifecycleStateDAO .getLatestLifeCycleState(applicationId, applicationRelease.getUuid()); - LifecycleState newAppLifecycleState = getLifecycleStateInstant(AppLifecycleState.REMOVED.toString(), + LifecycleState newAppLifecycleState = getLifecycleStateInstance(AppLifecycleState.REMOVED.toString(), appLifecycleState.getCurrentState()); if (lifecycleStateManger.isValidStateChange(newAppLifecycleState.getPreviousState(), newAppLifecycleState.getCurrentState())) { @@ -596,7 +596,7 @@ public class ApplicationManagerImpl implements ApplicationManager { List lifecycleFlow = searchLifecycleStateFlow(currentState, AppLifecycleState.REMOVED.toString()); for (String nextState : lifecycleFlow) { - LifecycleState lifecycleState = getLifecycleStateInstant(nextState, currentState); + LifecycleState lifecycleState = getLifecycleStateInstance(nextState, currentState); if (lifecycleStateManger.isValidStateChange(currentState, nextState)) { this.lifecycleStateDAO .addLifecycleState(lifecycleState, applicationId, applicationRelease.getUuid(), @@ -713,7 +713,7 @@ public class ApplicationManagerImpl implements ApplicationManager { String currentState = appLifecycleState.getCurrentState(); if (AppLifecycleState.DEPRECATED.toString().equals(currentState) || AppLifecycleState.REJECTED.toString() .equals(currentState) || AppLifecycleState.UNPUBLISHED.toString().equals(currentState)) { - LifecycleState newAppLifecycleState = getLifecycleStateInstant(AppLifecycleState.REMOVED.toString(), + LifecycleState newAppLifecycleState = getLifecycleStateInstance(AppLifecycleState.REMOVED.toString(), appLifecycleState.getCurrentState()); if (lifecycleStateManger.isValidStateChange(newAppLifecycleState.getPreviousState(), newAppLifecycleState.getCurrentState())) { @@ -725,7 +725,7 @@ public class ApplicationManagerImpl implements ApplicationManager { List lifecycleFlow = searchLifecycleStateFlow(currentState, AppLifecycleState.REMOVED.toString()); for (String nextState : lifecycleFlow) { - LifecycleState lifecycleState = getLifecycleStateInstant(nextState, currentState); + LifecycleState lifecycleState = getLifecycleStateInstance(nextState, currentState); if (lifecycleStateManger.isValidStateChange(currentState, nextState)) { this.lifecycleStateDAO .addLifecycleState(lifecycleState, applicationId, applicationRelease.getUuid(), @@ -1238,7 +1238,7 @@ public class ApplicationManagerImpl implements ApplicationManager { * @param previousState Previouse state of the Lifecycle * @return {@link LifecycleState} */ - private LifecycleState getLifecycleStateInstant(String currentState, String previousState) { + private LifecycleState getLifecycleStateInstance(String currentState, String previousState) { String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); LifecycleState lifecycleState = new LifecycleState(); lifecycleState.setCurrentState(currentState); diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationStorageManagerImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationStorageManagerImpl.java index 293704b8f2d..ae90d07472a 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationStorageManagerImpl.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/ApplicationStorageManagerImpl.java @@ -224,12 +224,14 @@ public class ApplicationStorageManagerImpl implements ApplicationStorageManager + "application UUID " + applicationRelease.getUuid() + " is " + artifactDirectoryPath); } + // TODO : handle ios String artifactPath = artifactDirectoryPath + File.separator + Constants.RELEASE_ARTIFACT +".apk"; saveFile(cloneInputStream[1], artifactPath); applicationRelease.setAppStoredLoc(artifactPath); applicationRelease.setAppHashValue(md5OfApp); } catch (IOException e) { + // TODO : throw new ApplicationStorageManagementException( "IO Exception while saving the release artifacts in the server for the application UUID " + applicationRelease.getUuid(), e); diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.api/src/main/java/org/wso2/carbon/device/application/mgt/publisher/api/services/impl/ApplicationManagementAPIImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.api/src/main/java/org/wso2/carbon/device/application/mgt/publisher/api/services/impl/ApplicationManagementAPIImpl.java index 8aed74ca981..e2f8210c561 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.api/src/main/java/org/wso2/carbon/device/application/mgt/publisher/api/services/impl/ApplicationManagementAPIImpl.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.publisher.api/src/main/java/org/wso2/carbon/device/application/mgt/publisher/api/services/impl/ApplicationManagementAPIImpl.java @@ -148,6 +148,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI { } try { + //TODO : catch the error message if (isInvalidReleaseCreatingRequest(binaryFile, iconFile, bannerFile, attachmentList, application.getType())) { return Response.status(Response.Status.BAD_REQUEST) .entity("Invalid request for creating an application.").build(); @@ -155,6 +156,7 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI { // The application executable artifacts such as apks are uploaded. if (!ApplicationType.ENTERPRISE.toString().equals(application.getType())) { + // TODO Null check applicationRelease = application.getApplicationReleases().get(0); applicationRelease = applicationStorageManager .uploadReleaseArtifact(applicationRelease, application.getType(), application.getDeviceType(),