com.ibm.tivoli.maximo.fdmbo.analyze

Class JSONAnalyzer

  • java.lang.Object
    • com.ibm.tivoli.maximo.fdmbo.analyze.JSONAnalyzer
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      protected com.ibm.json.java.JSONArtifact jsonArtifact 
    • Constructor Summary

      Constructors 
      Constructor and Description
      JSONAnalyzer() 
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected void analyze(JSONObjectInfo jsonObjInfo, java.lang.String propName, java.lang.Object o, java.lang.String dateType, java.lang.String dateFormat, boolean optimize) 
      protected JSONObjectInfo analyze(com.ibm.json.java.JSONObject rootJsonObject, java.lang.String resourceName, java.lang.String dateType, java.lang.String dateFormat, boolean optimize) 
      protected void analyzeConstraints(JSONObjectInfo jsonObjInfo, JSONPropertyInfo jsonProp) 
      protected JSONPropertyInfo buildPropertyInfo(java.lang.String propName, java.lang.String attributeName, int type, java.lang.Object defaultValue, long suggestedLength, java.lang.String dateType, java.lang.String dateFormat, java.lang.String title) 
      java.lang.String findParamters(java.lang.String paramName, java.lang.String whereClause, boolean isRequired)
      Find parameters from relationship or from context.
      java.lang.String formatParameter(java.lang.String url, java.lang.String paramter, java.lang.String whereClause)
      Formats where clause.
      static java.lang.String getMappedName(java.lang.String propName, boolean isObject) 
      static java.lang.String getResolvedAttrName(java.lang.String origAttrName, java.lang.String attrName, java.util.Set props, int start) 
      static java.lang.String getResolvedName(java.lang.String origPropName, java.lang.String propName, int start) 
      JSONResourceInfo ingest(byte[] jsonData, byte[] schemaData, java.lang.String resourceName, java.lang.String collectionProp, java.lang.String dateType, java.lang.String dateFormat, boolean optimize) 
      boolean isDateTime(java.lang.String dateType, java.lang.String dateFormat, java.lang.String data) 
      boolean isDateTimeInMiliSec(java.lang.String dateType, java.lang.String propName, long data) 
      boolean licenseCheck(java.lang.String productName)
      Check license.
      void logAPICall(java.lang.String productName, java.lang.String resourceName, UserInfo userInfo)
      Log call to store product name and last time it was called.
      void optimize(JSONResourceInfo resInfo) 
      protected void optimizeJSONNodes(JSONObjectInfo joi) 
      static java.lang.String replaceInvalidChar(java.lang.String checkString) 
      • Methods inherited from class java.lang.Object

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

      • jsonArtifact

        protected com.ibm.json.java.JSONArtifact jsonArtifact
    • Constructor Detail

      • JSONAnalyzer

        public JSONAnalyzer()
    • Method Detail

      • ingest

        public JSONResourceInfo ingest(byte[] jsonData,
                                       byte[] schemaData,
                                       java.lang.String resourceName,
                                       java.lang.String collectionProp,
                                       java.lang.String dateType,
                                       java.lang.String dateFormat,
                                       boolean optimize)
                                throws java.io.IOException,
                                       MXException
        Throws:
        java.io.IOException
        MXException
      • analyze

        protected JSONObjectInfo analyze(com.ibm.json.java.JSONObject rootJsonObject,
                                         java.lang.String resourceName,
                                         java.lang.String dateType,
                                         java.lang.String dateFormat,
                                         boolean optimize)
                                  throws java.rmi.RemoteException,
                                         MXException
        Throws:
        java.rmi.RemoteException
        MXException
      • analyze

        protected void analyze(JSONObjectInfo jsonObjInfo,
                               java.lang.String propName,
                               java.lang.Object o,
                               java.lang.String dateType,
                               java.lang.String dateFormat,
                               boolean optimize)
                        throws java.rmi.RemoteException,
                               MXException
        Throws:
        java.rmi.RemoteException
        MXException
      • isDateTime

        public boolean isDateTime(java.lang.String dateType,
                                  java.lang.String dateFormat,
                                  java.lang.String data)
      • isDateTimeInMiliSec

        public boolean isDateTimeInMiliSec(java.lang.String dateType,
                                           java.lang.String propName,
                                           long data)
      • getMappedName

        public static java.lang.String getMappedName(java.lang.String propName,
                                                     boolean isObject)
      • getResolvedName

        public static java.lang.String getResolvedName(java.lang.String origPropName,
                                                       java.lang.String propName,
                                                       int start)
      • optimizeJSONNodes

        protected void optimizeJSONNodes(JSONObjectInfo joi)
      • getResolvedAttrName

        public static java.lang.String getResolvedAttrName(java.lang.String origAttrName,
                                                           java.lang.String attrName,
                                                           java.util.Set props,
                                                           int start)
      • buildPropertyInfo

        protected JSONPropertyInfo buildPropertyInfo(java.lang.String propName,
                                                     java.lang.String attributeName,
                                                     int type,
                                                     java.lang.Object defaultValue,
                                                     long suggestedLength,
                                                     java.lang.String dateType,
                                                     java.lang.String dateFormat,
                                                     java.lang.String title)
      • replaceInvalidChar

        public static java.lang.String replaceInvalidChar(java.lang.String checkString)
      • formatParameter

        public java.lang.String formatParameter(java.lang.String url,
                                                java.lang.String paramter,
                                                java.lang.String whereClause)
                                         throws java.rmi.RemoteException,
                                                MXException
        Formats where clause.
        Parameters:
        url - invoke url
        method - HTTP invoke method
        method - HTTP invoke method
        Returns:
        new formatted URL
        Throws:
        MXException - Maximo Exception
        java.rmi.RemoteException - Remote Exception
      • findParamters

        public java.lang.String findParamters(java.lang.String paramName,
                                              java.lang.String whereClause,
                                              boolean isRequired)
                                       throws java.rmi.RemoteException,
                                              MXException
        Find parameters from relationship or from context.
        Parameters:
        paramName - parameter
        whereClause - where clause. Will be null for API calls
        isRequired - is parameter required
        Returns:
        value for the parameter
        Throws:
        MXException - Maximo Exception
        java.rmi.RemoteException - Remote Exception
      • licenseCheck

        public boolean licenseCheck(java.lang.String productName)
                             throws java.rmi.RemoteException,
                                    MXException
        Check license. It will be overridden by individual analyzer.
        Returns:
        can resource be processed
        Throws:
        MXException
        java.rmi.RemoteException
      • logAPICall

        public void logAPICall(java.lang.String productName,
                               java.lang.String resourceName,
                               UserInfo userInfo)
                        throws java.rmi.RemoteException,
                               MXException
        Log call to store product name and last time it was called.
        Parameters:
        productName - product name
        resourceName - resource name
        UserInfo - user info
        Throws:
        MXException
        java.rmi.RemoteException