com.ibm.tivoli.maximo.report.cognos.metadata.generator

Class CognosComplexExpressionBuilder

  • java.lang.Object
    • com.ibm.tivoli.maximo.report.cognos.metadata.generator.CognosComplexExpressionBuilder


  • public class CognosComplexExpressionBuilder
    extends java.lang.Object
    Cognos Complex Expression Builder is a maxrelationhip parser than converts relationships into cognos complex expressions. This parser supports using groups, and, or, is not, and null, which currently fails when using the Cognos "simple" Relationship Parser. Each object instance of this class should ONLY be used once, and then discarded, since it retains some stateful information about the parsing data. A maximo relationship would look like,
    assetnum = :assetnum
    and the resulting cognos relationship would look like
    [Data Source View].[matusetrans].[assetnum] = [Data Source View].[asset].[assetnum]
    • Constructor Summary

      Constructors 
      Constructor and Description
      CognosComplexExpressionBuilder(java.lang.String relationshipName, java.lang.String childName, java.lang.String parentName, java.lang.String databaseType)
      Initialize the builder with the max relationship information.
      CognosComplexExpressionBuilder(java.lang.String relationshipName, java.lang.String childName, java.lang.String parentName, java.lang.String dataSourceViewNamespace, java.lang.String databaseType)
      Initialize the builder with the max relationship information.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Node buildComplexExpression(java.lang.String whereClause)
      Givent the sql where clause, convert it to a Cognos complex relationship, or fail it, if it cannot be converted.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CognosComplexExpressionBuilder

        public CognosComplexExpressionBuilder(java.lang.String relationshipName,
                                              java.lang.String childName,
                                              java.lang.String parentName,
                                              java.lang.String dataSourceViewNamespace,
                                              java.lang.String databaseType)
        Initialize the builder with the max relationship information.
        Parameters:
        relationshipName -
        childName -
        parentName -
        databaseType -
        dataSourceViewNamespace -
      • CognosComplexExpressionBuilder

        public CognosComplexExpressionBuilder(java.lang.String relationshipName,
                                              java.lang.String childName,
                                              java.lang.String parentName,
                                              java.lang.String databaseType)
        Initialize the builder with the max relationship information.
        Parameters:
        relationshipName -
        childName -
        parentName -
        databaseType -
    • Method Detail

      • buildComplexExpression

        public Node buildComplexExpression(java.lang.String whereClause)
                                    throws java.rmi.RemoteException,
                                           CognosTransformationException,
                                           MXException
        Givent the sql where clause, convert it to a Cognos complex relationship, or fail it, if it cannot be converted. A maximo sql where would look like,
        assetnum = :assetnum
        and the resulting cognos relationship would look like
        [Data Source View].[matusetrans].[assetnum] = [Data Source View].[asset].[assetnum]
        Parameters:
        whereClause -
        Returns:
        Throws:
        java.rmi.RemoteException
        MXException
        CognosTransformationException