Search in sources :

Example 1 with EmptyConfigurationNodeVisitor

use of org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor in project cayenne by apache.

the class EJBQLQueryIT method testEncodeAsXML.

@Test
public void testEncodeAsXML() {
    String ejbql = "select a FROM Artist a";
    String name = "Test";
    StringWriter w = new StringWriter();
    XMLEncoder e = new XMLEncoder(new PrintWriter(w));
    String separator = System.getProperty("line.separator");
    String s = "<query name=\"" + name + "\" type=\"EJBQLQuery\">" + separator + "<ejbql><![CDATA[" + ejbql + "]]></ejbql>" + separator + "</query>" + separator;
    EJBQLQueryDescriptor descriptor = new EJBQLQueryDescriptor();
    descriptor.setEjbql(ejbql);
    descriptor.setName(name);
    descriptor.encodeAsXML(e, new EmptyConfigurationNodeVisitor());
    assertEquals(w.getBuffer().toString(), s);
}
Also used : EJBQLQueryDescriptor(org.apache.cayenne.map.EJBQLQueryDescriptor) XMLEncoder(org.apache.cayenne.util.XMLEncoder) EmptyConfigurationNodeVisitor(org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor) StringWriter(java.io.StringWriter) PrintWriter(java.io.PrintWriter) Test(org.junit.Test)

Example 2 with EmptyConfigurationNodeVisitor

use of org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor in project cayenne by apache.

the class ObjRelationshipIT method testEncodeAsXML.

@Test
public void testEncodeAsXML() {
    StringWriter buffer = new StringWriter();
    PrintWriter out = new PrintWriter(buffer);
    XMLEncoder encoder = new XMLEncoder(out);
    DataMap map = new DataMap("M");
    ObjEntity source = new ObjEntity("S");
    ObjEntity target = new ObjEntity("T");
    map.addObjEntity(source);
    map.addObjEntity(target);
    ObjRelationship r = new ObjRelationship("X");
    r.setSourceEntity(source);
    r.setTargetEntityName("T");
    r.setCollectionType("java.util.Map");
    r.setMapKey("bla");
    r.encodeAsXML(encoder, new EmptyConfigurationNodeVisitor());
    out.close();
    String lineBreak = System.getProperty("line.separator");
    assertEquals("<obj-relationship name=\"X\" source=\"S\" target=\"T\" " + "collection-type=\"java.util.Map\" map-key=\"bla\"/>" + lineBreak, buffer.getBuffer().toString());
}
Also used : XMLEncoder(org.apache.cayenne.util.XMLEncoder) EmptyConfigurationNodeVisitor(org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor) StringWriter(java.io.StringWriter) PrintWriter(java.io.PrintWriter) Test(org.junit.Test)

Example 3 with EmptyConfigurationNodeVisitor

use of org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor in project cayenne by apache.

the class CayenneTransferable method getTransferData.

public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
    if (flavor == CAYENNE_FLAVOR) {
        return data;
    } else {
        StringWriter out = new StringWriter();
        XMLEncoder encoder = new XMLEncoder(new PrintWriter(out), "\t");
        ConfigurationNodeVisitor visitor = new EmptyConfigurationNodeVisitor();
        encoder.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        if (data instanceof XMLSerializable) {
            ((XMLSerializable) data).encodeAsXML(encoder, visitor);
        } else if (data instanceof List) {
            for (Object o : (List) data) {
                ((XMLSerializable) o).encodeAsXML(encoder, visitor);
            }
        }
        return out.toString();
    }
}
Also used : XMLEncoder(org.apache.cayenne.util.XMLEncoder) EmptyConfigurationNodeVisitor(org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor) XMLSerializable(org.apache.cayenne.util.XMLSerializable) StringWriter(java.io.StringWriter) ConfigurationNodeVisitor(org.apache.cayenne.configuration.ConfigurationNodeVisitor) EmptyConfigurationNodeVisitor(org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor) List(java.util.List) PrintWriter(java.io.PrintWriter)

Example 4 with EmptyConfigurationNodeVisitor

use of org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor in project cayenne by apache.

the class EOModelProcessorTest method assertLoaded.

protected void assertLoaded(String mapName, DataMap map) throws Exception {
    assertNotNull(map);
    assertEquals(mapName, map.getName());
    // check obj entities
    ObjEntity artistE = map.getObjEntity("Artist");
    assertNotNull(artistE);
    assertEquals("Artist", artistE.getName());
    // check Db entities
    DbEntity artistDE = map.getDbEntity("ARTIST");
    DbEntity artistDE1 = artistE.getDbEntity();
    assertSame(artistDE, artistDE1);
    // check attributes
    ObjAttribute a1 = artistE.getAttribute("artistName");
    assertNotNull(a1);
    DbAttribute da1 = a1.getDbAttribute();
    assertNotNull(da1);
    assertSame(da1, artistDE.getAttribute("ARTIST_NAME"));
    // check ObjRelationships
    ObjRelationship rel = artistE.getRelationship("artistExhibitArray");
    assertNotNull(rel);
    assertEquals(1, rel.getDbRelationships().size());
    // check DbRelationships
    DbRelationship drel = artistDE.getRelationship("artistExhibitArray");
    assertNotNull(drel);
    assertSame(drel, rel.getDbRelationships().get(0));
    // flattened relationships
    ObjRelationship frel = artistE.getRelationship("exhibitArray");
    assertNotNull(frel);
    assertEquals(2, frel.getDbRelationships().size());
    // storing data map may uncover some inconsistencies
    PrintWriter mockupWriter = new NullPrintWriter();
    map.encodeAsXML(new XMLEncoder(mockupWriter), new EmptyConfigurationNodeVisitor());
}
Also used : ObjEntity(org.apache.cayenne.map.ObjEntity) ObjRelationship(org.apache.cayenne.map.ObjRelationship) XMLEncoder(org.apache.cayenne.util.XMLEncoder) EmptyConfigurationNodeVisitor(org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor) DbEntity(org.apache.cayenne.map.DbEntity) ObjAttribute(org.apache.cayenne.map.ObjAttribute) DbRelationship(org.apache.cayenne.map.DbRelationship) DbAttribute(org.apache.cayenne.map.DbAttribute) PrintWriter(java.io.PrintWriter)

Example 5 with EmptyConfigurationNodeVisitor

use of org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor in project cayenne by apache.

the class Ordering method toString.

@Override
public String toString() {
    StringWriter buffer = new StringWriter();
    PrintWriter pw = new PrintWriter(buffer);
    XMLEncoder encoder = new XMLEncoder(pw);
    encodeAsXML(encoder, new EmptyConfigurationNodeVisitor());
    pw.close();
    buffer.flush();
    return buffer.toString();
}
Also used : XMLEncoder(org.apache.cayenne.util.XMLEncoder) EmptyConfigurationNodeVisitor(org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor) StringWriter(java.io.StringWriter) PrintWriter(java.io.PrintWriter)

Aggregations

PrintWriter (java.io.PrintWriter)6 EmptyConfigurationNodeVisitor (org.apache.cayenne.configuration.EmptyConfigurationNodeVisitor)6 XMLEncoder (org.apache.cayenne.util.XMLEncoder)6 StringWriter (java.io.StringWriter)5 Test (org.junit.Test)3 ByteArrayInputStream (java.io.ByteArrayInputStream)1 InputStream (java.io.InputStream)1 URL (java.net.URL)1 List (java.util.List)1 ConfigurationNodeVisitor (org.apache.cayenne.configuration.ConfigurationNodeVisitor)1 XMLDataMapLoader (org.apache.cayenne.configuration.xml.XMLDataMapLoader)1 DbAttribute (org.apache.cayenne.map.DbAttribute)1 DbEntity (org.apache.cayenne.map.DbEntity)1 DbRelationship (org.apache.cayenne.map.DbRelationship)1 EJBQLQueryDescriptor (org.apache.cayenne.map.EJBQLQueryDescriptor)1 ObjAttribute (org.apache.cayenne.map.ObjAttribute)1 ObjEntity (org.apache.cayenne.map.ObjEntity)1 ObjRelationship (org.apache.cayenne.map.ObjRelationship)1 URLResource (org.apache.cayenne.resource.URLResource)1 XMLSerializable (org.apache.cayenne.util.XMLSerializable)1