Search in sources :

Example 1 with NamespacePrefixAccumulator

use of org.apache.cxf.javascript.NamespacePrefixAccumulator in project cxf by apache.

the class AttributeTest method setupClientAndRhino.

private void setupClientAndRhino(String clientProxyFactoryBeanId) throws IOException {
    testUtilities.setBus(getBean(Bus.class, "cxf"));
    testUtilities.initializeRhino();
    testUtilities.readResourceIntoRhino("/org/apache/cxf/javascript/cxf-utils.js");
    clientProxyFactory = getBean(JaxWsProxyFactoryBean.class, clientProxyFactoryBeanId);
    client = clientProxyFactory.getClientFactoryBean().create();
    serviceInfos = client.getEndpoint().getService().getServiceInfos();
    // there can only be one.
    assertEquals(1, serviceInfos.size());
    ServiceInfo serviceInfo = serviceInfos.get(0);
    schemata = serviceInfo.getSchemas();
    nameManager = BasicNameManager.newNameManager(serviceInfo);
    NamespacePrefixAccumulator prefixAccumulator = new NamespacePrefixAccumulator(serviceInfo.getXmlSchemaCollection());
    for (SchemaInfo schema : schemata) {
        SchemaJavascriptBuilder builder = new SchemaJavascriptBuilder(serviceInfo.getXmlSchemaCollection(), prefixAccumulator, nameManager);
        String allThatJavascript = builder.generateCodeForSchema(schema.getSchema());
        assertNotNull(allThatJavascript);
        testUtilities.readStringIntoRhino(allThatJavascript, schema.toString() + ".js");
    }
}
Also used : ServiceInfo(org.apache.cxf.service.model.ServiceInfo) Bus(org.apache.cxf.Bus) JaxWsProxyFactoryBean(org.apache.cxf.jaxws.JaxWsProxyFactoryBean) NamespacePrefixAccumulator(org.apache.cxf.javascript.NamespacePrefixAccumulator) SchemaInfo(org.apache.cxf.service.model.SchemaInfo)

Example 2 with NamespacePrefixAccumulator

use of org.apache.cxf.javascript.NamespacePrefixAccumulator in project cxf by apache.

the class WSDLToJavaScriptProcessor method process.

public void process() throws ToolException {
    super.process();
    ServiceInfo serviceInfo = context.get(ServiceInfo.class);
    File jsFile = getOutputFile(serviceInfo.getName().getLocalPart() + ".js");
    BasicNameManager nameManager = BasicNameManager.newNameManager(serviceInfo, null);
    NamespacePrefixAccumulator prefixManager = new NamespacePrefixAccumulator(serviceInfo.getXmlSchemaCollection());
    Map<String, String> nsPrefixMap = CastUtils.cast(context.get(ToolConstants.CFG_JSPREFIXMAP, Map.class), String.class, String.class);
    if (nsPrefixMap != null) {
        for (Map.Entry<String, String> prefixEntry : nsPrefixMap.entrySet()) {
            prefixManager.collect(prefixEntry.getValue(), prefixEntry.getKey());
        }
    }
    BufferedWriter writer = null;
    try {
        OutputStream outputStream = Files.newOutputStream(jsFile.toPath());
        if (null != context.get(ToolConstants.CFG_JAVASCRIPT_UTILS)) {
            JavascriptGetInterceptor.writeUtilsToResponseStream(WSDLToJavaScriptProcessor.class, outputStream);
        }
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, UTF8);
        writer = new BufferedWriter(outputStreamWriter);
        XmlSchemaCollection collection = serviceInfo.getXmlSchemaCollection().getXmlSchemaCollection();
        SchemaJavascriptBuilder jsBuilder = new SchemaJavascriptBuilder(serviceInfo.getXmlSchemaCollection(), prefixManager, nameManager);
        String jsForSchemas = jsBuilder.generateCodeForSchemaCollection(collection);
        writer.append(jsForSchemas);
        ServiceJavascriptBuilder serviceBuilder = new ServiceJavascriptBuilder(serviceInfo, null, prefixManager, nameManager);
        serviceBuilder.walk();
        String serviceJavascript = serviceBuilder.getCode();
        writer.append(serviceJavascript);
    } catch (FileNotFoundException e) {
        throw new ToolException(e);
    } catch (IOException e) {
        throw new ToolException(e);
    } finally {
        try {
            if (writer != null) {
                writer.close();
            }
        } catch (IOException e) {
            throw new ToolException(e);
        }
    }
}
Also used : ServiceJavascriptBuilder(org.apache.cxf.javascript.service.ServiceJavascriptBuilder) OutputStream(java.io.OutputStream) FileNotFoundException(java.io.FileNotFoundException) IOException(java.io.IOException) XmlSchemaCollection(org.apache.ws.commons.schema.XmlSchemaCollection) BufferedWriter(java.io.BufferedWriter) SchemaJavascriptBuilder(org.apache.cxf.javascript.types.SchemaJavascriptBuilder) ServiceInfo(org.apache.cxf.service.model.ServiceInfo) BasicNameManager(org.apache.cxf.javascript.BasicNameManager) OutputStreamWriter(java.io.OutputStreamWriter) ToolException(org.apache.cxf.tools.common.ToolException) NamespacePrefixAccumulator(org.apache.cxf.javascript.NamespacePrefixAccumulator) File(java.io.File) Map(java.util.Map)

Example 3 with NamespacePrefixAccumulator

use of org.apache.cxf.javascript.NamespacePrefixAccumulator in project cxf by apache.

the class SerializationTest method setupClientAndRhino.

private void setupClientAndRhino(String clientProxyFactoryBeanId) throws IOException {
    testUtilities.setBus(getBean(Bus.class, "cxf"));
    testUtilities.initializeRhino();
    testUtilities.readResourceIntoRhino("/org/apache/cxf/javascript/cxf-utils.js");
    clientProxyFactory = getBean(JaxWsProxyFactoryBean.class, clientProxyFactoryBeanId);
    client = clientProxyFactory.getClientFactoryBean().create();
    serviceInfos = client.getEndpoint().getService().getServiceInfos();
    // there can only be one.
    assertEquals(1, serviceInfos.size());
    ServiceInfo serviceInfo = serviceInfos.get(0);
    schemata = serviceInfo.getSchemas();
    nameManager = BasicNameManager.newNameManager(serviceInfo);
    NamespacePrefixAccumulator prefixAccumulator = new NamespacePrefixAccumulator(serviceInfo.getXmlSchemaCollection());
    for (SchemaInfo schema : schemata) {
        SchemaJavascriptBuilder builder = new SchemaJavascriptBuilder(serviceInfo.getXmlSchemaCollection(), prefixAccumulator, nameManager);
        String allThatJavascript = builder.generateCodeForSchema(schema.getSchema());
        assertNotNull(allThatJavascript);
        testUtilities.readStringIntoRhino(allThatJavascript, schema.toString() + ".js");
    }
}
Also used : ServiceInfo(org.apache.cxf.service.model.ServiceInfo) Bus(org.apache.cxf.Bus) JaxWsProxyFactoryBean(org.apache.cxf.jaxws.JaxWsProxyFactoryBean) NamespacePrefixAccumulator(org.apache.cxf.javascript.NamespacePrefixAccumulator) SchemaInfo(org.apache.cxf.service.model.SchemaInfo)

Example 4 with NamespacePrefixAccumulator

use of org.apache.cxf.javascript.NamespacePrefixAccumulator in project cxf by apache.

the class JavaToJSProcessor method process.

public void process() throws ToolException {
    String oldClassPath = System.getProperty(JAVA_CLASS_PATH);
    LOG.log(Level.INFO, "OLD_CP", oldClassPath);
    if (context.get(ToolConstants.CFG_CLASSPATH) != null) {
        String newCp = (String) context.get(ToolConstants.CFG_CLASSPATH);
        System.setProperty(JAVA_CLASS_PATH, newCp + File.pathSeparator + oldClassPath);
        LOG.log(Level.INFO, "NEW_CP", newCp);
    }
    // check for command line specification of data binding.
    ServiceBuilder builder = getServiceBuilder();
    ServiceInfo serviceInfo = builder.createService();
    File jsFile = getOutputFile(builder.getOutputFile(), serviceInfo.getName().getLocalPart() + ".js");
    BasicNameManager nameManager = BasicNameManager.newNameManager(serviceInfo, null);
    NamespacePrefixAccumulator prefixManager = new NamespacePrefixAccumulator(serviceInfo.getXmlSchemaCollection());
    Collection<SchemaInfo> schemata = serviceInfo.getSchemas();
    BufferedWriter writer = null;
    try {
        OutputStream outputStream = Files.newOutputStream(jsFile.toPath());
        if (null != context.get(ToolConstants.CFG_JAVASCRIPT_UTILS)) {
            JavascriptGetInterceptor.writeUtilsToResponseStream(JavaToJSProcessor.class, outputStream);
        }
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, UTF8);
        writer = new BufferedWriter(outputStreamWriter);
        for (SchemaInfo schema : schemata) {
            SchemaJavascriptBuilder jsBuilder = new SchemaJavascriptBuilder(serviceInfo.getXmlSchemaCollection(), prefixManager, nameManager);
            String allThatJavascript = jsBuilder.generateCodeForSchema(schema.getSchema());
            writer.append(allThatJavascript);
        }
        ServiceJavascriptBuilder serviceBuilder = new ServiceJavascriptBuilder(serviceInfo, null, prefixManager, nameManager);
        serviceBuilder.walk();
        String serviceJavascript = serviceBuilder.getCode();
        writer.append(serviceJavascript);
    } catch (FileNotFoundException e) {
        throw new ToolException(e);
    } catch (IOException e) {
        throw new ToolException(e);
    } finally {
        if (writer != null) {
            try {
                writer.close();
            } catch (IOException e) {
                throw new ToolException(e);
            }
        }
    }
    System.setProperty(JAVA_CLASS_PATH, oldClassPath);
    LOG.log(Level.INFO, "RESUME_CP", oldClassPath);
}
Also used : ServiceJavascriptBuilder(org.apache.cxf.javascript.service.ServiceJavascriptBuilder) OutputStream(java.io.OutputStream) FileNotFoundException(java.io.FileNotFoundException) IOException(java.io.IOException) ServiceBuilder(org.apache.cxf.service.ServiceBuilder) BufferedWriter(java.io.BufferedWriter) SchemaJavascriptBuilder(org.apache.cxf.javascript.types.SchemaJavascriptBuilder) ServiceInfo(org.apache.cxf.service.model.ServiceInfo) BasicNameManager(org.apache.cxf.javascript.BasicNameManager) OutputStreamWriter(java.io.OutputStreamWriter) ToolException(org.apache.cxf.tools.common.ToolException) NamespacePrefixAccumulator(org.apache.cxf.javascript.NamespacePrefixAccumulator) File(java.io.File) SchemaInfo(org.apache.cxf.service.model.SchemaInfo)

Aggregations

NamespacePrefixAccumulator (org.apache.cxf.javascript.NamespacePrefixAccumulator)4 ServiceInfo (org.apache.cxf.service.model.ServiceInfo)4 SchemaInfo (org.apache.cxf.service.model.SchemaInfo)3 BufferedWriter (java.io.BufferedWriter)2 File (java.io.File)2 FileNotFoundException (java.io.FileNotFoundException)2 IOException (java.io.IOException)2 OutputStream (java.io.OutputStream)2 OutputStreamWriter (java.io.OutputStreamWriter)2 Bus (org.apache.cxf.Bus)2 BasicNameManager (org.apache.cxf.javascript.BasicNameManager)2 ServiceJavascriptBuilder (org.apache.cxf.javascript.service.ServiceJavascriptBuilder)2 SchemaJavascriptBuilder (org.apache.cxf.javascript.types.SchemaJavascriptBuilder)2 JaxWsProxyFactoryBean (org.apache.cxf.jaxws.JaxWsProxyFactoryBean)2 ToolException (org.apache.cxf.tools.common.ToolException)2 Map (java.util.Map)1 ServiceBuilder (org.apache.cxf.service.ServiceBuilder)1 XmlSchemaCollection (org.apache.ws.commons.schema.XmlSchemaCollection)1