mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Refactor group management
This commit is contained in:
parent
d22570dadb
commit
f6d224a623
@ -43,10 +43,12 @@ public interface GroupDAO {
|
||||
*
|
||||
* @param deviceGroup group to update.
|
||||
* @param oldGroupName of the group.
|
||||
* @param oldOwner of the group.
|
||||
* @param tenantId of the group.
|
||||
* @throws GroupManagementDAOException
|
||||
*/
|
||||
void updateGroup(DeviceGroup deviceGroup, String oldGroupName, int tenantId) throws GroupManagementDAOException;
|
||||
void updateGroup(DeviceGroup deviceGroup, String oldGroupName, String oldOwner, int tenantId)
|
||||
throws GroupManagementDAOException;
|
||||
|
||||
/**
|
||||
* Delete an existing Device Group.
|
||||
|
||||
@ -67,20 +67,21 @@ public class GroupDAOImpl implements GroupDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateGroup(DeviceGroup deviceGroup, String oldGroupName, int tenantId)
|
||||
public void updateGroup(DeviceGroup deviceGroup, String oldGroupName, String oldOwner, int tenantId)
|
||||
throws GroupManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
Connection conn = GroupManagementDAOFactory.getConnection();
|
||||
String sql = "UPDATE DM_GROUP SET DESCRIPTION = ?, GROUP_NAME = ?, DATE_OF_LAST_UPDATE = ?, OWNER = ? "
|
||||
+ "WHERE GROUP_NAME = ? AND TENANT_ID = ?";
|
||||
+ "WHERE GROUP_NAME = ? AND OWNER = ? AND TENANT_ID = ?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setString(1, deviceGroup.getDescription());
|
||||
stmt.setString(2, deviceGroup.getName());
|
||||
stmt.setLong(3, deviceGroup.getDateOfLastUpdate());
|
||||
stmt.setString(4, deviceGroup.getOwner());
|
||||
stmt.setString(5, oldGroupName);
|
||||
stmt.setInt(6, tenantId);
|
||||
stmt.setString(6, oldOwner);
|
||||
stmt.setInt(7, tenantId);
|
||||
stmt.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
throw new GroupManagementDAOException("Error occurred while updating deviceGroup '" +
|
||||
|
||||
@ -49,9 +49,10 @@ public interface GroupManagementProviderService {
|
||||
*
|
||||
* @param deviceGroup to update.
|
||||
* @param oldGroupName of the group.
|
||||
* @param oldOwner of the group.
|
||||
* @throws GroupManagementException
|
||||
*/
|
||||
void updateGroup(DeviceGroup deviceGroup, String oldGroupName) throws GroupManagementException;
|
||||
void updateGroup(DeviceGroup deviceGroup, String oldGroupName, String oldOwner) throws GroupManagementException;
|
||||
|
||||
/**
|
||||
* Delete existing device group.
|
||||
|
||||
@ -44,6 +44,7 @@ import org.wso2.carbon.user.core.util.UserCoreUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -102,14 +103,16 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void updateGroup(DeviceGroup deviceGroup, String oldGroupName) throws GroupManagementException {
|
||||
public void updateGroup(DeviceGroup deviceGroup, String oldGroupName, String oldOwner)
|
||||
throws GroupManagementException {
|
||||
if (deviceGroup == null) {
|
||||
throw new GroupManagementException("DeviceGroup cannot be null.", new NullPointerException());
|
||||
}
|
||||
try {
|
||||
int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||
GroupManagementDAOFactory.beginTransaction();
|
||||
this.groupDAO.updateGroup(deviceGroup, oldGroupName, tenantId);
|
||||
deviceGroup.setDateOfLastUpdate(new Date().getTime());
|
||||
this.groupDAO.updateGroup(deviceGroup, oldGroupName, oldOwner, tenantId);
|
||||
GroupManagementDAOFactory.commitTransaction();
|
||||
} catch (GroupManagementDAOException e) {
|
||||
GroupManagementDAOFactory.rollbackTransaction();
|
||||
|
||||
@ -197,7 +197,7 @@ public class GroupPersistTests extends BaseDeviceManagementTest {
|
||||
try {
|
||||
GroupManagementDAOFactory.beginTransaction();
|
||||
groupDAO.updateGroup(group, TestDataHolder.generateDummyGroupData().getName(),
|
||||
TestDataHolder.SUPER_TENANT_ID);
|
||||
TestDataHolder.generateDummyGroupData().getOwner(), TestDataHolder.SUPER_TENANT_ID);
|
||||
GroupManagementDAOFactory.commitTransaction();
|
||||
log.debug("Group updated");
|
||||
} catch (GroupManagementDAOException e) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user