summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2008-06-27 09:59:34 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2008-06-27 09:59:34 +0000
commit027e08ca2bc8411d313a36f881f56bd5d578c71d (patch)
tree91f888f00cf542443810718e9bef7faf66e609c9 /branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl
parentde475fdd0a6dbb52f6c1a519ad30cc060d525289 (diff)
Remove as not required in release
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@672208 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl')
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java37
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java118
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java125
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java60
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java81
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java72
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java126
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java395
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java46
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java166
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java39
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java72
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java61
13 files changed, 0 insertions, 1398 deletions
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java
deleted file mode 100644
index cecb4fb567..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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();
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
deleted file mode 100644
index 8d54cd4936..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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();
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
deleted file mode 100644
index ce227bed1c..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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 {
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
deleted file mode 100644
index fe70b22953..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
deleted file mode 100644
index 87fd6ce00c..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
deleted file mode 100644
index a79abd94a5..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
deleted file mode 100644
index 5292b3e452..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * 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;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
deleted file mode 100644
index 867cfd5717..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceLocator.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * 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);
- }
- }
- }
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
deleted file mode 100644
index e6733a8c71..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/TuscanyServant.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java
deleted file mode 100644
index efa06296cc..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * 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.reference;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.corba.exceptions.CorbaException;
-import org.apache.tuscany.sca.binding.corba.exceptions.RequestConfigurationException;
-import org.apache.tuscany.sca.binding.corba.types.TypeTree;
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeCreator;
-import org.apache.tuscany.sca.binding.corba.types.util.TypeHelpersProxy;
-import org.omg.CORBA.BAD_OPERATION;
-import org.omg.CORBA.Object;
-import org.omg.CORBA.SystemException;
-import org.omg.CORBA.portable.ApplicationException;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.ObjectImpl;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$ Represents single CORBA request
- */
-public class DynaCorbaRequest {
-
- private TypeTree returnTree;
- private List<TypeTree> arguments = new ArrayList<TypeTree>();
- private List<TypeTree> exceptions = new ArrayList<TypeTree>();
- private OutputStream outputStream;
- private ObjectImpl remoteObject;
- private String operation;
-
- /**
- * Creates request.
- *
- * @param ObjectremoteObject
- * remote object reference
- * @param operation
- * operation to invoke
- */
- public DynaCorbaRequest(Object remoteObject, String operation) {
- outputStream = ((ObjectImpl) remoteObject)._request(operation, true);
- this.remoteObject = (ObjectImpl) remoteObject;
- this.operation = operation;
-
- }
-
- /**
- * Adds operation argument
- *
- * @param argument
- */
- public void addArgument(java.lang.Object argument) {
- TypeTree tree = TypeTreeCreator.createTypeTree(argument.getClass());
- TypeHelpersProxy.write(tree.getRootNode(), outputStream, argument);
- }
-
- /**
- * Sets return type for operation
- *
- * @param forClass
- */
- public void setOutputType(Class<?> forClass) {
- returnTree = TypeTreeCreator.createTypeTree(forClass);
- }
-
- /**
- * Configures possible exceptions
- *
- * @param forClass
- */
- public void addExceptionType(Class<?> forClass) {
- TypeTree tree = TypeTreeCreator.createTypeTree(forClass);
- exceptions.add(tree);
- }
-
- /**
- * Handles application excpeition.
- *
- * @param ae
- * occured exception
- * @throws Exception
- */
- private void handleApplicationException(ApplicationException ae)
- throws Exception {
- try {
- if (exceptions.size() == 0) {
- RequestConfigurationException exception = new RequestConfigurationException(
- "ApplicationException occured, but no exception type was specified.",
- ae.getId());
- throw exception;
- } else if (exceptions.size() == 1) {
- InputStream is = ae.getInputStream();
- is.read_string();
- TypeTree tree = exceptions.get(0);
- Exception userExc = (Exception) TypeHelpersProxy.read(tree
- .getRootNode(), is);
- //TODO: handle errors during blind exception creation
- throw userExc;
- } else if (exceptions.size() > 1) {
- RequestConfigurationException exception = new RequestConfigurationException(
- "ApplicationException occured, but user specified more than one exception type. Cannot distinguish type of occured exception.",
- ae.getId());
- throw exception;
- }
- } catch (Exception e) {
- throw e;
- }
- }
-
- /**
- * Handles exceptions generated by CORBA API
- *
- * @param se
- */
- private void handleSystemException(SystemException se) throws Exception {
- if (se instanceof BAD_OPERATION) {
- throw new CorbaException("Bad operation name: " + operation, se);
- } else {
- //TODO: handle more system exception types
- throw new CorbaException(se.getMessage(), se);
- }
- }
-
- /**
- * Invokes previously configured request
- *
- * @return
- */
- public DynaCorbaResponse invoke() throws Exception {
- DynaCorbaResponse response = new DynaCorbaResponse();
- InputStream is = null;
- try {
- is = remoteObject._invoke(outputStream);
- if (is != null && returnTree != null) {
- response.setContent(TypeHelpersProxy.read(returnTree
- .getRootNode(), is));
- }
- } catch (ApplicationException ae) {
- handleApplicationException(ae);
- } catch (SystemException se) {
- handleSystemException(se);
- } catch (Exception e) {
- throw e;
- }
- return response;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java
deleted file mode 100644
index 8d25f229de..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.reference;
-
-/**
- * @version $Rev$ $Date$
- * Holder for content returned from DynaCorbaRequest
- *
- */
-public class DynaCorbaResponse {
-
- private Object content;
-
- public Object getContent() {
- return content;
- }
-
- public void setContent(Object content) {
- this.content = content;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java
deleted file mode 100644
index 5c24e035de..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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.reference;
-
-import java.lang.reflect.Method;
-
-import net.sf.cglib.proxy.Callback;
-import net.sf.cglib.proxy.CallbackFilter;
-import net.sf.cglib.proxy.Enhancer;
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.NoOp;
-
-import org.omg.CORBA.Object;
-
-/**
- * @version $Rev$ $Date$
- */
-public class InterfaceInstanceCreator {
-
- private static final CallbackFilter FILTER = new CallbackFilter() {
- public int accept(Method method) {
- return 1;
- }
- };
-
- /**
- * Dynamically creates instance of user defined interface. Instance is
- * enhanced by RemoteMethodInterceptor
- *
- * @param reference
- * CORBA reference
- * @param forClass
- * user defined interface
- * @return dynamic implementation instance
- */
- public static java.lang.Object createInstance(Object reference,
- Class<?> forClass) {
- java.lang.Object result = null;
- try {
- Enhancer enhancer = new Enhancer();
- enhancer.setInterfaces(new Class[] { forClass });
- enhancer.setCallbackFilter(FILTER);
- enhancer.setCallbackTypes(new Class[] { NoOp.class,
- MethodInterceptor.class });
- Class<?> newClass = enhancer.createClass();
- Enhancer.registerStaticCallbacks(newClass, new Callback[] {
- NoOp.INSTANCE, new InterfaceMethodInterceptor(reference) });
- result = newClass.newInstance();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java
deleted file mode 100644
index f8af8a8d6a..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.reference;
-
-import java.lang.reflect.Method;
-
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-import org.omg.CORBA.Object;
-
-/**
- * @version $Rev$ $Date$
- * Interceptor for CORBA reference methods
- */
-public class InterfaceMethodInterceptor implements MethodInterceptor {
-
- private Object reference;
-
- public InterfaceMethodInterceptor(Object reference) {
- this.reference = reference;
- }
-
- /**
- * Create and execute DynaCorbaRequest instance, basing on intercepted
- * method arguments, return types, exceptions
- */
- public java.lang.Object intercept(java.lang.Object object, Method method,
- java.lang.Object[] arguments, MethodProxy arg3) throws Throwable {
- DynaCorbaRequest request = new DynaCorbaRequest(reference, method
- .getName());
- for (int i = 0; i < arguments.length; i++) {
- request.addArgument(arguments[i]);
- }
- request.setOutputType(method.getReturnType());
- Class<?>[] exceptions = method.getExceptionTypes();
- for (int i = 0; i < exceptions.length; i++) {
- request.addExceptionType(exceptions[i]);
- }
- DynaCorbaResponse response = request.invoke();
- return response.getContent();
- }
-
-}