You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/04/29 22:07:37 UTC

svn commit: r652077 - in /incubator/tuscany/java/sca/modules/binding-corba: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/tuscany/ src/main/java/org/apache/tuscany/sca/ src/main/java/org/apache/t...

Author: rfeng
Date: Tue Apr 29 13:07:35 2008
New Revision: 652077

URL: http://svn.apache.org/viewvc?rev=652077&view=rev
Log:
Add the skeleton code for binding-corba to jump start the efforts

Added:
    incubator/tuscany/java/sca/modules/binding-corba/   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/DISCLAIMER
    incubator/tuscany/java/sca/modules/binding-corba/LICENSE
    incubator/tuscany/java/sca/modules/binding-corba/NOTICE
    incubator/tuscany/java/sca/modules/binding-corba/pom.xml   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java   (with props)
    incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/
    incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory
    incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
    incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
    incubator/tuscany/java/sca/modules/binding-corba/src/test/
    incubator/tuscany/java/sca/modules/binding-corba/src/test/java/
    incubator/tuscany/java/sca/modules/binding-corba/src/test/resources/

Propchange: incubator/tuscany/java/sca/modules/binding-corba/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Apr 29 13:07:35 2008
@@ -0,0 +1,14 @@
+target
+*.iws
+*.ipr
+*.iml
+.project
+.classpath
+maven.log
+velocity.log*
+junit*.properties
+surefire*.properties
+.settings
+.deployables
+.wtpmodules
+

Added: incubator/tuscany/java/sca/modules/binding-corba/DISCLAIMER
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/DISCLAIMER?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/DISCLAIMER (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/DISCLAIMER Tue Apr 29 13:07:35 2008
@@ -0,0 +1,8 @@
+Apache Tuscany is an effort undergoing incubation at The Apache Software
+Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
+required of all newly accepted projects until a further review indicates that
+the infrastructure, communications, and decision making process have stabilized
+in a manner consistent with other successful ASF projects. While incubation
+status is not necessarily a reflection of the completeness or stability of the
+code, it does indicate that the project has yet to be fully endorsed by the ASF.
+

Added: incubator/tuscany/java/sca/modules/binding-corba/LICENSE
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/LICENSE?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/LICENSE (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/LICENSE Tue Apr 29 13:07:35 2008
@@ -0,0 +1,205 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
+
+

Added: incubator/tuscany/java/sca/modules/binding-corba/NOTICE
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/NOTICE?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/NOTICE (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/NOTICE Tue Apr 29 13:07:35 2008
@@ -0,0 +1,6 @@
+${pom.name}
+Copyright (c) 2005 - 2008 The Apache Software Foundation
+
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+

Added: incubator/tuscany/java/sca/modules/binding-corba/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/pom.xml?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/pom.xml (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/pom.xml Tue Apr 29 13:07:35 2008
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<project>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.tuscany.sca</groupId>
+        <artifactId>tuscany-modules</artifactId>
+        <version>2.0-incubating-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <artifactId>tuscany-binding-corba</artifactId>
+    <name>Apache Tuscany SCA CORBA Binding Extension</name>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-core-spi</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-assembly-xml</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-implementation-java-runtime</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+</project>

Propchange: incubator/tuscany/java/sca/modules/binding-corba/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,40 @@
+/*
+ * 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.corba;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.xml.Constants;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface CorbaBinding extends Binding {
+    QName BINDING_CORBA_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "binding.corba");
+
+    String getHost();
+
+    void setHost(String host);
+
+    int getPort();
+
+    void setPort(int port);
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,31 @@
+/*
+ * 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.corba;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface CorbaBindingFactory {
+    /**
+     * Create a CorbaBinding model
+     * @return The CorbaBinding model
+     */
+    CorbaBinding createCorbaBinding();
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,37 @@
+/*
+ * 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.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.binding.corba.CorbaBindingFactory;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaBindingFactoryImpl implements CorbaBindingFactory {
+
+    /**
+     * @see org.apache.tuscany.sca.binding.corba.CorbaBindingFactory#createCorbaBinding()
+     */
+    public CorbaBinding createCorbaBinding() {
+        return new CorbaBindingImpl();
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,118 @@
+/*
+ * 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.corba.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.policy.Intent;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaBindingImpl implements CorbaBinding, PolicySetAttachPoint {
+    private String name;
+    private String uri;
+    private String host;
+    private int port;
+
+    private List<Intent> requiredIntents = new ArrayList<Intent>();
+    private List<PolicySet> policySets = new ArrayList<PolicySet>();
+    private IntentAttachPointType intentAttachPointType;
+    private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public int getPort() {
+        return port;
+    }
+
+    public void setPort(int port) {
+        this.port = port;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getURI() {
+        return uri;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+
+    }
+
+    public void setURI(String uri) {
+        this.uri = uri;
+    }
+
+    public boolean isUnresolved() {
+        return false;
+    }
+
+    public void setUnresolved(boolean unresolved) {
+    }
+
+    public List<PolicySet> getPolicySets() {
+        return policySets;
+    }
+
+    public List<Intent> getRequiredIntents() {
+        return requiredIntents;
+    }
+
+    public IntentAttachPointType getType() {
+        return intentAttachPointType;
+    }
+
+    public void setType(IntentAttachPointType intentAttachPointType) {
+        this.intentAttachPointType = intentAttachPointType;
+    }
+
+    public void setPolicySets(List<PolicySet> policySets) {
+        this.policySets = policySets;
+    }
+
+    public void setRequiredIntents(List<Intent> intents) {
+        this.requiredIntents = intents;
+    }
+
+    public List<PolicySet> getApplicablePolicySets() {
+        return applicablePolicySets;
+    }
+
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return super.clone();
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,125 @@
+/*
+ * 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.corba.impl;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.tuscany.sca.assembly.xml.Constants;
+import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor;
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+import org.apache.tuscany.sca.policy.PolicyFactory;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaBindingProcessor implements StAXArtifactProcessor<CorbaBinding> {
+    private PolicyFactory policyFactory;
+    private PolicyAttachPointProcessor policyProcessor;
+
+    public CorbaBindingProcessor(ModelFactoryExtensionPoint modelFactories) {
+        this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
+        this.policyProcessor = new PolicyAttachPointProcessor(policyFactory);
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#getArtifactType()
+     */
+    public QName getArtifactType() {
+        return CorbaBinding.BINDING_CORBA_QNAME;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#read(javax.xml.stream.XMLStreamReader)
+     */
+    public CorbaBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+        CorbaBinding binding = new CorbaBindingImpl();
+
+        // Read the policies 
+        policyProcessor.readPolicies(binding, reader);
+
+        binding.setHost(reader.getAttributeValue(null, "host"));
+        String port = reader.getAttributeValue(null, "port");
+        if (port != null) {
+            binding.setPort(Integer.parseInt(port));
+        }
+
+        // Read the name
+        String name = reader.getAttributeValue(null, "name");
+        if (name != null) {
+            binding.setName(name);
+        }
+
+        // Read binding URI
+        String uri = reader.getAttributeValue(null, "uri");
+        if (uri != null) {
+            binding.setURI(uri);
+        }
+        return binding;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#write(java.lang.Object, javax.xml.stream.XMLStreamWriter)
+     */
+    public void write(CorbaBinding model, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
+        // Write a <binding.corba>
+        writer.writeStartElement(Constants.SCA10_TUSCANY_NS, "binding.corba");
+
+        if (model.getName() != null) {
+            writer.writeAttribute("name", model.getName());
+        }
+
+        if (model.getURI() != null) {
+            writer.writeAttribute("uri", model.getURI());
+        }
+
+        if (model.getHost() != null) {
+            writer.writeAttribute("host", model.getHost());
+        }
+
+        if (model.getPort() != -1) {
+            writer.writeAttribute("port", String.valueOf(model.getPort()));
+        }
+
+        writer.writeEndElement();
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.contribution.processor.ArtifactProcessor#getModelType()
+     */
+    public Class<CorbaBinding> getModelType() {
+        return CorbaBinding.class;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.contribution.processor.ArtifactProcessor#resolve(java.lang.Object, org.apache.tuscany.sca.contribution.resolver.ModelResolver)
+     */
+    public void resolve(CorbaBinding model, ModelResolver resolver) throws ContributionResolveException {
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,60 @@
+/*
+ * 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.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+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.RuntimeComponent;
+import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
+import org.apache.tuscany.sca.runtime.RuntimeComponentService;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaBindingProviderFactory implements BindingProviderFactory<CorbaBinding> {
+
+    /**
+     * @see org.apache.tuscany.sca.provider.BindingProviderFactory#createReferenceBindingProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding)
+     */
+    public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component,
+                                                                   RuntimeComponentReference reference,
+                                                                   CorbaBinding binding) {
+        return null;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.BindingProviderFactory#createServiceBindingProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding)
+     */
+    public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component,
+                                                               RuntimeComponentService service,
+                                                               CorbaBinding binding) {
+        return null;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType()
+     */
+    public Class<CorbaBinding> getModelType() {
+        return CorbaBinding.class;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,81 @@
+/*
+ * 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.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.invocation.Message;
+import org.omg.CORBA.Any;
+import org.omg.CORBA.Request;
+import org.omg.CosNaming.NamingContextExt;
+import org.omg.CosNaming.NamingContextExtHelper;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaInvoker implements Invoker {
+    private Operation operation;
+    private CorbaBinding binding;
+
+    public CorbaInvoker(CorbaBinding binding, Operation operation) {
+        super();
+        this.binding = binding;
+        this.operation = operation;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message)
+     */
+    public Message invoke(Message msg) {
+        try {
+            org.omg.CORBA.ORB orb = initORB(binding.getHost(), String.valueOf(binding.getPort()));
+
+            org.omg.CORBA.Object service = orb.string_to_object(binding.getURI());
+
+            // get the root naming context
+            org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
+
+            // Use NamingContextExt instead of NamingContext. This is 
+            // part of the Interoperable Naming Service.  
+            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
+
+            // resolve the Object Reference in Naming
+            org.omg.CORBA.Object impl = ncRef.resolve_str(binding.getURI());
+
+            String op = operation.getName();
+            Request req = impl._request(op);
+            Any any = req.add_in_arg();
+            return null;
+        } catch (Exception e) {
+            throw new ServiceRuntimeException(e);
+        }
+    }
+
+    private org.omg.CORBA.ORB initORB(String host, String port) {
+        java.util.Properties props = new java.util.Properties();
+        props.put("org.omg.CORBA.ORBInitialHost", host);
+        props.put("org.omg.CORBA.ORBInitialPort", port);
+        org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], props);
+        return orb;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java Tue Apr 29 13:07:35 2008
@@ -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.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.invocation.Invoker;
+import org.apache.tuscany.sca.provider.ReferenceBindingProvider;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaReferenceBindingProvider implements ReferenceBindingProvider {
+    private CorbaBinding binding;
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#createInvoker(org.apache.tuscany.sca.interfacedef.Operation)
+     */
+    public Invoker createInvoker(Operation operation) {
+        return new CorbaInvoker(binding, operation);
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#getBindingInterfaceContract()
+     */
+    public InterfaceContract getBindingInterfaceContract() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#start()
+     */
+    public void start() {
+        // TODO Auto-generated method stub
+
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#stop()
+     */
+    public void stop() {
+        // TODO Auto-generated method stub
+
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#supportsOneWayInvocation()
+     */
+    public boolean supportsOneWayInvocation() {
+        return false;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,126 @@
+/*
+ * 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.corba.impl;
+
+import org.apache.tuscany.sca.binding.corba.CorbaBinding;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.provider.ServiceBindingProvider;
+import org.omg.CosNaming.NameComponent;
+import org.omg.CosNaming.NamingContextExt;
+import org.omg.CosNaming.NamingContextExtHelper;
+import org.omg.PortableServer.POA;
+import org.omg.PortableServer.POAHelper;
+import org.omg.PortableServer.Servant;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class CorbaServiceBindingProvider implements ServiceBindingProvider {
+    private CorbaBinding binding;
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#getBindingInterfaceContract()
+     */
+    public InterfaceContract getBindingInterfaceContract() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    protected Servant createServant() {
+        return null;
+    }
+
+    private NameComponent[] nameComponents;
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#start()
+     */
+    public void start() {
+        try {
+            java.util.Properties props = new java.util.Properties();
+            props.put("org.omg.CORBA.ORBInitialHost", binding.getHost());
+            props.put("org.omg.CORBA.ORBInitialPort", String.valueOf(binding.getPort()));
+            org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], props);
+
+            Servant servant = createServant();
+            
+            // get reference to rootpoa & activate the POAManager
+            POA rootpoa = POAHelper.narrow(
+              orb.resolve_initial_references("RootPOA"));
+            rootpoa.the_POAManager().activate();
+
+            // get object reference from the servant
+            org.omg.CORBA.Object ref = 
+              rootpoa.servant_to_reference(servant);
+            
+            org.omg.CORBA.Object href = null; // AddHelper.narrow(ref);
+                
+            // get the root naming context
+            // NameService invokes the name service
+            org.omg.CORBA.Object objRef = 
+              orb.resolve_initial_references("NameService");
+            // Use NamingContextExt which is part of the Interoperable
+            // Naming Service (INS) specification.
+            NamingContextExt ncRef = 
+              NamingContextExtHelper.narrow(objRef);
+
+            // bind the Object Reference in Naming
+            NameComponent path[] = ncRef.to_name( binding.getURI() );
+            ncRef.rebind(path, href);
+
+            // wait for invocations from clients
+            orb.run();
+
+
+        } catch (Exception e) {
+            throw new ServiceRuntimeException(e);
+        }
+
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#stop()
+     */
+    public void stop() {
+        try {
+            java.util.Properties props = new java.util.Properties();
+            props.put("org.omg.CORBA.ORBInitialHost", binding.getHost());
+            props.put("org.omg.CORBA.ORBInitialPort", String.valueOf(binding.getPort()));
+            org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(new String[0], props);
+
+            org.omg.CORBA.Object object = orb.resolve_initial_references("NameService");
+            org.omg.CosNaming.NamingContextExt root = org.omg.CosNaming.NamingContextExtHelper.narrow(object);
+            root.unbind(nameComponents);
+        } catch (Exception e) {
+            throw new ServiceRuntimeException(e);
+        }
+
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#supportsOneWayInvocation()
+     */
+    public boolean supportsOneWayInvocation() {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,395 @@
+/*
+ * 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.corba.impl;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.naming.NamingException;
+
+import org.omg.CORBA.ORB;
+import org.omg.CosNaming.NamingContextExt;
+
+/**
+ * CosNaming utility
+ */
+public class CorbaServiceLocator {
+
+    /*
+     * Root Context Initial Reference Key ------------
+     * ----------------------------------- Server Root NameServiceServerRoot
+     * Cell Persistent Root NameServiceCellPersistentRoot Cell Root
+     * NameServiceCellRoot, NameService Node Root NameServiceNodeRoot
+     */
+    public static final String SERVER_ROOT = "NameServiceServerRoot";
+    public static final String CELL_PERSISTENT_ROOT = "NameServiceCellPersistentRoot";
+    public static final String CELL_ROOT = "NameServiceCellRoot";
+    public static final String NODE_ROOT = "NameServiceNodeRoot";
+    public static final String DEFAULT_ROOT = "NameService"; // Same as
+    // CELL_ROOT
+
+    public static final String DEFAULT_HOST = "127.0.0.1"; // Default host name
+    // or IP address for
+    // WebSphere
+    public static final int DEFAULT_NAMING_PORT = 2809; // Default port
+    public static final String NAMING_SERVICE = "NameService"; // The name of
+    // the naming
+    // service
+    private static final Set<String> ROOTS =
+        new HashSet<String>(Arrays.asList(new String[] {SERVER_ROOT, CELL_PERSISTENT_ROOT, CELL_ROOT, DEFAULT_ROOT,
+                                                        NODE_ROOT}));
+
+    // private static final String CHARS_TO_ESCAPE = "\\/.";
+    private static final String RFC2396 =
+        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;/:?@&=+$,-_.!~*'()";
+    private static final String HEX = "0123456789ABCDEF";
+
+    private String hostName = DEFAULT_HOST;
+    private int port = DEFAULT_NAMING_PORT;
+    private String root = SERVER_ROOT;
+
+    private ORB orb = null;
+    private CosNamingLocator locator = null;
+
+    public CorbaServiceLocator(String hostName, int port) {
+        this.hostName = (hostName == null) ? DEFAULT_HOST : hostName;
+        this.port = port > 0 ? port : DEFAULT_NAMING_PORT;
+        this.root = SERVER_ROOT;
+    }
+
+    public CorbaServiceLocator(String hostName, int port, String root) {
+        this(hostName, port);
+        if (ROOTS.contains(root)) {
+            this.root = root;
+        } else {
+            throw new IllegalArgumentException(root + " is not a legal root");
+        }
+    }
+
+    public CorbaServiceLocator(String corbaName) {
+        if (corbaName.startsWith("corbaname:iiop:")) {
+            processCorbaURL(corbaName);
+        } else {
+            throw new IllegalArgumentException(corbaName + " is not a legal corbaname");
+        }
+    }
+
+    private void processCorbaURL(String url) {
+        if (url != null && (url.startsWith("corbaname:iiop:") || url.startsWith("corbaloc:iiop:"))) {
+            /**
+             * corbaname:iiop:<hostName>:<port>/<root>#name corbaloc:iiop:<hostname>:<port>/<root>
+             * For example,
+             * "corbaname:iiop:localhost:2809/NameServiceServerRoot#ejb/MyEJBHome";
+             * or "corbaloc:iiop:myhost:2809/NameServiceServerRoot"
+             */
+            String[] parts = url.split("(:|/|#)");
+            if (parts.length > 2 && parts[2].length() > 0) {
+                hostName = parts[2]; // The host name
+                int index = hostName.lastIndexOf('@'); // version@hostname
+                if (index != -1) {
+                    hostName = hostName.substring(index + 1);
+                }
+            }
+            if (parts.length > 3 && parts[3].length() > 0) {
+                port = Integer.parseInt(parts[3]); // The port number
+            }
+            if (parts.length > 4 && parts[4].length() > 0) {
+                root = parts[4]; // The root of naming
+            }
+        }
+    }
+
+    /**
+     * The corbaloc and corbaname formats enable you to provide a URL to access
+     * CORBA objects. Use the corbaloc format for resolving to a particular
+     * CORBAservice without going through a naming service. Use the corbaname
+     * format to resolve a stringified name from a specific naming context.
+     */
+
+    /**
+     * corbaname Syntax The full corbaname BNF is: &lt;corbaname&gt; =
+     * "corbaname:"&lt;corbaloc_obj&gt;["#"&lt;string_name&gt;]
+     * &lt;corbaloc_obj&gt; = &lt;obj_addr_list&gt; ["/"&lt;key_string&gt;]
+     * &lt;obj_addr_list&gt; = as defined in a corbaloc URL &lt;key_string&gt; =
+     * as defined in a corbaloc URL &lt;string_name&gt;= stringified Name
+     * empty_string Where:
+     * <ul>
+     * <li>corbaloc_obj: portion of a corbaname URL that identifies the naming
+     * context. The syntax is identical to its use in a corbaloc URL.
+     * <li>obj_addr_list: as defined in a corbaloc URL
+     * <li>key_string: as defined in a corbaloc URL.
+     * <li>string_name: a stringified Name with URL escapes as defined below.
+     * </ul>
+     * 
+     * @param hostName The host name or IP address of the naming server
+     * @param port The port number of the naming service
+     * @param root The root of the namespace
+     * @param name The JNDI name
+     */
+    private static String getCorbaname(String hostName, int port, String root, String name) {
+        if (name == null) {
+            return "corbaname:iiop:" + hostName + ":" + port + "/" + root;
+        } else {
+            return "corbaname:iiop:" + hostName + ":" + port + "/" + root + "#" + toCorbaname(name);
+        }
+    }
+
+    String getCorbaname(String name) {
+        return getCorbaname(hostName, port, root, name);
+    }
+
+    /**
+     * Connect to the ORB.
+     */
+
+    // FIXME. May need to change the IBM classes if this binding is contributed
+    // to Tuscany
+    public ORB connect() {
+        if (orb == null) {
+            Properties props = new Properties();
+            /*
+             * This code is for IBM JVM props.put("org.omg.CORBA.ORBClass",
+             * "com.ibm.CORBA.iiop.ORB");
+             * props.put("com.ibm.CORBA.ORBInitRef.NameService",
+             * getCorbaloc(NAMING_SERVICE));
+             * props.put("com.ibm.CORBA.ORBInitRef.NameServiceServerRoot",
+             * getCorbaloc("NameServiceServerRoot"));
+             */
+            orb = ORB.init((String[])null, props);
+        }
+        return orb;
+    }
+
+    /**
+     * Replace substrings
+     * 
+     * @param source The source string.
+     * @param match The string to search for within the source string.
+     * @param replace The replacement for any matching components.
+     * @return
+     */
+    private static String replace(String source, String match, String replace) {
+        int index = source.indexOf(match, 0);
+        if (index >= 0) {
+
+            // We have at least one match, so got to do the
+            // work...
+
+            StringBuffer result = new StringBuffer(source.length() + 16);
+            int matchLength = match.length();
+            int startIndex = 0;
+
+            while (index >= 0) {
+                result.append(source.substring(startIndex, index));
+                result.append(replace);
+                startIndex = index + matchLength;
+                index = source.indexOf(match, startIndex);
+            }
+
+            // Grab the last piece, if any...
+            if (startIndex < source.length()) {
+                result.append(source.substring(startIndex));
+            }
+
+            return result.toString();
+
+        } else {
+            // No matches, just return the source...
+            return source;
+        }
+    }
+
+    /**
+     * Resolved the JNDI name from the initial CosNaming context
+     * 
+     * @param jndiName
+     * @return resolved CORBA object
+     * @throws NamingException
+     */
+    private static org.omg.CORBA.Object resovleString(NamingContextExt initCtx, String jndiName) throws NamingException {
+        try {
+            String name = stringify(jndiName);
+            return initCtx.resolve_str(name);
+        } catch (Exception e) {
+            NamingException ne = new NamingException(e.getMessage());
+            ne.setRootCause(e);
+            throw ne;
+        }
+    }
+
+    /**
+     * Look up a CORBA object by its JNDI name
+     * 
+     * @param jndiName
+     * @return
+     * @throws NamingException
+     */
+    org.omg.CORBA.Object stringToObject(String jndiName) throws NamingException {
+        /*
+         * Using an existing ORB and invoking string_to_object with a CORBA
+         * object URL with multiple name server addresses to get an initial
+         * context CORBA object URLs can contain more than one bootstrap server
+         * address. Use this feature when attempting to obtain an initial
+         * context from a server cluster. You can specify the bootstrap server
+         * addresses for all servers in the cluster in the URL. The operation
+         * will succeed if at least one of the servers is running, eliminating a
+         * single point of failure. There is no guarantee of any particular
+         * order in which the address list will be processed. For example, the
+         * second bootstrap server address may be used to obtain the initial
+         * context even though the first bootstrap server in the list is
+         * available. An example of a corbaloc URL with multiple addresses
+         * follows. obj =
+         * orb.string_to_object("corbaloc::myhost1:9810,:myhost1:9811,:myhost2:9810/NameService");
+         */
+        String corbaName = null;
+        if (jndiName.startsWith("corbaloc:") || jndiName.startsWith("corbaname:")) {
+            // Keep the qualified URL
+            corbaName = jndiName;
+        } else {
+            // Create a corbaname URL
+            corbaName = getCorbaname(jndiName);
+        }
+
+        connect();
+        org.omg.CORBA.Object obj = orb.string_to_object(corbaName);
+        return obj;
+    }
+
+    /**
+     * The character escape rules for the stringified name portion of an
+     * corbaname are: US-ASCII alphanumeric characters are not escaped.
+     * Characters outside this range are escaped, except for the following: ; / : ? @ & = + $ , - _ . ! ~ * ' ( )
+     * corbaname Escape Mechanism The percent '%' character is used as an
+     * escape. If a character that requires escaping is present in a name
+     * component it is encoded as two hexadecimal digits following a "%"
+     * character to represent the octet. (The first hexadecimal character
+     * represent the highorder nibble of the octet, the second hexadecimal
+     * character represents the low-order nibble.) If a '%' is not followed by
+     * two hex digits, the stringified name is syntactically invalid.
+     * @param s
+     * @return RFC2396-encoded stringified name
+     */
+    static String encode2396(String s) {
+        if (s == null) {
+            return null;
+        }
+        StringBuffer encoded = new StringBuffer(s);
+        for (int i = 0; i < encoded.length(); i++) {
+            char c = encoded.charAt(i);
+            if (RFC2396.indexOf(c) == -1) {
+                encoded.setCharAt(i, '%');
+                char[] ac = Integer.toHexString(c).toCharArray();
+                if (ac.length == 2) {
+                    encoded.insert(i + 1, ac);
+                } else if (ac.length == 1) {
+                    encoded.insert(i + 1, '0');
+                    encoded.insert(i + 2, ac[0]);
+                } else {
+                    throw new IllegalArgumentException("Invalid character '" + c + "' in \"" + s + "\"");
+                }
+                i += 2; // NOPMD
+            }
+        }
+        return encoded.toString();
+    }
+
+    /**
+     * Decode an RFC2396-encoded string
+     * 
+     * @param s
+     * @return Plain string
+     */
+    static String decode2396(String s) {
+        if (s == null) {
+            return null;
+        }
+        StringBuffer decoded = new StringBuffer(s);
+        for (int i = 0; i < decoded.length(); i++) {
+            char c = decoded.charAt(i);
+            if (c == '%') {
+                if (i + 2 >= decoded.length()) {
+                    throw new IllegalArgumentException("Incomplete key_string escape sequence");
+                }
+                int j;
+                j = HEX.indexOf(decoded.charAt(i + 1)) * 16 + HEX.indexOf(decoded.charAt(i + 2));
+                decoded.setCharAt(i, (char)j);
+                decoded.delete(i + 1, i + 3);
+            } else if (RFC2396.indexOf(c) == -1) {
+                throw new IllegalArgumentException("Invalid key_string character '" + c + "'");
+            }
+        }
+        return decoded.toString();
+    }
+
+    /**
+     * The backslash '\' character escapes the reserved meaning of '/', '.', and
+     * '\' in a stringified name.
+     * 
+     * @param jndiName
+     * @return Escaped stringified name for CosNaming
+     */
+    private static String stringify(String jndiName) {
+        // Escape . into \. since it's an INS naming delimiter
+        return replace(encode2396(jndiName), ".", "\\.");
+    }
+
+    /**
+     * Escape the "." into "%5C%2E"
+     * 
+     * @param jndiName
+     * @return corbaname treating "." as a literal
+     */
+    private static String toCorbaname(String jndiName) {
+        // Escape . into %5C%2E (\.) since it's an INS naming delimiter
+        // For example, sca.sample.StockQuote --->
+        // sca%5C%2Esample%5C%2EStockQuote/StockQuote
+        return replace(encode2396(jndiName), ".", "%5C%2E");
+    }
+
+    private CosNamingLocator getObjectLocator() throws NamingException {
+        if (locator != null) {
+            return locator;
+        }
+        locator = new CosNamingLocator();
+        return locator;
+    }
+
+    public Object locate(String jndiName) throws NamingException {
+
+        Object result = getObjectLocator().locate(jndiName);
+        return result;
+    }
+
+    private final class CosNamingLocator {
+        private NamingContextExt context;
+
+        private CosNamingLocator() {
+        }
+
+        public Object locate(String name) throws NamingException {
+            if (context != null) {
+                return resovleString(context, name);
+            } else {
+                return stringToObject(name);
+            }
+        }
+    }
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java Tue Apr 29 13:07:35 2008
@@ -0,0 +1,46 @@
+/*
+ * 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.corba.impl;
+
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.ServerRequest;
+import org.omg.PortableServer.DynamicImplementation;
+import org.omg.PortableServer.POA;
+
+
+/**
+ * This is the CORBA DSI servant that dispatches CORBA requests to SCA components
+ * 
+ * @version $Rev$ $Date$
+ */
+public class TuscanyServant extends DynamicImplementation {
+    private ORB orb;
+    
+    @Override
+    public void invoke(ServerRequest request) {       
+    }
+
+    @Override
+    public String[] _all_interfaces(POA poa, byte[] objectId) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory Tue Apr 29 13:07:35 2008
@@ -0,0 +1,19 @@
+# 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. 
+
+# Implementation class for the model factory
+org.apache.tuscany.sca.binding.corba.impl.CorbaBindingFactoryImpl
\ No newline at end of file

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor Tue Apr 29 13:07:35 2008
@@ -0,0 +1,19 @@
+# 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. 
+
+# Implementation class for the artifact processor extension
+org.apache.tuscany.sca.binding.corba.impl.CorbaBindingProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.corba,model=org.apache.tuscany.sca.binding.corba.CorbaBinding,factory=org.apache.tuscany.sca.binding.corba.CorbaBindingFactory

Added: incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory?rev=652077&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory (added)
+++ incubator/tuscany/java/sca/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory Tue Apr 29 13:07:35 2008
@@ -0,0 +1,19 @@
+# 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. 
+
+# Implementation class for the binding extension
+org.apache.tuscany.sca.binding.corba.impl.CorbaBindingProviderFactory;model=org.apache.tuscany.sca.binding.corba.CorbaBinding