Package org.olap4j.metadata

Examples of org.olap4j.metadata.Member


  private Member lookupDirectly(final Hierarchy hierarchy,
                                final Cube cube,
                                final String parameter,
                                final boolean searchForNames) throws SQLException
  {
    Member memberById = null;
    Member memberByUniqueId = null;
    final OlapStatement statement = connection.createStatement();
    try
    {
      final CellSet result = statement.executeOlapQuery("SELECT STRTOMEMBER(" + quote(parameter) +
          ") ON 0, {} ON 1 FROM " + cube.getUniqueName());
      try
      {
        final List<CellSetAxis> setAxises = result.getAxes();
        final List<Position> positionList = setAxises.get(0).getPositions();
        for (int i = 0; i < positionList.size(); i++)
        {
          final Position position = positionList.get(i);
          final List<Member> memberList = position.getMembers();
          for (int j = 0; j < memberList.size(); j++)
          {
            final Member member = memberList.get(j);
            // If the parameter starts with '[', we'll assume we have the full
            // member specification specification. Otherwise, keep the funky lookup
            // route. We do check whether we get a second member (heck, should not
            // happen, but I've seen pigs fly already).
            if (parameter.startsWith("["))
            {
              if (memberByUniqueId == null)
              {
                memberByUniqueId = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate unique key: " + member.getUniqueName());
              }
            }
            if (searchForNames == false)
            {
              continue;
            }
            if (parameter.equals(member.getName()))
            {
              if (memberById == null)
              {
                memberById = member;
              }
              else
              {
                logger.warn("Encountered a member with a duplicate name: " + member.getUniqueName());
              }
            }
          }
        }
      }
View Full Code Here


    for (int positionsIndex = 0; positionsIndex < positions.size(); positionsIndex++)
    {
      final List<Member> position = positions.get(positionsIndex).getMembers();
      for (int positionIndex = 0; positionIndex < position.size(); positionIndex++)
      {
        Member m = position.get(positionIndex);
        computeDeepColumnNames(m, strategy);
      }
    }

    return strategy.values().size();
View Full Code Here

      for (int positionsIndex = 0; positionsIndex < positions.size(); positionsIndex++)
      {
        final List<Member> position = positions.get(positionsIndex).getMembers();
        for (int positionIndex = 0; positionIndex < position.size(); positionIndex++)
        {
          Member m = position.get(positionIndex);
          computeDeepColumnNames(m, strategy);
        }
      }

      Collection<Member> columnNamesSet = strategy.values();
View Full Code Here

      m = m.getParentMember();
    }

    while (memberStack.isEmpty() == false)
    {
      Member mx = memberStack.pop();
      memberToNameMapping.add(mx);
    }
  }
View Full Code Here

    {
      if (j != 0)
      {
        positionName.append('/');
      }
      final Member member = position.get(j);
      positionName.append(Olap4jUtil.getUniqueMemberName(member));
    }
    return positionName.toString();
  }
View Full Code Here

      return cell.getValue();
    }

    final List<Integer> cellKey = computeCellKey(rowIndex, columnIndex);

    Member candidateMember = getCandidateMembers(columnIndex, cellKey);
    if (candidateMember != null)
    {
      return candidateMember.getName();
    }
    return null;
  }
View Full Code Here

    }

    final int posIndex = cellKey.get(axisIndex);
    final Position position = positionList.get(posIndex);

    final Member memberByName = findMemberByName(position.getMembers(), columnIndex);
    if (memberByName != null)
    {
      return memberByName;
    }
    return findRootMember(position.getMembers(), columnIndex);
View Full Code Here

  private Member findRootMember(final List<Member> position, final int columnIndex)
  {
    final Dimension dimension = columnToMemberMapping.get(columnIndex).getDimension();
    for (int i = 0; i < position.size(); i++)
    {
      final Member member = position.get(i);
      if (dimension.equals(member.getDimension()))
      {
        if (member.getParentMember() == null)
        {
          return member;
        }
      }
    }
View Full Code Here

  private Member findMemberByName(final List<Member> position, final int columnIndex)
  {
    final Dimension dimension = columnToMemberMapping.get(columnIndex).getDimension();
    for (int i = 0; i < position.size(); i++)
    {
      final Member member = position.get(i);
      if (dimension.equals(member.getDimension()))
      {
        Member match = searchContextMemberOfParents(member, columnIndex);
        if (match != null)
        {
          return match;
        }
      }
View Full Code Here

  private Member searchContextMemberOfParents(final Member member, final int columnIndex)
  {
    String columnName = getColumnName(columnIndex);

    Member candidate = member;
    while (candidate != null)
    {
      if (candidate.getLevel().getUniqueName().equals(columnName))
      {
        return candidate;
      }
      candidate = candidate.getParentMember();
    }
    return null;
  }
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.