org.xiruss.repository.client.importers
Class BosMember

java.lang.Object
  extended by org.xiruss.repository.client.importers.BosMember
Direct Known Subclasses:
DirectoryBosMember, XmlBosMember

public class BosMember
extends java.lang.Object

A single member of a bounded object set. Maintains a list of its direct child members, if any.


Field Summary
protected  BoundedObjectSet bos
           
protected  java.util.HashMap childMembers
           
protected  java.util.Collection dependencies
           
protected  Resource existingResource
           
protected  boolean isBosRoot
           
protected  java.util.Vector links
           
protected  java.io.File memberFile
           
protected  java.lang.String memberKey
           
protected  java.lang.String memberName
           
protected  java.lang.String originalSystemId
           
protected  java.util.HashMap parentMembers
           
protected  java.util.Map propertyMap
           
protected  Resource resource
           
protected  Snapshot snapshot
           
protected  Version version
           
 
Constructor Summary
BosMember()
           
 
Method Summary
 void addChild(BosMember childMember)
          Adds a child member.
 void addDependency(java.lang.String dependencyType, BosMember targetMember, java.lang.String policyType)
           
 BosDependency addDependency(java.lang.String dependencyType, BosMember targetMember, java.lang.String policyType, java.lang.Object sourceObj, org.w3c.dom.Element sourceElement)
          Adds a dependency association between this member and the specified member
 void addParent(BosMember member)
           
protected  Version createNewVersion(java.io.File infile, java.lang.String origFilePath, Snapshot snap, java.lang.Class verClass, SourceToVersionMap so2verMap)
          This version of the method is intended to be called from superclasses that do preprocessing on the input BOS member file and therefore need to provide a new file for actual storage.
 Version createNewVersion(Snapshot snap, SourceToVersionMap so2verMap)
          Generic process for creating new versions from BOS members.
 void doSemanticProcessing()
           
 java.util.HashMap getChildMembers()
           
 java.util.Collection getDependencies()
           
 java.lang.String getEncoding()
           
 Resource getExistingResource()
           
 java.lang.String getKey()
           
 java.util.Vector getLinks()
           
 java.io.File getMemberFile()
          Get the storage object for the Bos Member.
 java.lang.String getMimeType()
           
 java.lang.String getName()
           
 java.lang.String getOriginalSystemId()
          Returns the original system ID (file name) of the BOS member's file.
 java.util.HashMap getParentMembers()
           
 java.lang.Object getProperty(java.lang.String propertyName)
           
 Resource getResource()
           
 Version getVersion()
           
 boolean hasProperty(java.lang.String propertyName)
           
 void init(BoundedObjectSet bos, java.lang.String memberKey, java.io.File memberFile, java.lang.String memberName)
           
 void init(BoundedObjectSet bos, java.lang.String memberKey, java.io.File memberFile, java.lang.String memberName, boolean isBosRoot)
           
 void init(BoundedObjectSet bos, java.lang.String memberKey, Resource res, java.lang.String memberName, Snapshot snapshot)
          Initialize a BOS member using an existing resource instead of a file to be imported.
 boolean isBosRoot()
           
 void putChildMember(java.lang.String memberKey, BosMember member)
          Add a child member for this BosMember.
 java.lang.String reportBosMember()
          Returns a multi-line report of the BOS member's properties
 void setAsRoot()
           
 void setExistingResource(Resource resource)
           
 void setLinks(java.util.Vector links)
           
 void setMemberFile(java.io.File file)
           
 void setMimeType(java.lang.String mimeType)
           
 void setProperty(java.lang.String propertyName, java.lang.Object propertyValue)
          Sets a property.
 void setResource(Resource res)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

snapshot

protected Snapshot snapshot

existingResource

protected Resource existingResource

originalSystemId

protected java.lang.String originalSystemId

version

protected Version version

propertyMap

protected java.util.Map propertyMap

resource

protected Resource resource

links

protected java.util.Vector links

isBosRoot

protected boolean isBosRoot

dependencies

protected java.util.Collection dependencies

parentMembers

protected java.util.HashMap parentMembers

memberFile

protected java.io.File memberFile

memberKey

protected java.lang.String memberKey

memberName

protected java.lang.String memberName

childMembers

protected java.util.HashMap childMembers

bos

protected BoundedObjectSet bos
Constructor Detail

BosMember

public BosMember()
Method Detail

init

public void init(BoundedObjectSet bos,
                 java.lang.String memberKey,
                 java.io.File memberFile,
                 java.lang.String memberName)
          throws BosException,
                 ImporterException
Parameters:
memberKey -
memberObj -
memberName -
Throws:
BosException
ImporterException

init

public void init(BoundedObjectSet bos,
                 java.lang.String memberKey,
                 java.io.File memberFile,
                 java.lang.String memberName,
                 boolean isBosRoot)
          throws BosException,
                 ImporterException
Parameters:
memberKey -
memberObj -
memberName -
Throws:
BosException
ImporterException

init

public void init(BoundedObjectSet bos,
                 java.lang.String memberKey,
                 Resource res,
                 java.lang.String memberName,
                 Snapshot snapshot)
Initialize a BOS member using an existing resource instead of a file to be imported.

Parameters:
bos -
memberKey -
res -
memberName -

doSemanticProcessing

public void doSemanticProcessing()
                          throws ImporterException,
                                 BosException
Throws:
ImporterException
BosException

putChildMember

public void putChildMember(java.lang.String memberKey,
                           BosMember member)
Add a child member for this BosMember.

Parameters:
memberKey - String key for the member within the BOS.
member - The member itself.

addParent

public void addParent(BosMember member)
Parameters:
member -

getMemberFile

public java.io.File getMemberFile()
Get the storage object for the Bos Member.


getChildMembers

public java.util.HashMap getChildMembers()
Returns:

getKey

public java.lang.String getKey()
Returns:

getName

public java.lang.String getName()
Returns:

setMemberFile

public void setMemberFile(java.io.File file)
Parameters:
object -

addChild

public void addChild(BosMember childMember)
              throws BosCycleException
Adds a child member. Caller must have already done a memberInAncestors() check, i.e., by using addMember() on BoundedObjectSet.

Parameters:
bosMember - Child member to be added.
Throws:
BosCycleException

getParentMembers

public java.util.HashMap getParentMembers()
Returns:

addDependency

public void addDependency(java.lang.String dependencyType,
                          BosMember targetMember,
                          java.lang.String policyType)

addDependency

public BosDependency addDependency(java.lang.String dependencyType,
                                   BosMember targetMember,
                                   java.lang.String policyType,
                                   java.lang.Object sourceObj,
                                   org.w3c.dom.Element sourceElement)
Adds a dependency association between this member and the specified member

Parameters:
UBR_DEPENDENCY_TYPE -
member -

getDependencies

public java.util.Collection getDependencies()
Returns:

isBosRoot

public boolean isBosRoot()

setAsRoot

public void setAsRoot()

setLinks

public void setLinks(java.util.Vector links)
Parameters:
links -

getLinks

public java.util.Vector getLinks()
Returns:

setResource

public void setResource(Resource res)
Parameters:
res -

getResource

public Resource getResource()

getProperty

public java.lang.Object getProperty(java.lang.String propertyName)
Parameters:
string -

setProperty

public void setProperty(java.lang.String propertyName,
                        java.lang.Object propertyValue)
Sets a property.

Parameters:
propertyName -
propertyValue -

hasProperty

public boolean hasProperty(java.lang.String propertyName)
Parameters:
string -
Returns:

createNewVersion

public Version createNewVersion(Snapshot snap,
                                SourceToVersionMap so2verMap)
                         throws java.io.IOException,
                                ImporterException,
                                VersionCommitException
Generic process for creating new versions from BOS members. This method will normally be specialized for different source file types (e.g., XML, Word, etc.) in order to handle the handling of semantic objects within the BOS members, such as rewriting link addresses or extracting metadata values.

Parameters:
rep - The repository the version is being imported to. Not used in the generic process but usually needed by specialized processes, for example, to generate URLs to target resources and versions.
fsm - File storage manager the BOS members are stored in.
so2verMap - The mapping from storage objects to previous versions.
Throws:
java.io.IOException
ImporterException
VersionCommitException

createNewVersion

protected Version createNewVersion(java.io.File infile,
                                   java.lang.String origFilePath,
                                   Snapshot snap,
                                   java.lang.Class verClass,
                                   SourceToVersionMap so2verMap)
                            throws java.io.IOException,
                                   VersionCommitException
This version of the method is intended to be called from superclasses that do preprocessing on the input BOS member file and therefore need to provide a new file for actual storage.

Throws:
java.io.IOException
VersionCommitException

getMimeType

public java.lang.String getMimeType()

getOriginalSystemId

public java.lang.String getOriginalSystemId()
Returns the original system ID (file name) of the BOS member's file.

Returns:

getVersion

public Version getVersion()

reportBosMember

public java.lang.String reportBosMember()
Returns a multi-line report of the BOS member's properties

Returns:

getExistingResource

public Resource getExistingResource()
Returns:

setMimeType

public void setMimeType(java.lang.String mimeType)
Parameters:
mimeType -

setExistingResource

public void setExistingResource(Resource resource)
Parameters:
targetResource -

getEncoding

public java.lang.String getEncoding()