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; }
/** * Looks up a named set. */ private NamedSet lookupNamedSet(Id.Segment segment) { if (!(segment instanceof Id.NameSegment)) { return null; } Id.NameSegment nameSegment = (Id.NameSegment) segment; for (Formula formula : formulas) { if (!formula.isMember() && formula.getElement() != null && formula.getName().equals(nameSegment.getName())) { return (NamedSet) formula.getElement(); } } return null; }
public OlapElement lookupChild( OlapElement parent, IdentifierSegment segment) { // Only look for calculated members and named sets defined in the // query. for (Formula formula : query.getFormulas()) { if (NameResolver.matches(formula, parent, segment)) { return formula.getElement(); } } return null; }
/** * Changes the last part of the name to <code>newName</code>. For example, * <code>[Abc].[Def].[Ghi]</code> becomes <code>[Abc].[Def].[Xyz]</code>; * and the member or set is renamed from <code>Ghi</code> to * <code>Xyz</code>. */ void rename(String newName) { String oldName = getElement().getName(); final List<Id.Segment> segments = this.id.getSegments(); assert Util.last(segments) instanceof Id.NameSegment; assert ((Id.NameSegment) Util.last(segments)).name .equalsIgnoreCase(oldName); segments.set( segments.size() - 1, new Id.NameSegment(newName)); if (isMember) { mdxMember.setName(newName); } else { mdxSet.setName(newName); } }
OlapElement mdxElement = formula.getElement();
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; }
Formula formula = findFormula(uniqueName); if (failIfUsedInQuery && formula != null) { OlapElement mdxElement = formula.getElement();