wt.ixb.conflictFramework.conflictResolution
Class IXConflictHelper

java.lang.Object
  extended bywt.ixb.conflictFramework.conflictResolution.IXConflictHelper
All Implemented Interfaces:
Externalizable, Serializable

public class IXConflictHelper
extends Object
implements Externalizable



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static String CONFLICT_RESOURCE
           
private static boolean DEBUG
           
static long EXTERNALIZATION_VERSION_UID
           
static String IXB_CONFLICT_CONTEXT
           
static String IXB_CONFLICT_MAP
           
static String OBJECT
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Constructor Summary
IXConflictHelper()
           
 
Method Summary
static void addConflict(Class className, String id, IXReferenceConflict conflictType, IXReferenceConflictResolution[] conResArr, IXReferenceConflictResolution defaultResolution, String rb, String key, Object[] params)
          This is used from handlers to report conflict.
static void addConflictAndThrowException(Class className, String id, IXReferenceConflict conflictType, IXReferenceConflictResolution[] conResArr, IXReferenceConflictResolution defaultResolution, String rb, String key, Object[] params)
          This is used from handlers to report conflict during import operation.
private static IXConflictResolverIfc getConflictResolver(String objectType, IXReferenceConflictResolution resolution, IxbElement fileXML, Importer importer)
           
private static String getKey(Class className, String id, IXReferenceConflict conflictType)
           
private static Persistable getPersistableObject(Class className, String id)
           
static IXReferenceConflictResolution getResolution(Class className, String id, IXReferenceConflict conflictType)
          This will search if any resolution is available with conflict framework for given object and conflictType.
static void logMessage(String rs, String msgId, Object[] params)
           
static void processConflicts()
          This will check if any conflicts are present in method context.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(IXConflictHelper thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
static ArrayList resolve(Class className, String id, IXReferenceConflict conflictType, IxbElement fileXML, Importer importer, Map map)
          This will search for resolution for given object and conflicttype.
private static ArrayList resolve(String objectType, IXReferenceConflictResolution resolution, IxbElement fileXML, Importer importer, Map map)
           
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

DEBUG

private static boolean DEBUG

CONFLICT_RESOURCE

public static final String CONFLICT_RESOURCE
See Also:
Constant Field Values

IXB_CONFLICT_CONTEXT

public static final String IXB_CONFLICT_CONTEXT
See Also:
Constant Field Values

IXB_CONFLICT_MAP

public static final String IXB_CONFLICT_MAP
See Also:
Constant Field Values

OBJECT

public static final String OBJECT
See Also:
Constant Field Values
Constructor Detail

IXConflictHelper

public IXConflictHelper()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(IXConflictHelper thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

processConflicts

public static void processConflicts()
                             throws WTException
This will check if any conflicts are present in method context. If yes, then create and throw IXConflictException.

Supported API: false

Throws:
WTException

getResolution

public static IXReferenceConflictResolution getResolution(Class className,
                                                          String id,
                                                          IXReferenceConflict conflictType)
                                                   throws WTException
This will search if any resolution is available with conflict framework for given object and conflictType.

Supported API: false

Parameters:
className -
id -
conflictType -
Returns:
IXReferenceConflictResolution
Throws:
WTException

resolve

public static ArrayList resolve(Class className,
                                String id,
                                IXReferenceConflict conflictType,
                                IxbElement fileXML,
                                Importer importer,
                                Map map)
                         throws WTException
This will search for resolution for given object and conflicttype. If resolution is present, corresponding resolver is found using ResolverFactory and resolve method of resolver is called. Returns ArrayList containing updated object.

Supported API: false

Parameters:
className -
id -
conflictType -
fileXML -
importer -
map -
Returns:
ArrayList
Throws:
WTException

addConflict

public static void addConflict(Class className,
                               String id,
                               IXReferenceConflict conflictType,
                               IXReferenceConflictResolution[] conResArr,
                               IXReferenceConflictResolution defaultResolution,
                               String rb,
                               String key,
                               Object[] params)
                        throws WTException
This is used from handlers to report conflict.

Supported API: false

Parameters:
className -
id -
conflictType -
conResArr -
defaultResolution -
rb -
key -
params -
Throws:
WTException

addConflictAndThrowException

public static void addConflictAndThrowException(Class className,
                                                String id,
                                                IXReferenceConflict conflictType,
                                                IXReferenceConflictResolution[] conResArr,
                                                IXReferenceConflictResolution defaultResolution,
                                                String rb,
                                                String key,
                                                Object[] params)
                                         throws WTException
This is used from handlers to report conflict during import operation. This method will construct ConflictElement and throw IXConflictException.

Supported API: false

Parameters:
className -
id -
conflictType -
conResArr -
defaultResolution -
rb -
key -
params -
Throws:
WTException

logMessage

public static void logMessage(String rs,
                              String msgId,
                              Object[] params)

getKey

private static String getKey(Class className,
                             String id,
                             IXReferenceConflict conflictType)

getPersistableObject

private static Persistable getPersistableObject(Class className,
                                                String id)
                                         throws WTException
Throws:
WTException

resolve

private static ArrayList resolve(String objectType,
                                 IXReferenceConflictResolution resolution,
                                 IxbElement fileXML,
                                 Importer importer,
                                 Map map)
                          throws WTException
Throws:
WTException

getConflictResolver

private static IXConflictResolverIfc getConflictResolver(String objectType,
                                                         IXReferenceConflictResolution resolution,
                                                         IxbElement fileXML,
                                                         Importer importer)
                                                  throws WTException
Throws:
WTException