Package com.simplicite.util.integration
Class FlowXML
- java.lang.Object
-
- com.simplicite.util.integration.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 modestatic java.lang.String
CLEAR_CACHE_BEFORE
Clear cache before processing modestatic java.lang.String
CLEAR_CACHE_BOTH
Clear cache before and afterprocessing modestatic java.lang.String
CLEAR_CACHE_NONE
No clear cache mode
-
Constructor Summary
Constructors Constructor Description FlowXML()
Default constructorFlowXML(boolean atomic)
ConstructorFlowXML(boolean atomic, java.lang.String clear)
ConstructorFlowXML(byte[] zip)
Constructor, loads a ZIP byte array data which contains:
- XML files to load in alphabetic order
- Attached documentsFlowXML(java.io.InputStream zis)
Constructor, oad ZIP input stream which contains:
- XML files to load in alphabetic order
- Attached documentsFlowXML(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 objectvoid
addObject(ObjectDB obj, java.lang.String action)
Add an XML object with specified actionvoid
addObject(ObjectDB obj, java.lang.String action, boolean timestampFields, boolean inlineDocs)
Add an XML object with specified actionvoid
clear()
Clear objects of flowjava.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 messagestatic FlowXML
fromJSON(java.lang.String json)
Parse JSON flow string into an XML flowstatic FlowXML
fromJSON(org.json.JSONObject json)
Parse JSON flow into an XML flowstatic FlowXML
fromYAML(java.lang.String yaml)
Parse YAML flow string into an XML flowjava.lang.String
getClearCache()
Get clear cache modejava.util.Date
getEffectiveDate()
Get effective import datejava.lang.String
getExternalDir()
Get external directoryObjectXML
getFirstObject()
Get XML object at first indexjava.io.InputStream
getInputStream()
Deprecated.Use getXMLInputStreamjava.io.InputStream
getJSONInputStream()
Stream flow as JSON byte array input streamObjectXML
getLastObject()
Get XML object at last indexObjectXML
getObject(int i)
Get XML object at specified indexjava.util.List<ObjectXML>
getObjects()
Get all XML objects of flowint
getSize()
Get number of XML objects in flowjava.lang.String
getTempDir()
Get temporary directoryjava.io.InputStream
getXMLInputStream()
Stream flow as XML byte array input streamjava.io.InputStream
getYAMLInputStream()
Stream flow as YAML byte array input streamvoid
insertObject(ObjectXML obj, int index)
Insert an XML object at specified indexboolean
isAtomic()
Is atomic?void
removeTempDir()
Remove temporary directorystatic java.lang.String
result(java.lang.String message)
Get standard XML result messagevoid
setEffectiveDate(java.util.Date d)
Set effective import dateboolean
toFile(java.lang.String path)
Serialize as XML filejava.lang.StringBuilder
toJSON()
Serialize as JSON string builderjava.lang.StringBuilder
toJSON(boolean indent)
Serialize as JSON string builderorg.json.JSONObject
toJSONObject()
Serialize as JSON objectjava.lang.String
toString()
Serialize as XML stringjava.lang.StringBuilder
toXML()
Serialize as XML string builderjava.lang.StringBuilder
toXML(java.lang.String tab)
Serialize as XML string builderjava.lang.StringBuilder
toYAML()
Serialize as YAML string builderjava.io.File
toZIP(java.lang.String name)
Deprecated.Use toZIP with formatjava.io.File
toZIP(java.lang.String name, java.lang.String format)
Serialize as ZIP archive file with documentsstatic java.lang.String
xmlFooter()
Get XML footerstatic java.lang.String
xmlHeader()
Get XML headerstatic java.lang.String
xmlHeader(boolean atomic, java.util.Date effectiveDate, java.lang.String clearCache)
Get XML header
-
-
-
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 = transactionalclear
- 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 streamorigin
- 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 insertindex
- Index
-
addObject
public void addObject(ObjectDB obj, java.lang.String action)
Add an XML object with specified action- Parameters:
obj
- XML objectaction
- 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 objectaction
- ActiontimestampFields
- 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 dateclearCache
- 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 classjava.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 nameformat
- 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 withflow
- XML result of the difference- Returns:
- Comparison result as an HTML table
-
-