Package org.saiku.olap.query

Examples of org.saiku.olap.query.IQuery


    query.setTotalFunction(axisName, functionName);
    return query;
  }

  public boolean includeChildren(String queryName, String dimensionName, String uniqueMemberName) {
    IQuery query = getIQuery(queryName);
    List<IdentifierSegment> memberList = IdentifierNode.parseIdentifier(uniqueMemberName).getSegmentList();
    QueryDimension dimension = query.getDimension(dimensionName);
    try {
      Selection sel = dimension.createSelection(Operator.CHILDREN, memberList);
      dimension.getInclusions().add(sel);
      return true;
    } catch (OlapException e) {
View Full Code Here


          + uniqueMemberName + ")", e);
    }
  }

  public boolean removeChildren(String queryName, String dimensionName, String uniqueMemberName) {
    IQuery query = getIQuery(queryName);
    List<IdentifierSegment> memberList = IdentifierNode.parseIdentifier(uniqueMemberName).getSegmentList();
    QueryDimension dimension = query.getDimension(dimensionName);
    try {
      Selection sel = dimension.createSelection(Operator.CHILDREN, memberList);
      if (dimension.getInclusions().contains(sel)) {
        dimension.getInclusions().remove(sel);
      }
View Full Code Here

          + uniqueMemberName + ")", e);
    }
  }

  boolean removeAllChildren(String queryName, String dimensionName) {
    IQuery query = getIQuery(queryName);
    QueryDimension dimension = query.getDimension(dimensionName);
    List<Selection> children = new ArrayList<Selection>();
    try {
      for (Selection sel : dimension.getInclusions()) {
        if (sel.getOperator().equals(Operator.CHILDREN)) {
          children.add(sel);
View Full Code Here

        memberposition);
  }

  public boolean includeMember(String queryName, String dimensionName, String uniqueMemberName, String selectionType,
                               String totalsFunction, int memberposition) {
    IQuery query = getIQuery(queryName);


    List<IdentifierSegment> memberList = IdentifierNode.parseIdentifier(uniqueMemberName).getSegmentList();
    QueryDimension dimension = query.getDimension(dimensionName);
    final Selection.Operator selectionMode = Selection.Operator.valueOf(selectionType);
    try {
      removeAllChildren(queryName, dimensionName);
      Selection sel = dimension.createSelection(selectionMode, memberList);
      if (dimension.getInclusions().contains(sel)) {
        dimension.getInclusions().remove(sel);
      }
      if (memberposition < 0) {
        memberposition = dimension.getInclusions().size();
      }
      dimension.getInclusions().add(memberposition, sel);
      query.setTotalFunction(((Member) sel.getRootElement()).getLevel().getUniqueName(), totalsFunction);
      return true;
    } catch (OlapException e) {
      throw new SaikuServiceException(
          "Cannot include member query (" + queryName + ") dimension (" + dimensionName + ") member ("
          + uniqueMemberName + ") operator (" + selectionType + ") position " + memberposition, e);
View Full Code Here

    }
  }

  public boolean removeMember(String queryName, String dimensionName, String uniqueMemberName, String selectionType)
      throws SaikuServiceException {
    IQuery query = getIQuery(queryName);
    removeAllChildren(queryName, dimensionName);
    List<IdentifierSegment> memberList = IdentifierNode.parseIdentifier(uniqueMemberName).getSegmentList();
    QueryDimension dimension = query.getDimension(dimensionName);
    final Selection.Operator selectionMode = Selection.Operator.valueOf(selectionType);
    try {
      if (LOG.isDebugEnabled()) {
        LOG.debug("query: " + queryName + " remove:" + selectionMode.toString() + " " + memberList.size());
      }
View Full Code Here

    return includeLevel(queryName, dimensionName, uniqueHierarchyName, uniqueLevelName, defaultTotalsFunction);
  }

  public boolean includeLevel(String queryName, String dimensionName, String uniqueHierarchyName,
                              String uniqueLevelName, String totalsFunction) {
    IQuery query = getIQuery(queryName);
    removeAllChildren(queryName, dimensionName);

    QueryDimension dimension = query.getDimension(dimensionName);
    for (Hierarchy hierarchy : dimension.getDimension().getHierarchies()) {
      if (hierarchy.getUniqueName().equals(uniqueHierarchyName)) {
        for (Level level : hierarchy.getLevels()) {
          if (level.getUniqueName().equals(uniqueLevelName)) {
            Selection sel = dimension.createSelection(level);
            if (!dimension.getInclusions().contains(sel)) {
              dimension.include(level);
            }
            query.setTotalFunction(uniqueLevelName, totalsFunction);
            return true;
          }
        }
      }
    }
View Full Code Here

    return false;
  }

  public boolean removeLevel(String queryName, String dimensionName, String uniqueHierarchyName,
                             String uniqueLevelName) {
    IQuery query = getIQuery(queryName);
    removeAllChildren(queryName, dimensionName);
    QueryDimension dimension = query.getDimension(dimensionName);
    try {
      for (Hierarchy hierarchy : dimension.getDimension().getHierarchies()) {
        if (hierarchy.getUniqueName().equals(uniqueHierarchyName)) {
          for (Level level : hierarchy.getLevels()) {
            if (level.getUniqueName().equals(uniqueLevelName)) {
View Full Code Here

    try {
      if (LOG.isDebugEnabled()) {
        LOG.debug("move query: " + queryName + " dimension " + dimensionName + " to axis " + axisName + "  position"
                  + position);
      }
      IQuery query = getIQuery(queryName);
      QueryDimension dimension = query.getDimension(dimensionName);
      Axis newAxis = axisName != null ? "UNUSED".equals(axisName) ? null : Axis.Standard.valueOf(axisName) : null;
      if (position == -1) {
        query.moveDimension(dimension, newAxis);
      } else {
        query.moveDimension(dimension, newAxis, position);
      }
    } catch (Exception e) {
      throw new SaikuServiceException("Cannot move dimension:" + dimensionName + " to axis: " + axisName, e);
    }
  }
View Full Code Here

      throw new SaikuServiceException("Cannot move dimension:" + dimensionName + " to axis: " + axisName, e);
    }
  }

  public void removeDimension(String queryName, String axisName, String dimensionName) {
    IQuery query = getIQuery(queryName);
    moveDimension(queryName, "UNUSED", dimensionName, -1);
    query.getDimension(dimensionName).getExclusions().clear();
    query.getDimension(dimensionName).getInclusions().clear();
  }
View Full Code Here

    query.getDimension(dimensionName).getInclusions().clear();
  }

  @NotNull
  public List<SaikuDimensionSelection> getAxisSelection(String queryName, String axis) {
    IQuery query = getIQuery(queryName);

    List<SaikuDimensionSelection> dimsel = new ArrayList<SaikuDimensionSelection>();
    try {
      QueryAxis qaxis = query.getAxis(axis);
      if (qaxis != null) {
        for (QueryDimension dim : qaxis.getDimensions()) {
          dimsel.add(ObjectUtil.convertDimensionSelection(dim, query));
        }
      }
View Full Code Here

TOP

Related Classes of org.saiku.olap.query.IQuery

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.