List<Member> getDefinedMembers() { List<Member> definedMembers = new ArrayList<Member>(); for (final Formula formula : formulas) { if (formula.isMember() && formula.getElement() != null && getConnection().getRole().canAccess(formula.getElement())) { definedMembers.add((Member) formula.getElement()); } } return definedMembers; }
/** * Returns a schema reader. * * @param accessControlled If true, schema reader returns only elements * which are accessible to the statement's current role * * @return schema reader */ public SchemaReader getSchemaReader(boolean accessControlled) { final Role role; if (accessControlled) { // full access control role = getConnection().getRole(); } else { role = null; } final SchemaReader cubeSchemaReader = cube.getSchemaReader(role); return new QuerySchemaReader(cubeSchemaReader, Query.this); }
public Member getCalculatedMember(List<Id.Segment> nameParts) { for (final Formula formula : query.formulas) { if (!formula.isMember()) { continue; } Member member = (Member) formula.getElement(); if (member == null) { continue; } if (!Util.matches(member, nameParts)) { continue; } if (!query.getConnection().getRole().canAccess(member)) { continue; } return member; } return null; }