The method create() iterates through the ALL_DTDS_DTDM_Item relational table and
dispatches appropriate item type handler and attribute handler if necessary
for the item type.
CreateDTDM.java creates the MetadataTables (MTables) schema including the following relations:
ALL_DTDS_DTDM_Item (stores all elements defined in loaded DTD documents), ALL_DTDS_DTDM_Nesting
(stores all one to one and one to many relationships between one element and its children (nested) elements),
ALL_DTDS_DTDM_Attribute (stores all attributes defined associated with their parent elements),
and a relation called ALL_DTDS_DTD_ID_Mapping (stores all DTD URIs loaded and their internal DTD ids).
Construct the ElementTypeDeclaration object from the Element which representing the root of the
DOM subtree that's going to represent this Element Type Declaration.
This constructor creates the experiment based on a specific connection.
expJoin() -
Method in class edu.wpi.cs.DSRG.xmldb.RainbowExperiments.Experiment
The method expJoin() discovers the performance difference in the evaluation of join queries against a data set
that vary in the number of pushUpAttribute operations applied.
Export data from relational database to an XML document
User ResultSet directly to increase the performance, without first dump the table
to the table object.
The method handleATTLIST iterates through the DTDM_Attribute relational
table for the given Item 'id' and writes the list of attribute for the
given Item
The method handleELEMENT_ELEMENT() iterates through the ALL_DTDS_DTDM_Nesting
relational table and writes the element name if it is a simple
type, otherwise calls itself to handle the complex child.
The method Indicator() returns the appropriate constant string depending on
the fields: ratio and optional of the appropriate ALL_DTDS_DTDM_Nesting tuple
init() -
Method in class edu.wpi.cs.DSRG.xmldb.restructuring.Catalog
The method init() initializes the view attribute of every data relation of
every dtd stored in the database specified by the connection.
init() -
Method in class edu.wpi.cs.DSRG.xmldb.XMLRDBMSUpdate.ExportData
The method load() invokes the loading process for an XML document.
loadXML -
Variable in class edu.wpi.cs.DSRG.xmldb.RainbowExperiments.Experiment
loadXML -
Static variable in class edu.wpi.cs.DSRG.xmldb.RainbowGUI.Rainbow
LoadXML - class edu.wpi.cs.DSRG.xmldb.XMLRDBMSUpdate.LoadXML.
LoadXML.java takes the URI of an XML document and loads its data into the respective
data schema created by referencing the DTDM to which the document conformed to.
For compatibility with both client and server side JDBC connections,
we assume there is no autocommit feature (due to server side JDBC connection disable
that feature).
pushDownAttributeObject.java will move attribute a of item A to attribute b of item B
constructor:
public pushDownAttributeObject(JDBCClient client, String ChildItemName, String ChildAttributeName, String ParentItemName, String ParentAttributeName, String DTD_URI, int myID)
member variables:
client - used to connect to oracle
ChildItemName - the name of the child item
ChildAttributeName - the name of the child attribute
ParentItemName - the name of the parent item
ParentAttributeName - the name of the parent attribute
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
pushDownNestingObject.java will move up a nesting relationship along the DTD structure
constructor:
public pushDownNestingObject(JDBCClient client, String MovedItemName, String ParentItemName, int ParentPosition, int FromPosition, String ChildItemName, int ToPosition, String DTD_URI, int myID)
member variables:
client - used to connect to oracle
MovedItemName - the name of the item to be moved
ChildItemName - the name of the child item
ParentItemName - the name of the parent item
ParentPosition - the parent nesting position
FromPosition - the original nesting position
ToPosition - the final nesting position
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
pushUpAttributeObject.java will move attribute b of item B as attribute a of item A
constructor:
public pushUpAttributeObject(JDBCClient client, String ChildItemName, String ChildAttributeName, String ParentItemName, String ParentAttributeName, String DTD_URI, int myID)
member variables:
client - used to connect to oracle
ChildItemName - the name of the child item
ChildAttributeName - the name of the child attribute
ParentItemName - the name of the parent item
ParentAttributeName - the name of the parent attribute
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
pushUpNestingObject.java will move up a nesting relationship along the DTD structure
constructor:
public pushUpNestingObject(JDBCClient client, String MovedItemName, String ChildItemName, int FromPosition, String ParentItemName, int ParentPosition, int ToPosition, String DTD_URI)
member variables:
client - used to connect to oracle
MovedItemName - the name of the item to be moved
ChildItemName - the name of the child item
ParentItemName - the name of the parent item
ParentPosition - the parent nesting position
FromPosition - the original nesting position
ToPosition - the final nesting position
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
getRatio() and getOptional() together could used to describe the different occurrence property
indicator ratio optional maxOccurs minOccurs
no indicator: 1:1 false ^ ^
? 1:1 true ^ 0
+ 1:n false * ^
* 1:n true * 0
This is not a design fault that I seperate the reference the element that is reference to.
renameAttributeObject.java represents the attribute that is to be renamed
constructor:
public renameAttributeObject(JDBCClient client, String ParentItemName, String OldAttributeName, String NewAttributeName, String DTD_URI, int myID)
member variables:
client - used to connect to oracle
ParentItemName - the parent name of the item
OldAttributeName - the current name of the attribute
NewAttributeName - the new name of the attribute
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
renameItemObject.java represents the attribute that is to be renamed
constructor:
public renameItemObject(JDBCClient client, String OldItemName, String NewItemName, String DTD_URI, int myID)
member variables:
client - used to connect to oracle
OldItemName - the current name of the item
NewItemName - the new name of the item
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
switchNestingObject.java will switch two nesting relationship for same parent
constructor:
public switchNestingObject(JDBCClient client, String ParentItemName, String ChildItemAName, int PositionA, String ChildItemBName, int PositionB, String DTD_URI, int myID)
member variables:
client - used to connect to oracle
ParentItemName - the current parent name of the item
ChildItemAName - the child name of the item a
ChildItemBName - the child name of the item b
PositionA - the position of the nesting a
PositionB - the position of the nesting b
DTD_URI - the location of the DTD
DTD_ID - the id specifying which DTD to modify
myID - the operator's id
oldView - the old view
rs - the resultset used for processing queries
member functions:
execute() - executes the queries
The method visitNode() visits a node in the DOM parsed tree and load the node's information, and recursion to this
method through DOM tree's hierarchy.
W
Window1 - class edu.wpi.cs.DSRG.xmldb.RainbowGUI.Window1.