use of org.apache.cayenne.util.XMLEncoder in project cayenne by apache.
the class ConfigurationSaver method visitDataChannelDescriptor.
@Override
public Void visitDataChannelDescriptor(DataChannelDescriptor node) {
XMLEncoder encoder = new XMLEncoder(printWriter, "\t", version);
printXMLHeader(encoder);
delegate.setXMLEncoder(encoder);
node.encodeAsXML(encoder, delegate);
return null;
}
use of org.apache.cayenne.util.XMLEncoder in project cayenne by apache.
the class FileProjectSaver method saveToTempFile.
void saveToTempFile(SaveUnit unit, PrintWriter printWriter) {
ConfigurationNodeVisitor<?> visitor;
if (unit.delegate == null) {
visitor = new ConfigurationSaver(printWriter, getSupportedVersion(), delegate);
} else {
XMLEncoder encoder = new XMLEncoder(printWriter, "\t", getSupportedVersion());
encoder.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
unit.delegate.setXMLEncoder(encoder);
visitor = unit.delegate;
}
unit.node.acceptVisitor(visitor);
}
use of org.apache.cayenne.util.XMLEncoder 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);
}
use of org.apache.cayenne.util.XMLEncoder 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());
}
use of org.apache.cayenne.util.XMLEncoder 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();
}
}
Aggregations