summaryrefslogtreecommitdiffstats
path: root/branches/pre-spec-changes/test/src/main/java/org/apache/tuscany/test/binding/TestSocketBindingBuilder.java
blob: 020bdd3ef9e626dc721d509a6b21c79d0f238630 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package org.apache.tuscany.test.binding;

import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.component.ReferenceBinding;
import org.apache.tuscany.spi.component.ServiceBinding;
import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.spi.extension.BindingBuilderExtension;
import org.apache.tuscany.spi.model.BoundReferenceDefinition;
import org.apache.tuscany.spi.model.BoundServiceDefinition;

/**
 * @version $Rev$ $Date$
 */
public class TestSocketBindingBuilder extends BindingBuilderExtension<TestSocketBindingDefinition> {

    public ServiceBinding build(CompositeComponent parent,
                                BoundServiceDefinition definition,
                                TestSocketBindingDefinition bindingDefinition,
                                DeploymentContext ctx) {
        int port = bindingDefinition.getPort();
        return new TestSocketBindingServiceBinding(definition.getName(), port, parent);
    }

    public ReferenceBinding build(CompositeComponent parent,
                                  BoundReferenceDefinition definition,
                                  TestSocketBindingDefinition bindingDefinition,
                                  DeploymentContext ctx) {
        String name = definition.getName();
        int port = bindingDefinition.getPort();
        String host = bindingDefinition.getHost();
        return new TestSocketReferenceBinding(name, host, port, parent);
    }

    protected Class<TestSocketBindingDefinition> getBindingType() {
        return TestSocketBindingDefinition.class;
    }
}