Package org.olap4j.metadata

Examples of org.olap4j.metadata.Member


    for (final Member member : columnToMemberMapper)
    {
      columnNames.add(member.getLevel().getUniqueName());
    }

    final Member measureName = computeMeasureName(resultSet);
    if (measureName != null)
    {
      columnNames.add(measureName.getUniqueName());
    }
    else
    {
      columnNames.add("Measure");
    }
View Full Code Here


      final Position position = positionList.get(i);
      final List<Member> members = position.getMembers();
      for (int positionIndex = 0; positionIndex < members.size(); positionIndex++)
      {

        Member m = members.get(positionIndex);
        while (m != null)
        {
          if (m.getMemberType() == Member.Type.MEASURE)
          {
            return m;
          }
          m = m.getParentMember();
        }
      }
    }

    return null;
View Full Code Here

        pe.printStackTrace();
      }
    }

    final List<Integer> cellKey = computeCellKey(rowIndex);
    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

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

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

        final List<Member> list = new ArrayList<Member>(memberStr.length);

        for (int j = 0; j < memberStr.length; j++)
        {
          final String str = memberStr[j];
          final Member member = findMember(hierarchy, cube, String.valueOf(str));
          list.add(member);
        }

        parameterValue = list;
      }
View Full Code Here

  private Member findMember(final Hierarchy hierarchy,
                            final Cube cube,
                            final String parameter) throws ReportDataFactoryException, SQLException
  {
    Member memberById = null;
    Member memberByUniqueId = null;
    final Configuration configuration = getConfiguration();
    final boolean searchForNames = "true".equals(configuration.getConfigProperty
        ("org.pentaho.reporting.engine.classic.extensions.datasources.olap4j.NeedDimensionPrefix")) == false;
    final boolean missingMembersIsFatal = "true".equals(configuration.getConfigProperty
        ("org.pentaho.reporting.engine.classic.extensions.datasources.olap4j.IgnoreInvalidMembersDuringQuery")) == false;

    try
    {
      final Member directValue = lookupDirectly(hierarchy, cube, parameter, searchForNames);
      if (directValue != null)
      {
        return directValue;
      }
    }
    catch (final Exception e)
    {
      // It is non fatal if that fails. Invalid input has this effect.
    }

    final OlapStatement statement = connection.createStatement();
    try
    {
      final CellSet result = statement.executeOlapQuery("SELECT " + hierarchy.getUniqueName() +
          ".AllMembers 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 (parameter.equals(Olap4jUtil.getUniqueMemberName(member)))
            {
              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

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.