Package org.apache.tuscany.model.assembly

Examples of org.apache.tuscany.model.assembly.ExternalService


                    throw e;
                }
                registerConfiguration(configuration);
                registerAutowire(ep);
            } else if (model instanceof ExternalService) {
                ExternalService service = (ExternalService) model;
                module.getExternalServices().add(service);
                configuration = (ContextFactory<Context>) service.getContextFactory();
                if (configuration == null) {
                    ConfigurationException e = new MissingContextFactoryException("Context factory not set");
                    e.setIdentifier(service.getName());
                    e.addContextName(getName());
                    throw e;
                }
                registerConfiguration(configuration);
                registerAutowire(service);
View Full Code Here


    public void build(AssemblyObject modelObject) throws BuilderException {
        if (!(modelObject instanceof ExternalService)) {
            return;
        }
        ExternalService externalService = (ExternalService) modelObject;
        if (externalService.getConfiguredService() != null
                && externalService.getContextFactory() != null) {
            return;
        } else if (externalService.getBindings() == null || externalService.getBindings().size() < 1
                || !(externalService.getBindings().get(0) instanceof SystemBinding)) {
            return;
        }
        SystemBinding binding = (SystemBinding)externalService.getBindings().get(0);
        if (binding.getTargetName() != null) {
            SystemExternalServiceContextFactory contextFactory = new SystemExternalServiceContextFactory(externalService
                    .getName(), new InterCompositeReferenceFactory(binding.getTargetName()));
            externalService.setContextFactory(contextFactory);
        } else if (externalService.getConfiguredService().getPort().getServiceContract().getInterface() != null) {
            // autowire
            Class<Object> claz = externalService.getConfiguredService().getPort().getServiceContract().getInterface();
            if (claz == null) {
                BuilderException e = new BuilderConfigException("Interface type not specified");
                e.setIdentifier(externalService.getName());
                e.addContextName(externalService.getName());
                throw e;
            }
            SystemExternalServiceContextFactory config = new SystemExternalServiceContextFactory(externalService
                    .getName(), new AutowireObjectFactory<Object>(claz));
            externalService.setContextFactory(config);
        }
    }
View Full Code Here

            Service service = configuredService.getPort();
            SourceWireFactory wireFactory = wireFactoryService.createSourceFactory(ep.getConfiguredReference()).get(0);
            contextFactory.addSourceWireFactory(service.getName(), wireFactory);
            ep.setContextFactory(contextFactory);
        } else if (object instanceof ExternalService) {
            ExternalService es = (ExternalService) object;
            if (es.getBindings().size() < 1 || !(es.getBindings().get(0) instanceof FooBinding)) {
                return;
            }
            FooExternalServiceContextFactory contextFactory = new FooExternalServiceContextFactory(es.getName(),
                    new FooClientFactory());
            ConfiguredService configuredService = es.getConfiguredService();
            Service service = configuredService.getPort();
            TargetWireFactory wireFactory = wireFactoryService.createTargetFactory(configuredService);
            contextFactory.addTargetWireFactory(service.getName(), wireFactory);
            es.setContextFactory(contextFactory);
        }
    }
View Full Code Here

    public void build(AssemblyObject object) throws BuilderException {
        if (!(object instanceof ExternalService)) {
            return;
        }
        ExternalService externalService = (ExternalService) object;
        if (externalService.getBindings().size() < 1) {
            //   || !(handlesBindingType(externalService.getBindings().get(0)))) {
            return;
        }
        if (!bindingClass.isAssignableFrom(externalService.getBindings().get(0).getClass())) {
            return;
        }

        ExternalServiceContextFactory contextFactory
                = createExternalServiceContextFactory(externalService);

        ConfiguredService configuredService = externalService.getConfiguredService();
        Service service = configuredService.getPort();
        TargetWireFactory wireFactory = wireService.createTargetFactory(configuredService);
        contextFactory.addTargetWireFactory(service.getName(), wireFactory);
        externalService.setContextFactory(contextFactory);
    }
View Full Code Here

                }
            }

        }
        if (part instanceof ExternalService) {
            ExternalService externalService = (ExternalService) part;
            return externalService.getConfiguredService();
        } else
            return null;
    }
View Full Code Here

    /**
     * Creates an external service configured with the 'Foo' test binding
     */
    public static ExternalService createFooBindingExternalService(String name, Class interfaz) {
        ExternalService es = factory.createExternalService();
        es.setName(name);
        Service s = factory.createService();
        JavaServiceContract ji = factory.createJavaServiceContract();
        ji.setScope(Scope.MODULE);
        ji.setInterface(interfaz);
        s.setServiceContract(ji);
        ConfiguredService configuredService = factory.createConfiguredService();
        es.setConfiguredService(configuredService);

        FooBinding binding = new FooBinding();
        es.getBindings().add(binding);
        return es;
    }
View Full Code Here

    /**
     * Creates an external service configured with a {@link SystemBinding}
     */
    public static ExternalService createESSystemBinding(String name, String refName) {
        ExternalService es = systemFactory.createExternalService();
        es.setName(name);
        ConfiguredService configuredService = systemFactory.createConfiguredService();
        es.setConfiguredService(configuredService);
        SystemBinding binding = systemFactory.createSystemBinding();
        binding.setTargetName(refName);
        es.getBindings().add(binding);
        es.initialize(null);
        return es;
    }
View Full Code Here

     * Creates a module with a Java-based source component wired to a "target" external service configured
     * with the {@link FooBinding}
     */
    public static Module createModuleWithExternalService() throws ConfigurationLoadException {
        Component sourceComponent = createComponent("source", HelloWorldClient.class, Scope.MODULE);
        ExternalService targetES = createFooBindingExternalService("target", HelloWorldService.class);

        Service targetService = factory.createService();
        JavaServiceContract targetContract = factory.createJavaServiceContract();
        targetContract.setInterface(HelloWorldService.class);
        targetService.setServiceContract(targetContract);
        targetService.setName("HelloWorld");
        ConfiguredService cTargetService = factory.createConfiguredService();
        cTargetService.setPort(targetService);
        targetES.setConfiguredService(cTargetService);
        targetES.initialize(assemblyContext);

        Reference ref = factory.createReference();
        ref.setName("setHelloWorldService");
        JavaServiceContract inter = factory.createJavaServiceContract();
        inter.setInterface(HelloWorldService.class);
View Full Code Here

        EntryPoint sourceEP = createFooBindingEntryPoint("source", HelloWorldService.class);
        sourceEP.getConfiguredService().getPort().setName("HelloWorldService");
        sourceEP.initialize(assemblyContext);


        ExternalService targetES = createFooBindingExternalService("target", HelloWorldService.class);

        Service targetService = factory.createService();
        JavaServiceContract targetContract = factory.createJavaServiceContract();
        targetContract.setInterface(HelloWorldService.class);
        targetService.setServiceContract(targetContract);
        targetService.setName("HelloWorld");
        ConfiguredService cTargetService = factory.createConfiguredService();
        cTargetService.setPort(targetService);
        targetES.setConfiguredService(cTargetService);
        targetES.initialize(assemblyContext);

        Reference ref = factory.createReference();
        ref.setName("setHelloWorldService");
        JavaServiceContract inter = factory.createJavaServiceContract();
        inter.setInterface(HelloWorldService.class);
View Full Code Here

    }

    public ExternalService load(XMLStreamReader reader, LoaderContext loaderContext) throws XMLStreamException, ConfigurationLoadException {
        assert EXTERNAL_SERVICE.equals(reader.getName());
        String name = reader.getAttributeValue(null, "name");
        ExternalService externalService = factory.createExternalService();
        externalService.setName(name);
        externalService.setOverrideOption(StAXUtil.overrideOption(reader.getAttributeValue(null, "overridable"), OverrideOption.NO));

        while (true) {
            switch (reader.next()) {
            case START_ELEMENT:
                AssemblyObject o = registry.load(reader, loaderContext);
                if (o instanceof ServiceContract) {
                    Service service = factory.createService();
                    service.setName(name);
                    service.setServiceContract((ServiceContract) o);
                    ConfiguredService configuredService = factory.createConfiguredService();
                    configuredService.setPort(service);
                    externalService.setConfiguredService(configuredService);
                } else if (o instanceof Binding) {
                    externalService.getBindings().add((Binding) o);
                }
                reader.next();
                break;
            case END_ELEMENT:
                return externalService;
View Full Code Here

TOP

Related Classes of org.apache.tuscany.model.assembly.ExternalService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.