mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'dev' into 'master'
Add query param to publish an app directly See merge request entgra/carbon-device-mgt!847
This commit is contained in:
commit
4ab20f3205
@ -51,19 +51,20 @@ public interface ApplicationManager {
|
|||||||
*
|
*
|
||||||
* @param applicationWrapper Application that need to be created.
|
* @param applicationWrapper Application that need to be created.
|
||||||
* @param applicationArtifact contains artifact data. i.e image name and stream, icon name and stream etc.
|
* @param applicationArtifact contains artifact data. i.e image name and stream, icon name and stream etc.
|
||||||
|
* @param isPublished checks if application should be published
|
||||||
* @return {@link Application}
|
* @return {@link Application}
|
||||||
* @throws ApplicationManagementException Catch all other throwing exceptions and throw {@link ApplicationManagementException}
|
* @throws ApplicationManagementException Catch all other throwing exceptions and throw {@link ApplicationManagementException}
|
||||||
*/
|
*/
|
||||||
Application createEntApp(ApplicationWrapper applicationWrapper, ApplicationArtifact applicationArtifact)
|
Application createEntApp(ApplicationWrapper applicationWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
Application createWebClip(WebAppWrapper webAppWrapper, ApplicationArtifact applicationArtifact)
|
Application createWebClip(WebAppWrapper webAppWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
Application createPublicApp(PublicAppWrapper publicAppWrapper, ApplicationArtifact applicationArtifact)
|
Application createPublicApp(PublicAppWrapper publicAppWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
Application createCustomApp(CustomAppWrapper customAppWrapper, ApplicationArtifact applicationArtifact)
|
Application createCustomApp(CustomAppWrapper customAppWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -179,7 +180,18 @@ public interface ApplicationManager {
|
|||||||
*/
|
*/
|
||||||
ApplicationRelease changeLifecycleState(String releaseUuid, LifecycleChanger lifecycleChanger)
|
ApplicationRelease changeLifecycleState(String releaseUuid, LifecycleChanger lifecycleChanger)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To get all the releases of a particular ApplicationDTO.
|
||||||
|
*
|
||||||
|
* @param applicationReleaseDTO of the ApplicationDTO Release.
|
||||||
|
* @param lifecycleChanger Lifecycle changer that contains the action and the reason for the change.
|
||||||
|
* @throws ApplicationManagementException ApplicationDTO Management Exception.
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ApplicationRelease changeLifecycleState(ApplicationReleaseDTO applicationReleaseDTO, LifecycleChanger lifecycleChanger)
|
||||||
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To update release images such as icons, banner and screenshots.
|
* To update release images such as icons, banner and screenshots.
|
||||||
*
|
*
|
||||||
@ -207,10 +219,11 @@ public interface ApplicationManager {
|
|||||||
*
|
*
|
||||||
* @param applicationId ID of the ApplicationDTO
|
* @param applicationId ID of the ApplicationDTO
|
||||||
* @param entAppReleaseWrapper ApplicatonRelease that need to be be created.
|
* @param entAppReleaseWrapper ApplicatonRelease that need to be be created.
|
||||||
|
* @param isPublished checks if application should be published
|
||||||
* @return the unique id of the application release, if the application release succeeded else -1
|
* @return the unique id of the application release, if the application release succeeded else -1
|
||||||
*/
|
*/
|
||||||
ApplicationRelease createEntAppRelease(int applicationId, EntAppReleaseWrapper entAppReleaseWrapper,
|
ApplicationRelease createEntAppRelease(int applicationId, EntAppReleaseWrapper entAppReleaseWrapper,
|
||||||
ApplicationArtifact applicationArtifact) throws ApplicationManagementException;
|
ApplicationArtifact applicationArtifact, boolean isPublished) throws ApplicationManagementException;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
*
|
*
|
||||||
@ -304,5 +317,4 @@ public interface ApplicationManager {
|
|||||||
String getPlistArtifact(String uuid) throws ApplicationManagementException;
|
String getPlistArtifact(String uuid) throws ApplicationManagementException;
|
||||||
|
|
||||||
List<ApplicationReleaseDTO> getReleaseByPackageNames(List<String> packageIds) throws ApplicationManagementException;
|
List<ApplicationReleaseDTO> getReleaseByPackageNames(List<String> packageIds) throws ApplicationManagementException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -135,7 +135,7 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Application createEntApp(ApplicationWrapper applicationWrapper,
|
public Application createEntApp(ApplicationWrapper applicationWrapper,
|
||||||
ApplicationArtifact applicationArtifact) throws ApplicationManagementException {
|
ApplicationArtifact applicationArtifact, boolean isPublished) throws ApplicationManagementException {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Ent. Application create request is received. Application name: " + applicationWrapper.getName()
|
log.debug("Ent. Application create request is received. Application name: " + applicationWrapper.getName()
|
||||||
+ " Device type: " + applicationWrapper.getDeviceType());
|
+ " Device type: " + applicationWrapper.getDeviceType());
|
||||||
@ -149,11 +149,11 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
applicationWrapper.getDeviceType(), tenantId, false);
|
applicationWrapper.getDeviceType(), tenantId, false);
|
||||||
applicationDTO.getApplicationReleaseDTOs().clear();
|
applicationDTO.getApplicationReleaseDTOs().clear();
|
||||||
applicationDTO.getApplicationReleaseDTOs().add(applicationReleaseDTO);
|
applicationDTO.getApplicationReleaseDTOs().add(applicationReleaseDTO);
|
||||||
return addAppDataIntoDB(applicationDTO, tenantId);
|
return addAppDataIntoDB(applicationDTO, tenantId, isPublished);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Application createWebClip(WebAppWrapper webAppWrapper, ApplicationArtifact applicationArtifact)
|
public Application createWebClip(WebAppWrapper webAppWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Web clip create request is received. App name: " + webAppWrapper.getName() + " Device type: "
|
log.debug("Web clip create request is received. App name: " + webAppWrapper.getName() + " Device type: "
|
||||||
@ -175,11 +175,11 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
throw new ApplicationManagementException(msg, e);
|
throw new ApplicationManagementException(msg, e);
|
||||||
}
|
}
|
||||||
//insert application data into database
|
//insert application data into database
|
||||||
return addAppDataIntoDB(applicationDTO, tenantId);
|
return addAppDataIntoDB(applicationDTO, tenantId, isPublished);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Application createPublicApp(PublicAppWrapper publicAppWrapper, ApplicationArtifact applicationArtifact)
|
public Application createPublicApp(PublicAppWrapper publicAppWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
||||||
|
|
||||||
@ -231,11 +231,11 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
throw new ApplicationManagementException(msg, e);
|
throw new ApplicationManagementException(msg, e);
|
||||||
}
|
}
|
||||||
//insert application data into database
|
//insert application data into database
|
||||||
return addAppDataIntoDB(applicationDTO, tenantId);
|
return addAppDataIntoDB(applicationDTO, tenantId, isPublished);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Application createCustomApp(CustomAppWrapper customAppWrapper, ApplicationArtifact applicationArtifact)
|
public Application createCustomApp(CustomAppWrapper customAppWrapper, ApplicationArtifact applicationArtifact, boolean isPublished)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
try {
|
try {
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
||||||
@ -282,7 +282,7 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
applicationReleaseDTO = addImageArtifacts(applicationReleaseDTO, applicationArtifact, tenantId);
|
applicationReleaseDTO = addImageArtifacts(applicationReleaseDTO, applicationArtifact, tenantId);
|
||||||
applicationDTO.getApplicationReleaseDTOs().clear();
|
applicationDTO.getApplicationReleaseDTOs().clear();
|
||||||
applicationDTO.getApplicationReleaseDTOs().add(applicationReleaseDTO);
|
applicationDTO.getApplicationReleaseDTOs().add(applicationReleaseDTO);
|
||||||
return addAppDataIntoDB(applicationDTO, tenantId);
|
return addAppDataIntoDB(applicationDTO, tenantId, isPublished);
|
||||||
} catch (ResourceManagementException e) {
|
} catch (ResourceManagementException e) {
|
||||||
String msg = "Error occurred while uploading application artifact into the server. Application name: "
|
String msg = "Error occurred while uploading application artifact into the server. Application name: "
|
||||||
+ customAppWrapper.getName() + " Device type: " + customAppWrapper.getDeviceType();
|
+ customAppWrapper.getName() + " Device type: " + customAppWrapper.getDeviceType();
|
||||||
@ -872,7 +872,7 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
* @return {@link Application}
|
* @return {@link Application}
|
||||||
* @throws ApplicationManagementException which throws if error occurs while during application management.
|
* @throws ApplicationManagementException which throws if error occurs while during application management.
|
||||||
*/
|
*/
|
||||||
private Application addAppDataIntoDB(ApplicationDTO applicationDTO, int tenantId) throws ApplicationManagementException {
|
private Application addAppDataIntoDB(ApplicationDTO applicationDTO, int tenantId, boolean isPublished) throws ApplicationManagementException {
|
||||||
ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
ApplicationStorageManager applicationStorageManager = APIUtil.getApplicationStorageManager();
|
||||||
List<String> unrestrictedRoles = applicationDTO.getUnrestrictedRoles();
|
List<String> unrestrictedRoles = applicationDTO.getUnrestrictedRoles();
|
||||||
ApplicationReleaseDTO applicationReleaseDTO = applicationDTO.getApplicationReleaseDTOs().get(0);
|
ApplicationReleaseDTO applicationReleaseDTO = applicationDTO.getApplicationReleaseDTOs().get(0);
|
||||||
@ -939,12 +939,24 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Creating a new release. App Id:" + appId);
|
log.debug("Creating a new release. App Id:" + appId);
|
||||||
}
|
}
|
||||||
String initialLifecycleState = lifecycleStateManager.getInitialState();
|
|
||||||
applicationReleaseDTO.setCurrentState(initialLifecycleState);
|
String lifeCycleState = lifecycleStateManager.getInitialState();
|
||||||
applicationReleaseDTO = this.applicationReleaseDAO
|
String[] publishStates= {"IN-REVIEW", "APPROVED", "PUBLISHED"};
|
||||||
.createRelease(applicationReleaseDTO, appId, tenantId);
|
|
||||||
LifecycleState lifecycleState = getLifecycleStateInstance(initialLifecycleState, initialLifecycleState);
|
applicationReleaseDTO.setCurrentState(lifeCycleState);
|
||||||
|
applicationReleaseDTO = this.applicationReleaseDAO.createRelease(applicationReleaseDTO, appId, tenantId);
|
||||||
|
LifecycleState lifecycleState = getLifecycleStateInstance(lifeCycleState, lifeCycleState);
|
||||||
this.lifecycleStateDAO.addLifecycleState(lifecycleState, applicationReleaseDTO.getId(), tenantId);
|
this.lifecycleStateDAO.addLifecycleState(lifecycleState, applicationReleaseDTO.getId(), tenantId);
|
||||||
|
|
||||||
|
if(isPublished){
|
||||||
|
for (String state: publishStates) {
|
||||||
|
LifecycleChanger lifecycleChanger = new LifecycleChanger();
|
||||||
|
lifecycleChanger.setAction(state);
|
||||||
|
lifecycleChanger.setReason("Updated to " + state);
|
||||||
|
this.changeLifecycleState(applicationReleaseDTO, lifecycleChanger);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
applicationReleaseEntities.add(applicationReleaseDTO);
|
applicationReleaseEntities.add(applicationReleaseDTO);
|
||||||
applicationDTO.setApplicationReleaseDTOs(applicationReleaseEntities);
|
applicationDTO.setApplicationReleaseDTOs(applicationReleaseEntities);
|
||||||
Application application = APIUtil.appDtoToAppResponse(applicationDTO);
|
Application application = APIUtil.appDtoToAppResponse(applicationDTO);
|
||||||
@ -1004,7 +1016,7 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApplicationRelease createEntAppRelease(int applicationId, EntAppReleaseWrapper entAppReleaseWrapper,
|
public ApplicationRelease createEntAppRelease(int applicationId, EntAppReleaseWrapper entAppReleaseWrapper,
|
||||||
ApplicationArtifact applicationArtifact) throws ApplicationManagementException {
|
ApplicationArtifact applicationArtifact, boolean isPublished) throws ApplicationManagementException {
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Application release creating request is received for the application id: " + applicationId);
|
log.debug("Application release creating request is received for the application id: " + applicationId);
|
||||||
@ -1030,15 +1042,28 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
ApplicationReleaseDTO applicationReleaseDTO = uploadEntAppReleaseArtifacts(
|
ApplicationReleaseDTO applicationReleaseDTO = uploadEntAppReleaseArtifacts(
|
||||||
APIUtil.releaseWrapperToReleaseDTO(entAppReleaseWrapper), applicationArtifact, deviceType.getName(),
|
APIUtil.releaseWrapperToReleaseDTO(entAppReleaseWrapper), applicationArtifact, deviceType.getName(),
|
||||||
tenantId, true);
|
tenantId, true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ConnectionManagerUtil.beginDBTransaction();
|
ConnectionManagerUtil.beginDBTransaction();
|
||||||
String initialstate = lifecycleStateManager.getInitialState();
|
String lifeCycleState = lifecycleStateManager.getInitialState();
|
||||||
applicationReleaseDTO.setCurrentState(initialstate);
|
String[] publishStates= {"IN-REVIEW", "APPROVED", "PUBLISHED"};
|
||||||
LifecycleState lifecycleState = getLifecycleStateInstance(initialstate, initialstate);
|
|
||||||
|
applicationReleaseDTO.setCurrentState(lifeCycleState);
|
||||||
|
LifecycleState lifecycleState = getLifecycleStateInstance(lifeCycleState, lifeCycleState);
|
||||||
applicationReleaseDTO = this.applicationReleaseDAO
|
applicationReleaseDTO = this.applicationReleaseDAO
|
||||||
.createRelease(applicationReleaseDTO, applicationDTO.getId(), tenantId);
|
.createRelease(applicationReleaseDTO, applicationDTO.getId(), tenantId);
|
||||||
this.lifecycleStateDAO
|
this.lifecycleStateDAO
|
||||||
.addLifecycleState(lifecycleState, applicationReleaseDTO.getId(), tenantId);
|
.addLifecycleState(lifecycleState, applicationReleaseDTO.getId(), tenantId);
|
||||||
|
|
||||||
|
if(isPublished){
|
||||||
|
for (String state: publishStates) {
|
||||||
|
LifecycleChanger lifecycleChanger = new LifecycleChanger();
|
||||||
|
lifecycleChanger.setAction(state);
|
||||||
|
lifecycleChanger.setReason("Updated to " + state);
|
||||||
|
this.changeLifecycleState(applicationReleaseDTO, lifecycleChanger);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ApplicationRelease applicationRelease = APIUtil.releaseDtoToRelease(applicationReleaseDTO);
|
ApplicationRelease applicationRelease = APIUtil.releaseDtoToRelease(applicationReleaseDTO);
|
||||||
ConnectionManagerUtil.commitDBTransaction();
|
ConnectionManagerUtil.commitDBTransaction();
|
||||||
return applicationRelease;
|
return applicationRelease;
|
||||||
@ -1883,6 +1908,61 @@ ApplicationManagerImpl implements ApplicationManager {
|
|||||||
ConnectionManagerUtil.closeDBConnection();
|
ConnectionManagerUtil.closeDBConnection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ApplicationRelease changeLifecycleState(ApplicationReleaseDTO applicationReleaseDTO, LifecycleChanger lifecycleChanger) throws ApplicationManagementException {
|
||||||
|
|
||||||
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true);
|
||||||
|
String userName = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername();
|
||||||
|
if (lifecycleChanger == null || StringUtils.isEmpty(lifecycleChanger.getAction())) {
|
||||||
|
String msg = "The Action is null or empty. Please verify the request.";
|
||||||
|
log.error(msg);
|
||||||
|
throw new BadRequestException(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
try{
|
||||||
|
if (lifecycleStateManager
|
||||||
|
.isValidStateChange(applicationReleaseDTO.getCurrentState(), lifecycleChanger.getAction(), userName,
|
||||||
|
tenantId)) {
|
||||||
|
if (lifecycleStateManager.isInstallableState(lifecycleChanger.getAction()) && applicationReleaseDAO
|
||||||
|
.hasExistInstallableAppRelease(applicationReleaseDTO.getUuid(),
|
||||||
|
lifecycleStateManager.getInstallableState(), tenantId)) {
|
||||||
|
String msg = "Installable application release is already registered for the application. "
|
||||||
|
+ "Therefore it is not permitted to change the lifecycle state from "
|
||||||
|
+ applicationReleaseDTO.getCurrentState() + " to " + lifecycleChanger.getAction();
|
||||||
|
log.error(msg);
|
||||||
|
throw new ForbiddenException(msg);
|
||||||
|
}
|
||||||
|
LifecycleState lifecycleState = new LifecycleState();
|
||||||
|
lifecycleState.setCurrentState(lifecycleChanger.getAction());
|
||||||
|
lifecycleState.setPreviousState(applicationReleaseDTO.getCurrentState());
|
||||||
|
lifecycleState.setUpdatedBy(userName);
|
||||||
|
lifecycleState.setReasonForChange(lifecycleChanger.getReason());
|
||||||
|
applicationReleaseDTO.setCurrentState(lifecycleChanger.getAction());
|
||||||
|
if (this.applicationReleaseDAO.updateRelease(applicationReleaseDTO, tenantId) == null) {
|
||||||
|
String msg = "Application release updating is failed/.";
|
||||||
|
log.error(msg);
|
||||||
|
throw new ApplicationManagementException(msg);
|
||||||
|
}
|
||||||
|
this.lifecycleStateDAO.addLifecycleState(lifecycleState, applicationReleaseDTO.getId(), tenantId);
|
||||||
|
return APIUtil.releaseDtoToRelease(applicationReleaseDTO);
|
||||||
|
} else {
|
||||||
|
String msg = "Invalid lifecycle state transition from '" + applicationReleaseDTO.getCurrentState() + "'"
|
||||||
|
+ " to '" + lifecycleChanger.getAction() + "'";
|
||||||
|
log.error(msg);
|
||||||
|
throw new ApplicationManagementException(msg);
|
||||||
|
}
|
||||||
|
} catch (ApplicationManagementDAOException e) {
|
||||||
|
String msg = "Error occurred when accessing application release data of application release which has the "
|
||||||
|
+ "application release UUID: " + applicationReleaseDTO.getUuid();
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new ApplicationManagementException(msg, e);
|
||||||
|
} catch (LifeCycleManagementDAOException e) {
|
||||||
|
String msg = "Failed to add lifecycle state for Application release UUID: " + applicationReleaseDTO.getUuid();
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new ApplicationManagementException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addApplicationCategories(List<String> categories) throws ApplicationManagementException {
|
public void addApplicationCategories(List<String> categories) throws ApplicationManagementException {
|
||||||
|
|||||||
@ -41,7 +41,6 @@ import io.entgra.application.mgt.core.dto.ApplicationsDTO;
|
|||||||
import io.entgra.application.mgt.core.impl.ApplicationManagerImpl;
|
import io.entgra.application.mgt.core.impl.ApplicationManagerImpl;
|
||||||
import io.entgra.application.mgt.core.internal.DataHolder;
|
import io.entgra.application.mgt.core.internal.DataHolder;
|
||||||
import io.entgra.application.mgt.core.util.ConnectionManagerUtil;
|
import io.entgra.application.mgt.core.util.ConnectionManagerUtil;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||||
import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion;
|
import org.wso2.carbon.device.mgt.core.dto.DeviceTypeVersion;
|
||||||
@ -121,9 +120,8 @@ public class ApplicationManagementTest extends BaseTestCase {
|
|||||||
screenshots.put("shot3", new FileInputStream(new File("src/test/resources/samples/app1/shot3.png")));
|
screenshots.put("shot3", new FileInputStream(new File("src/test/resources/samples/app1/shot3.png")));
|
||||||
|
|
||||||
applicationArtifact.setScreenshots(screenshots);
|
applicationArtifact.setScreenshots(screenshots);
|
||||||
|
|
||||||
ApplicationManager manager = new ApplicationManagerImpl();
|
ApplicationManager manager = new ApplicationManagerImpl();
|
||||||
manager.createEntApp(applicationWrapper, applicationArtifact);
|
manager.createEntApp(applicationWrapper, applicationArtifact, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@DataProvider(name = "applicationIdDataProvider")
|
@DataProvider(name = "applicationIdDataProvider")
|
||||||
@ -140,7 +138,12 @@ public class ApplicationManagementTest extends BaseTestCase {
|
|||||||
public static Object[][] uuidDataProvider() {
|
public static Object[][] uuidDataProvider() {
|
||||||
return new Object[][] {{"TEST_APP_UUID"}};
|
return new Object[][] {{"TEST_APP_UUID"}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(enabled = false)
|
||||||
|
public void createApplicationAndPublish(ApplicationWrapper applicationWrapper, ApplicationArtifact applicationArtifact, boolean isPublish) throws ApplicationManagementException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Test(enabled = false)
|
@Test(enabled = false)
|
||||||
public void updateApplication(int applicationId, ApplicationUpdateWrapper applicationUpdateWrapper) throws ApplicationManagementException {
|
public void updateApplication(int applicationId, ApplicationUpdateWrapper applicationUpdateWrapper) throws ApplicationManagementException {
|
||||||
|
|
||||||
|
|||||||
@ -319,6 +319,11 @@ public interface ApplicationManagementPublisherAPI {
|
|||||||
value = "The application that need to be created.",
|
value = "The application that need to be created.",
|
||||||
required = true)
|
required = true)
|
||||||
@Multipart("application") ApplicationWrapper application,
|
@Multipart("application") ApplicationWrapper application,
|
||||||
|
@ApiParam(
|
||||||
|
name = "isPublished",
|
||||||
|
value = "Published state of the application"
|
||||||
|
)
|
||||||
|
@QueryParam("is-Published") boolean isPublished,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "binaryFile",
|
name = "binaryFile",
|
||||||
value = "Binary file of uploading application",
|
value = "Binary file of uploading application",
|
||||||
@ -388,6 +393,11 @@ public interface ApplicationManagementPublisherAPI {
|
|||||||
value = "The web app that need to be created.",
|
value = "The web app that need to be created.",
|
||||||
required = true)
|
required = true)
|
||||||
@Multipart("webapp") WebAppWrapper webAppWrapper,
|
@Multipart("webapp") WebAppWrapper webAppWrapper,
|
||||||
|
@ApiParam(
|
||||||
|
name = "isPublished",
|
||||||
|
value = "Published state of the application"
|
||||||
|
)
|
||||||
|
@QueryParam("is-Published") boolean isPublished,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "icon",
|
name = "icon",
|
||||||
value = "Icon of the uploading web app",
|
value = "Icon of the uploading web app",
|
||||||
@ -452,6 +462,11 @@ public interface ApplicationManagementPublisherAPI {
|
|||||||
value = "The public app that need to be created.",
|
value = "The public app that need to be created.",
|
||||||
required = true)
|
required = true)
|
||||||
@Multipart("public-app") PublicAppWrapper publicAppWrapper,
|
@Multipart("public-app") PublicAppWrapper publicAppWrapper,
|
||||||
|
@ApiParam(
|
||||||
|
name = "isPublished",
|
||||||
|
value = "Published state of the application"
|
||||||
|
)
|
||||||
|
@QueryParam("is-Published") boolean isPublished,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "icon",
|
name = "icon",
|
||||||
value = "Icon of the uploading public app",
|
value = "Icon of the uploading public app",
|
||||||
@ -514,6 +529,11 @@ public interface ApplicationManagementPublisherAPI {
|
|||||||
value = "The application that need to be created.",
|
value = "The application that need to be created.",
|
||||||
required = true)
|
required = true)
|
||||||
@Multipart("application") CustomAppWrapper customAppWrapper,
|
@Multipart("application") CustomAppWrapper customAppWrapper,
|
||||||
|
@ApiParam(
|
||||||
|
name = "isPublished",
|
||||||
|
value = "Published state of the application"
|
||||||
|
)
|
||||||
|
@QueryParam("is-Published") boolean isPublished,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "binaryFile",
|
name = "binaryFile",
|
||||||
value = "Binary file of uploading application",
|
value = "Binary file of uploading application",
|
||||||
@ -593,6 +613,11 @@ public interface ApplicationManagementPublisherAPI {
|
|||||||
value = "The application release that need to be created.",
|
value = "The application release that need to be created.",
|
||||||
required = true)
|
required = true)
|
||||||
@Multipart("applicationRelease") EntAppReleaseWrapper entAppReleaseWrapper,
|
@Multipart("applicationRelease") EntAppReleaseWrapper entAppReleaseWrapper,
|
||||||
|
@ApiParam(
|
||||||
|
name = "isPublished",
|
||||||
|
value = "Published state of the application"
|
||||||
|
)
|
||||||
|
@QueryParam("is-Published") boolean isPublished,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "binaryFile",
|
name = "binaryFile",
|
||||||
value = "Binary file of uploading application",
|
value = "Binary file of uploading application",
|
||||||
|
|||||||
@ -173,6 +173,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
@Path("/ent-app")
|
@Path("/ent-app")
|
||||||
public Response createEntApp(
|
public Response createEntApp(
|
||||||
@Multipart("application") ApplicationWrapper applicationWrapper,
|
@Multipart("application") ApplicationWrapper applicationWrapper,
|
||||||
|
@QueryParam("is-published") boolean isPublished,
|
||||||
@Multipart("binaryFile") Attachment binaryFile,
|
@Multipart("binaryFile") Attachment binaryFile,
|
||||||
@Multipart("icon") Attachment iconFile,
|
@Multipart("icon") Attachment iconFile,
|
||||||
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
||||||
@ -190,7 +191,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
|
|
||||||
// Created new Ent App
|
// Created new Ent App
|
||||||
Application application = applicationManager.createEntApp(applicationWrapper,
|
Application application = applicationManager.createEntApp(applicationWrapper,
|
||||||
constructApplicationArtifact(binaryFile, iconFile, bannerFile, attachmentList));
|
constructApplicationArtifact(binaryFile, iconFile, bannerFile, attachmentList), isPublished);
|
||||||
if (application != null) {
|
if (application != null) {
|
||||||
return Response.status(Response.Status.CREATED).entity(application).build();
|
return Response.status(Response.Status.CREATED).entity(application).build();
|
||||||
} else {
|
} else {
|
||||||
@ -218,6 +219,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
@Path("/web-app")
|
@Path("/web-app")
|
||||||
public Response createWebApp(
|
public Response createWebApp(
|
||||||
@Multipart("webapp") WebAppWrapper webAppWrapper,
|
@Multipart("webapp") WebAppWrapper webAppWrapper,
|
||||||
|
@QueryParam("is-published") boolean isPublished,
|
||||||
@Multipart("icon") Attachment iconFile,
|
@Multipart("icon") Attachment iconFile,
|
||||||
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
||||||
@Multipart("screenshot1") Attachment screenshot1,
|
@Multipart("screenshot1") Attachment screenshot1,
|
||||||
@ -233,7 +235,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
|
|
||||||
// Created new Web App
|
// Created new Web App
|
||||||
Application application = applicationManager.createWebClip(webAppWrapper,
|
Application application = applicationManager.createWebClip(webAppWrapper,
|
||||||
constructApplicationArtifact(null, iconFile, bannerFile, attachmentList));
|
constructApplicationArtifact(null, iconFile, bannerFile, attachmentList), isPublished);
|
||||||
if (application != null) {
|
if (application != null) {
|
||||||
return Response.status(Response.Status.CREATED).entity(application).build();
|
return Response.status(Response.Status.CREATED).entity(application).build();
|
||||||
} else {
|
} else {
|
||||||
@ -255,12 +257,13 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
|
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Consumes({"multipart/mixed", MediaType.MULTIPART_FORM_DATA})
|
@Consumes({"multipart/mixed", MediaType.MULTIPART_FORM_DATA})
|
||||||
@Path("/public-app")
|
@Path("/public-app")
|
||||||
public Response createPubApp(
|
public Response createPubApp(
|
||||||
@Multipart("public-app") PublicAppWrapper publicAppWrapper,
|
@Multipart("public-app") PublicAppWrapper publicAppWrapper,
|
||||||
|
@QueryParam("is-published") boolean isPublished,
|
||||||
@Multipart("icon") Attachment iconFile,
|
@Multipart("icon") Attachment iconFile,
|
||||||
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
||||||
@Multipart("screenshot1") Attachment screenshot1,
|
@Multipart("screenshot1") Attachment screenshot1,
|
||||||
@ -276,11 +279,11 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
|
|
||||||
// Created new Public App
|
// Created new Public App
|
||||||
Application application = applicationManager.createPublicApp(publicAppWrapper,
|
Application application = applicationManager.createPublicApp(publicAppWrapper,
|
||||||
constructApplicationArtifact(null, iconFile, bannerFile, attachmentList));
|
constructApplicationArtifact(null, iconFile, bannerFile, attachmentList), isPublished);
|
||||||
if (application != null) {
|
if (application != null) {
|
||||||
return Response.status(Response.Status.CREATED).entity(application).build();
|
return Response.status(Response.Status.CREATED).entity(application).build();
|
||||||
} else {
|
} else {
|
||||||
String msg = "Web app creation is failed";
|
String msg = "Public app creation is failed";
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||||
}
|
}
|
||||||
@ -304,6 +307,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
@Path("/custom-app")
|
@Path("/custom-app")
|
||||||
public Response createCustomApp(
|
public Response createCustomApp(
|
||||||
@Multipart("application") CustomAppWrapper customAppWrapper,
|
@Multipart("application") CustomAppWrapper customAppWrapper,
|
||||||
|
@QueryParam("is-published") boolean isPublished,
|
||||||
@Multipart("binaryFile") Attachment binaryFile,
|
@Multipart("binaryFile") Attachment binaryFile,
|
||||||
@Multipart("icon") Attachment iconFile,
|
@Multipart("icon") Attachment iconFile,
|
||||||
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
||||||
@ -321,7 +325,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
|
|
||||||
// Created new Custom App
|
// Created new Custom App
|
||||||
Application application = applicationManager.createCustomApp(customAppWrapper,
|
Application application = applicationManager.createCustomApp(customAppWrapper,
|
||||||
constructApplicationArtifact(binaryFile, iconFile, bannerFile, attachmentList));
|
constructApplicationArtifact(binaryFile, iconFile, bannerFile, attachmentList), isPublished);
|
||||||
if (application != null) {
|
if (application != null) {
|
||||||
return Response.status(Response.Status.CREATED).entity(application).build();
|
return Response.status(Response.Status.CREATED).entity(application).build();
|
||||||
} else {
|
} else {
|
||||||
@ -351,6 +355,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
@PathParam("deviceType") String deviceType,
|
@PathParam("deviceType") String deviceType,
|
||||||
@PathParam("appId") int appId,
|
@PathParam("appId") int appId,
|
||||||
@Multipart("applicationRelease") EntAppReleaseWrapper entAppReleaseWrapper,
|
@Multipart("applicationRelease") EntAppReleaseWrapper entAppReleaseWrapper,
|
||||||
|
@QueryParam("is-published") boolean isPublished,
|
||||||
@Multipart("binaryFile") Attachment binaryFile,
|
@Multipart("binaryFile") Attachment binaryFile,
|
||||||
@Multipart("icon") Attachment iconFile,
|
@Multipart("icon") Attachment iconFile,
|
||||||
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
@Multipart(value = "banner", required = false) Attachment bannerFile,
|
||||||
@ -366,7 +371,7 @@ public class ApplicationManagementPublisherAPIImpl implements ApplicationManagem
|
|||||||
|
|
||||||
// Created new Ent App release
|
// Created new Ent App release
|
||||||
ApplicationRelease release = applicationManager.createEntAppRelease(appId, entAppReleaseWrapper,
|
ApplicationRelease release = applicationManager.createEntAppRelease(appId, entAppReleaseWrapper,
|
||||||
constructApplicationArtifact(binaryFile, iconFile, bannerFile, attachmentList));
|
constructApplicationArtifact(binaryFile, iconFile, bannerFile, attachmentList), isPublished);
|
||||||
if (release != null) {
|
if (release != null) {
|
||||||
return Response.status(Response.Status.CREATED).entity(release).build();
|
return Response.status(Response.Status.CREATED).entity(release).build();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user