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 base.Query;
 
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
 import static base.jee.api.sql.util.Log.log;
 
 public class GetPersonGroups extends Query<Group> {
 
 	private DataSource ds;
 	private User user;
 	private UUID personUuid;
 
 	public GetPersonGroups() {
 	}
 
 	public GetPersonGroups(DataSource dsUser userUUID personUuidthrows PermissionException {
 
 		if(ds == null) {
 			throw new IllegalArgumentException("Invalid parameter: ds");
 		}
 		if(personUuid == null) {
 			throw new IllegalArgumentException("Invalid parameter: personUuid");
 		}
 		if(user == null || !user.isAuthenticated()) {
 			throw new PermissionException(getClass().getSimpleName(), user"Requires authenticated user."null);
 		}
 
 		this. = ds;
 		this. = user;
 		this. = personUuid;
 	}
 	
 	public Query<GroupnewWithParameters(Map<StringObjectparametersthrows PermissionException {
 		return new GetPersonGroups(
 				((SqlAPI)parameters.get("api")).getDataSource(),
 				(User)parameters.get("user"),
 				UUID.fromString(((String)parameters.get("uuid"))));
 	}
 
 	public List<Groupexecute() throws IOException {
 		List<Groupresults = new LinkedList<>();
 		Connection c = null;
 		PreparedStatement q = null;
 		ResultSet r = null;
 
 		try {
 			c = .getConnection();
 			c.setAutoCommit(false);
 
 				c.rollback();
 				log(c"WARN""Permission denied invoking: " + GetPersonGroups.class.getSimpleName() + " " + getJsonParameters());
 				c.commit();
 				throw new PermissionException(this.getClass().getSimpleName(), "You do not have permission to manage roles".);
 			}
 
 			q = c.prepareStatement(
 					"select distinct g.uuid, g.name, g.type "+
 					"from group_member gm join base_group g on (gm.person_uuid=? and gm.group_uuid=g.uuid) " +
 					"order by g.name");
 			r = q.executeQuery();
 			while(r.next()) {
 				results.add(new Group(UUID.fromString(r.getString(1)), r.getString(2), r.getInt(3)));
 			}
 			r.close();
 			r = null;
 			q.close();
 			q = null;
 
 			c.rollback();
 			c.close();
 			c = null;
 		} catch(SQLException e) {
 			throw new IOException(e);
 		} finally {
			if(r != null) { try { r.close(); } catch(Exception f){} }
			if(q != null) { try { q.close(); } catch(Exception f){} }
			if(c != null) {
				try { c.rollback(); } catch (SQLException e) { }
				try { c.close(); } catch (SQLException e) { }
			}
		}
		return results;
	}
		return "{" +
				"\"requesting.person\":" + .getPersonUuid() + "," +
				"\"uuid\":\"" +  + "\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X