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.Date;
 import java.util.List;
 import java.util.Map;
 
 import base.Query;
 
 import static base.jee.api.cassandra.util.Log.log;
 
 public class RecentLogEntries extends Query<AuditLogEntry> {
 
 	private CassandraAPI api;
 	private User user;
 	private String resourceType;
 	private String resourceUid;
 	private long limit;
 	private boolean debug;
 
 	public RecentLogEntries(CassandraAPI apiUser userString resourceTypeString resourceUidboolean debuglong limit) {
 		this. = api;
 		this. = user;
 		this. = resourceType;
 		this. = resourceUid;
 		this. = limit;
 		this. = debug;
 
 		if(api == null) {
 			throw new IllegalArgumentException("Invalid parameter: api");
 		}
 		if(user == null || !user.isAuthenticated()) {
 			throw new IllegalArgumentException("Requires an authenticated user.");
 		}
 		if(resourceType == null && resourceUid != null) {
 			throw new IllegalArgumentException("resourceType must be specified if a resourceUid is specified");
 		}
 		if(resourceType != null && resourceUid == null) {
 			throw new IllegalArgumentException("resourceUid must be specified if a resourceType is specified");
 		}
 		if(limit == 0) {
 			throw new IllegalArgumentException("Please specify a limit");
 		}
 		if(limit > 20000) {
 			throw new IllegalArgumentException("Limit must be less than 20,000.");
 		}
 	}
 
 	public RecentLogEntries() {
 	}
 
 	public Query<AuditLogEntrynewWithParameters(Map<StringObjectparameters) {
 		return new RecentLogEntries(
 				(CassandraAPI)parameters.get("api"),
 				(User)parameters.get("user"),
 				(String)parameters.get("resource_type"),
 				(String)parameters.get("resource_uid"),
 				parameters.get("debug") != null && ((String)parameters.get("debug")).equalsIgnoreCase("true"),
 				Integer.parseInt((String)parameters.get("limit")));
 	}
 
 	public List<AuditLogEntryexecute() throws IOException {
 		List<AuditLogEntryresults = new LinkedList<>();
 
 			log(s"WARN""Permission denied invoking: " + RecentLogEntries.class.getSimpleName() + " " + getJsonParameters());
 			throw new PermissionException(this.getClass().getSimpleName(), "You do not have permission to access audit information.".);
 		}
 
 		// Exclude particular IP's from appearing in the general log entry search results.
 		String[] hiddenIP = TagsToArray.tagsToArray(.getSettingsCache().get("log.hidden.ip"""));
 		Date date = new Date();
 		Calendar c = new GregorianCalendar();
 		c.setTime(date);
		int dayCount = 0;
				"select uuid,level,person_uuid,first_name,last_name,message,ip "+
				"from audit_event " +
				"where yyyymmdd = ? " +
				"order by uuid desc " +
				"limit " + );
		while(results.size() <  && dayCount < 20) {
			if( != null) {
else {
				rs = s.execute(p.bind(..format(date)));
			}
			for(Row r : rs) {
				boolean skip = false;
				for(String ip : hiddenIP) {
					if(ip.equals(r.getString(6))) {
						skip = true;
						break;
					}
				}
				if(! && r.getString(1).equalsIgnoreCase("debug")) {
					skip = true;
				}
				if(!skip) {
					results.add(new AuditLogEntry(r.getUUID(0), new Date(TimeUUIDToDate.getTimeFromUUID(r.getUUID(0))), r.getString(1), r.getUUID(2), r.getString(3), r.getString(4), r.getString(5), r.getString(6)));
					if(results.size() >= ) {
						break;
					}
				}
			}
			date = c.getTime();
			dayCount++;
		}
		return results;
	}
		return "{" +
				"}";
	}
New to GrepCode? Check out our FAQ X