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 base.json.Json;
 
 import static base.jee.api.sql.util.CreatePerson.createPerson;
 import static base.jee.api.sql.util.Log.log;
 import static base.jee.api.sql.util.UpsertPersonResourceRole.upsertPersonResourceRole;
 import static base.jee.api.sql.util.UpsertPersonRole.upsertPersonRole;
 import static base.text.StringHelper.chomp;
 import static base.text.TagsToArray.tagsToArray;
 
 public class CreatePerson extends Query<UuidQueryResult> {
 
 	private DataSource ds;
 	private User user;
 	private Settings settings;
 	private String firstName;
 	private String lastName;
 	private String email;
 	private String username;
 	private String password;
 	private String[] initialRoles;
 	private Date expiry;
 
 	public CreatePerson(DataSource dsTemplateManager templateManagerSettings settingsUser userString firstNameString lastNameString emailString usernameString passwordString initialRolesString expirythrows PermissionException {
 
 		if(ds == null) {
 			throw new IllegalArgumentException("Invalid parameter: ds");
 		}
 		if(templateManager == null) {
 			throw new IllegalArgumentException("Invalid parameter: templateManager");
 		}
 		if(user == null || !user.isAuthenticated()) {
 			throw new PermissionException(getClass().getSimpleName(), user"Requires authenticated user.".);
 		}
 		if(firstName == null || chomp(firstName).length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: firstName");
 		}
 		if(lastName == null || chomp(lastName).length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: lastName");
 		}
 		if(email == null || chomp(email).length() == 0) {
 			throw new IllegalArgumentException("Please specify an email address.");
 		}
 		if(chomp(email).length() > .) {
 			throw new IllegalArgumentException("Please choose a shorter email address. Email should not have more than " + . + " characters.");
 		}
 		if(!parse.isValid(chomp(email).toLowerCase())) {
 			throw new IllegalArgumentException("Invalid email address. " + parse.getError());
 		}
 
 		if(username != null && chomp(username).length() > .) {
 			throw new IllegalArgumentException("Please choose a shorter username. Usernames should not have more than " + . + " characters.");
 		}
 		if(password != null && chomp(password).length() > .) {
 			throw new IllegalArgumentException("Please choose a shorter password. Passwords should not have more than " + . + " characters.");
 		}
 		if(chomp(firstName).length() > .) {
 			throw new IllegalArgumentException("Please choose a shorter first name. First name should not have more than " + . + " characters.");
 		}
 		if(chomp(lastName).length() > .) {
 			throw new IllegalArgumentException("Please choose a shorter last name. Last name should not have more than " + . + " characters.");
 		}
 		if(initialRoles != null && chomp(initialRoles).length() > .) {
 			throw new IllegalArgumentException("List of initial roles is too long. Initial roles list should not have more than " + . + " characters.");
		}
		if(expiry != null && expiry.length() > 0) {
			try {
catch (ParseException e1) {
				throw new IllegalArgumentException("Please leave expiry field empty, or enter date using date format: " + .);
			}
		}
		this. = ds;
		this. = templateManager;
		this. = settings;
		this. = chomp(firstName);
		this. = chomp(lastName);
		this. = chomp(email).toLowerCase();
		this. = password;
		this. = user;
		if(initialRoles != null) {
			this. = tagsToArray(initialRoles);
			for(String i : this.) {
					throw new IllegalArgumentException("Invalid initial role name. Role names do not exceed" + . + " characters.");
				}
			}
else {
			this. = new String[]{};
		}
		if(username != null) {
			this. = chomp(username).toLowerCase();
		}
	}
	public CreatePerson() {
	}
		return new CreatePerson(
				((SqlAPI)parameters.get("api")).getDataSource(),
				((JeeBase)parameters.get("jee")).getTemplateManager(),
				((JeeBase)parameters.get("jee")).getSettings(),
				(User)parameters.get("user"),
				(String)parameters.get("first_name"),
				(String)parameters.get("last_name"),
				(String)parameters.get("email"),
				(String)parameters.get("username"),
				(String)parameters.get("password"),
				(String)parameters.get("initial_roles"),
				(String)parameters.get("expires"));
	}
	protected List<UuidQueryResultexecute() throws IOException {
		Connection c = null;
		PreparedStatement s = null;
		ResultSet r = null;
		List<UuidQueryResultresults = new LinkedList<>();
		try {
			c.setAutoCommit(false);
				log(c"WARN""Permission denied invoking: " + CreatePerson.class.getSimpleName() + " " + getJsonParameters());
				c.commit();
				throw new PermissionException(this.getClass().getSimpleName(), "You do not have permission to create new user accounts.".);
			}
			for(String role : ) {
				if(role.contains(":")) {
					String[] parts = role.split(":");
					if(parts.length == 3) {
						upsertPersonResourceRole(cuuidparts[1], parts[2], parts[0], );
					}
else {
					upsertPersonRole(cuuidrole);
				}
			}
			results.add(new UuidQueryResult(uuid));
			c.commit();
			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 results;
	}
		return "{" +
				"\"first_name\":\"" + Json.escape()+ "\"," +
				"\"last_name\":\"" + Json.escape()+ "\"," +
				( != null && .length() > 0 ? "\"username\":\"" + Json.escape()+ "\",":"") +
				"\"email\":\"" + Json.escape()+ "\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X