Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Creative commons Attribution-NonCommercial license. NO WARRANTY IS GIVEN OR IMPLIED, USE AT YOUR OWN RISK.
 package base.jee.api.sql.util;
import static base.jee.api.sql.util.Log.log;

Grant personId a new role against a specific resource uid. ie Grant "Hosting group" permission to update "Document" with uid "401".
public class UpsertGroupResourceRole {
	public static void upsertGroupResourceRole(Connection cUUID assigneeUuidString resourceString uidString roleUser updatorthrows SQLException {
		PreparedStatement s = null;
		PreparedStatement t = null;
		ResultSet r = null;
		try {
			s = c.prepareStatement("select (select count(*) from role where resource=? and uid=? and assignee_uuid=? and role=?), name from base_group where uuid=?");
			s.setString(1, resource);
			s.setString(2, uid);
			s.setString(3, assigneeUuid.toString());
			s.setString(4, role);
			s.setString(5, assigneeUuid.toString());
			r = s.executeQuery();
			if( && r.getInt(1) == 0) {
				t = c.prepareStatement("insert into role (resource,uid,assignee_uuid,role) values(?,?,?,?)");
				t.setString(1, resource);
				t.setString(2, uid);
				t.setString(3, assigneeUuid.toString());
				t.setString(4, role);
				t = null;
				t = c.prepareStatement("update token set roles='!' where person_uuid in (select person_uuid from group_member where group_uuid=?)");
				t.setString(1, assigneeUuid.toString());
				t = null;
				log(c"INFO"updator"Added role \"" + Json.escape(role) + "\" to group \"" + Json.escape(r.getString(2)) + "\"."new ResourceUid("Group"assigneeUuid.toString()), new ResourceUid(resourceuid));
			s = null;
			r = null;
finally {
			if(r != null) { try { r.close(); } catch(Exception f){} }
			if(s != null) { try { s.close(); } catch(Exception f){} }
			if(t != null) { try { t.close(); } catch(Exception f){} }
New to GrepCode? Check out our FAQ X