/** * Tests the XSLT used to downgrade from current schema to 2003-FC. An XML file with an image is * created and the stylesheet is applied. * * @throws Exception Thrown if an error occurred. */ @Test(enabled = true) public void testDowngradeTo2003FCImageNoMetadata() throws Exception { File inFile = File.createTempFile("testDowngradeTo2003FCImageNoMetadata", "." + OME_XML_FORMAT); files.add(inFile); File middleFile = File.createTempFile("testDowngradeTo2003FCImageNoMetadataMiddle", "." + OME_XML_FORMAT); files.add(middleFile); File outputFile = File.createTempFile("testDowngradeTo2003FCImageNoMetadataOutput", "." + OME_XML_FORMAT); files.add(outputFile); XMLMockObjects xml = new XMLMockObjects(); XMLWriter writer = new XMLWriter(); writer.writeFile(inFile, xml.createImage(), true); transformFileWithStream(inFile, middleFile, STYLESHEET_A); transformFileWithStream(middleFile, outputFile, STYLESHEET_B); Document doc = anOmeValidator.parseFileWithStreamArray(outputFile, schemaArray); assertNotNull(doc); // Should only have one root node i.e. OME node NodeList list = doc.getChildNodes(); assertEquals(list.getLength(), 1); Node root = list.item(0); assertEquals(root.getNodeName(), XMLWriter.OME_TAG); // now analyse the root node list = root.getChildNodes(); String name; Node n; Document docSrc = anOmeValidator.parseFile(inFile, null); Node rootSrc = docSrc.getChildNodes().item(0); Node imageNode = null; NodeList listSrc = rootSrc.getChildNodes(); for (int i = 0; i < listSrc.getLength(); i++) { n = listSrc.item(i); name = n.getNodeName(); if (name != null) { if (name.contains(XMLWriter.IMAGE_TAG)) imageNode = n; } } for (int i = 0; i < list.getLength(); i++) { n = list.item(i); name = n.getNodeName(); if (name != null) { // TODO: add other node if (name.contains(XMLWriter.IMAGE_TAG) && imageNode != null) checkImageNode(n, imageNode); } } }
/** * Tests the XSLT used to downgrade from schema 2011-06 to 2010-06. An XML file with an image is * created and the stylesheet is applied. * * @throws Exception Thrown if an error occurred. */ @Test(enabled = true) public void testDowngradeTo201006ImageNoMetadata() throws Exception { File f = File.createTempFile("testDowngradeTo201006ImageNoMetadata", "." + OME_XML_FORMAT); files.add(f); File output = File.createTempFile("testDowngradeTo201006ImageNoMetadataOutput", "." + OME_XML_FORMAT); files.add(output); XMLMockObjects xml = new XMLMockObjects(); XMLWriter writer = new XMLWriter(); writer.writeFile(f, xml.createImage(), true); // Dump out file for debuging // File fCheckIn = new File("/Users/andrew/Desktop/wibble1.xml"); // writer.writeFile(fCheckIn , xml.getRoot(), true); transformFileWithStream(f, output, STYLESHEET); Document doc = anOmeValidator.parseFileWithStreamArray(output, schemaArray); assertNotNull(doc); // Should only have one root node i.e. OME node NodeList list = doc.getChildNodes(); assertEquals(list.getLength(), 1); Node root = list.item(0); assertEquals(root.getNodeName(), XMLWriter.OME_TAG); // now analyse the root node list = root.getChildNodes(); String name; Node n; Document docSrc = anOmeValidator.parseFile(f, null); Node rootSrc = docSrc.getChildNodes().item(0); Node imageNode = null; NodeList listSrc = rootSrc.getChildNodes(); for (int i = 0; i < listSrc.getLength(); i++) { n = listSrc.item(i); name = n.getNodeName(); if (name != null) { if (name.contains(XMLWriter.IMAGE_TAG)) imageNode = n; } } for (int i = 0; i < list.getLength(); i++) { n = list.item(i); name = n.getNodeName(); if (name != null) { // TODO: add other node if (name.contains(XMLWriter.IMAGE_TAG) && imageNode != null) checkImageNode(n, imageNode); } } }