org.enhydra.shark.utilities
Class MiscUtilities

java.lang.Object
  extended byorg.enhydra.shark.utilities.MiscUtilities

public class MiscUtilities
extends java.lang.Object

The various utilities needed for shark.

Author:
Sasa Bojanic, Vladimir Puskas, Zoran Milakovic

Constructor Summary
MiscUtilities()
           
 
Method Summary
static java.lang.Object cloneWRD(java.lang.Object wrd)
          Tries to clone Workflow relevant data.
static long convertDateAndTimeStringToMilliseconds(java.lang.String dateTime)
          Converts the given time string into milliseconds.
static java.lang.String convertMillisecondsToDateAndTimeString(long cdt)
          Converts the given time in milliseconds into the time string in format YYYY-MM-DD-HH-mm-SS-mmmm
static void copyFile(java.lang.String src, java.lang.String dest)
           
static java.lang.Object copyPrimitiveArray(java.lang.Object srcArray)
           
static java.lang.Object deserialize(byte[] array)
           
static long getAbsoluteTimeInUTCFormat()
           
static java.lang.String getTimeDiff(long tStart, long tEnd)
           
static long getTimeZoneOffset()
           
static long getTimeZoneOffset(long currentTime)
           
static boolean isComplexWRD(java.lang.Object wrd)
          The variable is complex if its type is not BasicType in the XPDL sense.
static boolean isEmptyString(java.lang.String str)
           
static boolean isPrimitiveArray(java.lang.Object obj)
           
static java.lang.String passwordDigest(java.lang.String password, java.lang.String algorithm)
           
static java.lang.String replaceAll(java.lang.String input, java.lang.String forReplace, java.lang.String replaceWith)
          Replace all occurrence of forReplace with replaceWith in input string.
static byte[] serialize(java.lang.Object obj)
           
static java.lang.String[] tokenize(java.lang.String input, java.lang.String boundary)
          Take the given string and chop it up into a series of strings on given boundries.
static java.lang.Object transform(java.lang.Object strOrNode, java.lang.Object xslFileOrIStream, java.lang.Class outCls, java.util.Map map)
          Transforms given string or node, using xslt given by file location (String) or by InputStream into the String or Node depending on the outCls parameter.
static java.lang.Object transform(java.lang.Object strOrNode, java.lang.Object xslSource, java.lang.Class outCls, java.util.Map map, javax.xml.transform.TransformerFactory tFactory)
          Transforms given string or node, using xslt given by file location (String) or by InputStream into the String or Node depending on the outCls parameter.
static void traverse(java.io.File f, java.util.Collection c, java.io.FileFilter filter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MiscUtilities

public MiscUtilities()
Method Detail

traverse

public static void traverse(java.io.File f,
                            java.util.Collection c,
                            java.io.FileFilter filter)

serialize

public static byte[] serialize(java.lang.Object obj)
                        throws java.io.IOException
Throws:
java.io.IOException

deserialize

public static java.lang.Object deserialize(byte[] array)
                                    throws java.lang.Throwable
Throws:
java.lang.Throwable

getAbsoluteTimeInUTCFormat

public static long getAbsoluteTimeInUTCFormat()

tokenize

public static java.lang.String[] tokenize(java.lang.String input,
                                          java.lang.String boundary)
Take the given string and chop it up into a series of strings on given boundries. This is useful for trying to get an array of strings out of the resource file.


getTimeDiff

public static java.lang.String getTimeDiff(long tStart,
                                           long tEnd)

copyFile

public static void copyFile(java.lang.String src,
                            java.lang.String dest)
                     throws java.io.IOException
Throws:
java.io.IOException

convertMillisecondsToDateAndTimeString

public static java.lang.String convertMillisecondsToDateAndTimeString(long cdt)
Converts the given time in milliseconds into the time string in format YYYY-MM-DD-HH-mm-SS-mmmm


convertDateAndTimeStringToMilliseconds

public static long convertDateAndTimeStringToMilliseconds(java.lang.String dateTime)
Converts the given time string into milliseconds.


isEmptyString

public static boolean isEmptyString(java.lang.String str)

isComplexWRD

public static final boolean isComplexWRD(java.lang.Object wrd)
The variable is complex if its type is not BasicType in the XPDL sense.


cloneWRD

public static java.lang.Object cloneWRD(java.lang.Object wrd)
                                 throws java.lang.Throwable
Tries to clone Workflow relevant data. It this is a simple WRD (String, Long, Boolean, ...) then it just returns the same object. If it is a complex WRD (some specific Java class), it first check if it implements interface Cloneable, and tries to execute public method clone() if it finds it, by using reflection, and if this doesn't succeed, it tries to serialize object, and then deserialize it. If everything fails, the original object is returned.

Throws:
java.lang.Throwable

isPrimitiveArray

public static boolean isPrimitiveArray(java.lang.Object obj)

copyPrimitiveArray

public static java.lang.Object copyPrimitiveArray(java.lang.Object srcArray)
                                           throws java.lang.Throwable
Throws:
java.lang.Throwable

passwordDigest

public static java.lang.String passwordDigest(java.lang.String password,
                                              java.lang.String algorithm)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

replaceAll

public static java.lang.String replaceAll(java.lang.String input,
                                          java.lang.String forReplace,
                                          java.lang.String replaceWith)
Replace all occurrence of forReplace with replaceWith in input string.

Parameters:
input - represents input string
forReplace - represents substring for replace
replaceWith - represents replaced string value
Returns:
new string with replaced values

transform

public static java.lang.Object transform(java.lang.Object strOrNode,
                                         java.lang.Object xslFileOrIStream,
                                         java.lang.Class outCls,
                                         java.util.Map map)
                                  throws java.lang.Exception
Transforms given string or node, using xslt given by file location (String) or by InputStream into the String or Node depending on the outCls parameter. Map parameter is used to pass additional parameters to XSLT.

Throws:
java.lang.Exception

transform

public static java.lang.Object transform(java.lang.Object strOrNode,
                                         java.lang.Object xslSource,
                                         java.lang.Class outCls,
                                         java.util.Map map,
                                         javax.xml.transform.TransformerFactory tFactory)
                                  throws java.lang.Exception
Transforms given string or node, using xslt given by file location (String) or by InputStream into the String or Node depending on the outCls parameter. Map parameter is used to pass additional parameters to XSLT. Use specified TransformerFactory instance.

Throws:
java.lang.Exception

getTimeZoneOffset

public static long getTimeZoneOffset()

getTimeZoneOffset

public static long getTimeZoneOffset(long currentTime)