mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Add App updating API
This commit is contained in:
parent
460394c9da
commit
7703d217f9
@ -168,7 +168,7 @@ public interface ApplicationDAO {
|
||||
* @return Updated ApplicationDTO.
|
||||
* @throws ApplicationManagementDAOException ApplicationDTO Management DAO Exception.
|
||||
*/
|
||||
ApplicationDTO editApplication(ApplicationDTO application, int tenantId) throws ApplicationManagementDAOException;
|
||||
boolean updateApplication(ApplicationDTO application, int tenantId) throws ApplicationManagementDAOException;
|
||||
|
||||
/**
|
||||
* To delete the application
|
||||
|
||||
@ -583,66 +583,36 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationDTO editApplication(ApplicationDTO application, int tenantId)
|
||||
public boolean updateApplication(ApplicationDTO applicationDTO, int tenantId)
|
||||
throws ApplicationManagementDAOException {
|
||||
int paramIndex = 1;
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
//todo this is wrong
|
||||
ApplicationDTO existingApplication = this.getApplicationById(application.getId(), tenantId);
|
||||
|
||||
if (existingApplication == null) {
|
||||
throw new ApplicationManagementDAOException("There doesn't have an application for updating");
|
||||
}
|
||||
try {
|
||||
conn = this.getDBConnection();
|
||||
String sql = "UPDATE AP_APP SET ";
|
||||
String sql = "UPDATE AP_APP AP " +
|
||||
"SET " +
|
||||
"AP.NAME = ?, " +
|
||||
"AP.DESCRIPTION = ?, " +
|
||||
"AP.SUB_TYPE = ?, " +
|
||||
"AP.CURRENCY = ? " +
|
||||
"WHERE AP.ID = ? AND AP.TENANT_ID = ?";
|
||||
|
||||
if (application.getName() != null && !application.getName().equals(existingApplication.getName())) {
|
||||
sql += "NAME = ?, ";
|
||||
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
|
||||
stmt.setString(1, applicationDTO.getName());
|
||||
stmt.setString(2, applicationDTO.getDescription());
|
||||
stmt.setString(3, applicationDTO.getSubType());
|
||||
stmt.setString(4, applicationDTO.getPaymentCurrency());
|
||||
stmt.setInt(5, applicationDTO.getId());
|
||||
stmt.setInt(6, tenantId);
|
||||
return stmt.executeUpdate() > 0;
|
||||
}
|
||||
if (application.getType() != null && !application.getType().equals(existingApplication.getType())) {
|
||||
sql += "TYPE = ?, ";
|
||||
}
|
||||
if (application.getAppCategory() != null && !application.getAppCategory().equals(
|
||||
existingApplication.getAppCategory())) {
|
||||
sql += "APP_CATEGORY = ?, ";
|
||||
}
|
||||
// if (application.getIsRestricted() != existingApplication.getIsRestricted()) {
|
||||
// sql += "RESTRICTED = ? ";
|
||||
// }
|
||||
if (!application.getSubType().equals(existingApplication.getSubType())) {
|
||||
sql += "SUB_TYPE = ? ";
|
||||
}
|
||||
|
||||
sql += "WHERE ID = ?";
|
||||
|
||||
stmt = conn.prepareStatement(sql);
|
||||
if (application.getName() != null && !application.getName().equals(existingApplication.getName())) {
|
||||
stmt.setString(paramIndex++, application.getName());
|
||||
}
|
||||
if (application.getType() != null && !application.getType().equals(existingApplication.getType())) {
|
||||
stmt.setString(paramIndex++, application.getType());
|
||||
}
|
||||
if (application.getAppCategory() != null && !application.getAppCategory().equals(
|
||||
existingApplication.getAppCategory())) {
|
||||
stmt.setString(paramIndex++, application.getAppCategory());
|
||||
}
|
||||
// if (application.getIsRestricted() != existingApplication.getIsRestricted()) {
|
||||
// stmt.setBoolean(paramIndex++, application.getIsRestricted());
|
||||
// }
|
||||
if (!application.getSubType().equals(existingApplication.getSubType())) {
|
||||
stmt.setString(paramIndex++, application.getSubType());
|
||||
}
|
||||
stmt.setInt(paramIndex, application.getId());
|
||||
stmt.executeUpdate();
|
||||
return application;
|
||||
} catch (DBConnectionException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while obtaining the DB connection.", e);
|
||||
String msg = "Error occurred while obtaining the DB connection to update the application.";
|
||||
log.error(msg);
|
||||
throw new ApplicationManagementDAOException(msg, e);
|
||||
} catch (SQLException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while adding the application", e);
|
||||
} finally {
|
||||
Util.cleanupResources(stmt, null);
|
||||
String msg = "Error occurred when obtaining database connection for updating the application.";
|
||||
log.error(msg);
|
||||
throw new ApplicationManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1589,8 +1589,11 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
||||
applicationDAO.deleteTags(removingTagList, applicationId, tenantId);
|
||||
}
|
||||
}
|
||||
//todo
|
||||
applicationDAO.editApplication(applicationDTO, tenantId);
|
||||
if (!applicationDAO.updateApplication(applicationDTO, tenantId)){
|
||||
String msg = "Any application is not updated for the application ID: " + applicationId;
|
||||
log.error(msg);
|
||||
throw new ApplicationManagementException(msg);
|
||||
}
|
||||
} catch (UserStoreException e) {
|
||||
ConnectionManagerUtil.rollbackDBTransaction();
|
||||
throw new ApplicationManagementException(
|
||||
|
||||
@ -23,7 +23,6 @@ import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
|
||||
import org.apache.cxf.jaxrs.ext.multipart.Multipart;
|
||||
import org.wso2.carbon.device.application.mgt.common.*;
|
||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationDTO;
|
||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||
import org.wso2.carbon.device.application.mgt.common.dto.LifecycleStateDTO;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationStorageManagementException;
|
||||
@ -34,7 +33,6 @@ import org.wso2.carbon.device.application.mgt.common.wrapper.ApplicationReleaseW
|
||||
import org.wso2.carbon.device.application.mgt.common.wrapper.ApplicationWrapper;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.BadRequestException;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.ForbiddenException;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.ValidationException;
|
||||
import org.wso2.carbon.device.application.mgt.core.util.APIUtil;
|
||||
import org.wso2.carbon.device.application.mgt.publisher.api.services.ApplicationManagementAPI;
|
||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||
@ -316,10 +314,6 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
//todo ----------------------
|
||||
*/
|
||||
|
||||
@PUT
|
||||
@Consumes("application/json")
|
||||
@Path("/{appId}")
|
||||
@ -328,23 +322,29 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
@Valid ApplicationWrapper applicationWrapper) {
|
||||
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
||||
try {
|
||||
//todo wrong
|
||||
applicationManager.updateApplication(applicationId, applicationWrapper);
|
||||
return Response.status(Response.Status.OK)
|
||||
.entity("Application was updated successfully. ApplicationID " + applicationId).build();
|
||||
.entity("Application was updated successfully for ApplicationID: " + applicationId).build();
|
||||
} catch (NotFoundException e) {
|
||||
log.error(e.getMessage());
|
||||
return Response.status(Response.Status.NOT_FOUND).entity(e.getMessage()).build();
|
||||
} catch (ForbiddenException e) {
|
||||
log.error(e.getMessage());
|
||||
return Response.status(Response.Status.FORBIDDEN).entity(e.getMessage()).build();
|
||||
} catch (ApplicationManagementException e) {
|
||||
String msg = "Error occurred while modifying the application";
|
||||
} catch (BadRequestException e) {
|
||||
String msg = "Error occurred while modifying the application. Found bad request payload for updating the "
|
||||
+ "application";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.BAD_REQUEST).entity(msg).build();
|
||||
}
|
||||
catch (ApplicationManagementException e) {
|
||||
String msg = "Internal Error occurred while modifying the application.";
|
||||
log.error(msg, e);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(msg).build();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
//todo ----------------------
|
||||
*/
|
||||
|
||||
@Override
|
||||
@PUT
|
||||
@Path("/{deviceType}/{appId}/{uuid}")
|
||||
|
||||
Loading…
Reference in New Issue
Block a user