use of org.apache.cayenne.util.XMLEncoder 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());
}
use of org.apache.cayenne.util.XMLEncoder 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();
}
use of org.apache.cayenne.util.XMLEncoder in project cayenne by apache.
the class DataMapTest method testQuoteSqlIdentifiersEncodeAsXML.
@Test
public void testQuoteSqlIdentifiersEncodeAsXML() {
DataMap map = new DataMap("aaa");
map.setQuotingSQLIdentifiers(true);
StringWriter w = new StringWriter();
XMLEncoder encoder = new XMLEncoder(new PrintWriter(w));
map.encodeAsXML(encoder, new EmptyConfigurationNodeVisitor());
assertTrue(map.quotingSQLIdentifiers);
XMLDataMapLoader loader = new XMLDataMapLoader();
try {
URL url = mock(URL.class);
InputStream is = new ByteArrayInputStream(w.getBuffer().toString().getBytes("UTF-8"));
when(url.openStream()).thenReturn(is);
DataMap newMap = loader.load(new URLResource(url));
assertTrue(newMap.quotingSQLIdentifiers);
} catch (Exception e) {
e.printStackTrace();
}
map.setQuotingSQLIdentifiers(false);
StringWriter w2 = new StringWriter();
XMLEncoder encoder2 = new XMLEncoder(new PrintWriter(w2));
map.encodeAsXML(encoder2, new EmptyConfigurationNodeVisitor());
assertFalse(map.quotingSQLIdentifiers);
try {
URL url = mock(URL.class);
InputStream is = new ByteArrayInputStream(w.getBuffer().toString().getBytes("UTF-8"));
when(url.openStream()).thenReturn(is);
DataMap newMap = loader.load(new URLResource(url));
assertFalse(newMap.quotingSQLIdentifiers);
} catch (Exception e) {
e.printStackTrace();
}
}
use of org.apache.cayenne.util.XMLEncoder in project cayenne by apache.
the class ConfigurationSaver method visitDataMap.
@Override
public Void visitDataMap(DataMap node) {
XMLEncoder encoder = new XMLEncoder(printWriter, "\t", version);
printXMLHeader(encoder);
delegate.setXMLEncoder(encoder);
node.encodeAsXML(encoder, delegate);
return null;
}
Aggregations