PrintStream ps = new PrintStream(new FileOutputStream(f)); while (nextNode()){} ps.println("NodeName: " + getNodeName(makeNodeHandle(i))); ps.println("NodeNameX: " + getNodeNameX(makeNodeHandle(i))); ps.println("LocalName: " + getLocalName(makeNodeHandle(i))); ps.println("NamespaceURI: " + getNamespaceURI(makeNodeHandle(i))); ps.println("Prefix: " + getPrefix(makeNodeHandle(i))); int exTypeID = getExpandedTypeID(makeNodeHandle(i)); int type = getNodeType(makeNodeHandle(i)); String typestring; int firstChild = _firstch(i); int prevSibling = _prevsib(i); int nextSibling = _nextsib(i); int parent = _parent(i); int level = _level(i); ps.println("Node Value: " + getNodeValue(i)); ps.println("String Value: " + getStringValue(i));
/** * @param o * @param level * @param extendedType * @param parent * @param prevsib * */ protected int addElementWithData( Object o, int level, int extendedType, int parent, int prevsib ) { int elementIdx = addElement(level,extendedType,parent,prevsib); int data = allocateNodeObject(o); m_firstch.setElementAt(data,elementIdx); m_exptype.setElementAt(m_TextNode_TypeID, data); // m_level.setElementAt((byte)(level), data); m_parent.setElementAt(elementIdx, data); m_prevsib.setElementAt(DTM.NULL, data); m_nextsib.setElementAt(DTM.NULL, data); m_attribute.setElementAt(DTM.NULL, data); m_firstch.setElementAt(DTM.NULL, data); return elementIdx; }
/** * Populate the Expanded Name Table with the Node that we will use. * Keep a reference of each of the types for access speed. * @return */ protected void createExpandedNameTable( ) { super.createExpandedNameTable(); m_ErrorExt_TypeID = m_expandedNameTable.getExpandedTypeID(S_NAMESPACE, S_EXT_ERROR, DTM.ELEMENT_NODE); m_SQLError_TypeID = m_expandedNameTable.getExpandedTypeID(S_NAMESPACE, S_SQL_ERROR, DTM.ELEMENT_NODE); m_Message_TypeID = m_expandedNameTable.getExpandedTypeID(S_NAMESPACE, S_MESSAGE, DTM.ELEMENT_NODE); m_Code_TypeID = m_expandedNameTable.getExpandedTypeID(S_NAMESPACE, S_CODE, DTM.ELEMENT_NODE); m_State_TypeID = m_expandedNameTable.getExpandedTypeID(S_NAMESPACE, S_STATE, DTM.ELEMENT_NODE); m_SQLWarning_TypeID = m_expandedNameTable.getExpandedTypeID(S_NAMESPACE, S_SQL_WARNING, DTM.ELEMENT_NODE); }
/** * @param nodeHandle * @param ch * @param normalize * * @throws org.xml.sax.SAXException */ public void dispatchCharactersEvents( int nodeHandle, ContentHandler ch, boolean normalize )throws org.xml.sax.SAXException { if (DEBUG) { System.out.println("dispatchCharacterEvents(" + nodeHandle + "," + ch + "," + normalize + ")"); } if(normalize) { XMLString str = getStringValue(nodeHandle); str = str.fixWhiteSpace(true, true, false); str.dispatchCharactersEvents(ch); } else { Node node = getNode(nodeHandle); dispatchNodeData(node, ch, 0); } }
/** * @param parm1 * */ public String getNodeValue( int parm1 ) { if (DEBUG) System.out.println("getNodeValue(" + parm1 + ")"); try { Object o = m_ObjectArray.getAt(makeNodeIdentity(parm1)); if (o != null && o != S_ELEMENT_NODE) { return o.toString(); } else { return ""; } } catch(Exception e) { error("Getting String Value"); return null; } }
for ( int child = _firstch(nodeIdx) ; child != DTM.NULL ; child = _nextsib(child) ) getNodeData(child, buf); else if ( o != null ) buf.append(o.toString());
addElement(1, m_RowSet_TypeID, m_SQLIdx, m_MultipleResults ? m_RowSetIdx : m_MetaDataIdx); if ( m_MultipleResults ) extractSQLMetaData(m_ResultSet.getMetaData()); int outParamIdx = addElement(1, m_OutParameter_TypeID, m_SQLIdx, m_RowSetIdx); int lastColID = DTM.NULL; for ( int indx = 0 ; indx < parameters.size() ; indx++ ) lastColID = addElementWithData(rawobj, 2, m_Col_TypeID, outParamIdx, lastColID); addAttributeToNode(parm.getName(), m_ColAttrib_COLUMN_NAME_TypeID, lastColID); addAttributeToNode(parm.getName(), m_ColAttrib_COLUMN_LABEL_TypeID, lastColID); addAttributeToNode(new Integer(parm.getType()), m_ColAttrib_COLUMN_TYPE_TypeID, lastColID); addAttributeToNode(parm.getTypeName(), m_ColAttrib_COLUMN_TYPENAME_TypeID, lastColID); addElement(2, m_Row_TypeID, m_RowSetIdx, m_MultipleResults ? m_MetaDataIdx : DTM.NULL); m_LastRowIdx = addElement(2, m_Row_TypeID, m_RowSetIdx, m_LastRowIdx); int colID = _firstch(m_LastRowIdx); pcolID = addElementWithData(o,3,m_Col_TypeID, m_LastRowIdx, pcolID); cloneAttributeFromNode(pcolID, m_ColHeadersIdx[i-1]); int dataIdent = _firstch(colID); if (dataIdent == DTM.NULL) error("Streaming Mode, Data Error");
attrib = allocateNodeObject(o); error("Error in addAttributeToNode: "+e.getMessage());
/** * Build up the basic structure that is common for each error. * @param e * @return */ private void buildBasicStructure( Exception e ) { m_rootID = addElement(0, m_Document_TypeID, DTM.NULL, DTM.NULL); m_extErrorID = addElement(1, m_ErrorExt_TypeID, m_rootID, DTM.NULL); m_MainMessageID = addElementWithData (e != null ? e.getLocalizedMessage() : "SQLWarning", 2, m_Message_TypeID, m_extErrorID, DTM.NULL); }
/** * Allow two nodes to share the same set of attributes. There may be some * problems because the parent of any attribute will be the original node * they were assigned to. Need to see how the attribute walker works, then * we should be able to fake it out. * @param toNode * @param fromNode * */ protected void cloneAttributeFromNode( int toNode, int fromNode ) { try { if (m_attribute.elementAt(toNode) != DTM.NULL) { error("Cloneing Attributes, where from Node already had addtibures assigned"); } m_attribute.setElementAt(m_attribute.elementAt(fromNode), toNode); } catch(Exception e) { error("Cloning attributes"); } }
m_MetaDataIdx = addElement(1, m_MetaData_TypeID, m_MultipleResults ? m_RowSetIdx : m_SQLIdx, DTM.NULL); addElement(2,m_ColumnHeader_TypeID, m_MetaDataIdx, lastColHeaderIdx); addAttributeToNode( meta.getColumnName(i), m_ColAttrib_COLUMN_NAME_TypeID, lastColHeaderIdx); addAttributeToNode( S_ATTRIB_NOT_SUPPORTED, m_ColAttrib_COLUMN_NAME_TypeID, lastColHeaderIdx); addAttributeToNode( meta.getColumnLabel(i), m_ColAttrib_COLUMN_LABEL_TypeID, lastColHeaderIdx); addAttributeToNode( S_ATTRIB_NOT_SUPPORTED, m_ColAttrib_COLUMN_LABEL_TypeID, lastColHeaderIdx); addAttributeToNode( meta.getCatalogName(i), m_ColAttrib_CATALOGUE_NAME_TypeID, lastColHeaderIdx); addAttributeToNode( S_ATTRIB_NOT_SUPPORTED, m_ColAttrib_CATALOGUE_NAME_TypeID, lastColHeaderIdx); addAttributeToNode(
child = child.getNextSibling()) dispatchNodeData(child, ch, depth+1);
return super._nextsib(identity);
m_DocumentIdx = addElement(0, m_Document_TypeID, DTM.NULL, DTM.NULL); m_SQLIdx = addElement(1, m_SQL_TypeID, m_DocumentIdx, DTM.NULL);
addElement(1, m_RowSet_TypeID, m_SQLIdx, m_MultipleResults ? m_RowSetIdx : m_MetaDataIdx); if ( m_MultipleResults ) extractSQLMetaData(m_ResultSet.getMetaData()); int outParamIdx = addElement(1, m_OutParameter_TypeID, m_SQLIdx, m_RowSetIdx); int lastColID = DTM.NULL; for ( int indx = 0 ; indx < parameters.size() ; indx++ ) lastColID = addElementWithData(rawobj, 2, m_Col_TypeID, outParamIdx, lastColID); addAttributeToNode(parm.getName(), m_ColAttrib_COLUMN_NAME_TypeID, lastColID); addAttributeToNode(parm.getName(), m_ColAttrib_COLUMN_LABEL_TypeID, lastColID); addAttributeToNode(new Integer(parm.getType()), m_ColAttrib_COLUMN_TYPE_TypeID, lastColID); addAttributeToNode(parm.getTypeName(), m_ColAttrib_COLUMN_TYPENAME_TypeID, lastColID); addElement(2, m_Row_TypeID, m_RowSetIdx, m_MultipleResults ? m_MetaDataIdx : DTM.NULL); m_LastRowIdx = addElement(2, m_Row_TypeID, m_RowSetIdx, m_LastRowIdx); int colID = _firstch(m_LastRowIdx); pcolID = addElementWithData(o,3,m_Col_TypeID, m_LastRowIdx, pcolID); cloneAttributeFromNode(pcolID, m_ColHeadersIdx[i-1]); int dataIdent = _firstch(colID); if (dataIdent == DTM.NULL) error("Streaming Mode, Data Error");
/** * @param nodeHandle * @param ch * @param normalize * * @throws org.xml.sax.SAXException */ public void dispatchCharactersEvents( int nodeHandle, ContentHandler ch, boolean normalize )throws org.xml.sax.SAXException { if (DEBUG) { System.out.println("dispatchCharacterEvents(" + nodeHandle + "," + ch + "," + normalize + ")"); } if(normalize) { XMLString str = getStringValue(nodeHandle); str = str.fixWhiteSpace(true, true, false); str.dispatchCharactersEvents(ch); } else { Node node = getNode(nodeHandle); dispatchNodeData(node, ch, 0); } }
for ( int child = _firstch(nodeIdx) ; child != DTM.NULL ; child = _nextsib(child) ) getNodeData(child, buf); else if ( o != null ) buf.append(o.toString());
node = allocateNodeObject(S_ELEMENT_NODE); error("Error in addElement: "+e.getMessage());
/** * Build up the basic structure that is common for each error. * @param e * @return */ private void buildBasicStructure( Exception e ) { m_rootID = addElement(0, m_Document_TypeID, DTM.NULL, DTM.NULL); m_extErrorID = addElement(1, m_ErrorExt_TypeID, m_rootID, DTM.NULL); m_MainMessageID = addElementWithData (e != null ? e.getLocalizedMessage() : "SQLWarning", 2, m_Message_TypeID, m_extErrorID, DTM.NULL); }