Class FlowXML

  • All Implemented Interfaces:
    java.io.Serializable

    public class FlowXML
    extends java.lang.Object
    implements java.io.Serializable
    Simplicité XML flow manager
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CLEAR_CACHE_AFTER
      Clear cache after processing mode
      static java.lang.String CLEAR_CACHE_BEFORE
      Clear cache before processing mode
      static java.lang.String CLEAR_CACHE_BOTH
      Clear cache before and afterprocessing mode
      static java.lang.String CLEAR_CACHE_NONE
      No clear cache mode
    • Constructor Summary

      Constructors 
      Constructor Description
      FlowXML()
      Default constructor
      FlowXML​(boolean atomic)
      Constructor
      FlowXML​(boolean atomic, java.lang.String clear)
      Constructor
      FlowXML​(byte[] zip)
      Constructor, loads a ZIP byte array data which contains:
      - XML files to load in alphabetic order
      - Attached documents
      FlowXML​(java.io.InputStream zis)
      Constructor, oad ZIP input stream which contains:
      - XML files to load in alphabetic order
      - Attached documents
      FlowXML​(java.io.InputStream is, java.lang.String origin)
      Constructor, loads an input stream
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addObject​(ObjectXML obj)
      Add an XML object
      void addObject​(ObjectDB obj, java.lang.String action)
      Add an XML object with specified action
      void addObject​(ObjectDB obj, java.lang.String action, boolean timestampFields, boolean inlineDocs)
      Add an XML object with specified action
      void clear()
      Clear objects of flow
      java.lang.String compare​(Grant g, FlowXML origin, FlowXML flow, java.lang.String title1, java.lang.String title2)
      Compare with XML flow to find differences (sources must contain full existing objects with all fields to compare)
      static java.lang.String error​(java.lang.String message)
      Standard XML error message
      static FlowXML fromJSON​(java.lang.String json)
      Parse JSON flow string into an XML flow
      static FlowXML fromJSON​(org.json.JSONObject json)
      Parse JSON flow into an XML flow
      static FlowXML fromYAML​(java.lang.String yaml)
      Parse YAML flow string into an XML flow
      java.lang.String getClearCache()
      Get clear cache mode
      java.util.Date getEffectiveDate()
      Get effective import date
      java.lang.String getExternalDir()
      Get external directory
      ObjectXML getFirstObject()
      Get XML object at first index
      java.io.InputStream getInputStream()
      Deprecated.
      Use getXMLInputStream
      java.io.InputStream getJSONInputStream()
      Stream flow as JSON byte array input stream
      ObjectXML getLastObject()
      Get XML object at last index
      ObjectXML getObject​(int i)
      Get XML object at specified index
      java.util.List<ObjectXML> getObjects()
      Get all XML objects of flow
      int getSize()
      Get number of XML objects in flow
      java.lang.String getTempDir()
      Get temporary directory
      java.io.InputStream getXMLInputStream()
      Stream flow as XML byte array input stream
      java.io.InputStream getYAMLInputStream()
      Stream flow as YAML byte array input stream
      void insertObject​(ObjectXML obj, int index)
      Insert an XML object at specified index
      boolean isAtomic()
      Is atomic?
      void removeTempDir()
      Remove temporary directory
      static java.lang.String result​(java.lang.String message)
      Get standard XML result message
      void setEffectiveDate​(java.util.Date d)
      Set effective import date
      boolean toFile​(java.lang.String path)
      Serialize as XML file
      java.lang.StringBuilder toJSON()
      Serialize as JSON string builder
      java.lang.StringBuilder toJSON​(boolean indent)
      Serialize as JSON string builder
      org.json.JSONObject toJSONObject()
      Serialize as JSON object
      java.lang.String toString()
      Serialize as XML string
      java.lang.StringBuilder toXML()
      Serialize as XML string builder
      java.lang.StringBuilder toXML​(java.lang.String tab)
      Serialize as XML string builder
      java.lang.StringBuilder toYAML()
      Serialize as YAML string builder
      java.io.File toZIP​(java.lang.String name)
      Deprecated.
      Use toZIP with format
      java.io.File toZIP​(java.lang.String name, java.lang.String format)
      Serialize as ZIP archive file with documents
      static java.lang.String xmlFooter()
      Get XML footer
      static java.lang.String xmlHeader()
      Get XML header
      static java.lang.String xmlHeader​(boolean atomic, java.util.Date effectiveDate, java.lang.String clearCache)
      Get XML header
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • CLEAR_CACHE_NONE

        public static final java.lang.String CLEAR_CACHE_NONE
        No clear cache mode
        See Also:
        Constant Field Values
      • CLEAR_CACHE_BEFORE

        public static final java.lang.String CLEAR_CACHE_BEFORE
        Clear cache before processing mode
        See Also:
        Constant Field Values
      • CLEAR_CACHE_AFTER

        public static final java.lang.String CLEAR_CACHE_AFTER
        Clear cache after processing mode
        See Also:
        Constant Field Values
      • CLEAR_CACHE_BOTH

        public static final java.lang.String CLEAR_CACHE_BOTH
        Clear cache before and afterprocessing mode
        See Also:
        Constant Field Values
    • Constructor Detail

      • FlowXML

        public FlowXML()
        Default constructor
      • FlowXML

        public FlowXML​(boolean atomic)
        Constructor
        Parameters:
        atomic - True = transactional
      • FlowXML

        public FlowXML​(boolean atomic,
                       java.lang.String clear)
        Constructor
        Parameters:
        atomic - True = transactional
        clear - Optional clear cache: none,before,after,both
      • FlowXML

        public FlowXML​(java.io.InputStream is,
                       java.lang.String origin)
                throws XMLException
        Constructor, loads an input stream
        Parameters:
        is - Input stream
        origin - Flow origin
        Throws:
        XMLException
      • FlowXML

        public FlowXML​(byte[] zip)
                throws XMLException
        Constructor, loads a ZIP byte array data which contains:
        - XML files to load in alphabetic order
        - Attached documents
        Parameters:
        zip - ZIP byte array
        Throws:
        XMLException
      • FlowXML

        public FlowXML​(java.io.InputStream zis)
                throws XMLException
        Constructor, oad ZIP input stream which contains:
        - XML files to load in alphabetic order
        - Attached documents
        Parameters:
        zis - ZIP input stream
        Throws:
        XMLException
    • Method Detail

      • getObject

        public ObjectXML getObject​(int i)
        Get XML object at specified index
        Parameters:
        i - Index
        Returns:
        XML object
      • getFirstObject

        public ObjectXML getFirstObject()
        Get XML object at first index
        Returns:
        XML object
      • getLastObject

        public ObjectXML getLastObject()
        Get XML object at last index
        Returns:
        XML object
      • getObjects

        public java.util.List<ObjectXML> getObjects()
        Get all XML objects of flow
        Returns:
        XML objects list
      • getSize

        public int getSize()
        Get number of XML objects in flow
        Returns:
        Number of XML objects in flow
      • clear

        public void clear()
        Clear objects of flow
      • isAtomic

        public boolean isAtomic()
        Is atomic?
        Returns:
        True if atomic
      • getExternalDir

        public java.lang.String getExternalDir()
        Get external directory
        Returns:
        External directory
      • getTempDir

        public java.lang.String getTempDir()
        Get temporary directory
        Returns:
        Temporay directory
      • getClearCache

        public java.lang.String getClearCache()
        Get clear cache mode
        Returns:
        Clear cache mode
      • getEffectiveDate

        public java.util.Date getEffectiveDate()
        Get effective import date
        Returns:
        Effective import date or null
      • setEffectiveDate

        public void setEffectiveDate​(java.util.Date d)
        Set effective import date
        Parameters:
        d - Effective import date
      • addObject

        public void addObject​(ObjectXML obj)
        Add an XML object
        Parameters:
        obj - XML object to add
      • insertObject

        public void insertObject​(ObjectXML obj,
                                 int index)
        Insert an XML object at specified index
        Parameters:
        obj - XML object to insert
        index - Index
      • addObject

        public void addObject​(ObjectDB obj,
                              java.lang.String action)
        Add an XML object with specified action
        Parameters:
        obj - XML object
        action - Action
      • addObject

        public void addObject​(ObjectDB obj,
                              java.lang.String action,
                              boolean timestampFields,
                              boolean inlineDocs)
        Add an XML object with specified action
        Parameters:
        obj - XML object
        action - Action
        timestampFields - With timestamp fields (if applicable)
        inlineDocs - With documents inlined data
      • xmlHeader

        public static java.lang.String xmlHeader()
        Get XML header
        Returns:
        XML header
      • xmlHeader

        public static java.lang.String xmlHeader​(boolean atomic,
                                                 java.util.Date effectiveDate,
                                                 java.lang.String clearCache)
        Get XML header
        Parameters:
        atomic - Atomic?
        effectiveDate - Optional effective import date
        clearCache - Optional clear cache mode
        Returns:
        XML header
      • xmlFooter

        public static java.lang.String xmlFooter()
        Get XML footer
        Returns:
        XML footer
      • result

        public static java.lang.String result​(java.lang.String message)
        Get standard XML result message
        Parameters:
        message - Result message
        Returns:
        Standard XML fragment for result message
      • error

        public static java.lang.String error​(java.lang.String message)
        Standard XML error message
        Parameters:
        message - Error message
        Returns:
        Standard XML fragment for error message
      • getInputStream

        @Deprecated
        public java.io.InputStream getInputStream()
        Deprecated.
        Use getXMLInputStream
      • getXMLInputStream

        public java.io.InputStream getXMLInputStream()
        Stream flow as XML byte array input stream
        Returns:
        XML byte array input stream
      • getJSONInputStream

        public java.io.InputStream getJSONInputStream()
        Stream flow as JSON byte array input stream
        Returns:
        JSON byte array input stream
      • getYAMLInputStream

        public java.io.InputStream getYAMLInputStream()
        Stream flow as YAML byte array input stream
        Returns:
        YAML byte array input stream
      • fromJSON

        public static FlowXML fromJSON​(java.lang.String json)
        Parse JSON flow string into an XML flow
        Parameters:
        json - JSON flow string
        Returns:
        XML object
      • fromJSON

        public static FlowXML fromJSON​(org.json.JSONObject json)
        Parse JSON flow into an XML flow
        Parameters:
        json - JSON flow
        Returns:
        XML flow
      • fromYAML

        public static FlowXML fromYAML​(java.lang.String yaml)
        Parse YAML flow string into an XML flow
        Parameters:
        yaml - YAML object string
        Returns:
        XML flow
      • toString

        public java.lang.String toString()
        Serialize as XML string
        Overrides:
        toString in class java.lang.Object
        Returns:
        XML string
      • toXML

        public java.lang.StringBuilder toXML()
        Serialize as XML string builder
        Returns:
        XML string builder
      • toXML

        public java.lang.StringBuilder toXML​(java.lang.String tab)
        Serialize as XML string builder
        Parameters:
        tab - Tabulation
        Returns:
        XML string builder
      • toJSON

        public java.lang.StringBuilder toJSON()
        Serialize as JSON string builder
        Returns:
        JSON string builder
      • toJSON

        public java.lang.StringBuilder toJSON​(boolean indent)
        Serialize as JSON string builder
        Parameters:
        indent - Indent?
        Returns:
        JSON string builder
      • toJSONObject

        public org.json.JSONObject toJSONObject()
        Serialize as JSON object
        Returns:
        JSON string builder
      • toYAML

        public java.lang.StringBuilder toYAML()
        Serialize as YAML string builder
        Returns:
        JSON string builder
      • toFile

        public boolean toFile​(java.lang.String path)
        Serialize as XML file
        Parameters:
        path - FIle path
        Returns:
        True if file writing is successful
      • toZIP

        @Deprecated
        public java.io.File toZIP​(java.lang.String name)
        Deprecated.
        Use toZIP with format
      • toZIP

        public java.io.File toZIP​(java.lang.String name,
                                  java.lang.String format)
                           throws java.io.IOException
        Serialize as ZIP archive file with documents
        Parameters:
        name - ZIP archive name
        format - Format (one of Integration.FORMAT_*)
        Returns:
        Zip file in temporary directory (caller have to delete it after usage)
        Throws:
        java.io.IOException
      • removeTempDir

        public void removeTempDir()
        Remove temporary directory
      • compare

        public java.lang.String compare​(Grant g,
                                        FlowXML origin,
                                        FlowXML flow,
                                        java.lang.String title1,
                                        java.lang.String title2)
        Compare with XML flow to find differences (sources must contain full existing objects with all fields to compare)
        Parameters:
        origin - Flow to compare with
        flow - XML result of the difference
        Returns:
        Comparison result as an HTML table