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.Map;
 import java.util.UUID;
 
 
 import base.Command;
 import base.json.Json;
 
 import static base.jee.api.sql.util.UpdateSetting.updateSetting;
 import static base.jee.api.sql.util.AddPerson.addPerson;
 import static base.jee.api.sql.util.HasPersonRecord.hasPersonRecord;
 import static base.jee.api.sql.util.Log.log;
 import static base.jee.api.sql.util.UpsertPersonRole.upsertPersonRole;
 
 public class InitialSetup extends Command {
 
 	private DataSource ds;
 	private String firstName;
 	private String lastName;
 	private String emailAddress;
 	private String username;
 	private String password;
 	private String smtpHostname;
 	private int smtpPort;
 	private boolean selfSignup;
 	private String ip;
 
 	public InitialSetup(DataSource dsString firstNameString lastNameString emailAddressString usernameString passwordString smtpHostnameint smtpPortboolean selfSignupString ip) {
 		if(ds == null) {
 			throw new IllegalArgumentException("Invalid parameter: ds");
 		}
 		if(firstName == null || firstName.trim().length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: firstName");
 		}
 		if(lastName == null || lastName.trim().length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: lastName");
 		}
 		if(emailAddress == null || emailAddress.trim().length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: emailAddress");
 		}
 		if((username == null || username.trim().length() == 0) && (password == null || password.length() == 0)) {
 			throw new IllegalArgumentException("Must specify either a username or a password.");
 		}
 		if(smtpHostname == null || smtpHostname.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: smtpHostname");
 		}
 		if(ip == null || ip.trim().length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: ip");
 		}
 
 		this. = ds;
 		this. = firstName.trim();
 		this. = lastName.trim();
 		this. = password;
 		this. = smtpHostname;
 		this. = smtpPort;
 		this. = emailAddress.trim().toLowerCase();
 		this. = selfSignup;
 		this. = ip;
 		if(username != null) {
 			this. = username.trim().toLowerCase();
 		}
 	}
 
 	protected void execute() throws IOException {
 		Connection c = null;
 
 		try {
 			c = .getConnection();
 			c.setAutoCommit(false);
 
 			if(hasPersonRecord(c) > 0) {
 				throw new IllegalStateException("InitialSetup may only be called once.");
 			}
 			updateSetting(c"smtp.hostname");
 			updateSetting(c"smtp.port"""+);
 			updateSetting(c"self.signup"""+);
 
 			UUID personUuid = addPerson(cnull);
 
 			User u = User.userWithUuidAndIp(personUuid);
			upsertPersonRole(cpersonUuid.u);
			log(c"INFO"u"Executed initial setup."new ResourceUid("Person"personUuid));
			c.commit();
			c.close();
			c = null;
			throw new IOException(e);
finally {
			if(c != null) {
				try { c.rollback(); } catch (SQLException e) { }
				try { c.close(); } catch (SQLException e) { }
			}
		}
	}
		return "{" +
				"\"firstname\":\"" + Json.escape()+ "\"," +
				"\"lastname\":\"" + Json.escape()+ "\"," +
				"\"emailaddress\":\"" + Json.escape()+ "\"," +
				"\"username\":\"" + Json.escape()+ "\"," +
				"\"password\":\"" + Json.escape()+ "\"," +
				"\"smtp.hostname\":\"" + Json.escape()+ "\"," +
				"\"smtp.port\":" + "," +
				"\"self.signup\":" + "" +
				"}";
	}
		throw new IllegalArgumentException("InitialSetup may not be instantiated with parameter map");
	}
New to GrepCode? Check out our FAQ X