summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types')
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/NodeType.java28
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTree.java76
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeCreator.java224
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeNode.java66
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ArrayTypeHelper.java46
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/BooleanTypeHelper.java45
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ByteTypeHelper.java45
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/CharTypeHelper.java45
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/DoubleTypeHelper.java45
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/FloatTypeHelper.java45
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/IntTypeHelper.java45
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/LongTypeHelper.java46
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ReferenceTypeHelper.java48
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/SequenceTypeHelper.java83
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ShortTypeHelper.java46
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StringTypeHelper.java46
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StructTypeHelper.java90
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelper.java55
-rw-r--r--branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelpersProxy.java132
19 files changed, 0 insertions, 1256 deletions
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/NodeType.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/NodeType.java
deleted file mode 100644
index 85fc2c9f78..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/NodeType.java
+++ /dev/null
@@ -1,28 +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.types;
-
-/**
- * @version $Rev$ $Date$
- * Types of CORBA objects.
- */
-public enum NodeType {
- primitive, struct, union, array, sequence, reference
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTree.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTree.java
deleted file mode 100644
index b15c1cd98e..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTree.java
+++ /dev/null
@@ -1,76 +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.types;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @version $Rev$ $Date$
- * Helper tree for Java object hierarchy. It's closer to CORBA types structure
- * than plain Java hierarchy - it helps reading and writing complex structures.
- */
-public class TypeTree {
-
- private Map<Class<?>, TypeTreeNode> typesUsed = new HashMap<Class<?>, TypeTreeNode>();
- private TypeTreeNode rootNode;
-
- /**
- * Intent was to cache previously computed type trees. In practice it caused
- * a bug, and it's not being used right now. TODO: enable type trees caching
- *
- * @param forClass
- * @param node
- */
- public void addUsedType(Class<?> forClass, TypeTreeNode node) {
- typesUsed.put(forClass, node);
- }
-
- /**
- * Returns node for previously created tree, it's getter for nodes added by
- * addUsedType method. Not in use right now. TODO: enable type trees caching
- *
- * @param forClass
- * @return
- */
- public TypeTreeNode getNodeForType(Class<?> forClass) {
- return typesUsed.get(forClass);
- }
-
- /**
- * Returns root node.
- *
- * @return root of type tree
- */
- public TypeTreeNode getRootNode() {
- return rootNode;
- }
-
- /**
- * Sets root of the type tree.
- *
- * @param rootNode
- * root node.
- */
- public void setRootNode(TypeTreeNode rootNode) {
- this.rootNode = rootNode;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeCreator.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeCreator.java
deleted file mode 100644
index 4f79719ed4..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeCreator.java
+++ /dev/null
@@ -1,224 +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.types;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev$ $Date$
- * Creator of types tree.
- *
- */
-public class TypeTreeCreator {
-
- /**
- * Helps to determine if type is a primitive.
- */
- private static List<Class<?>> primitives = new ArrayList<Class<?>>();
-
- static {
- primitives.add(boolean.class);
- primitives.add(byte.class);
- primitives.add(short.class);
- primitives.add(int.class);
- primitives.add(long.class);
- primitives.add(double.class);
- primitives.add(float.class);
- primitives.add(char.class);
- primitives.add(String.class);
- primitives.add(Boolean.class);
- primitives.add(Byte.class);
- primitives.add(Short.class);
- primitives.add(Integer.class);
- primitives.add(Long.class);
- primitives.add(Double.class);
- primitives.add(Float.class);
- primitives.add(Character.class);
- }
-
- /**
- * Creates class for given string argument.
- *
- * @param name
- * name of type
- * @return type
- */
- private static Class<?> createClassFromString(String name) {
- Class<?> result = null;
- try {
- if (name.length() == 1) {
- // primitives
- switch (name.charAt(0)) {
- case 'Z':
- result = boolean.class;
- break;
- case 'C':
- result = char.class;
- break;
- case 'B':
- result = byte.class;
- break;
- case 'S':
- result = short.class;
- break;
- case 'I':
- result = int.class;
- break;
- case 'J':
- result = long.class;
- break;
- case 'F':
- result = float.class;
- break;
- case 'D':
- result = double.class;
- break;
- }
- } else {
- // class
- name = name.substring(1, name.length() - 1);
- result = Class.forName(name);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return result;
- }
-
- /**
- * Reduces dimension of array.
- *
- * @param forClass
- * array class
- * @return reduced array
- */
- private static Class<?> reduceArrayDimension(Class<?> forClass) {
- String name = forClass.getName();
- try {
- String reduced = name.substring(1, name.length());
- if (reduced.startsWith("[")) {
- // reduced class is still an array
- return Class.forName(reduced);
- } else {
- // reduced class may be primitive or class
- return createClassFromString(reduced);
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- /**
- * Creates tree for given type.
- *
- * @param forClass
- * @return type tree
- */
- public static TypeTree createTypeTree(Class<?> forClass) {
- TypeTree tree = new TypeTree();
- TypeTreeNode rootNode = null;
- rootNode = inspectClassHierarchy(forClass, tree);
- tree.setRootNode(rootNode);
- return tree;
-
- }
-
- /**
- * Recurrent method which builds type tree.
- *
- * @param forClass
- * @param tree
- * @return
- */
- private static TypeTreeNode inspectClassHierarchy(Class<?> forClass,
- TypeTree tree) {
- // //remains of type tree caching
- // TypeTreeNode existingNode = tree.getNodeForType(forClass);
- // if (existingNode != null) {
- // return existingNode;
- // }
-
- TypeTreeNode node = createTypeNode(forClass);
- NodeType nodeType = node.getNodeType();
- TypeTreeNode[] children = null;
-
- // //remains of type tree caching
- // tree.addUsedType(forClass, node);
-
- if (nodeType.equals(NodeType.primitive)) {
- // stop condition for recurrent method
- } else if (nodeType.equals(NodeType.array)) {
- // similar to sequence, but with fixed array length
- // TODO: determine how array length will be declared
- } else if (nodeType.equals(NodeType.sequence)) {
- // reducing sequence dimension
- Class<?> reduced = reduceArrayDimension(node.getJavaClass());
- children = new TypeTreeNode[1];
- children[0] = inspectClassHierarchy(reduced, tree);
- } else if (nodeType.equals(NodeType.struct)) {
- // inspect types for every structure member
- Field[] fields = node.getJavaClass().getFields();
- children = new TypeTreeNode[fields.length];
- for (int i = 0; i < fields.length; i++) {
- Class<?> field = fields[i].getType();
- TypeTreeNode child = inspectClassHierarchy(field, tree);
- child.setName(fields[i].getName());
- children[i] = child;
- }
- } else if (nodeType.equals(NodeType.union)) {
- // TODO: unions
- } else if (nodeType.equals(NodeType.reference)) {
- // TODO: CORBA references
- }
-
- node.setChildren(children);
- return node;
- }
-
- /**
- * Creating and configuring TypeTreeNode for given class.
- *
- * @param forClass
- * class
- * @return node
- */
- private static TypeTreeNode createTypeNode(Class<?> forClass) {
- TypeTreeNode node = new TypeTreeNode();
- if (forClass.isArray()) {
- node.setNodeType(NodeType.sequence);
- node.setJavaClass(forClass);
- } else if (primitives.contains(forClass)) {
- node.setNodeType(NodeType.primitive);
- node.setJavaClass(forClass);
- node.setChildren(null);
- } else if (forClass.isInterface()) {
- node.setNodeType(NodeType.reference);
- node.setJavaClass(forClass);
- node.setChildren(null);
- } else {
- node.setNodeType(NodeType.struct);
- node.setJavaClass(forClass);
- }
- return node;
- }
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeNode.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeNode.java
deleted file mode 100644
index c8509ff2e4..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/TypeTreeNode.java
+++ /dev/null
@@ -1,66 +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.types;
-
-/**
- * @version $Rev$ $Date$
- * Represents single tree node.
- *
- */
-public class TypeTreeNode {
-
- private NodeType nodeType;
- private TypeTreeNode[] children;
- private Class<?> javaClass;
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public NodeType getNodeType() {
- return nodeType;
- }
-
- public void setNodeType(NodeType nodeType) {
- this.nodeType = nodeType;
- }
-
- public TypeTreeNode[] getChildren() {
- return children;
- }
-
- public void setChildren(TypeTreeNode[] children) {
- this.children = children;
- }
-
- public Class<?> getJavaClass() {
- return javaClass;
- }
-
- public void setJavaClass(Class<?> javaClass) {
- this.javaClass = javaClass;
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ArrayTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ArrayTypeHelper.java
deleted file mode 100644
index e1d047b543..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ArrayTypeHelper.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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-/**
- * @version $Rev$ $Date$
- */
-public class ArrayTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- // TODO Auto-generated method stub
-
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/BooleanTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/BooleanTypeHelper.java
deleted file mode 100644
index 681d46342b..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/BooleanTypeHelper.java
+++ /dev/null
@@ -1,45 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BooleanTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(8));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_boolean();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_boolean((Boolean) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ByteTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ByteTypeHelper.java
deleted file mode 100644
index f9d58bdf9a..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ByteTypeHelper.java
+++ /dev/null
@@ -1,45 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ByteTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(10));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_octet();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_octet((Byte) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/CharTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/CharTypeHelper.java
deleted file mode 100644
index 393493c925..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/CharTypeHelper.java
+++ /dev/null
@@ -1,45 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class CharTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(9));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_char();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_char((Character) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/DoubleTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/DoubleTypeHelper.java
deleted file mode 100644
index fb4e319939..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/DoubleTypeHelper.java
+++ /dev/null
@@ -1,45 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class DoubleTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(7));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_double();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_double((Double) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/FloatTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/FloatTypeHelper.java
deleted file mode 100644
index ffccf94f4a..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/FloatTypeHelper.java
+++ /dev/null
@@ -1,45 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class FloatTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(6));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_float();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_float((Float) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/IntTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/IntTypeHelper.java
deleted file mode 100644
index ecb886333a..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/IntTypeHelper.java
+++ /dev/null
@@ -1,45 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class IntTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(3));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_long();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_long((Integer) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/LongTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/LongTypeHelper.java
deleted file mode 100644
index bbcdc6a07a..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/LongTypeHelper.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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class LongTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(23));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_longlong();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_longlong((Long) data);
- }
-
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ReferenceTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ReferenceTypeHelper.java
deleted file mode 100644
index c34e38b76d..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ReferenceTypeHelper.java
+++ /dev/null
@@ -1,48 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.impl.reference.InterfaceInstanceCreator;
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.Object;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ReferenceTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public java.lang.Object read(TypeTreeNode node, InputStream is) {
- Object reference = is.read_Object();
- return (java.lang.Object) InterfaceInstanceCreator.createInstance(reference, node.getJavaClass());
- }
-
- public void write(TypeTreeNode node, OutputStream os, java.lang.Object data) {
- os.write_Object((Object) data);
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/SequenceTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/SequenceTypeHelper.java
deleted file mode 100644
index b14aa6f972..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/SequenceTypeHelper.java
+++ /dev/null
@@ -1,83 +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.types.util;
-
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class SequenceTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- TypeCode typeCode =
- org.omg.CORBA.ORB.init().create_alias_tc(
- node.getJavaClass().getSimpleName(),
- node.getJavaClass().getSimpleName(),
- org.omg.CORBA.ORB.init().create_sequence_tc(0,
- TypeHelpersProxy.getType(node.getChildren()[0])));
- return typeCode;
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- Object sequence = null;
- try {
- int size = is.read_long();
- sequence = Array.newInstance(node.getChildren()[0].getJavaClass(),
- size);
- for (int i = 0; i < size; i++) {
- Array.set(sequence, i, TypeHelpersProxy.read(
- node.getChildren()[0], is));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return sequence;
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- int sum = 0;
- // determine length of array
- List<Object> array = new ArrayList<Object>();
- while (true) {
- try {
- array.add(Array.get(data, sum));
- sum++;
- } catch (ArrayIndexOutOfBoundsException e) {
- break;
- }
- }
- os.write_long(sum);
- Iterator<Object> iter = array.iterator();
- while (iter.hasNext()) {
- Object elem = iter.next();
- TypeHelpersProxy.write(node.getChildren()[0], os, elem);
- }
-
- }
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ShortTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ShortTypeHelper.java
deleted file mode 100644
index 36c89984c7..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/ShortTypeHelper.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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ShortTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(2));
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_short();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_short((Short) data);
- }
-
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StringTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StringTypeHelper.java
deleted file mode 100644
index b3f22c6737..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StringTypeHelper.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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.ORB;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class StringTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().create_string_tc(0);
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_string();
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_string((String) data);
- }
-
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StructTypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StructTypeHelper.java
deleted file mode 100644
index 50e28cbd85..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/StructTypeHelper.java
+++ /dev/null
@@ -1,90 +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.types.util;
-
-import java.lang.reflect.Field;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.StructMember;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class StructTypeHelper implements TypeHelper {
-
- public TypeCode getType(TypeTreeNode node) {
- TypeTreeNode[] children = node.getChildren();
- if (children != null) {
- StructMember[] members = new StructMember[children.length];
- for (int i = 0; i < children.length; i++) {
- members[i] = new StructMember(children[i].getJavaClass()
- .getSimpleName(),
- TypeHelpersProxy.getType(children[i]), null);
- }
- TypeCode result = org.omg.CORBA.ORB.init().create_struct_tc(
- node.getJavaClass().getSimpleName(),
- node.getJavaClass().getSimpleName(), members);
- return result;
- } else {
- return null;
- }
- }
-
- public Object read(TypeTreeNode node, InputStream is) {
- TypeTreeNode[] children = node.getChildren();
- Object result = null;
- if (children != null) {
- try {
- result = node.getJavaClass().newInstance();
- for (int i = 0; i < children.length; i++) {
- Object childResult = TypeHelpersProxy.read(children[i], is);
- Field childField = result.getClass().getField(
- children[i].getName());
- childField.set(result, childResult);
- }
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- return result;
- }
-
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- TypeTreeNode[] children = node.getChildren();
- if (children != null) {
- try {
- for (int i = 0; i < children.length; i++) {
- Field childField = node.getJavaClass().getField(
- children[i].getName());
- TypeHelpersProxy.write(children[i], os, childField
- .get(data));
- }
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- }
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelper.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelper.java
deleted file mode 100644
index c94fa79d83..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelper.java
+++ /dev/null
@@ -1,55 +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.types.util;
-
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface TypeHelper {
-
- /**
- * Gets type definition for CORBA API.
- * @param node
- * @return
- */
- TypeCode getType(TypeTreeNode node);
-
- /**
- * Reads CORBA object
- * @param node
- * @param is
- * @return
- */
- Object read(TypeTreeNode node, InputStream is);
-
- /**
- * Writes CORBA object
- * @param node
- * @param os
- * @param data
- */
- void write(TypeTreeNode node, OutputStream os, Object data);
-
-}
diff --git a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelpersProxy.java b/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelpersProxy.java
deleted file mode 100644
index c81f101a7e..0000000000
--- a/branches/sca-java-1.3/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/types/util/TypeHelpersProxy.java
+++ /dev/null
@@ -1,132 +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.types.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.sca.binding.corba.types.NodeType;
-import org.apache.tuscany.sca.binding.corba.types.TypeTreeNode;
-import org.omg.CORBA.TypeCode;
-import org.omg.CORBA.portable.InputStream;
-import org.omg.CORBA.portable.OutputStream;
-
-/**
- * @version $Rev$ $Date$
- * Proxies getType(), write(), read() methods to appropriate TypeHelper implementation.
- */
-public class TypeHelpersProxy {
-
- /**
- * Maps primitive types to its TypeHelper implementations
- */
- private static Map<Class<?>, TypeHelper> primitiveTypes = null;
-
- /**
- * Maps other types to its TypeHelper implementations
- */
- private static Map<NodeType, TypeHelper> complexTypes = null;
-
- static {
- // initiate type helpers
- primitiveTypes = new HashMap<Class<?>, TypeHelper>();
- complexTypes = new HashMap<NodeType, TypeHelper>();
-
- primitiveTypes.put(boolean.class, new BooleanTypeHelper());
- primitiveTypes.put(char.class, new CharTypeHelper());
- primitiveTypes.put(byte.class, new ByteTypeHelper());
- primitiveTypes.put(short.class, new ShortTypeHelper());
- primitiveTypes.put(int.class, new IntTypeHelper());
- primitiveTypes.put(long.class, new LongTypeHelper());
- primitiveTypes.put(float.class, new FloatTypeHelper());
- primitiveTypes.put(double.class, new DoubleTypeHelper());
- primitiveTypes.put(String.class, new StringTypeHelper());
- primitiveTypes.put(Boolean.class, primitiveTypes.get(boolean.class));
- primitiveTypes.put(Character.class, primitiveTypes.get(char.class));
- primitiveTypes.put(Byte.class, primitiveTypes.get(byte.class));
- primitiveTypes.put(Short.class, primitiveTypes.get(short.class));
- primitiveTypes.put(Integer.class, primitiveTypes.get(int.class));
- primitiveTypes.put(Long.class, primitiveTypes.get(long.class));
- primitiveTypes.put(Float.class, primitiveTypes.get(float.class));
- primitiveTypes.put(Double.class, primitiveTypes.get(double.class));
- primitiveTypes.put(String.class, primitiveTypes.get(String.class));
- complexTypes.put(NodeType.array, new ArrayTypeHelper());
- complexTypes.put(NodeType.struct, new StructTypeHelper());
- complexTypes.put(NodeType.reference, new ReferenceTypeHelper());
- complexTypes.put(NodeType.sequence, new SequenceTypeHelper());
- }
-
- /**
- * Gets type helper basing on given type
- *
- * @param node
- * @return
- */
- private static TypeHelper getTypeHelper(TypeTreeNode node) {
- TypeHelper typeHelper = null;
- NodeType type = node.getNodeType();
- if (type.equals(NodeType.primitive)) {
- typeHelper = primitiveTypes.get(node.getJavaClass());
- } else {
- typeHelper = complexTypes.get(type);
- }
- return typeHelper;
- }
-
- /**
- * Proxies getType method invocation to appropriate TypeHelper
- * implementation. It's not being used since I've changed method for passing
- * arguments. May be useful while implementing CORBA service bindings.
- *
- * @param node
- * @return
- */
- public static final TypeCode getType(TypeTreeNode node) {
- TypeHelper typeHelper = getTypeHelper(node);
- TypeCode typeCode = typeHelper.getType(node);
- return typeCode;
- }
-
- /**
- * Proxies read method invocation to appropriate TypeHelper implementation.
- *
- * @param node
- * @param is
- * @return
- */
- public static final Object read(TypeTreeNode node, InputStream is) {
- TypeHelper helper = getTypeHelper(node);
- return helper.read(node, is);
- }
-
- /**
- * Proxies write method invocation to appropriate TypeHelper implementation.
- *
- * @param node
- * @param os
- * @param data
- */
- public static final void write(TypeTreeNode node, OutputStream os,
- Object data) {
- TypeHelper helper = getTypeHelper(node);
- helper.write(node, os, data);
- }
-
-}