Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Creative commons Attribution-NonCommercial license. http://creativecommons.org/licenses/by-nc/2.5/au/deed.en_GB NO WARRANTY IS GIVEN OR IMPLIED, USE AT YOUR OWN RISK.
  
  package base.jee.api.sql;
  
 import java.util.UUID;
 
 
 import base.Command;
 import base.json.Json;
 
 import static base.jee.api.sql.util.Log.log;
 
 public class DeleteResourceRole extends Command {
 
 	private DataSource ds;
 	private User user;
 	private UUID personUuid;
 	private String resource;
 	private String uid;
 	private String role;
 
 	public DeleteResourceRole(DataSource dsUser userString resourceString uidUUID personUuidString rolethrows PermissionException {
 
 		if(ds == null) {
 			throw new IllegalArgumentException("Invalid parameter: ds");
 		}
 		if(user == null || !user.isAuthenticated()) {
 			throw new PermissionException(getClass().getSimpleName(), user"Requires authenticated user.".);
 		}
 		if(role == null || role.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: role");
 		}
 		if(resource == null || resource.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: resource");
 		}
 		if(uid == null || uid.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: uid");
 		}
 		if(personUuid == null) {
 			throw new IllegalArgumentException("Invalid parameter: personUuid");
 		}
 
 			throw new IllegalArgumentException("Role names should not have more than " + . + " characters.");
 		}
 		if(resource.trim().length() > .) {
 			throw new IllegalArgumentException("Role resources should not contain more than " + . + " characters.");
 		}
 			throw new IllegalArgumentException("Role resources UID should not contain more than " + . + " characters.");
 		}
 
 		this. = ds;
 		this. = personUuid;
 		this. = role.trim();
 		this. = resource.trim();
 		this. = uid.trim();
 		this. = user;
 
 	}
 
 	public DeleteResourceRole() {
 	}
 
 	protected void execute() throws IOException {
 		Connection c = null;
 		PreparedStatement s = null;
 		PreparedStatement u = null;
 
 		try {
 			c = .getConnection();
 			c.setAutoCommit(false);
 
 				c.rollback();
 				log(c"WARN""Permission denied invoking: " + DeleteResourceRole.class.getSimpleName() + " " + getJsonParameters());
 				c.commit();
 				throw new IllegalStateException("You do not have permission to manage roles.");
 			}
 
 			s = c.prepareStatement("delete from role where resource=? and uid=? and role=? and assignee_uuid=?");
 			s.setString(2, );
 			s.setString(3, );
			int count = s.executeUpdate();
			s.close();
			s = null;
			if(count > 0) {
				u = c.prepareStatement("update token set roles='!' where person_uuid=?");
				u.close();
				u = null;
				log(c"INFO""Removed role \"" + Json.escape() + "\" for person \"" + Json.escape(.toString()) + "\"."new ResourceUid("Person".toString()), new ResourceUid());
			}
			c.commit();
			c.close();
			c = null;
catch(SQLException e) {
			throw new IOException(e);
finally {
			if(s != null) { try { s.close(); } catch(SQLException e) { } }
			if(u != null) { try { u.close(); } catch(SQLException e) { } }
			if(c != null) {
				try { c.rollback(); } catch (SQLException e) { }
				try { c.close(); } catch (SQLException e) { }
			}
		}
	}
		return "{" +
				"\"person\":\"" + .getPersonUuid() + "\"," +
				"\"role.person\":\"" +  + "\"," +
				"\"role\":\"" + Json.escape() + "\"," +
				"\"resource\":\"" + Json.escape() + "\"," +
				"\"uid\":\"" + Json.escape() + "\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X