List of usage examples for javax.xml.bind Unmarshaller setSchema
public void setSchema(javax.xml.validation.Schema schema);
From source file:org.lib4j.cli.Options.java
public static Options parse(final URL cliURL, final Class<?> mainClass, final String[] args) { try {// ww w .j a v a 2s. c om final Unmarshaller unmarshaller = JAXBContext.newInstance(Cli.class).createUnmarshaller(); unmarshaller .setSchema( Options.schema == null ? Options.schema = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI) .newSchema(Thread.currentThread().getContextClassLoader() .getResource("cli.xsd")) : Options.schema); try (final InputStream in = cliURL.openStream()) { final JAXBElement<Cli> element = unmarshaller .unmarshal(XMLInputFactory.newInstance().createXMLStreamReader(in), Cli.class); return parse(element.getValue(), mainClass, args); } } catch (final FactoryConfigurationError e) { throw new UnsupportedOperationException(e); } catch (final IOException e) { throw new RuntimeException(e); } catch (final JAXBException | SAXException | XMLStreamException e) { throw new IllegalArgumentException(e); } }
From source file:org.lib4j.dbcp.DataSources.java
/** * Create a <code>BasicDataSource</code> given a dbcp JAXB binding. * * @param dbcpXml URL of dbcp xml resource. * @param driverClassLoader Class loader to be used to load the JDBC driver. * @return the <code>BasicDataSource</code> instance. * @throws SAXException If a XML validation error occurs. * @throws SQLException If a database access error occurs. * @throws IOException If an IO exception occurs. *//*from w w w. j ava 2s .c om*/ public static BasicDataSource createDataSource(final URL dbcpXml, final ClassLoader driverClassLoader) throws IOException, SAXException, SQLException { try { final Unmarshaller unmarshaller = JAXBContext.newInstance(Dbcp.class).createUnmarshaller(); unmarshaller .setSchema( DataSources.schema == null ? DataSources.schema = SchemaFactory .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI) .newSchema(Thread.currentThread().getContextClassLoader() .getResource("dbcp.xsd")) : DataSources.schema); try (final InputStream in = dbcpXml.openStream()) { final JAXBElement<Dbcp> element = unmarshaller .unmarshal(XMLInputFactory.newInstance().createXMLStreamReader(in), Dbcp.class); return createDataSource(element.getValue(), driverClassLoader); } } catch (final FactoryConfigurationError e) { throw new UnsupportedOperationException(e); } catch (final JAXBException | XMLStreamException e) { throw new SAXException(e); } }
From source file:org.lsc.configuration.JaxbXmlConfigurationHelper.java
/** * Load an XML file to the object/*ww w. j av a 2s . c o m*/ * * @param filename * filename to read from * @return the completed configuration object * @throws FileNotFoundException * thrown if the file can not be accessed (either because of a * misconfiguration or due to a rights issue) * @throws LscConfigurationException */ public Lsc getConfiguration(String filename) throws LscConfigurationException { LOGGER.debug("Loading XML configuration from: " + filename); try { Unmarshaller unmarshaller = jaxbc.createUnmarshaller(); SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema lscSchema = null; try { int i = 0; Set<URL> urls = new HashSet<URL>(); urls.addAll(ClasspathHelper.forPackage("org.lsc")); if (System.getProperty("LSC.PLUGINS.PACKAGEPATH") != null) { String[] pathElements = System.getProperty("LSC.PLUGINS.PACKAGEPATH") .split(System.getProperty("path.separator")); for (String pathElement : pathElements) { urls.addAll(ClasspathHelper.forPackage(pathElement)); } } Reflections reflections = new Reflections(new ConfigurationBuilder().addUrls(urls) .setScanners(new ResourcesScanner(), new SubTypesScanner())); Set<String> xsdFiles = reflections.getResources(Pattern.compile(".*\\.xsd")); Source[] schemasSource = new Source[xsdFiles.size()]; List<String> xsdFilesList = new ArrayList<String>(xsdFiles); Collections.reverse(xsdFilesList); for (String schemaFile : xsdFilesList) { LOGGER.debug("Importing XML schema file: " + schemaFile); InputStream schemaStream = this.getClass().getClassLoader().getResourceAsStream(schemaFile); schemasSource[i++] = new StreamSource(schemaStream); } lscSchema = schemaFactory.newSchema(schemasSource); unmarshaller.setSchema(lscSchema); } catch (VerifyError e) { throw new LscConfigurationException(e.toString(), e); } catch (SAXException e) { throw new LscConfigurationException(e); } return (Lsc) unmarshaller.unmarshal(new File(filename)); } catch (JAXBException e) { throw new LscConfigurationException(e); } }
From source file:org.modeldriven.fuml.bind.ValidatingUnmarshaler.java
/** * Creates an unmarshaler using the given factories and URL. Loads only the * given (subclass) schema as this is the "root" schema and it should * include any other schema resources it needs, and so on. Note all included * schemas MUST be found at the same class level as the root schema. * //w w w.jav a 2s.c o m * @param url * the Schema URL * @param context * the SAXB context * @param handler * the SAX handler * @param resolver * the SAX resolver * @return the unmarshaler * @throws JAXBException * @throws SAXException */ private Unmarshaller createUnmarshaler(URL url, JAXBContext context, Handler handler, Resolver resolver) throws JAXBException, SAXException { Unmarshaller u = context.createUnmarshaller(); // adds a custom object factory // u.setProperty("com.sun.xml.bind.ObjectFactory",new // ObjectFactoryEx()); SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schemaGrammar = schemaFactory.newSchema(url); u.setSchema(schemaGrammar); Validator schemaValidator = schemaGrammar.newValidator(); schemaValidator.setResourceResolver(resolver); schemaValidator.setErrorHandler(handler); return u; }
From source file:org.modeldriven.fuml.bind.ValidatingUnmarshaler.java
private Unmarshaller createUnmarshaler(URL url, JAXBContext context) throws JAXBException, SAXException { Unmarshaller u = context.createUnmarshaller(); // adds a custom object factory // u.setProperty("com.sun.xml.bind.ObjectFactory",new // ObjectFactoryEx()); SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schemaGrammar = schemaFactory.newSchema(url); u.setSchema(schemaGrammar); return u;//from www . j a v a 2 s . c o m }
From source file:org.modeldriven.fuml.bind.ValidatingUnmarshaler.java
/** * Creates an unmarshaler using the given factories and sream. Loads only * the given (subclass) schema as this is the "root" schema and it should * include any other schema resources it needs, and so on. Note all included * schemas MUST be found at the same class level as the root schema. * // ww w . ja v a 2s . c o m * @param stream * the Schema stream * @param context * the SAXB context * @param handler * the SAX handler * @param resolver * the SAX resolver * @return the unmarshaler * @throws JAXBException * @throws SAXException */ private Unmarshaller createUnmarshaler(InputStream stream, JAXBContext context, Handler handler, Resolver resolver) throws JAXBException, SAXException { Unmarshaller u = context.createUnmarshaller(); SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schemaGrammar = schemaFactory.newSchema(new StreamSource(stream)); u.setSchema(schemaGrammar); Validator schemaValidator = schemaGrammar.newValidator(); schemaValidator.setResourceResolver(resolver); schemaValidator.setErrorHandler(handler); return u; }
From source file:org.modeldriven.fuml.bind.ValidatingUnmarshaler.java
private Unmarshaller createUnmarshaler(InputStream stream, JAXBContext context) throws JAXBException, SAXException { Unmarshaller u = context.createUnmarshaller(); SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema"); Schema schemaGrammar = schemaFactory.newSchema(new StreamSource(stream)); u.setSchema(schemaGrammar); return u;//from www . j a va 2 s . co m }
From source file:org.multicore_association.measure.mem.generate.MemCodeGen.java
/** * Get the data which need to make CSource from SHIM file. * @return Flag for success judgements//from ww w . j av a2 s. co m */ private boolean getDataFromShim() { boolean ch = true; try { JAXBContext context = JAXBContext.newInstance(PACKAGENAME); Unmarshaller unmarshaller = context.createUnmarshaller(); /* validation check setup */ if (!shimSchemaPath.equals("")) { SchemaFactory sf = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = sf.newSchema(new File(shimSchemaPath)); unmarshaller.setSchema(schema); unmarshaller.setEventHandler(new ValidationEventHandler() { @Override public boolean handleEvent(ValidationEvent event) { if ((event.getSeverity() == ValidationEvent.FATAL_ERROR) || (event.getSeverity() == ValidationEvent.ERROR)) { ValidationEventLocator loc = event.getLocator(); parseErrList.add(" Line[" + loc.getLineNumber() + "] : " + event.getMessage()); } return true; } }); } sysConf = unmarshaller.unmarshal(new StreamSource(shimf), SystemConfiguration.class).getValue(); if (parseErrList.size() > 0) { System.err.println("Error: input SHIM file validation error"); System.err.println(" Validation error location:"); for (int i = 0; i < parseErrList.size(); i++) { System.err.println(parseErrList.get(i)); } return false; } // JAXBElement<SystemConfiguration> root = unmarshaller.unmarshal(new StreamSource(shimf), SystemConfiguration.class); // sysConf = root.getValue(); } catch (Exception e) { System.err.println("Error: failed to parse the SHIM file, please check the contents of the file"); return false; } ch = makeCPUListFromShim(); if (!ch) { return ch; } ch = makeSlaveListFromShim(); if (!ch) { return ch; } ch = makeAddressSpaceListFromShim(); if (!ch) { return ch; } ch = makeAccessPatternListFromShim(); if (!ch) { return ch; } return ch; }
From source file:org.multicore_association.measure.mem.writeback.SetResultToShim.java
/** * Set the value to read the existing SHIM file. * @return Flag for success judgements/*from w ww .ja v a2 s .c o m*/ * @throws ShimFileFormatException * @throws ShimFileGenerateException */ private static boolean appendToExistingShim() { /* * append to existing llvm-shim */ SystemConfiguration sysConf = null; try { JAXBContext context = JAXBContext.newInstance(SystemConfiguration.class); Unmarshaller unmarshaller = context.createUnmarshaller(); /* validation check setup */ if (!shimSchemaPath.equals("")) { SchemaFactory sf = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = sf.newSchema(new File(shimSchemaPath)); unmarshaller.setSchema(schema); unmarshaller.setEventHandler(new ValidationEventHandler() { @Override public boolean handleEvent(ValidationEvent event) { if ((event.getSeverity() == ValidationEvent.FATAL_ERROR) || (event.getSeverity() == ValidationEvent.ERROR)) { ValidationEventLocator loc = event.getLocator(); parseErrList.add(" Line[" + loc.getLineNumber() + "] : " + event.getMessage()); } return true; } }); } sysConf = unmarshaller.unmarshal(new StreamSource(shimf), SystemConfiguration.class).getValue(); if (parseErrList.size() > 0) { System.err.println("Error: input SHIM file validation error"); System.err.println(" Validation error location:"); for (int i = 0; i < parseErrList.size(); i++) { System.err.println(parseErrList.get(i)); } return false; } } catch (Exception e) { System.err.println("Error: failed to parse the SHIM file, please check the contents of the file"); e.printStackTrace(); return false; } AddressSpaceSet addrSpaceSet = sysConf.getAddressSpaceSet(); if (addrSpaceSet == null) { System.err.println("Error: failed to parse the SHIM file, please check the contents of the file"); return false; } List<AddressSpace> addrSpaceList = addrSpaceSet.getAddressSpace(); if (addrSpaceList == null) { System.err.println("Error: failed to parse the SHIM file, please check the contents of the file"); return false; } masterComponentMap = new HashMap<String, MasterComponent>(); slaveComponentMap = new HashMap<String, SlaveComponent>(); accessTypeMap = new HashMap<String, AccessType>(); List<String> route = new ArrayList<String>(); ComponentSet cs = sysConf.getComponentSet(); route.add(cs.getName()); makeRefMapFromComponentSet(cs, route); for (int i = 0; i < measureList.size(); i++) { MeasurementsCSVData data = measureList.get(i); route.clear(); /* * search AddressSpaceName */ AddressSpace addrSp = null; for (Iterator<AddressSpace> j = addrSpaceList.iterator(); j.hasNext();) { AddressSpace as = j.next(); if (as.getName() != null && as.getName().equals(data.getAddressSpaceName())) { addrSp = as; break; } } if (addrSp == null) { System.err.println("Error: Unknown 'Address Space' name (\"" + data.getAddressSpaceName() + "\")."); return false; } route.add(addrSp.getName()); /* * search SubSpaceName */ SubSpace subSp = null; List<SubSpace> ssList = addrSp.getSubSpace(); for (Iterator<SubSpace> j = ssList.iterator(); j.hasNext();) { SubSpace ss = j.next(); route.add(ss.getName()); String path = createPathName(route); route.remove(ss.getName()); if (path != null && path.equals(data.getSubSpaceName())) { subSp = ss; break; } } if (subSp == null) { System.err.println("Error: Unknown 'Sub Space' name (\"" + data.getSubSpaceName() + "\")."); return false; } /* * search SlaveComponentRef in MasterSlaveBinding */ MasterSlaveBindingSet msBindSet = null; msBindSet = subSp.getMasterSlaveBindingSet(); if (msBindSet == null) { continue; } MasterSlaveBinding msBind = null; List<MasterSlaveBinding> msBindList = msBindSet.getMasterSlaveBinding(); SlaveComponent scComp = slaveComponentMap.get(data.getSlaveComponentName()); if (scComp == null) { System.err.println( "Error: Unknown 'Slave Comonent' name (\"" + data.getSlaveComponentName() + "\")."); return false; } for (Iterator<MasterSlaveBinding> j = msBindList.iterator(); j.hasNext();) { MasterSlaveBinding msb = j.next(); SlaveComponent sca = (SlaveComponent) msb.getSlaveComponentRef(); if (sca != null && sca.getId().equals(scComp.getId())) { msBind = msb; break; } } if (msBind == null) { continue; } /* * search MasterComponentRef in Accessor */ Accessor accessor = null; List<Accessor> acList = msBind.getAccessor(); MasterComponent mcComp = masterComponentMap.get(data.getMasterComponentName()); if (mcComp == null) { System.err.println( "Error: Unknown 'Master Comonent' name (\"" + data.getMasterComponentName() + "\")."); return false; } for (Iterator<Accessor> j = acList.iterator(); j.hasNext();) { Accessor ac = j.next(); MasterComponent mc = (MasterComponent) ac.getMasterComponentRef(); if (mc != null && mc.getId().equals(mcComp.getId())) { accessor = ac; break; } } if (accessor == null) { continue; } /* * search PerformanceSet */ PerformanceSet perfrmSet = null; if (accessor.getPerformanceSet().size() != 0) { perfrmSet = accessor.getPerformanceSet().get(0); } if (perfrmSet == null) { continue; } /* * search Performance */ List<Performance> pfrmList = perfrmSet.getPerformance(); AccessType atComp = accessTypeMap.get(data.getAccessTypeName()); if (atComp == null) { System.err.println("Error: Unknown 'Access Type' name (\"" + data.getAccessTypeName() + "\")."); return false; } for (Iterator<Performance> j = pfrmList.iterator(); j.hasNext();) { Performance pfm = j.next(); AccessType at = (AccessType) pfm.getAccessTypeRef(); if (at != null && at.getId().equals(atComp.getId())) { Latency latency = new Latency(); Pitch pitch = new Pitch(); latency.setBest(data.getBestLatency()); latency.setWorst(data.getWorstLatency()); latency.setTypical(data.getTypicalLatency()); pitch.setBest(data.getBestPitch()); pitch.setWorst(data.getWorstPitch()); pitch.setTypical(data.getTypicalPitch()); pfm.setLatency(latency); pfm.setPitch(pitch); break; } } } try { JAXBContext context = JAXBContext.newInstance(SystemConfiguration.class.getPackage().getName()); Marshaller marshaller = context.createMarshaller(); /* validation check setup */ if (!shimSchemaPath.equals("")) { SchemaFactory sf = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = sf.newSchema(new File(shimSchemaPath)); marshaller.setSchema(schema); } QName qname = new QName("", "SystemConfiguration"); JAXBElement<SystemConfiguration> elem = new JAXBElement<SystemConfiguration>(qname, SystemConfiguration.class, sysConf); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // marshaller.marshal(elem, new PrintStream(shimf)); marshaller.marshal(elem, System.out); } catch (JAXBException e) { e.printStackTrace(); System.err.println("Error: exception occurs in SHIM file generation"); //$NON-NLS-1$ return false; } catch (SAXException e) { e.printStackTrace(); System.err.println("Error: output SHIM file validation error"); //$NON-NLS-1$ return false; } return true; }
From source file:org.openengsb.connector.promreport.internal.ProcessFileStore.java
private Unmarshaller createUnmarshaller() throws JAXBException { Unmarshaller u = jaxbContext.createUnmarshaller(); u.setSchema(schema); return u;/* www .j a v a2 s. co m*/ }