Package org.olap4j.metadata

Examples of org.olap4j.metadata.Member


      final Cell cell = resultSet.getCell(cellKey);
      return new MDXMetaDataCellAttributes(EmptyDataAttributes.INSTANCE, cell);
    }

    final List<Integer> cellKey = computeCellKey(rowIndex, columnIndex);
    Member contextMember = getCandidateMembers(columnIndex, cellKey);
    if (contextMember != null)
    {
      return new MDXMetaDataMemberAttributes(EmptyDataAttributes.INSTANCE, contextMember);
    }
    return EmptyDataAttributes.INSTANCE;
View Full Code Here


    final List<Position> positions = axis.getPositions();
    final Position firstPosition = positions.get(0);
    final List<Member> memberList = firstPosition.getMembers();
    if (columnNumber < memberList.size())
    {
      final Member member = memberList.get(columnNumber);
      return member.getHierarchy().getName();
    }
    else
    {
      final Member member = memberList.get(memberList.size() - 1);
      return member.getHierarchy().getName() + '{' + columnNumber + '}';
    }
  }
View Full Code Here

    final GenericObjectTable result = new GenericObjectTable(20, Math.max(1, colCount));
    for (int c = 0; c < colCount; c++)
    {
      final Position position = positions.get(c);
      final List<Member> memberList = position.getMembers();
      Member member = null;
      final int rowCount = memberList.size();
      for (int r = 0; r < rowCount; r++)
      {
        member = memberList.get(r);
        if (member != null)
        {
          result.setObject(r, c, member.getName());
        }
      }

      if (member != null)
      {
        result.setObject(rowCount, c, member.getHierarchy().getName());
      }
    }
    return result;
  }
View Full Code Here

    for (int r = 0; r < rowCount; r++)
    {
      final Position position = positions.get(r);
      final List<Member> members = position.getMembers();
      Member member = null;
      final int colCount = members.size();
      for (int c = 0; c < colCount; c++)
      {
        member = members.get(c);
        result.setObject(r, c, member.getName());
      }
      if (member != null)
      {
        result.setObject(r, colCount, member.getHierarchy().getName());
      }
    }
    return result;
  }
View Full Code Here

      final Position position = axis.getPositions().get(i);
      int yOffset = 0;
      final List<Member> memberList = position.getMembers();
      boolean stop = false;
      for (int j = 0; j < memberList.size(); j++) {
        Member member = memberList.get(j);
        final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(j);
        List<Integer> depths = ordinalInfo.depths;
        Collections.sort(depths);
        if (member.getDepth() < Collections.max(depths)) {
          stop = true;
          if (isColumns) {
            ignorex.add(i);
          } else {
            ignorey.add(i);
          }
          break;
        }
        if (ordinalInfo.getDepths().size() > 0 && member.getDepth() < ordinalInfo.getDepths().get(0)) {
          break;
        }
        final int y = yOffset + ordinalInfo.depths.indexOf(member.getDepth());
        members[y] = member;
        yOffset += ordinalInfo.getWidth();
      }
      if (stop) {
        offset--;
        continue;
      }
      boolean expanded = false;
      boolean same = true;
      for (int y = 0; y < members.length; y++) {
        final MemberCell memberInfo = new MemberCell();
        final Member member = members[y];

        int index = memberList.indexOf(member);
        if (index >= 0) {
          final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(index);
          int depth_i = ordinalInfo.getDepths().indexOf(member.getDepth());
          if (depth_i > 0) {
            expanded = true;
          }
        }
        memberInfo.setExpanded(expanded);
        same = same && i > 0 && Olap4jUtil.equal(prevMembers[y], member);


        if (member != null) {
          if (x - 1 == offset) {
            memberInfo.setLastRow();
          }

          matrix.setOffset(oldoffset);
          memberInfo.setRawValue(member.getUniqueName());
          memberInfo.setFormattedValue(member.getCaption()); // First try to get a formatted value
          memberInfo.setParentDimension(member.getDimension().getName());
          memberInfo.setUniquename(member.getUniqueName());
          memberInfo.setHierarchy(member.getHierarchy().getUniqueName());
          memberInfo.setLevel(member.getLevel().getUniqueName());
          //try {
          //memberInfo.setChildMemberCount(member.getChildMemberCount());
          //} catch (OlapException e) {
          //e.printStackTrace();
          //throw new RuntimeException(e);
          //}
          //NamedList<Property> values = member.getLevel().getProperties();
          //for(int j=0; j<values.size();j++){
          //String val;
          //try {
          //val = member.getPropertyFormattedValue(values.get(j));
          //} catch (OlapException e) {
          //e.printStackTrace();
          //throw new RuntimeException(e);
          //}
          //memberInfo.setProperty(values.get(j).getCaption(), val);
          //}

          //if (y > 0) {
          //for (int previ = y-1; previ >= 0;previ--) {
          //if(prevMembers[previ] != null) {
          //memberInfo.setRightOf(prevMemberInfo[previ]);
          //memberInfo.setRightOfDimension
          // (prevMembers[previ].getDimension().getName());
          //previ = -1;
          //}
          //}
          //}


          //if (member.getParentMember() != null)
          //memberInfo.setParentMember
          // (member.getParentMember().getUniqueName());

        } else {
          memberInfo.setRawValue(null);
          memberInfo.setFormattedValue(null);
          memberInfo.setParentDimension(null);
        }

        if (isColumns) {
          memberInfo.setRight();
          memberInfo.setSameAsPrev(same);
          if (member != null) {
            memberInfo.setParentDimension(member.getDimension().getName());
          }
          matrix.set(x, y, memberInfo);
        } else {
          memberInfo.setRight();
          memberInfo.setSameAsPrev(false);
          matrix.set(y, x, memberInfo);
        }
        int x_parent = isColumns ? x : y - 1;
        int y_parent = isColumns ? y - 1 : x;

        if (index >= 0) {
          final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(index);
          int depth_i = ordinalInfo.getDepths().indexOf(member.getDepth());
          while (depth_i > 0) {
            depth_i--;
            int parentDepth = ordinalInfo.getDepths().get(depth_i);
            Member parent = member.getParentMember();
            while (parent != null && parent.getDepth() > parentDepth) {
              parent = parent.getParentMember();
            }
            final MemberCell pInfo = new MemberCell();
            if (parent != null) {
              pInfo.setRawValue(parent.getUniqueName());
              pInfo.setFormattedValue(parent.getCaption()); // First try to get a formatted value
              pInfo.setParentDimension(parent.getDimension().getName());
              pInfo.setHierarchy(parent.getHierarchy().getUniqueName());
              pInfo.setUniquename(parent.getUniqueName());
              pInfo.setLevel(parent.getLevel().getUniqueName());
            } else {
              pInfo.setRawValue("");
              pInfo.setFormattedValue(""); // First try to get a formatted value
              pInfo.setParentDimension(member.getDimension().getName());
              pInfo.setHierarchy(member.getHierarchy().getUniqueName());
View Full Code Here

    return cell;
  }

  private int getMemberIndex(int depth, int index) {
    if (depth - 1 < measuresAt) {
      Member m = dataAxisInfo.fullPositions.get(index).getMembers().get(dataAxisInfo.measuresMember);
      if (uniqueToSelected.containsKey(m.getUniqueName())) {
        return uniqueToSelected.get(m.getUniqueName());
      }
    }
    return 0;
  }
View Full Code Here

      final Position position = axis.getPositions().get(i);
      int yOffset = 0;
      final List<Member> memberList = position.getMembers();
      final Map<Hierarchy, List<Integer>> lvls = new HashMap<Hierarchy, List<Integer>>();
      for (int j = 0; j < memberList.size(); j++) {
        Member member = memberList.get(j);
        final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(j);
        List<Integer> depths = ordinalInfo.depths;
        Collections.sort(depths);
        lvls.put(member.getHierarchy(), depths);
        if (ordinalInfo.getDepths().size() > 0 && member.getDepth() < ordinalInfo.getDepths().get(0)) {
          break;
        }
        final int y = yOffset + ordinalInfo.depths.indexOf(member.getDepth());
        members[y] = member;
        yOffset += ordinalInfo.getWidth();
      }

      boolean expanded = false;
      boolean same = true;
      for (int y = 0; y < members.length; y++) {
        final MemberCell memberInfo = new MemberCell();
        final Member member = members[y];
        expanded = false;
        int index = memberList.indexOf(member);
        if (index >= 0) {
          final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(index);
          int depth_i = ordinalInfo.getDepths().indexOf(member.getDepth());
          if (depth_i > 0) {
            expanded = true;
          }
        }
        memberInfo.setExpanded(expanded);
        same = same && i > 0 && Olap4jUtil.equal(prevMembers[y], member);


        if (member != null) {
          if (lvls != null && lvls.get(member.getHierarchy()) != null) {
            memberInfo
                .setProperty("levelindex",
                    "" + lvls.get(member.getHierarchy()).indexOf(member.getLevel().getDepth()));
          }
          if (x - 1 == offset) {
            memberInfo.setLastRow();
          }

          matrix.setOffset(offset);
          memberInfo.setRawValue(member.getUniqueName());
          memberInfo.setFormattedValue(member.getCaption()); // First try to get a formatted value
          memberInfo.setParentDimension(member.getDimension().getName());
          memberInfo.setHierarchy(member.getHierarchy().getUniqueName());
          memberInfo.setLevel(member.getLevel().getUniqueName());
          memberInfo.setUniquename(member.getUniqueName());
          //try {
          //memberInfo.setChildMemberCount(member.getChildMemberCount());
          //} catch (OlapException e) {
          //e.printStackTrace();
          //throw new RuntimeException(e);
          //}
          //NamedList<Property> values = member.getLevel().getProperties();
          //for(int j=0; j<values.size();j++){
          //String val;
          //try {
          //val = member.getPropertyFormattedValue(values.get(j));
          //} catch (OlapException e) {
          //e.printStackTrace();
          //throw new RuntimeException(e);
          //}
          //memberInfo.setProperty(values.get(j).getCaption(), val);
          //}

          //if (y > 0) {
          //for (int previ = y-1; previ >= 0;previ--) {
          //if(prevMembers[previ] != null) {
          //memberInfo.setRightOf(prevMemberInfo[previ]);
          //
          // memberInfo.setRightOfDimension(prevMembers[previ].getDimension().getName());
          //previ = -1;
          //}
          //}
          //}
          //
          //
          //if (member.getParentMember() != null)
          //
          // memberInfo.setParentMember(member.getParentMember().getUniqueName());

        } else {
          memberInfo.setRawValue(null);
          memberInfo.setFormattedValue(null);
          memberInfo.setParentDimension(null);
        }

        if (isColumns) {
          memberInfo.setRight();
          memberInfo.setSameAsPrev(same);
          if (member != null) {
            memberInfo.setParentDimension(member.getDimension().getName());
          }
          matrix.set(x, y, memberInfo);
        } else {
          memberInfo.setRight();
          memberInfo.setSameAsPrev(false);
          matrix.set(y, x, memberInfo);
        }
        int x_parent = isColumns ? x : y - 1;
        int y_parent = isColumns ? y - 1 : x;
        if (index >= 0) {
          final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(index);
          int depth_i = ordinalInfo.getDepths().indexOf(member.getDepth());
          while (depth_i > 0) {
            depth_i--;
            int parentDepth = ordinalInfo.getDepths().get(depth_i);
            Member parent = member.getParentMember();
            while (parent != null && parent.getDepth() > parentDepth) {
              parent = parent.getParentMember();
            }
            final MemberCell pInfo = new MemberCell();
            if (parent != null) {
              pInfo.setRawValue(parent.getUniqueName());
              pInfo.setFormattedValue(parent.getCaption()); // First try to get a formatted value
              pInfo.setParentDimension(parent.getDimension().getName());
              pInfo.setHierarchy(parent.getHierarchy().getUniqueName());
              pInfo.setUniquename(parent.getUniqueName());
              pInfo.setLevel(parent.getLevel().getUniqueName());
            } else {
              pInfo.setRawValue("");
              pInfo.setFormattedValue(""); // First try to get a formatted value
              pInfo.setParentDimension(member.getDimension().getName());
              pInfo.setHierarchy(member.getHierarchy().getUniqueName());
View Full Code Here

  public Format getValueFormat(int position, int member) {
    int formatIndex = 0;
    if (dataAxisInfo.measuresMember >= 0) {
      formatIndex = member;
    } else if (totalsAxisInfo.measuresMember >= 0) {
      Member m = totalsAxisInfo.fullPositions.get(position).getMembers().get(totalsAxisInfo.measuresMember);
      if (uniqueToSelected.containsKey(m.getUniqueName())) {
        formatIndex = uniqueToSelected.get(m.getUniqueName());
      }
    }
    return valueFormats[formatIndex];
  }
View Full Code Here

      final Position position = axis.getPositions().get(i);
      int yOffset = 0;
      final List<Member> memberList = position.getMembers();
      final Map<Hierarchy, List<Integer>> lvls = new HashMap<Hierarchy, List<Integer>>();
      for (int j = 0; j < memberList.size(); j++) {
        Member member = memberList.get(j);
        final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(j);
        List<Integer> depths = ordinalInfo.depths;
        Collections.sort(depths);
        lvls.put(member.getHierarchy(), depths);
        if (ordinalInfo.getDepths().size() > 0 && member.getDepth() < ordinalInfo.getDepths().get(0)) {
          break;
        }
        final int y = yOffset + ordinalInfo.depths.indexOf(member.getDepth());
        members[y] = member;
        yOffset += ordinalInfo.getWidth();
      }

      boolean expanded = false;
      boolean same = true;
      for (int y = 0; y < members.length; y++) {
        final MemberCell memberInfo = new MemberCell();
        final Member member = members[y];
        expanded = false;
        int index = memberList.indexOf(member);
        if (index >= 0) {
          final AxisOrdinalInfo ordinalInfo = axisInfo.ordinalInfos.get(index);
          int depth_i = ordinalInfo.getDepths().indexOf(member.getDepth());
          if (depth_i > 0) {
            expanded = true;
          }
        }
        memberInfo.setExpanded(expanded);
        same = same && i > 0 && Olap4jUtil.equal(prevMembers[y], member);


        if (member != null) {
          if (lvls != null && lvls.get(member.getHierarchy()) != null) {
            memberInfo
                .setProperty("levelindex",
                    "" + lvls.get(member.getHierarchy()).indexOf(member.getLevel().getDepth()));
          }
          if (x - 1 == offset) {
            memberInfo.setLastRow();
          }

          matrix.setOffset(offset);
          memberInfo.setRawValue(member.getUniqueName());
          memberInfo.setFormattedValue(member.getCaption()); // First try to get a formatted value
          memberInfo.setParentDimension(member.getDimension().getName());
          memberInfo.setUniquename(member.getUniqueName());
          memberInfo.setHierarchy(member.getHierarchy().getUniqueName());
          memberInfo.setLevel(member.getLevel().getUniqueName());
          //try {
          //memberInfo.setChildMemberCount(member.getChildMemberCount());
          //} catch (OlapException e) {
          //e.printStackTrace();
          //throw new RuntimeException(e);
          //}
          //NamedList<Property> values = member.getLevel().getProperties();
          //for(int j=0; j<values.size();j++){
          //String val;
          //try {
          //val = member.getPropertyFormattedValue(values.get(j));
          //} catch (OlapException e) {
          //e.printStackTrace();
          //throw new RuntimeException(e);
          //}
          //memberInfo.setProperty(values.get(j).getCaption(), val);
          //}

          //if (y > 0) {
          //for (int previ = y-1; previ >= 0;previ--) {
          //if(prevMembers[previ] != null) {
          //memberInfo.setRightOf(prevMemberInfo[previ]);
          //memberInfo.setRightOfDimension
          // (prevMembers[previ].getDimension().getName());
          //previ = -1;
          //}
          //}
          //}
          //
          //
          //if (member.getParentMember() != null)
          //memberInfo.setParentMember
          // (member.getParentMember().getUniqueName());

        } else {
          memberInfo.setRawValue(null);
          memberInfo.setFormattedValue(null);
          memberInfo.setParentDimension(null);
        }

        if (isColumns) {
          memberInfo.setRight();
          memberInfo.setSameAsPrev(same);
          if (member != null) {
            memberInfo.setParentDimension(member.getDimension().getName());
          }
          matrix.set(x, y, memberInfo);
        } else {
          if (same) {
            memberInfo.setFormattedValue(null);
View Full Code Here

        uniqueToSelected.put(selectedMeasures[i].getUniqueName(), i);
      }
    } else {
      Measure defaultMeasure = cube.getMeasures().get(0);
      if (cube.getDimensions().get("Measures") != null) {
        Member ms = cube.getDimensions().get("Measures").getDefaultHierarchy().getDefaultMember();
        if (ms instanceof Measure) {
          defaultMeasure = (Measure) ms;
        }
      }
      measures = new Measure[] { defaultMeasure };
      valueFormats = new Format[] { getMeasureFormat(defaultMeasure) };
    }
    this.cellSet = cellSet;
    this.dataAxisInfo = dataAxisInfo;
    this.totalsAxisInfo = totalsAxisInfo;
    final int maxDepth = dataAxisInfo.maxDepth + 1;
    boolean hasMeasuresOnDataAxis = false;
    int measuresAt = 0;
    int measuresMember = 0;
    final List<Member> members =
        dataAxisInfo.axis.getPositionCount() > 0 ? dataAxisInfo.axis.getPositions().get(0).getMembers()
                                                 : Collections.<Member>emptyList();
    for (; measuresMember < members.size(); measuresMember++) {
      Member m = members.get(measuresMember);
      if ("Measures".equals(m.getDimension().getName())) {
        hasMeasuresOnDataAxis = true;
        break;
      }
      measuresAt += dataAxisInfo.levels[measuresMember].size();
    }
View Full Code Here

TOP

Related Classes of org.olap4j.metadata.Member

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.