package com.evolveum.midpoint.prism; import static com.evolveum.midpoint.prism.PrismInternalTestUtil.*; import static org.testng.AssertJUnit.assertNotNull; import java.io.IOException; import org.testng.annotations.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; import com.evolveum.midpoint.prism.foo.UserType; import com.evolveum.midpoint.util.DOMUtil; public class TestPrismParsingXml extends TestPrismParsing { @Override protected String getSubdirName() { return "xml"; } @Override protected String getFilenameSuffix() { return "xml"; } @Override protected String getOutputFormat() { return PrismContext.LANG_XML; } @Test public void testPrismParseDom() throws Exception { final String TEST_NAME = "testPrismParseDom"; PrismInternalTestUtil.displayTestTitle(TEST_NAME); // GIVEN Document document = DOMUtil.parseFile(getFile(USER_JACK_FILE_BASENAME)); Element userElement = DOMUtil.getFirstChildElement(document); PrismContext prismContext = constructInitializedPrismContext(); // WHEN PrismObject<UserType> user = prismContext.parserFor(userElement).parse(); // THEN System.out.println("User:"); System.out.println(user.debugDump()); assertNotNull(user); assertUserJack(user, true); } @Test public void testPrismParseDomAdhoc() throws Exception { final String TEST_NAME = "testPrismParseDomAdhoc"; PrismInternalTestUtil.displayTestTitle(TEST_NAME); // GIVEN Document document = DOMUtil.parseFile(getFile(USER_JACK_ADHOC_BASENAME)); Element userElement = DOMUtil.getFirstChildElement(document); PrismContext prismContext = constructInitializedPrismContext(); // WHEN PrismObject<UserType> user = prismContext.parserFor(userElement).parse(); // THEN System.out.println("User:"); System.out.println(user.debugDump()); assertNotNull(user); assertUserAdhoc(user, true); } @Override protected void validateXml(String xmlString, PrismContext prismContext) throws SAXException, IOException { // Document xmlDocument = DOMUtil.parseDocument(xmlString); // Schema javaxSchema = prismContext.getSchemaRegistry().getJavaxSchema(); // Validator validator = javaxSchema.newValidator(); // validator.setResourceResolver(prismContext.getEntityResolver()); // validator.validate(new DOMSource(xmlDocument)); } }