PvmEnvironmentFactory(final StreamSource streamSource) { super(); final Parse parse = PvmEnvironmentFactoryParser.getInstance().createParse().setDocumentObject(this) .setStreamSource(streamSource).execute(); Misc.showProblems(parse.getProblems(), "pvm environment configuration " + streamSource); }
@Override public InputSource resolveEntity(final String publicId, final String systemId) { if (systemId.startsWith(CLASSPATH_URL)) { final String localpart = systemId.substring(CLASSPATH_URL.length()); final InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(localpart); if (inStream != null) { return new InputSource(inStream); } } return super.resolveEntity(publicId, systemId); }
@Override public Object parseDocument(final Document document, final Parse parse) { final Element documentElement = document.getDocumentElement(); // if the default environment factory was already set in the parse PvmEnvironmentFactory pvmEnvironmentFactory = (PvmEnvironmentFactory) parse.getDocumentObject(); if (pvmEnvironmentFactory == null) { pvmEnvironmentFactory = new PvmEnvironmentFactory(); parse.setDocumentObject(pvmEnvironmentFactory); } final WireDefinition environmentFactoryWireDefinition = getApplicationWireDefinition(documentElement, parse); final WireDefinition environmentWireDefinition = getBlockWireDefinition(documentElement, parse); // create the application wire context from the definition final WireContext environmentFactoryWireContext = new WireContext(environmentFactoryWireDefinition, Context.CONTEXTNAME_ENVIRONMENT_FACTORY); // propagate the parser classloader to the application context environmentFactoryWireContext.setClassLoader(classLoader); // configure the default environment factory pvmEnvironmentFactory.setEnvironmentFactoryCtxWireContext(environmentFactoryWireContext); pvmEnvironmentFactory.setEnvironmentCtxWireDefinition(environmentWireDefinition); parse.setDocumentObject(pvmEnvironmentFactory); return pvmEnvironmentFactory; }
public static synchronized PvmEnvironmentFactoryParser getInstance() { if (instance == null) { instance = new BonitaEnvironmentParser(); // Get bindings final Bindings bindings = instance.getEnvironmentXmlParser().getBindings(); // Use the same bindings in block and application contexts instance.getEnvironmentFactoryXmlParser().setBindings(bindings); // Add bonita bindings final BindingParser bindingParser = new BindingParser(); final URL url = ReflectUtil.getResource(null, BONITA_WIRE_BINDINGS_RESOURCES); if (url != null) { LOG.info("parsing bindings from resource url: " + url); Parse parse = bindingParser.createParse() .setUrl(url) .pushObject(bindings) .execute(); Misc.showProblems(parse.getProblems(), "bonita wire bindings"); } } return instance; }
@Override public PvmEnvironmentFactory parseDocument(final Document document, final Parse parse) { // Default parsing final PvmEnvironmentFactory defaultEnvironmentFactory = (PvmEnvironmentFactory) super.parseDocument(document, parse); // Add authentication descriptor to application block final ObjectDescriptor authenticationDescriptor = new ObjectDescriptor(); authenticationDescriptor.setClassName(Authentication.class.getName()); defaultEnvironmentFactory.getEnvironmentFactoryCtxWireContext().getWireDefinition().addDescriptor(authenticationDescriptor); return defaultEnvironmentFactory; }
public static EnvironmentFactory parseEnvironmentFactoryFromXmlString( final String xmlString) { final Parse parse = getInstance().createParse(); parse.setString(xmlString); final EnvironmentFactory factory = (EnvironmentFactory) parse.execute().getDocumentObject(); Misc.showProblems(parse.getProblems(), "environment"); return factory; }
/** * parses the given stream source with {@link #getInstance() the current * parser}. */ static EnvironmentFactory parse(final StreamSource streamSource) { final Parse parse = getInstance().createParse().setStreamSource(streamSource).execute(); Misc.showProblems(parse.getProblems(), "environment configuration " + streamSource); return (EnvironmentFactory) parse.getDocumentObject(); }