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 {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs;
|
||||
int groupId = -1;
|
||||
boolean hasStatus = false;
|
||||
try {
|
||||
@ -227,7 +226,7 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
||||
+ "VALUES (?, ?, ?, ?, ?, ?, ?)";
|
||||
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(2, groups.getName());
|
||||
stmt.setString(3, groups.getOwner());
|
||||
@ -238,16 +237,18 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
||||
stmt.setString(7, groups.getStatus());
|
||||
}
|
||||
stmt.executeUpdate();
|
||||
rs = stmt.getGeneratedKeys();
|
||||
try (ResultSet rs = stmt.getGeneratedKeys();) {
|
||||
if (rs.next()) {
|
||||
groupId = rs.getInt(1);
|
||||
}
|
||||
return groupId;
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new GroupManagementDAOException("Error occurred while adding deviceGroup '" +
|
||||
groups.getName() + "'", e);
|
||||
} finally {
|
||||
GroupManagementDAOUtil.cleanupResources(stmt, null);
|
||||
String msg = "Error occurred while adding deviceGroup '" +
|
||||
groups.getName() + "'";
|
||||
log.error(msg);
|
||||
throw new GroupManagementDAOException(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
@ -282,12 +283,11 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
||||
public boolean addGroupPropertiesWithRoles(DeviceGroupRoleWrapper groups, int groupId, int tenantId)
|
||||
throws GroupManagementDAOException {
|
||||
boolean status;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
Connection conn = GroupManagementDAOFactory.getConnection();
|
||||
stmt = conn.prepareStatement(
|
||||
try (PreparedStatement stmt = conn.prepareStatement(
|
||||
"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()) {
|
||||
stmt.setInt(1, groupId);
|
||||
stmt.setString(2, entry.getKey());
|
||||
@ -297,12 +297,12 @@ public abstract class AbstractGroupDAOImpl implements GroupDAO {
|
||||
}
|
||||
stmt.executeBatch();
|
||||
status = true;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
String msg = "Error occurred while adding properties for group '" +
|
||||
groups.getName() + "' values : " + groups.getGroupProperties();
|
||||
log.error(msg);
|
||||
throw new GroupManagementDAOException(msg, e);
|
||||
} finally {
|
||||
GroupManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -19,6 +19,8 @@
|
||||
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 org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
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.group.mgt.DeviceGroup;
|
||||
@ -40,6 +42,8 @@ import java.util.List;
|
||||
*/
|
||||
public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
||||
|
||||
private static final Log log = LogFactory.getLog(PostgreSQLGroupDAOImpl.class);
|
||||
|
||||
@Override
|
||||
public int addGroup(DeviceGroup deviceGroup, int tenantId) throws GroupManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
@ -80,15 +84,14 @@ public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addGroupWithRoles(DeviceGroupRoleWrapper groups, int tenantId) throws GroupManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs;
|
||||
int groupId = -1;
|
||||
boolean hasStatus = false;
|
||||
try {
|
||||
Connection conn = GroupManagementDAOFactory.getConnection();
|
||||
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) " +
|
||||
"VALUES (?, ?, ?, ?) RETURNING ID";
|
||||
} else {
|
||||
@ -96,26 +99,28 @@ public class PostgreSQLGroupDAOImpl extends AbstractGroupDAOImpl {
|
||||
"VALUES (?, ?, ?, ?, ?) RETURNING ID";
|
||||
hasStatus = true;
|
||||
}
|
||||
stmt = conn.prepareStatement(sql);
|
||||
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
|
||||
stmt.setString(1, groups.getDescription());
|
||||
stmt.setString(2, groups.getName());
|
||||
stmt.setString(3, groups.getOwner());
|
||||
stmt.setInt(4, tenantId);
|
||||
stmt.setString(5, groups.getParentPath());
|
||||
if(hasStatus) {
|
||||
if (hasStatus) {
|
||||
stmt.setString(6, groups.getStatus());
|
||||
}
|
||||
stmt.execute();
|
||||
rs = stmt.getGeneratedKeys();
|
||||
try (ResultSet rs = stmt.getGeneratedKeys()) {
|
||||
if (rs.next()) {
|
||||
groupId = rs.getInt(1);
|
||||
}
|
||||
return groupId;
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new GroupManagementDAOException("Error occurred while adding deviceGroup '" +
|
||||
groups.getName() + "'", e);
|
||||
} finally {
|
||||
GroupManagementDAOUtil.cleanupResources(stmt, null);
|
||||
String msg = "Error occurred while adding deviceGroup '" +
|
||||
groups.getName() + "'";
|
||||
log.error(msg);
|
||||
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.GroupPaginationRequest;
|
||||
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;
|
||||
|
||||
|
||||
@ -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.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.netbeans.lib.cvsclient.commandLine.command.status;
|
||||
import org.wso2.carbon.CarbonConstants;
|
||||
import org.wso2.carbon.context.CarbonContext;
|
||||
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) {
|
||||
String msg = "Received incomplete data for createGroup";
|
||||
log.error(msg);
|
||||
@ -179,23 +180,17 @@ public class GroupManagementProviderServiceImpl implements GroupManagementProvid
|
||||
}
|
||||
GroupManagementDAOFactory.commitTransaction();
|
||||
} 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();
|
||||
String msg = "Error occurred while adding deviceGroup '" + groups.getName() + "' to database.";
|
||||
String msg = e.getMessage();
|
||||
log.error(msg, e);
|
||||
throw new GroupManagementException(msg, e);
|
||||
} catch (TransactionManagementException e) {
|
||||
String msg = "Error occurred while initiating transaction.";
|
||||
log.error(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 {
|
||||
GroupManagementDAOFactory.closeConnection();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user