org.xiruss.repository.client.importers.xml
Class XmlBosMember

java.lang.Object
  extended by org.xiruss.repository.client.importers.BosMember
      extended by org.xiruss.repository.client.importers.xml.XmlBosMember
Direct Known Subclasses:
XmlRtdBosMember, XsdBosMember, XsltBosMember

public class XmlBosMember
extends BosMember

Specialization of BOS Member that handles the details of importing XML documents.


Field Summary
protected  org.w3c.dom.Document dom
           
protected  boolean domModified
           
static java.lang.String GOVERNED_BY_DEPENDENCY
           
(package private) static org.apache.log4j.Logger logger
           
static java.lang.String UBR_DEPENDENCY_TYPE
           
 
Fields inherited from class org.xiruss.repository.client.importers.BosMember
bos, childMembers, dependencies, existingResource, isBosRoot, links, memberFile, memberKey, memberName, originalSystemId, parentMembers, propertyMap, resource, snapshot, version
 
Constructor Summary
XmlBosMember()
           
 
Method Summary
protected  Version createNewVersion(java.io.File infile, java.lang.String origFilePath, Snapshot snap, SourceToVersionMap so2verMap)
           
 Version createNewVersion(Snapshot snap, SourceToVersionMap so2verMap)
          Rewrites all XInclude links to use within-repository URLs.
 boolean domModified()
          Indicates whether or not this document's DOM has been modified.
 void doSemanticProcessing()
           
 org.w3c.dom.Document getDom()
           
protected  java.util.Map<java.lang.String,java.lang.String> getSchemaLocations(org.w3c.dom.Element docElem)
           
 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.
 void removeAttribute(org.w3c.dom.Element elem, java.lang.String attName)
           
 void setAttribute(org.w3c.dom.Element elem, java.lang.String attName, java.lang.String attValue)
           
protected  java.util.Collection setDocumentNamespaces(org.w3c.dom.Element docElem)
           
 void setDom(org.w3c.dom.Document domDoc)
           
 void setDomModified()
           
protected  java.lang.String setRootNamespace(org.w3c.dom.Element docElem)
           
 
Methods inherited from class org.xiruss.repository.client.importers.BosMember
addChild, addDependency, addDependency, addParent, createNewVersion, getChildMembers, getDependencies, getEncoding, getExistingResource, getKey, getLinks, getMemberFile, getMimeType, getName, getOriginalSystemId, getParentMembers, getProperty, getResource, getVersion, hasProperty, init, init, isBosRoot, putChildMember, reportBosMember, setAsRoot, setExistingResource, setLinks, setMemberFile, setMimeType, setProperty, setResource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UBR_DEPENDENCY_TYPE

public static java.lang.String UBR_DEPENDENCY_TYPE

GOVERNED_BY_DEPENDENCY

public static java.lang.String GOVERNED_BY_DEPENDENCY

logger

static org.apache.log4j.Logger logger

domModified

protected boolean domModified

dom

protected org.w3c.dom.Document dom
Constructor Detail

XmlBosMember

public XmlBosMember()
Method Detail

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.

Overrides:
init in class BosMember
Parameters:
bos -
memberKey -
res -
memberName -

setRootNamespace

protected java.lang.String setRootNamespace(org.w3c.dom.Element docElem)

setDocumentNamespaces

protected java.util.Collection setDocumentNamespaces(org.w3c.dom.Element docElem)

doSemanticProcessing

public void doSemanticProcessing()
                          throws BosException,
                                 ImporterException
Overrides:
doSemanticProcessing in class BosMember
Throws:
BosException
ImporterException

getSchemaLocations

protected java.util.Map<java.lang.String,java.lang.String> getSchemaLocations(org.w3c.dom.Element docElem)

createNewVersion

public Version createNewVersion(Snapshot snap,
                                SourceToVersionMap so2verMap)
                         throws java.io.IOException,
                                VersionCommitException,
                                ImporterException
Rewrites all XInclude links to use within-repository URLs. If links are to RTD documents, removes the no-longer-necessary or appropriate xpointer= part of the link, if any.

Overrides:
createNewVersion in class BosMember
so2verMap - The mapping from storage objects to previous versions.
Throws:
java.io.IOException
VersionCommitException
ImporterException

setDom

public void setDom(org.w3c.dom.Document domDoc)
Parameters:
startingDocRoot -

getDom

public org.w3c.dom.Document getDom()
                            throws DomException
Throws:
DomException

setDomModified

public void setDomModified()

domModified

public boolean domModified()
Indicates whether or not this document's DOM has been modified.

Returns:

removeAttribute

public void removeAttribute(org.w3c.dom.Element elem,
                            java.lang.String attName)
Parameters:
link -
string -

setAttribute

public void setAttribute(org.w3c.dom.Element elem,
                         java.lang.String attName,
                         java.lang.String attValue)
Parameters:
link -
string -
href -

createNewVersion

protected Version createNewVersion(java.io.File infile,
                                   java.lang.String origFilePath,
                                   Snapshot snap,
                                   SourceToVersionMap so2verMap)
                            throws java.io.IOException,
                                   VersionCommitException
Throws:
java.io.IOException
VersionCommitException