Search in sources :

Example 21 with SDOMarshalListener

use of org.eclipse.persistence.sdo.helper.SDOMarshalListener in project eclipselink by eclipse-ee4j.

the class SDODataObjectGetPathTest method testGetPathFromAncestorDeletedFromChildToCurrentObjectLoggingOff.

public void testGetPathFromAncestorDeletedFromChildToCurrentObjectLoggingOff() {
    SDODataObject anItem = (SDODataObject) aRoot5.get("items/item[2]");
    // get changeSummary
    SDOChangeSummary aCS = aRoot5.getChangeSummary();
    assertFalse(aCS.isLogging());
    // delete source object
    anItem.delete();
    String aPath = ((SDOMarshalListener) ((SDOXMLHelper) xmlHelper).getXmlMarshaller().getMarshalListener()).getPathFromAncestor(anItem, anItem, anItem.getChangeSummary());
    assertNotNull(aPath);
    assertEquals(SDOConstants.EMPTY_STRING, aPath);
}
Also used : SDOChangeSummary(org.eclipse.persistence.sdo.SDOChangeSummary) SDOMarshalListener(org.eclipse.persistence.sdo.helper.SDOMarshalListener) SDOXMLHelper(org.eclipse.persistence.sdo.helper.SDOXMLHelper) SDODataObject(org.eclipse.persistence.sdo.SDODataObject)

Example 22 with SDOMarshalListener

use of org.eclipse.persistence.sdo.helper.SDOMarshalListener in project eclipselink by eclipse-ee4j.

the class SDODataObjectGetPathTest method testGetPathFromAncestorDeletedFromChildToAncestorListWrapperLoggingOn.

// verify that we do not get an infinite loop if we pass in the target's changeSummary
public void testGetPathFromAncestorDeletedFromChildToAncestorListWrapperLoggingOn() {
    SDODataObject anItem = (SDODataObject) aRoot5.get("items/item[2]");
    // start logging
    SDOChangeSummary aCS = aRoot5.getChangeSummary();
    aCS.beginLogging();
    assertTrue(aCS.isLogging());
    // delete source object
    SDODataObject deletedObject = ((SDODataObject) aRoot5.get("items"));
    deletedObject.delete();
    String aPath = ((SDOMarshalListener) ((SDOXMLHelper) xmlHelper).getXmlMarshaller().getMarshalListener()).getPathFromAncestor(anItem, aRoot5, aRoot5.getChangeSummary());
    assertNotNull(aPath);
    // TODO: no storage of deleted indexed postition - defaults to size() = start of list for now
    // see SDODataObject: index = ((SDODataObject)parent).getList(aChild).size();
    assertEquals("ns0:items/ns0:item[2]", aPath);
// assertEquals(anItem, anItemFromPath);
}
Also used : SDOChangeSummary(org.eclipse.persistence.sdo.SDOChangeSummary) SDOMarshalListener(org.eclipse.persistence.sdo.helper.SDOMarshalListener) SDOXMLHelper(org.eclipse.persistence.sdo.helper.SDOXMLHelper) SDODataObject(org.eclipse.persistence.sdo.SDODataObject)

Example 23 with SDOMarshalListener

use of org.eclipse.persistence.sdo.helper.SDOMarshalListener in project eclipselink by eclipse-ee4j.

the class SDODataObjectGetPathTest method testGetPathFromAncestorModifiedFromChildToRootLoggingOnWithoutPassingChangeSummary.

public void testGetPathFromAncestorModifiedFromChildToRootLoggingOnWithoutPassingChangeSummary() {
    SDODataObject anItem = (SDODataObject) aRoot5.get("billTo");
    // start logging
    SDOChangeSummary aCS = aRoot5.getChangeSummary();
    aCS.beginLogging();
    assertTrue(aCS.isLogging());
    // modifydelete source object
    ((SDODataObject) aRoot5.get("billTo")).set("name", "new name");
    String aPath = ((SDOMarshalListener) ((SDOXMLHelper) xmlHelper).getXmlMarshaller().getMarshalListener()).getPathFromAncestor(anItem, aRoot5, anItem.getChangeSummary());
    assertNotNull(aPath);
    assertEquals("ns0:billTo", aPath);
}
Also used : SDOChangeSummary(org.eclipse.persistence.sdo.SDOChangeSummary) SDOMarshalListener(org.eclipse.persistence.sdo.helper.SDOMarshalListener) SDOXMLHelper(org.eclipse.persistence.sdo.helper.SDOXMLHelper) SDODataObject(org.eclipse.persistence.sdo.SDODataObject)

Example 24 with SDOMarshalListener

use of org.eclipse.persistence.sdo.helper.SDOMarshalListener in project eclipselink by eclipse-ee4j.

the class SDODataObjectGetPathTest method testGetXPathFromAncestorFromContainedToParent.

public void testGetXPathFromAncestorFromContainedToParent() {
    SDODataObject target = (SDODataObject) aRoot5.get("items");
    SDODataObject aSibling = (SDODataObject) aRoot5.get("items/item[2]");
    String aPath = ((SDOMarshalListener) ((SDOXMLHelper) xmlHelper).getXmlMarshaller().getMarshalListener()).getPathFromAncestor(aSibling, target, aSibling.getChangeSummary());
    assertNotNull(aPath);
    assertEquals("ns0:item[2]", aPath);
}
Also used : SDOMarshalListener(org.eclipse.persistence.sdo.helper.SDOMarshalListener) SDOXMLHelper(org.eclipse.persistence.sdo.helper.SDOXMLHelper) SDODataObject(org.eclipse.persistence.sdo.SDODataObject)

Example 25 with SDOMarshalListener

use of org.eclipse.persistence.sdo.helper.SDOMarshalListener in project eclipselink by eclipse-ee4j.

the class SDOXMLHelperDelegate method getXmlMarshaller.

@Override
public XMLMarshaller getXmlMarshaller() {
    XMLMarshaller marshaller = xmlMarshallerMap.get(Thread.currentThread());
    if (marshaller == null) {
        marshaller = getXmlContext().createMarshaller();
        marshaller.setMarshalListener(new SDOMarshalListener(marshaller, (SDOTypeHelper) aHelperContext.getTypeHelper()));
        xmlMarshallerMap.put(Thread.currentThread(), marshaller);
    }
    XMLContext context = getXmlContext();
    if (marshaller.getXMLContext() != context) {
        marshaller.setXMLContext(context);
    }
    return marshaller;
}
Also used : SDOTypeHelper(org.eclipse.persistence.sdo.helper.SDOTypeHelper) XMLMarshaller(org.eclipse.persistence.oxm.XMLMarshaller) XMLContext(org.eclipse.persistence.oxm.XMLContext) SDOMarshalListener(org.eclipse.persistence.sdo.helper.SDOMarshalListener)

Aggregations

SDOMarshalListener (org.eclipse.persistence.sdo.helper.SDOMarshalListener)27 SDOXMLHelper (org.eclipse.persistence.sdo.helper.SDOXMLHelper)22 SDODataObject (org.eclipse.persistence.sdo.SDODataObject)20 SDOChangeSummary (org.eclipse.persistence.sdo.SDOChangeSummary)16 QName (javax.xml.namespace.QName)3 XMLMarshaller (org.eclipse.persistence.oxm.XMLMarshaller)3 XMLMarshalException (org.eclipse.persistence.exceptions.XMLMarshalException)2 FormattedWriterRecord (org.eclipse.persistence.oxm.record.FormattedWriterRecord)2 WriterRecord (org.eclipse.persistence.oxm.record.WriterRecord)2 SDOType (org.eclipse.persistence.sdo.SDOType)2 SDOTypeHelper (org.eclipse.persistence.sdo.helper.SDOTypeHelper)2 DataObject (commonj.sdo.DataObject)1 IOException (java.io.IOException)1 OutputStreamWriter (java.io.OutputStreamWriter)1 StringReader (java.io.StringReader)1 StringWriter (java.io.StringWriter)1 Writer (java.io.Writer)1 DOMResult (javax.xml.transform.dom.DOMResult)1 SAXResult (javax.xml.transform.sax.SAXResult)1 StreamResult (javax.xml.transform.stream.StreamResult)1