summaryrefslogtreecommitdiffstats
path: root/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service')
-rw-r--r--sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java120
-rw-r--r--sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java137
-rw-r--r--sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java43
-rw-r--r--sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.java46
-rw-r--r--sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java51
5 files changed, 0 insertions, 397 deletions
diff --git a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java b/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java
deleted file mode 100644
index ff4732cfdb..0000000000
--- a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java
+++ /dev/null
@@ -1,120 +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.service;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException;
-import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree;
-import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator;
-import org.apache.tuscany.sca.binding.corba.impl.util.OperationMapper;
-import org.apache.tuscany.sca.interfacedef.DataType;
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.runtime.RuntimeComponentService;
-import org.apache.tuscany.sca.runtime.RuntimeWire;
-
-/**
- * @version $Rev$ $Date$
- * Invocation proxy for SCA components
- */
-public class ComponentInvocationProxy implements InvocationProxy {
-
- private RuntimeWire wire;
- private Map<Method, Operation> methodOperationMapping;
- private Map<Operation, Method> operationMethodMapping;
- private Map<String, Method> operationsMap;
- private Map<Operation, OperationTypes> operationsCache = new HashMap<Operation, OperationTypes>();
-
- public ComponentInvocationProxy(RuntimeComponentService service, RuntimeWire wire, Class<?> javaClass)
- throws RequestConfigurationException {
- this.wire = wire;
- operationsMap = OperationMapper.mapOperationNameToMethod(javaClass);
- operationMethodMapping = OperationMapper.mapOperationToMethod(service.getInterfaceContract().getInterface().getOperations(), javaClass);
- methodOperationMapping = OperationMapper.mapMethodToOperation(service.getInterfaceContract().getInterface().getOperations(), javaClass);
- cacheOperationTypes(service.getInterfaceContract().getInterface().getOperations());
- }
-
- /**
- * Caches TypeTree for every operation in backed component
- *
- * @param operations
- * @throws RequestConfigurationException
- */
- private void cacheOperationTypes(List<Operation> operations) throws RequestConfigurationException {
- for (Operation operation : operations) {
- try {
- OperationTypes operationTypes = new OperationTypes();
- List<TypeTree> inputInstances = new ArrayList<TypeTree>();
- // cache output type tree
- if (operation.getOutputType() != null && operation.getOutputType().getPhysical() != null
- && !operation.getOutputType().getPhysical().equals(void.class)) {
- Annotation[] notes = operationMethodMapping.get(operation).getAnnotations();
- TypeTree outputType =
- TypeTreeCreator.createTypeTree(operation.getOutputType().getPhysical(), notes);
- operationTypes.setOutputType(outputType);
- }
- // cache input types trees
- if (operation.getInputType() != null) {
- Method method = operationMethodMapping.get(operation);
- Annotation[][] notes = method.getParameterAnnotations();
- int i = 0;
- for (DataType<List<DataType<?>>> type : operation.getInputType().getLogical()) {
- Class<?> forClass = type.getPhysical();
- TypeTree inputType = TypeTreeCreator.createTypeTree(forClass, notes[i]);
- inputInstances.add(inputType);
- i++;
- }
-
- }
- operationTypes.setInputType(inputInstances);
- operationsCache.put(operation, operationTypes);
- } catch (RequestConfigurationException e) {
- throw e;
- }
- }
- }
-
- private Operation getOperation4Name(String operationName) {
- Method method = operationsMap.get(operationName);
- return methodOperationMapping.get(method);
- }
-
- public OperationTypes getOperationTypes(String operationName) {
- return operationsCache.get(getOperation4Name(operationName));
- }
-
- public Object invoke(String operationName, List<Object> arguments) throws InvocationException {
- Object result = null;
- try {
- result = wire.invoke(getOperation4Name(operationName), arguments.toArray());
- } catch (InvocationTargetException e) {
- InvocationException exception = new InvocationException(e.getCause());
- throw exception;
- }
- return result;
- }
-
-}
diff --git a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java b/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
deleted file mode 100644
index 2a032f5d25..0000000000
--- a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java
+++ /dev/null
@@ -1,137 +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.service;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException;
-import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree;
-import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator;
-import org.apache.tuscany.sca.binding.corba.impl.types.util.TypeHelpersProxy;
-import org.apache.tuscany.sca.binding.corba.impl.types.util.Utils;
-import org.omg.CORBA.MARSHAL;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.InvokeHandler;
-import org.omg.CORBA.portable.ObjectImpl;
-import org.omg.CORBA.portable.OutputStream;
-import org.omg.CORBA.portable.ResponseHandler;
-
-/**
- * @version $Rev$ $Date$
- * General servant which provides target component implementation via CORBA
- */
-public class DynaCorbaServant extends ObjectImpl implements InvokeHandler {
-
- private static final Logger logger = Logger.getLogger(DynaCorbaServant.class.getName());
-
- private String[] ids;
- private InvocationProxy invocationProxy;
- private String typeId;
-
- /**
- * Creates servant object
- * @param invocationProxy
- * @param typeId
- * @throws RequestConfigurationException
- */
- public DynaCorbaServant(InvocationProxy invocationProxy, String typeId) throws RequestConfigurationException {
- this.invocationProxy = invocationProxy;
- this.typeId = typeId;
- setDefaultIds();
- }
-
- /**
- * Sets CORBA object ID
- * @param ids
- */
- public void setIds(String[] ids) {
- for (int i = 0; i < ids.length; i++) {
- if (ids[i] == null || ids[i].length() == 0) {
- // if invalid id was passed then set to default
- setDefaultIds();
- return;
- }
- }
- this.ids = ids;
- }
-
- public OutputStream _invoke(String operationName, InputStream in, ResponseHandler rh) {
- OperationTypes types = invocationProxy.getOperationTypes(operationName);
- if (types == null) {
- // operation wasn't found
- throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
- } else {
- List<Object> inputInstances = new ArrayList<Object>();
- try {
- // retrieving in arguments
- for (TypeTree tree : types.getInputType()) {
- Object o = TypeHelpersProxy.read(tree.getRootNode(), in);
- inputInstances.add(o);
- }
- } catch (MARSHAL e) {
- // parameter passed by user was not compatible with Java to
- // Corba mapping
- throw new org.omg.CORBA.BAD_PARAM(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
- }
- try {
- // invocation and sending result
- Object result = invocationProxy.invoke(operationName, inputInstances);
- OutputStream out = rh.createReply();
- if (types.getOutputType() != null) {
- TypeTree tree = types.getOutputType();
- TypeHelpersProxy.write(tree.getRootNode(), out, result);
- }
- return out;
- } catch (InvocationException ie) {
- // handling user exception
- try {
- OutputStream out = rh.createExceptionReply();
- Class<?> exceptionClass = ie.getTargetException().getClass();
- TypeTree tree = TypeTreeCreator.createTypeTree(exceptionClass, null);
- String exceptionId = Utils.getTypeId(exceptionClass);
- out.write_string(exceptionId);
- TypeHelpersProxy.write(tree.getRootNode(), out, ie.getTargetException());
- return out;
- } catch (Exception e) {
- logger.log(Level.WARNING, "Exception during handling invocation exception", e);
- }
- } catch (Exception e) {
- logger.log(Level.WARNING, "Unexpected exception during sending CORBA result to client", e);
- }
- }
- return null;
- }
-
- @Override
- public String[] _ids() {
- return ids;
- }
-
- /**
- * Sets servant ID to default, based on Java class name
- */
- private void setDefaultIds() {
- this.ids = new String[] {typeId};
- }
-
-}
diff --git a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java b/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java
deleted file mode 100644
index a82e43e42e..0000000000
--- a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java
+++ /dev/null
@@ -1,43 +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.service;
-
-/**
- * @version $Rev$ $Date$
- * Wrapper for exception thrown during target invocation
- */
-public class InvocationException extends Exception {
-
- private static final long serialVersionUID = 1L;
- private Throwable targetException;
-
- public InvocationException(Throwable targetException) {
- this.targetException = targetException;
- }
-
- public Throwable getTargetException() {
- return targetException;
- }
-
- public void setTargetException(Throwable target) {
- this.targetException = target;
- }
-
-}
diff --git a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.java b/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.java
deleted file mode 100644
index 5ad9068b8d..0000000000
--- a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.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.service;
-
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- * Target proxy interface for service bindings
- */
-public interface InvocationProxy {
-
- /**
- * Gets operations types for target
- * @param operationName
- * @return
- */
- public OperationTypes getOperationTypes(String operationName);
-
- /**
- * Invokes target operation
- * @param operationName
- * @param arguments
- * @return
- * @throws InvocationException
- */
- public Object invoke(String operationName, List<Object> arguments) throws InvocationException;
-
-}
diff --git a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java b/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java
deleted file mode 100644
index d93036d6d9..0000000000
--- a/sandbox/event/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java
+++ /dev/null
@@ -1,51 +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.service;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree;
-
-/**
- * @version $Rev$ $Date$
- * Holder for Java type trees for one method
- */
-public class OperationTypes {
-
- private TypeTree outputType;
- private List<TypeTree> inputType;
-
- public TypeTree getOutputType() {
- return outputType;
- }
-
- public void setOutputType(TypeTree outputType) {
- this.outputType = outputType;
- }
-
- public List<TypeTree> getInputType() {
- return inputType;
- }
-
- public void setInputType(List<TypeTree> inputType) {
- this.inputType = inputType;
- }
-
-}