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.cassandra;
  
 import java.util.List;
 
 import base.Command;
 import base.json.Json;
 
 import static base.jee.api.cassandra.util.Log.log;
 
 public class CreateTemplate extends Command {
 
 	private CassandraAPI c;
 	private User user;
 	private String basedOn;
 	private String name;
 
 	public CreateTemplate(CassandraAPI cUser userString basedOnString name) {
 		this. = c;
 		this. = name;
 		this. = user;
 		this. = basedOn;
 
 		if(c == null) {
 			throw new IllegalArgumentException("Invalid parameter: c");
 		}
 		if(user == null || !user.isAuthenticated()) {
 			throw new IllegalArgumentException("Invalid parameter: user");
 		}
 		if(name == null || name.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: name");
 		}
 		if(name.equalsIgnoreCase("default")) {
 			throw new IllegalArgumentException("A template already exists with this name.");
 		}
 		if(basedOn == null || basedOn.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: basedOn");
 		}
 		if(name.contains(" ")) {
 			throw new IllegalArgumentException("template name must not contain whitespace");
 		}
 	}
 
 	protected void execute() throws IOException {
 
 
 			log(s"WARN""Permission denied invoking: " + CreateTemplate.class.getSimpleName() + " " + getJsonParameters());
 			throw new IllegalStateException("You do not have permission to manage templates.");
 		}
 
 		// Check template name does not already exist
 		PreparedStatement p = s.prepare("select name from template where name=?");
 		ResultSet r = s.execute(p.bind());
 		if(r.iterator().hasNext()) {
 			throw new IllegalArgumentException("A template already exists with this name.");
 		}
 
 		List<Resourceresources = new LinkedList<>();
 		if(!.equalsIgnoreCase("default")) {
 			p = s.prepare("select name from template where name=?");
 			r = s.execute(p.bind());
 			if(!r.iterator().hasNext()) {
 				throw new IllegalArgumentException("Based on template name is not a template.");
 			}
 			PreparedStatement q = s.prepare("select resource, content, isbinary from template_resource where template=?");
 			for(Row row : s.execute(q.bind())) {
 				Resource i = new Resource(row.getString(0), row.getBytes(1).array(), row.getBool(2));
 				resources.add(i);
 			}
 		}
 
 		// Persist the template details
 		p = s.prepare("insert into template (name) values(?)");
 		s.execute(p.bind());
 
 		p = s.prepare("insert into template_resource (template, resource, content, isbinary) values(?,?,?,?)");
 		for(Resource i : resources) {
 			s.execute(p.bind(i.getName(), ByteBuffer.wrap(i.getData()), i.isBinary()));
 		}
		log(s"INFO""Created new template: " +  + " based on " + new ResourceUid("Template"));
	}
		return "{" +
				"\"name\":\"" + Json.escape()+ "\"," +
				"\"based_on\":\"" + Json.escape()+ "\"" +
				"}";
	}
New to GrepCode? Check out our FAQ X