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.List;
 import java.util.Map;
 import java.util.UUID;
 
 
 import base.Query;
 import base.json.Json;
 
 import static base.jee.api.sql.util.AddPerson.addPerson;
 import static base.jee.api.sql.util.CreateSession.createSession;
 import static base.jee.api.sql.util.Log.log;
 
 public class SignUpConfirmation extends Query<StringQueryResult> {
 
 	private DataSource ds;
 	private String requestToken;
 	private String ip;
 
 	public SignUpConfirmation(DataSource dsString requestTokenString ipthrows PermissionException {
 
 		if(ds == null) {
 			throw new IllegalArgumentException("Invalid parameter: ds");
 		}
 		if(ip == null) {
 			throw new IllegalArgumentException("Invalid parameter: ip");
 		}
 		if(requestToken == null || requestToken.length() == 0) {
 			throw new IllegalArgumentException("Must specify a request token.");
 		}
 
 		this. = ds;
 		this. = ip;
 		this. = requestToken;
 
 	}
 
 	public SignUpConfirmation() {
 	}
 
 		return new SignUpConfirmation(
 				((SqlAPI)parameters.get("api")).getDataSource(),
 				(String)parameters.get("request_token"),
 				(String)parameters.get("ip"));
 	}
 
 	protected List<StringQueryResultexecute() throws IOException {
 		List<StringQueryResultresult = new LinkedList<>();
 		Connection c = null;
 		PreparedStatement s = null;
 		ResultSet r = null;
 
 		try {
 			c = .getConnection();
 			c.setAutoCommit(false);
 
 			s = c.prepareStatement("select data from request_token where type='signup_confirmation' and token=?");
 			r = s.executeQuery();
 			if(!r.next()) {
 				throw new IllegalArgumentException("Invalid request token.");
 			}
 			JsonParser p = new JsonParser(r.getString(1));
 			@SuppressWarnings("unchecked")
 			Map<StringObjectdata = (Map<StringObject>) p.parse();
 			r.close();
 			r = null;
 			s.close();
 			s = null;
 
 			UUID uuid = addPerson(c,
 					(String)data.get("first_name"),
 					(String)data.get("last_name"),
 					(String)data.get("email"),
 					(String)data.get("username"),
					(String)data.get("password"),
					null);
			log(c"INFO", User.userWithUuidAndIp(uuid), "Activated self sign up account for email: " + (String)data.get("email"), new ResourceUid("Person"uuid));
			String sessionToken = createSession(cuuidnull"");
			result.add(new StringQueryResult(sessionToken));
			s = c.prepareStatement("delete from request_token where type='signup_confirmation' and token=?");
			s.close();
			s = null;
			c.commit();
			c.close();
			c = null;
			return result;
			throw new IOException(e);
finally {
			if(r != null) { try { r.close(); } catch (SQLException e) { } }
			if(s != null) { try { s.close(); } catch (SQLException e) { } }
			if(c != null) {
				try { c.rollback(); } catch (SQLException e) { }
				try { c.close(); } catch (SQLException e) { }
			}
		}
	}
		return "{" +
				"\"request_token\":\"" + Json.escape()+ "\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X