summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometBindingProviderFactory.java
diff options
context:
space:
mode:
authorfmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68>2010-08-31 07:38:49 +0000
committerfmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68>2010-08-31 07:38:49 +0000
commitc17b24d2e4790c6e4c96bc9f16465889018308b4 (patch)
treeb076db19c6c4eb4f17d4d609fbc6ce9cf0809cac /sca-java-2.x/trunk/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometBindingProviderFactory.java
parent9376cf7266b7b264879cec02a48555eaa9a20299 (diff)
Added comet binding and sample in trunk/contrib.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@991104 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sca-java-2.x/trunk/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometBindingProviderFactory.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometBindingProviderFactory.java b/sca-java-2.x/trunk/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometBindingProviderFactory.java
new file mode 100644
index 0000000000..fc5fd9f371
--- /dev/null
+++ b/sca-java-2.x/trunk/contrib/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometBindingProviderFactory.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.binding.comet.runtime;
+
+import org.apache.tuscany.sca.binding.comet.CometBinding;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.host.http.ServletHost;
+import org.apache.tuscany.sca.host.http.ServletHostHelper;
+import org.apache.tuscany.sca.provider.BindingProviderFactory;
+import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
+import org.apache.tuscany.sca.provider.ServiceBindingProvider;
+import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
+import org.apache.tuscany.sca.runtime.RuntimeEndpointReference;
+
+/**
+ * Factory for binding providers.
+ */
+public class CometBindingProviderFactory implements BindingProviderFactory<CometBinding> {
+
+ /**
+ * Underlying servlet host. Injected by constructor.
+ */
+ private final ServletHost servletHost;
+
+ /**
+ * Constructor.
+ */
+ public CometBindingProviderFactory(final ExtensionPointRegistry extensionPoints) {
+ this.servletHost = ServletHostHelper.getServletHost(extensionPoints);
+ }
+
+ @Override
+ public Class<CometBinding> getModelType() {
+ return CometBinding.class;
+ }
+
+ /**
+ * Creates a provider for a reference that has comet binding specified in
+ * the scdl.
+ */
+ @Override
+ public ReferenceBindingProvider createReferenceBindingProvider(final RuntimeEndpointReference endpoint) {
+ return new CometReferenceBindingProvider(endpoint);
+ }
+
+ /**
+ * Creates a provider for a service that has comet binding specified in the
+ * scdl.
+ */
+ @Override
+ public ServiceBindingProvider createServiceBindingProvider(final RuntimeEndpoint endpoint) {
+ return new CometServiceBindingProvider(endpoint, this.servletHost);
+ }
+
+}