Search in sources :

Example 1 with ServiceBuilderFactory

use of org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory in project cxf by apache.

the class JavaToJSProcessor method getServiceBuilder.

@SuppressWarnings("unchecked")
public ServiceBuilder getServiceBuilder() throws ToolException {
    Object beanFilesParameter = context.get(ToolConstants.CFG_BEAN_CONFIG);
    List<String> beanDefinitions = new ArrayList<>();
    if (beanFilesParameter != null) {
        if (beanFilesParameter instanceof String) {
            beanDefinitions.add((String) beanFilesParameter);
        } else if (beanFilesParameter instanceof List) {
            // is there a better way to avoid the warning?
            beanDefinitions.addAll((List<String>) beanFilesParameter);
        } else {
            String[] list = (String[]) beanFilesParameter;
            for (String b : list) {
                beanDefinitions.add(b);
            }
        }
    }
    ServiceBuilderFactory builderFactory = ServiceBuilderFactory.getInstance(beanDefinitions, getDataBindingName());
    Class<?> clz = getServiceClass();
    context.put(Class.class, clz);
    if (clz.isInterface()) {
        context.put(ToolConstants.GEN_FROM_SEI, Boolean.TRUE);
        context.put(ToolConstants.SEI_CLASS, clz.getName());
    } else {
        context.put(ToolConstants.IMPL_CLASS, clz.getName());
        if (clz.getInterfaces().length == 1) {
            context.put(ToolConstants.SEI_CLASS, clz.getInterfaces()[0].getName());
        }
        context.put(ToolConstants.GEN_FROM_SEI, Boolean.FALSE);
    }
    builderFactory.setServiceClass(clz);
    builderFactory.setDatabindingName(getDataBindingName());
    // The service class determines the frontend, so no need to pass it in
    // twice.
    ServiceBuilder builder = builderFactory.newBuilder();
    builder.validate();
    builder.setTransportId(getTransportId());
    builder.setBus(getBus());
    builder.setBindingId(getBindingId());
    return builder;
}
Also used : ServiceBuilderFactory(org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) ServiceBuilder(org.apache.cxf.service.ServiceBuilder)

Example 2 with ServiceBuilderFactory

use of org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory in project cxf by apache.

the class JavaToWSDLProcessor method getServiceBuilder.

@SuppressWarnings("unchecked")
public ServiceBuilder getServiceBuilder() throws ToolException {
    Object beanFilesParameter = context.get(ToolConstants.CFG_BEAN_CONFIG);
    List<String> beanDefinitions = new ArrayList<>();
    if (beanFilesParameter != null) {
        if (beanFilesParameter instanceof String) {
            beanDefinitions.add((String) beanFilesParameter);
        } else if (beanFilesParameter instanceof List) {
            // is there a better way to avoid the warning?
            beanDefinitions.addAll((List<String>) beanFilesParameter);
        } else {
            String[] list = (String[]) beanFilesParameter;
            for (String b : list) {
                beanDefinitions.add(b);
            }
        }
    }
    ServiceBuilderFactory builderFactory = ServiceBuilderFactory.getInstance(beanDefinitions, getDataBindingName());
    Class<?> clz = getServiceClass();
    context.put(Class.class, clz);
    if (clz.isInterface()) {
        context.put(ToolConstants.GEN_FROM_SEI, Boolean.TRUE);
        context.put(ToolConstants.SEI_CLASS, clz.getName());
    } else {
        context.put(ToolConstants.IMPL_CLASS, clz.getName());
        if (clz.getInterfaces().length == 1) {
            context.put(ToolConstants.SEI_CLASS, clz.getInterfaces()[0].getName());
        }
        context.put(ToolConstants.GEN_FROM_SEI, Boolean.FALSE);
    }
    builderFactory.setServiceClass(clz);
    builderFactory.setDatabindingName(getDataBindingName());
    // The service class determines the frontend, so no need to pass it in twice.
    ServiceBuilder builder = builderFactory.newBuilder();
    builder.validate();
    if (context.get(ToolConstants.CFG_ADDRESS) != null) {
        String address = (String) context.get(ToolConstants.CFG_ADDRESS);
        builder.setAddress(address);
    } else {
        builder.setAddress(DEFAULT_ADDRESS);
    }
    builder.setTransportId(getTransportId());
    builder.setBus(getBus());
    builder.setBindingId(getBindingId());
    return builder;
}
Also used : ServiceBuilderFactory(org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) ServiceBuilder(org.apache.cxf.service.ServiceBuilder)

Aggregations

ArrayList (java.util.ArrayList)2 List (java.util.List)2 ServiceBuilder (org.apache.cxf.service.ServiceBuilder)2 ServiceBuilderFactory (org.apache.cxf.tools.java2wsdl.processor.internal.ServiceBuilderFactory)2