com.ca.jcs.util
Class FileConnectorPersister

java.lang.Object
  extended by com.ca.jcs.util.FileConnectorPersister
All Implemented Interfaces:
ConnectorPersister

public class FileConnectorPersister
extends Object
implements ConnectorPersister

Save and load information by XML encoding/decoding to local files, where all information about a connector type (including its child connectors) is placed in a single directory named after it. TODO 1. Special handling for connectors that have metadata inside their jars is probably possible. 2. Splitting off of sensitive attributes so they can be obfuscated should be added - add new getter to ObjectClassMapping that returns a Set. 3. CONN_SKIP_PERSISTER_DELETE_ATTR added to allow testing of persisted state, when present persister state is left after deleting.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ca.jcs.ConnectorPersister
ConnectorPersister.State
 
Constructor Summary
FileConnectorPersister()
           
 
Method Summary
 void deleteConnectorState(String connTypeName, String connName)
           
 void deleteConnectorTypeState(String connTypeName)
           
 ConnectorManager getConnectorManager()
           
 String getDirectory()
           
 boolean isObfuscatedSplitRequired()
          If true tells connector manager to split off sensitive attributes and obfuscate their values, otherwise return false if persister doesn't want this work done.
 ConnectorPersister.State loadConnectorState(String connTypeName, String connName)
           
 ConnectorPersister.State loadConnectorTypeState(String connTypeName)
           
 void saveConnectorState(Connector conn, ConnectorPersister.State state)
          Save provided state for conn> If conn is a meta connector then its MetaObjectClassMap can be accessed via its class mappings list and used to drive specialized logic if required.
 void saveConnectorTypeState(ConnectorType connType, ConnectorPersister.State state)
           
 void setConnectorManager(ConnectorManager manager)
           
 void setDirectory(String directory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileConnectorPersister

public FileConnectorPersister()
Method Detail

isObfuscatedSplitRequired

public boolean isObfuscatedSplitRequired()
Description copied from interface: ConnectorPersister
If true tells connector manager to split off sensitive attributes and obfuscate their values, otherwise return false if persister doesn't want this work done.

Specified by:
isObfuscatedSplitRequired in interface ConnectorPersister

getConnectorManager

public ConnectorManager getConnectorManager()
Specified by:
getConnectorManager in interface ConnectorPersister

setConnectorManager

public void setConnectorManager(ConnectorManager manager)
Specified by:
setConnectorManager in interface ConnectorPersister

getDirectory

public String getDirectory()

setDirectory

public void setDirectory(String directory)

loadConnectorTypeState

public ConnectorPersister.State loadConnectorTypeState(String connTypeName)
Specified by:
loadConnectorTypeState in interface ConnectorPersister

loadConnectorState

public ConnectorPersister.State loadConnectorState(String connTypeName,
                                                   String connName)
Specified by:
loadConnectorState in interface ConnectorPersister

saveConnectorTypeState

public void saveConnectorTypeState(ConnectorType connType,
                                   ConnectorPersister.State state)
                            throws IOException
Specified by:
saveConnectorTypeState in interface ConnectorPersister
Throws:
IOException

saveConnectorState

public void saveConnectorState(Connector conn,
                               ConnectorPersister.State state)
                        throws IOException
Description copied from interface: ConnectorPersister
Save provided state for conn> If conn is a meta connector then its MetaObjectClassMap can be accessed via its class mappings list and used to drive specialized logic if required.

Specified by:
saveConnectorState in interface ConnectorPersister
Throws:
IOException
See Also:
ConnectorPersister.isObfuscatedSplitRequired().

deleteConnectorTypeState

public void deleteConnectorTypeState(String connTypeName)
                              throws IOException
Specified by:
deleteConnectorTypeState in interface ConnectorPersister
Throws:
IOException

deleteConnectorState

public void deleteConnectorState(String connTypeName,
                                 String connName)
                          throws IOException
Specified by:
deleteConnectorState in interface ConnectorPersister
Throws:
IOException


Created 2009-10-09 16:43 EST