de.pannenleiter.db
Class ChunkDatabase

java.lang.Object
  |
  +--de.pannenleiter.db.XMLDatabase
        |
        +--de.pannenleiter.db.ChunkDatabase

public class ChunkDatabase
extends XMLDatabase
implements org.xml.sax.AttributeList, org.xml.sax.DocumentHandler

ChunkDatabase -- xml-table mapping


Field Summary
protected  int addChilds
           
protected  int addId
           
protected  int addVersion
           
protected  int attrOffset
           
protected  java.util.Vector atts
           
 DBBrand brand
           
protected  char[] buffer
           
protected  XMLCollector collect
           
protected  java.sql.Connection con
           
protected  int currentAtts
           
protected  java.lang.String currentChilds
           
protected  int currentId
           
protected  int currentVersion
           
protected  java.lang.String document
           
protected  de.pannenleiter.db.ImportEnv env
           
protected  boolean hasTransaction
           
protected  int idx
           
protected  boolean isPart
           
protected  boolean[] locked
           
protected  int maxTables
           
protected  ChunkMerger merger
           
protected  boolean needsCheckParent
           
protected  int pack
           
protected  java.util.Hashtable[] packed
           
protected  FragmentParser parser
           
protected  int position
           
protected  int reusedSlot
           
protected  de.pannenleiter.db.ChunkDatabaseSlot[] slots
           
protected  java.sql.PreparedStatement[] stmtArchive
           
protected  java.sql.PreparedStatement[] stmtArchiveAtt
           
protected  java.sql.PreparedStatement[] stmtAttribute
           
protected  java.sql.Statement stmtDefault
           
protected  java.sql.PreparedStatement[] stmtInsert
           
protected  java.sql.PreparedStatement[] stmtInsertAtt
           
protected  int[] stmtInUse
           
protected  java.sql.PreparedStatement[] stmtMaxPos
           
protected  java.util.Vector[] stmtOfOwner
           
protected  java.sql.PreparedStatement[] stmtOwnerType
           
protected  java.sql.PreparedStatement[] stmtUpdateOwner
           
protected  java.lang.String[] strArchive
           
protected  java.lang.String[] strArchiveAtt
           
protected  java.lang.String[] strAttribute
           
protected  java.lang.String[] strInsert
           
protected  java.lang.String[] strInsertAtt
           
protected  boolean strip
           
protected  java.lang.String[] strMaxPos
           
protected  java.lang.String[] strOwnerType
           
protected  java.lang.String[] strUpdateOwner
           
protected  java.lang.String[] tables
           
protected  java.lang.String textElement
           
protected  java.lang.String[] textOfOwner
           
protected  java.util.Hashtable toPack
           
protected  java.lang.String topPlid
           
protected  int up
           
protected  java.lang.String upPart
           
protected  int usedSlots
           
 
Fields inherited from class de.pannenleiter.db.XMLDatabase
aquired, checkIntervall, CHILDS, currentLog, db, dbEngines, dbInUse, dbNames, emptyAttributes, framework, frameworkName, lastCheck, lock, maxConnections, NO_CHILDS, PACKED_CHILDS, timeoutUse, timeoutWait
 
Constructor Summary
protected ChunkDatabase(java.lang.String db)
           
 
Method Summary
protected  int[] archiveElement(java.lang.String document, int id, boolean fixupFlags)
           
protected  void archiveElement(java.lang.String document, int idx, int id, int version, boolean chkEle, boolean chkAttr)
           
 int archiveElement(java.lang.String document, java.lang.String[] id)
           
protected  boolean byOwner(org.xml.sax.DocumentHandler proc, int pos, int owner, int version, QueryFilter filter)
           
 void characters(char[] buffer, int start, int length)
           
protected  void closeSlot(int slot)
           
 void commit()
           
 void createDocument(java.lang.String name, boolean recreate)
           
 SQLContext createSQLContext(java.lang.String document)
           
protected  boolean emitSet(org.xml.sax.DocumentHandler proc, java.sql.ResultSet set, int pos, boolean recycle, QueryFilter filter)
           
 void endDocument()
           
 void endElement(java.lang.String name)
           
protected  void fetchAtts(int pos, int id, int version, java.lang.String element, java.lang.String s1, java.lang.String s2, boolean chkAtts, int chkEle, QueryFilter filter)
           
protected  void finalize()
           
protected  void freeOwnerStmt(int pos)
           
 void getArchive(org.xml.sax.DocumentHandler proc, java.lang.String document, int id)
           
protected  java.sql.PreparedStatement getAttribute(int pos)
           
 void getDocumentList(org.xml.sax.DocumentHandler dh)
           
 void getElements(org.xml.sax.DocumentHandler proc, SQLContext ctx, QueryFilter filter)
           
protected  java.sql.PreparedStatement getInsert(int pos)
           
protected  java.sql.PreparedStatement getInsertAtt(int pos)
           
 int getLength()
           
protected  java.sql.PreparedStatement getMaxPos(int pos)
           
 java.lang.String getName(int pos)
           
protected  java.sql.PreparedStatement getOwnerStmt(int pos)
           
protected  java.sql.PreparedStatement getOwnerType(int pos)
           
protected  java.util.Hashtable getPacked(int pos)
           
protected  java.util.Hashtable getPacked(java.lang.String document)
           
 java.lang.String[] getPlid()
           
 int getSlot(int pos, java.lang.String element, java.lang.String attr)
           
protected  java.lang.String getSlotName(int pos, java.lang.String element, int slot)
           
 java.lang.String getType(int pos)
           
 java.lang.String getType(java.lang.String name)
           
protected  java.sql.PreparedStatement getUpdateOwner(int pos)
           
 java.lang.String getValue(int pos)
           
 java.lang.String getValue(java.lang.String name)
           
 void ignorableWhitespace(char[] buffer, int start, int length)
           
protected  void initSlot(int pos)
           
protected  void insertCharacters(de.pannenleiter.db.ImportEnv e, java.lang.String val)
           
protected  void insertElement(de.pannenleiter.db.ImportEnv e, int hasChilds)
           
protected  boolean isAlive()
           
protected  int newVersion(java.lang.String document)
           
protected  void prepareSlots(int number)
           
 void processingInstruction(java.lang.String target, java.lang.String data)
           
protected  void releaseLocks()
           
 void rollback()
           
 void setDocumentLocator(org.xml.sax.Locator l)
           
 void setTransaction(int ilevel, boolean autocommit, boolean readonly)
           
 void shoot(java.lang.String stmt)
           
 void startDocument()
           
 void startElement(java.lang.String name, org.xml.sax.AttributeList atts)
           
 int tableIdx(java.lang.String table)
           
protected  int writeElement(java.lang.String document, int up, int position, java.lang.String element, java.lang.String content, org.xml.sax.AttributeList atts, int hasChilds, boolean updateOwner)
           
 org.xml.sax.DocumentHandler writeElements(java.lang.String document, java.lang.String[] owner, int position, boolean strip)
           
 
Methods inherited from class de.pannenleiter.db.XMLDatabase
aquireDatabase, archiveElement, createDatabase, destroyDatabase, doDestroy, freeDatabase, getArchive, getColumnNumber, getDatabase, getDatabase, getDatabaseList, getElements, getLineNumber, getPublicId, getSystemId, hadOldDatabase, init, searchDatabase, writeElements
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxTables

protected int maxTables

stmtDefault

protected java.sql.Statement stmtDefault

textElement

protected java.lang.String textElement

usedSlots

protected int usedSlots

reusedSlot

protected int reusedSlot

tables

protected java.lang.String[] tables

slots

protected de.pannenleiter.db.ChunkDatabaseSlot[] slots

packed

protected java.util.Hashtable[] packed

strAttribute

protected java.lang.String[] strAttribute

stmtAttribute

protected java.sql.PreparedStatement[] stmtAttribute

textOfOwner

protected java.lang.String[] textOfOwner

stmtOfOwner

protected java.util.Vector[] stmtOfOwner

stmtInUse

protected int[] stmtInUse

stmtInsert

protected java.sql.PreparedStatement[] stmtInsert

strInsert

protected java.lang.String[] strInsert

stmtUpdateOwner

protected java.sql.PreparedStatement[] stmtUpdateOwner

strUpdateOwner

protected java.lang.String[] strUpdateOwner

stmtOwnerType

protected java.sql.PreparedStatement[] stmtOwnerType

strOwnerType

protected java.lang.String[] strOwnerType

stmtMaxPos

protected java.sql.PreparedStatement[] stmtMaxPos

strMaxPos

protected java.lang.String[] strMaxPos

stmtInsertAtt

protected java.sql.PreparedStatement[] stmtInsertAtt

strInsertAtt

protected java.lang.String[] strInsertAtt

stmtArchive

protected java.sql.PreparedStatement[] stmtArchive

strArchive

protected java.lang.String[] strArchive

stmtArchiveAtt

protected java.sql.PreparedStatement[] stmtArchiveAtt

strArchiveAtt

protected java.lang.String[] strArchiveAtt

locked

protected boolean[] locked

brand

public DBBrand brand

con

protected java.sql.Connection con

hasTransaction

protected boolean hasTransaction

addId

protected int addId

addVersion

protected int addVersion

addChilds

protected int addChilds

attrOffset

protected int attrOffset

currentId

protected int currentId

currentVersion

protected int currentVersion

currentChilds

protected java.lang.String currentChilds

currentAtts

protected int currentAtts

atts

protected java.util.Vector atts

buffer

protected char[] buffer

parser

protected FragmentParser parser

merger

protected ChunkMerger merger

env

protected de.pannenleiter.db.ImportEnv env

document

protected java.lang.String document

idx

protected int idx

up

protected int up

upPart

protected java.lang.String upPart

position

protected int position

strip

protected boolean strip

needsCheckParent

protected boolean needsCheckParent

toPack

protected java.util.Hashtable toPack

pack

protected int pack

isPart

protected boolean isPart

topPlid

protected java.lang.String topPlid

collect

protected XMLCollector collect
Constructor Detail

ChunkDatabase

protected ChunkDatabase(java.lang.String db)
                 throws org.xml.sax.SAXException
Method Detail

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object

createSQLContext

public SQLContext createSQLContext(java.lang.String document)
                            throws org.xml.sax.SAXException
Overrides:
createSQLContext in class XMLDatabase

isAlive

protected boolean isAlive()
Overrides:
isAlive in class XMLDatabase

setTransaction

public void setTransaction(int ilevel,
                           boolean autocommit,
                           boolean readonly)
                    throws org.xml.sax.SAXException
Overrides:
setTransaction in class XMLDatabase

commit

public void commit()
            throws org.xml.sax.SAXException
Overrides:
commit in class XMLDatabase

rollback

public void rollback()
              throws org.xml.sax.SAXException
Overrides:
rollback in class XMLDatabase

releaseLocks

protected void releaseLocks()
                     throws java.lang.Exception

prepareSlots

protected void prepareSlots(int number)

closeSlot

protected void closeSlot(int slot)

tableIdx

public int tableIdx(java.lang.String table)

initSlot

protected void initSlot(int pos)
                 throws java.lang.Exception

getSlot

public int getSlot(int pos,
                   java.lang.String element,
                   java.lang.String attr)
            throws java.lang.Exception

getPacked

protected java.util.Hashtable getPacked(int pos)
                                 throws java.lang.Exception

getPacked

protected java.util.Hashtable getPacked(java.lang.String document)
                                 throws org.xml.sax.SAXException

getSlotName

protected java.lang.String getSlotName(int pos,
                                       java.lang.String element,
                                       int slot)
                                throws java.lang.Exception

getOwnerStmt

protected java.sql.PreparedStatement getOwnerStmt(int pos)
                                           throws java.lang.Exception

freeOwnerStmt

protected void freeOwnerStmt(int pos)
                      throws java.lang.Exception

getAttribute

protected java.sql.PreparedStatement getAttribute(int pos)
                                           throws java.lang.Exception

getInsert

protected java.sql.PreparedStatement getInsert(int pos)
                                        throws java.lang.Exception

getUpdateOwner

protected java.sql.PreparedStatement getUpdateOwner(int pos)
                                             throws java.lang.Exception

getOwnerType

protected java.sql.PreparedStatement getOwnerType(int pos)
                                           throws java.lang.Exception

getMaxPos

protected java.sql.PreparedStatement getMaxPos(int pos)
                                        throws java.lang.Exception

getInsertAtt

protected java.sql.PreparedStatement getInsertAtt(int pos)
                                           throws java.lang.Exception

fetchAtts

protected void fetchAtts(int pos,
                         int id,
                         int version,
                         java.lang.String element,
                         java.lang.String s1,
                         java.lang.String s2,
                         boolean chkAtts,
                         int chkEle,
                         QueryFilter filter)
                  throws java.lang.Exception

getLength

public int getLength()
Specified by:
getLength in interface org.xml.sax.AttributeList

getName

public java.lang.String getName(int pos)
Specified by:
getName in interface org.xml.sax.AttributeList

getType

public java.lang.String getType(int pos)
Specified by:
getType in interface org.xml.sax.AttributeList

getType

public java.lang.String getType(java.lang.String name)
Specified by:
getType in interface org.xml.sax.AttributeList

getValue

public java.lang.String getValue(int pos)
Specified by:
getValue in interface org.xml.sax.AttributeList

getValue

public java.lang.String getValue(java.lang.String name)
Specified by:
getValue in interface org.xml.sax.AttributeList

byOwner

protected boolean byOwner(org.xml.sax.DocumentHandler proc,
                          int pos,
                          int owner,
                          int version,
                          QueryFilter filter)
                   throws java.lang.Exception

emitSet

protected boolean emitSet(org.xml.sax.DocumentHandler proc,
                          java.sql.ResultSet set,
                          int pos,
                          boolean recycle,
                          QueryFilter filter)
                   throws java.lang.Exception

getElements

public void getElements(org.xml.sax.DocumentHandler proc,
                        SQLContext ctx,
                        QueryFilter filter)
                 throws org.xml.sax.SAXException
Overrides:
getElements in class XMLDatabase

getArchive

public void getArchive(org.xml.sax.DocumentHandler proc,
                       java.lang.String document,
                       int id)
                throws org.xml.sax.SAXException
Overrides:
getArchive in class XMLDatabase

writeElements

public org.xml.sax.DocumentHandler writeElements(java.lang.String document,
                                                 java.lang.String[] owner,
                                                 int position,
                                                 boolean strip)
                                          throws org.xml.sax.SAXException
Overrides:
writeElements in class XMLDatabase

getPlid

public java.lang.String[] getPlid()
Overrides:
getPlid in class XMLDatabase

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator l)
Specified by:
setDocumentLocator in interface org.xml.sax.DocumentHandler

startDocument

public void startDocument()
                   throws org.xml.sax.SAXException
Specified by:
startDocument in interface org.xml.sax.DocumentHandler

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Specified by:
endDocument in interface org.xml.sax.DocumentHandler

startElement

public void startElement(java.lang.String name,
                         org.xml.sax.AttributeList atts)
                  throws org.xml.sax.SAXException
Specified by:
startElement in interface org.xml.sax.DocumentHandler

characters

public void characters(char[] buffer,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Specified by:
characters in interface org.xml.sax.DocumentHandler

ignorableWhitespace

public void ignorableWhitespace(char[] buffer,
                                int start,
                                int length)
                         throws org.xml.sax.SAXException
Specified by:
ignorableWhitespace in interface org.xml.sax.DocumentHandler

endElement

public void endElement(java.lang.String name)
                throws org.xml.sax.SAXException
Specified by:
endElement in interface org.xml.sax.DocumentHandler

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Specified by:
processingInstruction in interface org.xml.sax.DocumentHandler

insertElement

protected void insertElement(de.pannenleiter.db.ImportEnv e,
                             int hasChilds)
                      throws org.xml.sax.SAXException

insertCharacters

protected void insertCharacters(de.pannenleiter.db.ImportEnv e,
                                java.lang.String val)
                         throws org.xml.sax.SAXException

writeElement

protected int writeElement(java.lang.String document,
                           int up,
                           int position,
                           java.lang.String element,
                           java.lang.String content,
                           org.xml.sax.AttributeList atts,
                           int hasChilds,
                           boolean updateOwner)
                    throws org.xml.sax.SAXException

archiveElement

public int archiveElement(java.lang.String document,
                          java.lang.String[] id)
                   throws org.xml.sax.SAXException
Overrides:
archiveElement in class XMLDatabase

archiveElement

protected int[] archiveElement(java.lang.String document,
                               int id,
                               boolean fixupFlags)
                        throws org.xml.sax.SAXException

archiveElement

protected void archiveElement(java.lang.String document,
                              int idx,
                              int id,
                              int version,
                              boolean chkEle,
                              boolean chkAttr)
                       throws java.lang.Exception

newVersion

protected int newVersion(java.lang.String document)
                  throws java.lang.Exception

shoot

public void shoot(java.lang.String stmt)
           throws org.xml.sax.SAXException
Overrides:
shoot in class XMLDatabase

createDocument

public void createDocument(java.lang.String name,
                           boolean recreate)
                    throws org.xml.sax.SAXException
Overrides:
createDocument in class XMLDatabase

getDocumentList

public void getDocumentList(org.xml.sax.DocumentHandler dh)
                     throws java.lang.Exception
Overrides:
getDocumentList in class XMLDatabase