uk.ac.bbk.dcs.automed.xml.materialisation
Class XMLDSSDOMMaterialiser

java.lang.Object
  extended by uk.ac.bbk.dcs.automed.xml.materialisation.XMLDSSMaterialiser
      extended by uk.ac.bbk.dcs.automed.xml.materialisation.XMLDSSDOMMaterialiser

public class XMLDSSDOMMaterialiser
extends XMLDSSMaterialiser

Author:
Lucas Zamboulis

Field Summary
 
Fields inherited from class uk.ac.bbk.dcs.automed.xml.materialisation.XMLDSSMaterialiser
_file, _logger, dataSourceSchemas, firstQuery, genericRoot, globalSchema, MATERIALISATION_TYPE_MULTIPLE_DOCUMENTS, MATERIALISATION_TYPE_SINGLE_DOCUMENT, materialisationType, multipleDocumentsCounter, qp, qpc, runT, schemaUIDDoc, timeOverall, timeQP, useGenericRoot
 
Constructor Summary
XMLDSSDOMMaterialiser(Schema src, Schema[] tgts, java.lang.String absolutePath, java.lang.String name, QueryProcessorConfiguration qpc, int materialisationType)
           
 
Method Summary
private  java.util.List appendChild(org.apache.xerces.dom.DocumentImpl instanceDoc, java.lang.String parentSLI, java.lang.String childName, java.lang.String targetChildName)
           
private  java.util.List appendTextChild(org.apache.xerces.dom.DocumentImpl instanceDoc, java.lang.String parentSLI, java.lang.String textValue)
           
protected  java.util.List getAttributeExtent(java.lang.String elementSchemaUID, java.lang.String attributeName)
           
protected  java.util.List getElementRelExtent(int order, java.lang.String parentSchemaUID, java.lang.String childSchemaUID)
           
protected  java.util.List getRootExtent(java.lang.String uid)
           
protected  java.util.List getTextExtent(java.lang.String uid)
           
protected  java.util.List getTextExtent(java.lang.String uid, java.lang.String order)
           
private  void makeSchemaADataSource(org.apache.xerces.dom.DocumentImpl instanceDoc)
           
private  void materialiseElement(org.apache.xerces.dom.DocumentImpl instanceDoc, org.w3c.dom.Element currentSchemaElement, org.w3c.dom.Element parentSchemaElement)
           
private  void materialiseMultipleDocuments()
           
 void materialiseSchema()
           
private  org.apache.xerces.dom.DocumentImpl materialiseSingleDocument()
           
protected  void printPerformance()
           
private  void treatAttribute(org.apache.xerces.dom.DocumentImpl instanceDoc, java.lang.String attrName, java.util.ArrayList attrInstances)
           
private  void treatAttributes(org.w3c.dom.Element schemaElem, org.w3c.dom.Element instanceElem, java.lang.String elemInstUID)
           
private  void treatElementRel(org.apache.xerces.dom.DocumentImpl instanceDoc, java.util.List nlInstances, org.w3c.dom.Element parentSchemaElement, java.lang.String targetChildName)
           
private  void treatTextNL(org.apache.xerces.dom.DocumentImpl instanceDoc, java.lang.String order, java.util.List textTuples)
           
private  void updateSchemaNameInUIDs(org.apache.xerces.dom.DocumentImpl instanceDoc)
          Updates the unique IDs so that they contain the correct schemaName
 
Methods inherited from class uk.ac.bbk.dcs.automed.xml.materialisation.XMLDSSMaterialiser
getGenericRoot, getMaterialisedFile, performQuery, setGenericRoot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLDSSDOMMaterialiser

public XMLDSSDOMMaterialiser(Schema src,
                             Schema[] tgts,
                             java.lang.String absolutePath,
                             java.lang.String name,
                             QueryProcessorConfiguration qpc,
                             int materialisationType)
Method Detail

materialiseSchema

public void materialiseSchema()
                       throws XMLMaterialisationException
Specified by:
materialiseSchema in class XMLDSSMaterialiser
Throws:
XMLMaterialisationException

makeSchemaADataSource

private void makeSchemaADataSource(org.apache.xerces.dom.DocumentImpl instanceDoc)

materialiseMultipleDocuments

private void materialiseMultipleDocuments()
                                   throws XMLMaterialisationException
Throws:
XMLMaterialisationException

materialiseSingleDocument

private org.apache.xerces.dom.DocumentImpl materialiseSingleDocument()
                                                              throws XMLMaterialisationException
Throws:
XMLMaterialisationException

materialiseElement

private void materialiseElement(org.apache.xerces.dom.DocumentImpl instanceDoc,
                                org.w3c.dom.Element currentSchemaElement,
                                org.w3c.dom.Element parentSchemaElement)
                         throws XMLMaterialisationException
Throws:
XMLMaterialisationException

treatElementRel

private void treatElementRel(org.apache.xerces.dom.DocumentImpl instanceDoc,
                             java.util.List nlInstances,
                             org.w3c.dom.Element parentSchemaElement,
                             java.lang.String targetChildName)
                      throws XMLMaterialisationException
Throws:
XMLMaterialisationException

treatAttribute

private void treatAttribute(org.apache.xerces.dom.DocumentImpl instanceDoc,
                            java.lang.String attrName,
                            java.util.ArrayList attrInstances)
                     throws XMLMaterialisationException
Throws:
XMLMaterialisationException

treatTextNL

private void treatTextNL(org.apache.xerces.dom.DocumentImpl instanceDoc,
                         java.lang.String order,
                         java.util.List textTuples)
                  throws XMLMaterialisationException
Throws:
XMLMaterialisationException

treatAttributes

private void treatAttributes(org.w3c.dom.Element schemaElem,
                             org.w3c.dom.Element instanceElem,
                             java.lang.String elemInstUID)
                      throws XMLMaterialisationException
Throws:
XMLMaterialisationException

appendChild

private java.util.List appendChild(org.apache.xerces.dom.DocumentImpl instanceDoc,
                                   java.lang.String parentSLI,
                                   java.lang.String childName,
                                   java.lang.String targetChildName)
                            throws XMLNotFoundException
Throws:
XMLNotFoundException

appendTextChild

private java.util.List appendTextChild(org.apache.xerces.dom.DocumentImpl instanceDoc,
                                       java.lang.String parentSLI,
                                       java.lang.String textValue)
                                throws XMLNotFoundException
Throws:
XMLNotFoundException

updateSchemaNameInUIDs

private void updateSchemaNameInUIDs(org.apache.xerces.dom.DocumentImpl instanceDoc)
Updates the unique IDs so that they contain the correct schemaName


getTextExtent

protected java.util.List getTextExtent(java.lang.String uid)
                                throws XMLMaterialisationException
Throws:
XMLMaterialisationException

getTextExtent

protected java.util.List getTextExtent(java.lang.String uid,
                                       java.lang.String order)
                                throws XMLMaterialisationException
Throws:
XMLMaterialisationException

getRootExtent

protected java.util.List getRootExtent(java.lang.String uid)
                                throws XMLMaterialisationException
Throws:
XMLMaterialisationException

getElementRelExtent

protected java.util.List getElementRelExtent(int order,
                                             java.lang.String parentSchemaUID,
                                             java.lang.String childSchemaUID)
                                      throws XMLMaterialisationException
Throws:
XMLMaterialisationException

getAttributeExtent

protected java.util.List getAttributeExtent(java.lang.String elementSchemaUID,
                                            java.lang.String attributeName)
                                     throws XMLMaterialisationException
Throws:
XMLMaterialisationException

printPerformance

protected void printPerformance()