X4O: Fixed recursief debugging xml output
This commit is contained in:
parent
889e4b9eb8
commit
2819b36a45
37 changed files with 592 additions and 570 deletions
|
|
@ -26,6 +26,10 @@ import java.util.List;
|
|||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.x4o.xml.lang.X4OLanguage;
|
||||
import org.x4o.xml.lang.X4OLanguageLocal;
|
||||
import org.x4o.xml.lang.X4OLanguageSession;
|
||||
import org.x4o.xml.lang.X4OLanguageSessionLocal;
|
||||
|
||||
/**
|
||||
* X4ODriverManager
|
||||
|
|
@ -86,12 +90,13 @@ public class X4ODriverManagerTest {
|
|||
|
||||
@Test
|
||||
public void testLanguageVersionNonExcisting() throws Exception {
|
||||
String language = "test";
|
||||
String version = "99.9";
|
||||
String languageTest = "test";
|
||||
String versionTest = "99.9";
|
||||
Throwable e = null;
|
||||
try {
|
||||
X4ODriver<?> driver = X4ODriverManager.getX4ODriver(language);
|
||||
driver.createLanguage(version).createLanguageSession();
|
||||
X4ODriver<?> driver = X4ODriverManager.getX4ODriver(languageTest);
|
||||
X4OLanguage language = driver.createLanguage(versionTest);
|
||||
X4OLanguageLocal.class.cast(language).init(language.createLanguageSession());
|
||||
} catch (Throwable catchE) {
|
||||
e = catchE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,13 +28,18 @@ import java.io.FileInputStream;
|
|||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.x4o.sax3.SAX3WriterXml;
|
||||
import org.x4o.sax3.io.ContentCloseable;
|
||||
import org.x4o.sax3.io.ContentWriter;
|
||||
import org.x4o.xml.X4ODriver;
|
||||
import org.x4o.xml.io.DefaultX4OReader;
|
||||
import org.x4o.xml.io.DefaultX4OWriter;
|
||||
import org.x4o.xml.io.X4ODebugWriter;
|
||||
import org.x4o.xml.io.X4OReader;
|
||||
import org.x4o.xml.io.X4OWriter;
|
||||
import org.x4o.xml.test.TestDriver;
|
||||
|
|
@ -77,8 +82,13 @@ public class X4ODebugWriterTest {
|
|||
File debugFile = createDebugFile();
|
||||
X4ODriver<TestObjectRoot> driver = TestDriver.getInstance();
|
||||
X4OReader<TestObjectRoot> reader = driver.createReader();
|
||||
reader.setProperty(DefaultX4OReader.DEBUG_OUTPUT_STREAM, new FileOutputStream(debugFile));
|
||||
reader.readResource("tests/attributes/test-bean.xml");
|
||||
try (ContentWriter debugHandler = new SAX3WriterXml(new FileOutputStream(debugFile))) {
|
||||
try (ContentCloseable docClosure = debugHandler.startDocumentClosure()) {
|
||||
debugHandler.startPrefixMapping(X4ODebugWriter.DEBUG_URI_NS, X4ODebugWriter.DEBUG_URI);
|
||||
reader.setProperty(DefaultX4OReader.DEBUG_OUTPUT_HANDLER, debugHandler);
|
||||
reader.readResource("tests/attributes/test-bean.xml");
|
||||
}
|
||||
}
|
||||
|
||||
Assertions.assertTrue(debugFile.exists(), "Debug file does not exists.");
|
||||
String debug = readFile(debugFile);
|
||||
|
|
@ -86,8 +96,8 @@ public class X4ODebugWriterTest {
|
|||
Assertions.assertFalse(debug.length()==0, "no debug content");
|
||||
Assertions.assertTrue(debug.length()>20, "debug content to small");
|
||||
|
||||
System.out.println("=================== Reader Output ======================");
|
||||
System.out.println(debug);
|
||||
//System.out.println("=================== Reader Output ======================");
|
||||
//System.out.println(debug);
|
||||
debugFile.delete();
|
||||
}
|
||||
|
||||
|
|
@ -100,8 +110,10 @@ public class X4ODebugWriterTest {
|
|||
X4OWriter<TestObjectRoot> writer = driver.createWriter();
|
||||
TestObjectRoot object = reader.readResource("tests/attributes/test-bean.xml");
|
||||
|
||||
writer.setProperty(DefaultX4OWriter.DEBUG_OUTPUT_STREAM, new FileOutputStream(debugFile));
|
||||
writer.writeFile(object, writeFile);
|
||||
try (OutputStream out = new FileOutputStream(debugFile)) {
|
||||
writer.setProperty(DefaultX4OWriter.DEBUG_OUTPUT_STREAM, out);
|
||||
writer.writeFile(object, writeFile);
|
||||
}
|
||||
|
||||
Assertions.assertTrue(debugFile.exists(), "Debug file does not exists.");
|
||||
String debug = readFile(debugFile);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ import org.x4o.xml.X4ODriver;
|
|||
import org.x4o.xml.eld.CelDriver;
|
||||
import org.x4o.xml.io.DefaultX4OReader;
|
||||
import org.x4o.xml.io.X4OEntityResolver;
|
||||
import org.x4o.xml.lang.X4OLanguage;
|
||||
import org.x4o.xml.lang.X4OLanguageLocal;
|
||||
import org.x4o.xml.lang.X4OLanguageSession;
|
||||
import org.x4o.xml.test.TestDriver;
|
||||
import org.x4o.xml.test.models.TestObjectRoot;
|
||||
|
|
@ -62,14 +64,19 @@ public class X4OEntityResolverTest {
|
|||
@Test
|
||||
public void testResolve() throws Exception {
|
||||
X4ODriver<?> driver = new CelDriver();
|
||||
X4OEntityResolver resolver = new X4OEntityResolver(driver.createLanguage().createLanguageSession(),DefaultX4OReader.DEFAULT_PROPERTY_CONFIG);
|
||||
InputSource input = resolver.resolveEntity("","http://cel.x4o.org/xml/ns/cel-root-1.0.xsd");
|
||||
Assertions.assertNotNull(input);
|
||||
X4OLanguage language = driver.createLanguage();
|
||||
try (X4OLanguageSession session = language.createLanguageSession()) {
|
||||
X4OLanguageLocal.class.cast(language).init(session);
|
||||
X4OEntityResolver resolver = new X4OEntityResolver(session, DefaultX4OReader.DEFAULT_PROPERTY_CONFIG);
|
||||
InputSource input = resolver.resolveEntity("","http://cel.x4o.org/xml/ns/cel-root-1.0.xsd");
|
||||
Assertions.assertNotNull(input);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveMissing() throws Exception {
|
||||
X4ODriver<TestObjectRoot> driver = new TestDriver();
|
||||
// NOTE: this session is not inited, see fix code above.
|
||||
X4OEntityResolver resolver = new X4OEntityResolver(driver.createLanguage().createLanguageSession(),DefaultX4OReader.DEFAULT_PROPERTY_CONFIG);
|
||||
Exception e = null;
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import org.x4o.xml.X4ODriverManager;
|
|||
import org.x4o.xml.eld.CelDriver;
|
||||
import org.x4o.xml.eld.EldDriver;
|
||||
import org.x4o.xml.lang.task.X4OLanguageTask;
|
||||
import org.x4o.xml.lang.task.run.X4OTaskRunner;
|
||||
import org.x4o.xml.test.TestDriver;
|
||||
|
||||
/**
|
||||
|
|
@ -56,7 +57,7 @@ public class X4OWriteLanguageDocExecutorTest {
|
|||
SAX3PropertyConfig config = task.createTaskConfig();
|
||||
File outputPath = createOutputPath(outputPostfix);
|
||||
config.setProperty(EldDocWriter.OUTPUT_PATH,outputPath);
|
||||
task.createTaskExecutor(config).execute(driver.createLanguage());
|
||||
X4OTaskRunner.runTaskLanguage(task, driver.createLanguage(), config);
|
||||
Assertions.assertTrue(outputPath.exists());
|
||||
Assertions.assertTrue(outputPath.list()!=null);
|
||||
Assertions.assertTrue(outputPath.list().length>2);
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ import org.x4o.xml.eld.EldDriver;
|
|||
import org.x4o.xml.eld.EldModuleLoaderCore;
|
||||
import org.x4o.xml.io.X4OWriterTest;
|
||||
import org.x4o.xml.lang.task.X4OLanguageTask;
|
||||
import org.x4o.xml.lang.task.run.X4OTaskRunner;
|
||||
import org.x4o.xml.test.swixml.SwiXmlDriver;
|
||||
|
||||
/**
|
||||
|
|
@ -71,7 +72,7 @@ public class EldXsdLanguageTaskTest {
|
|||
config.setProperty(key, value);
|
||||
}
|
||||
}
|
||||
task.createTaskExecutor(config).execute(driver.createLanguage());
|
||||
X4OTaskRunner.runTaskLanguage(task, driver.createLanguage(), config);
|
||||
Assertions.assertTrue(outputPath.exists());
|
||||
Assertions.assertTrue(outputPath.list()!=null);
|
||||
return outputPath;
|
||||
|
|
|
|||
|
|
@ -42,13 +42,16 @@ import org.x4o.xml.test.models.TestObjectRoot;
|
|||
public class DefaultX4OLanguageLoaderTest {
|
||||
|
||||
static X4ODriver<TestObjectRoot> driver;
|
||||
static X4OLanguage language;
|
||||
static X4OLanguageLocal language;
|
||||
static X4OLanguageSession session;
|
||||
static DefaultX4OLanguageLoader loader;
|
||||
|
||||
@BeforeAll
|
||||
public static void setUp() throws Exception {
|
||||
driver = TestDriver.getInstance();
|
||||
language = driver.createLanguage();
|
||||
language = (X4OLanguageLocal)driver.createLanguage();
|
||||
session = language.createLanguageSession();
|
||||
language.init(session);
|
||||
loader = (DefaultX4OLanguageLoader)language.getLanguageConfiguration().getDefaultLanguageLoader().newInstance();
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +59,7 @@ public class DefaultX4OLanguageLoaderTest {
|
|||
public void testLoadingDuplicate() throws Exception {
|
||||
Exception e = null;
|
||||
try {
|
||||
loader.loadLanguage((X4OLanguageLocal)language, "test", "1.0");
|
||||
loader.loadLanguage(session, language, "test", "1.0");
|
||||
} catch (Exception ee) {
|
||||
e = ee;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue