mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
add try with resources
This commit is contained in:
parent
e66c3dc6f6
commit
3722bfc761
@ -211,9 +211,8 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int addGroupWithRoles(DeviceGroupRoleWrapper groups, int tenantId) throws GroupManagementDAOException {
|
public int addGroupWithRoles(DeviceGroupRoleWrapper groups, int tenantId) throws GroupManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
|
||||||
ResultSet rs;
|
|
||||||
int groupId = -1;
|
int groupId = -1;
|
||||||
boolean hasStatus = false;
|
boolean hasStatus = false;
|
||||||
try {
|
try {
|
||||||
@ -227,27 +226,29 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
|||||||
+ "VALUES (?, ?, ?, ?, ?, ?, ?)";
|
+ "VALUES (?, ?, ?, ?, ?, ?, ?)";
|
||||||
hasStatus = true;
|
hasStatus = true;
|
||||||
}
|
}
|
||||||
stmt = conn.prepareStatement(sql, new String[]{"ID"});
|
try (PreparedStatement stmt = conn.prepareStatement(sql, new String[]{"ID"})) {
|
||||||
stmt.setString(1, groups.getDescription());
|
stmt.setString(1, groups.getDescription());
|
||||||
stmt.setString(2, groups.getName());
|
stmt.setString(2, groups.getName());
|
||||||
stmt.setString(3, groups.getOwner());
|
stmt.setString(3, groups.getOwner());
|
||||||
stmt.setInt(4, tenantId);
|
stmt.setInt(4, tenantId);
|
||||||
stmt.setString(5, groups.getParentPath());
|
stmt.setString(5, groups.getParentPath());
|
||||||
stmt.setInt(6, groups.getParentGroupId());
|
stmt.setInt(6, groups.getParentGroupId());
|
||||||
if (hasStatus) {
|
if (hasStatus) {
|
||||||
stmt.setString(7, groups.getStatus());
|
stmt.setString(7, groups.getStatus());
|
||||||
|
}
|
||||||
|
stmt.executeUpdate();
|
||||||
|
try (ResultSet rs = stmt.getGeneratedKeys();) {
|
||||||
|
if (rs.next()) {
|
||||||
|
groupId = rs.getInt(1);
|
||||||
|
}
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
stmt.executeUpdate();
|
|
||||||
rs = stmt.getGeneratedKeys();
|
|
||||||
if (rs.next()) {
|
|
||||||
groupId = rs.getInt(1);
|
|
||||||
}
|
|
||||||
return groupId;
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new GroupManagementDAOException("Error occurred while adding deviceGroup '" +
|
String msg = "Error occurred while adding deviceGroup '" +
|
||||||
groups.getName() + "'", e);
|
groups.getName() + "'";
|
||||||
} finally {
|
log.error(msg);
|
||||||
GroupManagementDAOUtil.cleanupResources(stmt, null);
|
throw new GroupManagementDAOException(msg, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,27 +283,26 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
|||||||
public boolean addGroupPropertiesWithRoles(DeviceGroupRoleWrapper groups, int groupId, int tenantId)
|
public boolean addGroupPropertiesWithRoles(DeviceGroupRoleWrapper groups, int groupId, int tenantId)
|
||||||
throws GroupManagementDAOException {
|
throws GroupManagementDAOException {
|
||||||
boolean status;
|
boolean status;
|
||||||
PreparedStatement stmt = null;
|
|
||||||
try {
|
try {
|
||||||
Connection conn = GroupManagementDAOFactory.getConnection();
|
Connection conn = GroupManagementDAOFactory.getConnection();
|
||||||
stmt = conn.prepareStatement(
|
try (PreparedStatement stmt = conn.prepareStatement(
|
||||||
"INSERT INTO GROUP_PROPERTIES(GROUP_ID, PROPERTY_NAME, " +
|
"INSERT INTO GROUP_PROPERTIES(GROUP_ID, PROPERTY_NAME, " +
|
||||||
"PROPERTY_VALUE, TENANT_ID) VALUES (?, ?, ?, ?)");
|
"PROPERTY_VALUE, TENANT_ID) VALUES (?, ?, ?, ?)")) {
|
||||||
for (Map.Entry<String, String> entry : groups.getGroupProperties().entrySet()) {
|
for (Map.Entry<String, String> entry : groups.getGroupProperties().entrySet()) {
|
||||||
stmt.setInt(1, groupId);
|
stmt.setInt(1, groupId);
|
||||||
stmt.setString(2, entry.getKey());
|
stmt.setString(2, entry.getKey());
|
||||||
stmt.setString(3, entry.getValue());
|
stmt.setString(3, entry.getValue());
|
||||||
stmt.setInt(4, tenantId);
|
stmt.setInt(4, tenantId);
|
||||||
stmt.addBatch();
|
stmt.addBatch();
|
||||||
|
}
|
||||||
|
stmt.executeBatch();
|
||||||
|
status = true;
|
||||||
}
|
}
|
||||||
stmt.executeBatch();
|
|
||||||
status = true;
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while adding properties for group '" +
|
String msg = "Error occurred while adding properties for group '" +
|
||||||
groups.getName() + "' values : " + groups.getGroupProperties();
|
groups.getName() + "' values : " + groups.getGroupProperties();
|
||||||
|
log.error(msg);
|
||||||
throw new GroupManagementDAOException(msg, e);
|
throw new GroupManagementDAOException(msg, e);
|
||||||
} finally {
|
|
||||||
GroupManagementDAOUtil.cleanupResources(stmt, null);
|
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,8 @@
|
|||||||
package io.entgra.device.mgt.core.device.mgt.core.dao.impl.group;
|
package io.entgra.device.mgt.core.device.mgt.core.dao.impl.group;
|
||||||
|
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceGroupRoleWrapper;
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceGroupRoleWrapper;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.solr.common.StringUtils;
|
import org.apache.solr.common.StringUtils;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.Device;
|
import io.entgra.device.mgt.core.device.mgt.common.Device;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceGroup;
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceGroup;
|
||||||
@ -40,6 +42,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(PostgreSQLGroupDAOImpl.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int addGroup(DeviceGroup deviceGroup, int tenantId) throws GroupManagementDAOException {
|
public int addGroup(DeviceGroup deviceGroup, int tenantId) throws GroupManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
@ -80,15 +84,14 @@ public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int addGroupWithRoles(DeviceGroupRoleWrapper groups, int tenantId) throws GroupManagementDAOException {
|
public int addGroupWithRoles(DeviceGroupRoleWrapper groups, int tenantId) throws GroupManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
|
||||||
ResultSet rs;
|
|
||||||
int groupId = -1;
|
int groupId = -1;
|
||||||
boolean hasStatus = false;
|
boolean hasStatus = false;
|
||||||
try {
|
try {
|
||||||
Connection conn = GroupManagementDAOFactory.getConnection();
|
Connection conn = GroupManagementDAOFactory.getConnection();
|
||||||
String sql;
|
String sql;
|
||||||
if(StringUtils.isEmpty(groups.getStatus())) {
|
if (StringUtils.isEmpty(groups.getStatus())) {
|
||||||
sql = "INSERT INTO DM_GROUP(DESCRIPTION, GROUP_NAME, OWNER, TENANT_ID, PARENT_PATH) " +
|
sql = "INSERT INTO DM_GROUP(DESCRIPTION, GROUP_NAME, OWNER, TENANT_ID, PARENT_PATH) " +
|
||||||
"VALUES (?, ?, ?, ?) RETURNING ID";
|
"VALUES (?, ?, ?, ?) RETURNING ID";
|
||||||
} else {
|
} else {
|
||||||
@ -96,26 +99,28 @@ public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
|||||||
"VALUES (?, ?, ?, ?, ?) RETURNING ID";
|
"VALUES (?, ?, ?, ?, ?) RETURNING ID";
|
||||||
hasStatus = true;
|
hasStatus = true;
|
||||||
}
|
}
|
||||||
stmt = conn.prepareStatement(sql);
|
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
|
||||||
stmt.setString(1, groups.getDescription());
|
stmt.setString(1, groups.getDescription());
|
||||||
stmt.setString(2, groups.getName());
|
stmt.setString(2, groups.getName());
|
||||||
stmt.setString(3, groups.getOwner());
|
stmt.setString(3, groups.getOwner());
|
||||||
stmt.setInt(4, tenantId);
|
stmt.setInt(4, tenantId);
|
||||||
stmt.setString(5, groups.getParentPath());
|
stmt.setString(5, groups.getParentPath());
|
||||||
if(hasStatus) {
|
if (hasStatus) {
|
||||||
stmt.setString(6, groups.getStatus());
|
stmt.setString(6, groups.getStatus());
|
||||||
|
}
|
||||||
|
stmt.execute();
|
||||||
|
try (ResultSet rs = stmt.getGeneratedKeys()) {
|
||||||
|
if (rs.next()) {
|
||||||
|
groupId = rs.getInt(1);
|
||||||
|
}
|
||||||
|
return groupId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
stmt.execute();
|
|
||||||
rs = stmt.getGeneratedKeys();
|
|
||||||
if (rs.next()) {
|
|
||||||
groupId = rs.getInt(1);
|
|
||||||
}
|
|
||||||
return groupId;
|
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
throw new GroupManagementDAOException("Error occurred while adding deviceGroup '" +
|
String msg = "Error occurred while adding deviceGroup '" +
|
||||||
groups.getName() + "'", e);
|
groups.getName() + "'";
|
||||||
} finally {
|
log.error(msg);
|
||||||
GroupManagementDAOUtil.cleanupResources(stmt, null);
|
throw new GroupManagementDAOException(msg, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,13 @@ import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier;
|
|||||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceNotFoundException;
|
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceNotFoundException;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.GroupPaginationRequest;
|
import io.entgra.device.mgt.core.device.mgt.common.GroupPaginationRequest;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.*;
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceGroup;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceGroupRoleWrapper;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.DeviceTypesOfGroups;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.GroupAlreadyExistException;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.GroupManagementException;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.GroupNotExistException;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.RoleDoesNotExistException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import io.entgra.device.mgt.core.device.mgt.core.dao.GroupManagementDAOFactory;
|
|||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.netbeans.lib.cvsclient.commandLine.command.status;
|
||||||
import org.wso2.carbon.CarbonConstants;
|
import org.wso2.carbon.CarbonConstants;
|
||||||
import org.wso2.carbon.context.CarbonContext;
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
@ -147,7 +148,7 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void createGroupWithRoles(DeviceGroupRoleWrapper groups, String defaultRole, String[] defaultPermissions) throws GroupManagementException, GroupAlreadyExistException {
|
public void createGroupWithRoles(DeviceGroupRoleWrapper groups, String defaultRole, String[] defaultPermissions) throws GroupManagementException {
|
||||||
if (groups == null) {
|
if (groups == null) {
|
||||||
String msg = "Received incomplete data for createGroup";
|
String msg = "Received incomplete data for createGroup";
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
@ -179,23 +180,17 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid
|
|||||||
}
|
}
|
||||||
GroupManagementDAOFactory.commitTransaction();
|
GroupManagementDAOFactory.commitTransaction();
|
||||||
} else {
|
} else {
|
||||||
throw new GroupAlreadyExistException("Group exist with name " + groups.getName());
|
throw new GroupManagementException("Group exist with name " + groups.getName());
|
||||||
}
|
}
|
||||||
} catch (GroupManagementDAOException e) {
|
} catch (GroupManagementDAOException | GroupManagementException e) {
|
||||||
GroupManagementDAOFactory.rollbackTransaction();
|
GroupManagementDAOFactory.rollbackTransaction();
|
||||||
String msg = "Error occurred while adding deviceGroup '" + groups.getName() + "' to database.";
|
String msg = e.getMessage();
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
throw new GroupManagementException(msg, e);
|
throw new GroupManagementException(msg, e);
|
||||||
} catch (TransactionManagementException e) {
|
} catch (TransactionManagementException e) {
|
||||||
String msg = "Error occurred while initiating transaction.";
|
String msg = "Error occurred while initiating transaction.";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
throw new GroupManagementException(msg, e);
|
throw new GroupManagementException(msg, e);
|
||||||
} catch (GroupAlreadyExistException ex) {
|
|
||||||
throw ex;
|
|
||||||
} catch (Exception e) {
|
|
||||||
String msg = "Error occurred in creating group '" + groups.getName() + "'";
|
|
||||||
log.error(msg, e);
|
|
||||||
throw new GroupManagementException(msg, e);
|
|
||||||
} finally {
|
} finally {
|
||||||
GroupManagementDAOFactory.closeConnection();
|
GroupManagementDAOFactory.closeConnection();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user