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.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
 import base.Query;
 
 import static base.jee.Constants.MAX_IP_ADDRESS_LENGTH;
 import static base.jee.api.sql.util.PersonTokenRoleString.personTokenRoleString;

Lookup a small set of information about the person associated this token and reset the expriry time of the token. This is the minimal set of data that a user facing client (web page, or iPhone) might need to render the user interface, such as the menu bar.
 
 public class GetSession extends Query<User> {
 
 	private SqlAPI api;
 	private String ip;
 	private String token;
 
 	public GetSession(SqlAPI apiString tokenString ip) {
 
 		if(api == null) {
 			throw new IllegalArgumentException("Invalid parameter: ds");
 		}
 		if(ip != null && ip.length() > ) {
 			throw new IllegalArgumentException("Invalid IP address.");
 		}
 
 		this. = api;
 		this. = ip;
 		this. = token == null?null:token.trim();
 	}
 
 	public GetSession() {
 	}
 
 	public Query<UsernewWithParameters(Map<StringObjectparameters) {
 		return new GetSession(
 				(SqlAPI)parameters.get("api"),
 				(String)parameters.get("token"),
 				(String)parameters.get("ip")
 				);
 	}
 
 	public List<Userexecute() throws IOException {
 		List<Userresults = new LinkedList<>();
 		PreparedStatement q = null;
 		PreparedStatement q2 = null;
 		ResultSet r = null;
 
 		if( == null || .length() == 0) {
 			return results;
 		}
 
 		Connection c = null;
 		try {
 			c.setAutoCommit(false);
 
 			q = null;
 			q = c.prepareStatement(
 					"select distinct p.uuid,p.first_name,p.last_name,t.roles "+
 					"from person p join token t on (t.token=? and p.uuid = t.person_uuid)");
 			q.setString(1, );
 			r = q.executeQuery();
 			User u = null;
 			if(r.next()) {
 				UUID personUuid = UUID.fromString(r.getString(1));
 				String roles = r.getString(4);
 
 				if(roles == null || roles.equals("!")) {
 					// Cache of user roles was invalidated, we must rebuild it.
 					roles = personTokenRoleString(cpersonUuid);
 					q2 = c.prepareStatement("update token set expiry=(select value from setting where name='session.expiry')+?, roles=? where token=?");
 					q2.setLong(1, (new Date()).getTime()/1000);
 					q2.setString(2, roles);
 					q2.setString(3, );
					q2.close();
					q2 = null;
else {
					q2 = c.prepareStatement("update token set expiry=(select value from setting where name='session.expiry')+? where token=?");
					q2.setLong(1, (new Date()).getTime()/1000);
					q2.close();
					q2 = null;
				}
				u = new User(
						personUuid,
						User.roleSet(roles),
else {
				// token not found in database, return unauthenticated user
			}
			results.add(u);
			r.close();
			r = null;
			q.close();
			q = null;
			c.commit();
			c.close();
			c = null;
catch(SQLException e) {
			throw new IOException(e);
finally {
			if(r != null) { try { r.close(); } catch(SQLException e) {} }
			if(q2 != null) { try { q2.close(); } catch(SQLException e) {} }
			if(q != null) { try { q.close(); } catch(SQLException e) {} }
			if(c != null) {
				try { c.rollback(); } catch (SQLException e) { }
				try { c.close(); } catch (SQLException e) { }
			}
		}
		return results;
	}
		return "{" +
				"\"token\":\"" +  + "\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X