@Override public void updateDomainCreatePostCreateSysPermissions( SQLConnection connection, Resource accessorResource, Resource grantorResource, Set<DomainCreatePermission> domainCreatePermissions) { SQLStatement statement = null; try { statement = connection.prepareStatement( sqlStrings .SQL_updateInGrantDomainCreatePermissionPostCreateSys_SET_GrantorID_IsWithGrant_PostCreateIsWithGrant_BY_AccessorID_PostCreateSysPermissionID); for (DomainCreatePermission domainCreatePermission : domainCreatePermissions) { if (!domainCreatePermission.isSystemPermission() && domainCreatePermission.getPostCreateDomainPermission().isSystemPermission()) { statement.setResourceId(1, grantorResource); statement.setBoolean(2, domainCreatePermission.isWithGrantOption()); statement.setBoolean( 3, domainCreatePermission.getPostCreateDomainPermission().isWithGrantOption()); statement.setResourceId(4, accessorResource); statement.setDomainSystemPermissionId( 5, domainCreatePermission.getPostCreateDomainPermission().getSystemPermissionId()); assertOneRowUpdated(statement.executeUpdate()); } } } catch (SQLException e) { throw new RuntimeException(e); } finally { closeStatement(statement); } }
@Override public Set<DomainCreatePermission> getDomainCreatePostCreateSysPermissions( SQLConnection connection, Resource accessorResource) { SQLStatement statement = null; try { statement = connection.prepareStatement( sqlStrings .SQL_findInGrantDomainCreatePermissionPostCreateSys_withoutInheritance_PostCreateSysPermissionID_PostCreateIsWithGrant_IsWithGrant_BY_AccessorID); statement.setResourceId(1, accessorResource); SQLResult resultSet = statement.executeQuery(); // collect the create permissions that this resource has to domains directly Set<DomainCreatePermission> domainCreatePermissions = new HashSet<>(); while (resultSet.next()) { domainCreatePermissions.add(getDomainCreatePostCreateSysPermission(resultSet)); } resultSet.close(); return domainCreatePermissions; } catch (SQLException e) { throw new RuntimeException(e); } finally { closeStatement(statement); } }
@Override public void removeDomainCreatePostCreateSysPermissions( SQLConnection connection, Resource accessorResource) { SQLStatement statement = null; try { statement = connection.prepareStatement( sqlStrings.SQL_removeInGrantDomainCreatePermissionPostCreateSys_BY_AccessorID); statement.setResourceId(1, accessorResource); statement.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } finally { closeStatement(statement); } }