/** {@inheritDoc} */ @Override public SBOLDocument read(InputStream in) throws IOException, SBOLValidationException { try { Unmarshaller unmarshaller = JAXB.CONTEXT.createUnmarshaller(); if (validate) { unmarshaller.setSchema(JAXB.SCHEMA); } SBOLDocument doc = (SBOLDocument) unmarshaller.unmarshal(in); doc.accept(new PrecedeReferenceFinder()); doc.accept(new DuplicateRemover()); if (validate) { new SBOLValidatorImpl().validateWithoutSchema(doc); } return doc; } catch (SBOLValidationException e) { throw e; } catch (UnmarshalException e) { if (e.getLinkedException() != null) { throw new SBOLValidationException(e.getLinkedException()); } else { throw new SBOLValidationException(e); } } catch (Exception e) { throw new IOException(e); } }
public ArrayList validateXML(String xmlMessage) { StringBuffer validationError = new StringBuffer(""); String result = "Pass"; ArrayList list = new ArrayList(); SubmitManufacturerPartyData sb = null; InputStream inFile = null; try { inFile = new ByteArrayInputStream(xmlMessage.getBytes()); SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = schemaFactory.newSchema(new File("PartydataManufacturer.xsd")); JAXBContext ctx = JAXBContext.newInstance(new Class[] {SubmitManufacturerPartyData.class}); Unmarshaller um = ctx.createUnmarshaller(); um.setSchema(schema); sb = (SubmitManufacturerPartyData) um.unmarshal(inFile); } catch (SAXException e) { result = "Fail"; e.printStackTrace(); } catch (UnmarshalException umex) { result = "Fail"; System.out.println("---------- XML Validation Error -------------- "); System.out.println("#######" + umex.getLinkedException().getMessage()); umex.printStackTrace(); } catch (Exception e) { result = "Fail"; e.printStackTrace(); } list.add(sb); list.add(result); return list; }