@Override public boolean isCurrentUserChecked() { return this.query instanceof SecureQuery ? ((SecureQuery) this.query).isCurrentAuthorChecked() : false; }
private Query createQuery(String statement, String language, boolean checkCurrentUser) throws QueryException { Query query = this.secureQueryManager.createQuery(statement, language); if (query instanceof SecureQuery) { ((SecureQuery) query).checkCurrentAuthor(true); ((SecureQuery) query).checkCurrentUser(checkCurrentUser); } return new ScriptQuery(query, this.componentManager); } }
@Override public <T> List<T> execute(Query query) throws QueryException { if (query instanceof SecureQuery) { SecureQuery secureQuery = (SecureQuery) query; // Force checking current author rights secureQuery.checkCurrentAuthor(true); } else if (!this.authorization.hasAccess(Right.PROGRAM)) { throw new QueryException("Unsecure query require programming right", query, null); } return this.defaultQueryExecutorManager.execute(query); }
@Override public boolean isCurrentAuthorChecked() { return this.query instanceof SecureQuery ? ((SecureQuery) this.query).isCurrentAuthorChecked() : true; }
@Override public SecureQuery checkCurrentUser(boolean checkCurrentUser) { if (this.query instanceof SecureQuery) { ((SecureQuery) this.query).isCurrentAuthorChecked(); } return this; } }