Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   This is free and unencumbered software released into the public domain.
   Anyone is free to copy, modify, publish, use, compile, sell, or
   distribute this software, either in source code form or as a compiled
   binary, for any purpose, commercial or non-commercial, and by any
   In jurisdictions that recognize copyright laws, the author or authors
  of this software dedicate any and all copyright interest in the
  software to the public domain. We make this dedication for the benefit
  of the public at large and to the detriment of our heirs and
  successors. We intend this dedication to be an overt act of
  relinquishment in perpetuity of all present and future rights to this
  software under copyright law.
 package base.jee.api.cassandra;
 import base.Command;
 import base.json.Json;
 import static base.jee.api.cassandra.util.InsertUpdateNotification.insertUpdateNotification;
 import static base.jee.api.cassandra.util.Log.log;
 public class UpsertTemplateResource extends Command {
 	private CassandraAPI c;
 	private User user;
 	private String template;
 	private String name;
 	private byte[] content;
 	private boolean binary;
 	public UpsertTemplateResource(CassandraAPI cUser userString templateString namebyte[] contentboolean binary) {
 		this. = c;
 		this. = user;
 		this. = template;
 		this. = name;
 		this. = content;
 		this. = binary;
 		if(c == null) {
 			throw new IllegalArgumentException("Invalid parameter: c");
 		if(user == null || !user.isAuthenticated()) {
 			throw new IllegalArgumentException("Invalid parameter: user");
 		if(template == null || template.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: template");
 		if(template.contains(" ")) {
 			throw new IllegalArgumentException("template name must not contain whitespace");
 		if(name == null || name.length() == 0) {
 			throw new IllegalArgumentException("Invalid parameter: name");
 		if(name.contains(" ")) {
 			throw new IllegalArgumentException("resource name must not contain whitespace");
 		if(content == null || content.length == 0) {
 			throw new IllegalArgumentException("Invalid parameter: content");
 	protected void execute() throws IOException {
 			log(s"WARN""Permission denied invoking: " + UpsertTemplateResource.class.getSimpleName() + " " + getJsonParameters());
 			throw new IllegalStateException("You do not have permission to manage template resources.");
 		PreparedStatement p = s.prepare("select name from template where site=? and name=?");
 		if(!rs.iterator().hasNext()) {
			throw new IllegalArgumentException("Unknown template: " + );
		p = s.prepare("select content from template_resource where site=? and template=? and resource=?");
		rs = s.execute(p.bind(.getSite(), ));
		for(Row r : rs) {
			if(!Arrays.equals(r.getBytes(0).array(), )) {
				p = s.prepare("update template_resource set content=? where site=? and template=? and resource=?");
				s.execute(p.bind(ByteBuffer.wrap(), .getSite(), ));
				log(s"INFO""Updated custom template resource {\"template\":\"" + Json.escape() + "\",\"resource\":\"" + Json.escape() + "\"}"new ResourceUid("Template"));
				insertUpdateNotification(s"template""update" + "|" + );
else {
				log(s"FINEST""Save to custom template resource does not change content. {\"template\":\"" + Json.escape() + "\",\"resource\":\"" + Json.escape() + "\"}"new ResourceUid("Template"));
		p = s.prepare("insert into template_resource (site,template,resource,content,isbinary) values(?,?,?,?,?)");
		s.execute(p.bind(.getSite(), , ByteBuffer.wrap(), ));
		log(s"INFO""Added custom template resource {\"template\":\"" + Json.escape() + "\",\"resource\":\"" + Json.escape() + "\"}"new ResourceUid("Template"));
		insertUpdateNotification(s"template""add" + "|" + );
		return "{" +
				"\"template\":\"" + Json.escape()+ "\"," +
				"\"name\":\"" + Json.escape()+ "\"," +
				"\"content\":\"" + Base64Encode.encode() + "\"" +
New to GrepCode? Check out our FAQ X