You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/06/25 00:30:18 UTC
svn commit: r671373 [2/10] - in
/tuscany/java/sca/modules/binding-corba-runtime/src:
main/java/org/apache/tuscany/sca/binding/corba/impl/
main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/
main/java/org/apache/tuscany/sca/binding/corba/imp...
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,16 +30,16 @@
*/
public class CharTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(9));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_char();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_char((Character)data);
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_char((Character) data);
- }
-
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,16 +30,16 @@
*/
public class DoubleTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(7));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_double();
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_double((Double) data);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_double((Double)data);
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -9,34 +9,33 @@
public class EnumTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- // TODO Auto-generated method stub
- return null;
- }
+ public TypeCode getType(TypeTreeNode node) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public Object read(TypeTreeNode node, InputStream is) {
- int value = is.read_long();
- Object result = null;
- try {
- Method method = node.getJavaClass().getMethod("from_int",
- new Class[] { int.class });
- result = method.invoke(null, new Object[] { value });
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return result;
- }
+ public Object read(TypeTreeNode node, InputStream is) {
+ int value = is.read_long();
+ Object result = null;
+ try {
+ Method method = node.getJavaClass().getMethod("from_int", new Class[] {int.class});
+ result = method.invoke(null, new Object[] {value});
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return result;
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- int value = 0;
- try {
- Method method = data.getClass().getMethod("value", new Class[] {});
- value = (Integer) method.invoke(data, new Object[] {});
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- os.write_long(value);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ int value = 0;
+ try {
+ Method method = data.getClass().getMethod("value", new Class[] {});
+ value = (Integer)method.invoke(data, new Object[] {});
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ os.write_long(value);
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,16 +30,16 @@
*/
public class FloatTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(6));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_float();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_float((Float)data);
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_float((Float) data);
- }
-
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,16 +30,16 @@
*/
public class IntTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(3));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_long();
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_long((Integer) data);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_long((Integer)data);
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,17 +30,16 @@
*/
public class LongTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(23));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_longlong();
+ }
+
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_longlong((Long)data);
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_longlong((Long) data);
- }
-
-
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -31,18 +31,18 @@
*/
public class ReferenceTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- // TODO Auto-generated method stub
- return null;
- }
+ 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 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);
- }
+ public void write(TypeTreeNode node, OutputStream os, java.lang.Object data) {
+ os.write_Object((Object)data);
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -34,50 +34,49 @@
*/
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 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 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);
- }
+ 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);
+ }
- }
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,17 +30,16 @@
*/
public class ShortTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.from_int(2));
- }
+ 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 Object read(TypeTreeNode node, InputStream is) {
+ return is.read_short();
+ }
- public void write(TypeTreeNode node, OutputStream os, Object data) {
- os.write_short((Short) data);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_short((Short)data);
+ }
-
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -30,17 +30,16 @@
*/
public class StringTypeHelper implements TypeHelper {
- public TypeCode getType(TypeTreeNode node) {
- return ORB.init().create_string_tc(0);
- }
+ public TypeCode getType(TypeTreeNode node) {
+ return ORB.init().create_string_tc(0);
+ }
- public Object read(TypeTreeNode node, InputStream is) {
- return is.read_string();
- }
+ 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);
- }
+ public void write(TypeTreeNode node, OutputStream os, Object data) {
+ os.write_string((String)data);
+ }
-
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java Tue Jun 24 15:30:14 2008
@@ -32,59 +32,57 @@
*/
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 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 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();
- }
- }
- }
+ 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();
+ }
+ }
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java Tue Jun 24 15:30:14 2008
@@ -28,28 +28,28 @@
* @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);
-
+
+ /**
+ * 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);
+
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java Tue Jun 24 15:30:14 2008
@@ -34,101 +34,100 @@
*/
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());
- complexTypes.put(NodeType.idl_enum, new EnumTypeHelper());
- complexTypes.put(NodeType.exception, new StructTypeHelper());
- }
-
- /**
- * 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);
- }
+ /**
+ * 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());
+ complexTypes.put(NodeType.idl_enum, new EnumTypeHelper());
+ complexTypes.put(NodeType.exception, new StructTypeHelper());
+ }
+
+ /**
+ * 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);
+ }
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java Tue Jun 24 15:30:14 2008
@@ -21,20 +21,19 @@
public class Utils {
- /**
- * Creates CORBA id for Java class
- * @param forClass
- * @return
- */
- public static String getExceptionId(Class<?> forClass) {
- String result = forClass.getName().replace('.', '/');
- result = result.replaceAll("Package", "");
- if (result.endsWith("Exception")) {
- result = result
- .substring(0, result.length() - "Exception".length());
- }
- result = "IDL:" + result + ":1.0";
- return result;
- }
-
+ /**
+ * Creates CORBA id for Java class
+ * @param forClass
+ * @return
+ */
+ public static String getExceptionId(Class<?> forClass) {
+ String result = forClass.getName().replace('.', '/');
+ result = result.replaceAll("Package", "");
+ if (result.endsWith("Exception")) {
+ result = result.substring(0, result.length() - "Exception".length());
+ }
+ result = "IDL:" + result + ":1.0";
+ return result;
+ }
+
}
Modified: tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java?rev=671373&r1=671372&r2=671373&view=diff
==============================================================================
--- tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java (original)
+++ tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java Tue Jun 24 15:30:14 2008
@@ -63,428 +63,403 @@
public class CorbaServantTestCase extends TestCase {
- private Process process;
- private ORB orb;
+ private Process process;
+ private ORB orb;
+
+ /**
+ * Spawns tnamserv an initiates ORB
+ */
+ public void setUp() throws IOException {
+ String[] args = {"-ORBInitialPort", "" + TestConstants.ORB_INITIAL_PORT};
+ process = Runtime.getRuntime().exec("tnameserv " + args[0] + " " + args[1]);
+ try {
+ // let the tnameserv have time to start
+ Thread.sleep(TestConstants.TNAMESERV_SPAWN_WAIT);
+ orb = ORB.init(args, null);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Kills tnameserv
+ */
+ public void tearDown() {
+ try {
+ if (process != null) {
+ process.destroy();
+ }
+ // let the tnameserv have time to die
+ Thread.sleep(TestConstants.TNAMESERV_SPAWN_WAIT);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Binds servant implementation to name
+ */
+ private void bindServant(DynaCorbaServant servant, String name) {
+ try {
+ Object nameService = orb.resolve_initial_references("NameService");
+ NamingContext namingContext = NamingContextHelper.narrow(nameService);
+
+ NameComponent nc = new NameComponent(name, "");
+ NameComponent[] path = new NameComponent[] {nc};
+ namingContext.rebind(path, servant);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Returns object reference which is binded to given name
+ *
+ * @param name
+ * @return
+ */
+ private org.omg.CORBA.Object bindReference(String name) {
+ try {
+ org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
+ NamingContext ncRef = NamingContextHelper.narrow(objRef);
+ NameComponent nc = new NameComponent(name, "");
+ NameComponent path[] = {nc};
+ return ncRef.resolve(path);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * Tests primitives (arguments, return types)
+ */
+ public void test_primitivesSetter() {
+ try {
+ PrimitivesSetter primitivesSetter = new PrimitivesSetterServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(primitivesSetter);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids =
+ new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "PrimitivesSetter");
+ PrimitivesSetter psClient = PrimitivesSetterHelper.narrow(bindReference("PrimitivesSetter"));
+ assertTrue(psClient.setBoolean(true) == true);
+ assertTrue(psClient.setChar('A') == 'A');
+ assertTrue(psClient.setString("SomeTest").equals("SomeTest"));
+ assertTrue(psClient.setDouble(2d) == 2d);
+ assertTrue(psClient.setFloat(3f) == 3f);
+ assertTrue(psClient.setLong(1) == 1);
+ assertTrue(psClient.setLongLong(0L) == 0L);
+ assertTrue(psClient.setOctet((byte)8) == (byte)8);
+ assertTrue(psClient.setShort((short)6) == (short)6);
+ assertTrue(psClient.setUnsignedLong(9) == 9);
+ assertTrue(psClient.setUnsignedLongLong(11L) == 11L);
+ assertTrue(psClient.setUnsignedShort((short)15) == (short)15);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+ /**
+ * Tests if array values are equal
+ */
+ private boolean areArraysEqual(java.lang.Object arr1, java.lang.Object arr2, int arrLen) {
+ try {
+ for (int i = 0; i < arrLen; i++) {
+ if (!Array.get(arr1, i).equals(Array.get(arr2, i))) {
+ return false;
+ }
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ /**
+ * Tests arrays (arguments, return types)
+ */
+ public void test_arraysSetter() {
+ try {
+ ArraysSetter arraysSetter = new ArraysSetterServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(arraysSetter);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter:1.0"};
+ servant.setIds(ids);
+ java.lang.Object result = null;
+ bindServant(servant, "ArraysSetter");
+ ArraysSetter asClient = ArraysSetterHelper.narrow(bindReference("ArraysSetter"));
+
+ boolean[] bArr = new boolean[] {true, false};
+ result = (java.lang.Object)asClient.setBoolean(bArr);
+ assertTrue(areArraysEqual(bArr, result, bArr.length));
+
+ byte[] byArr = new byte[] {1, 2};
+ result = (java.lang.Object)asClient.setOctet(byArr);
+ assertTrue(areArraysEqual(byArr, result, byArr.length));
+
+ short[] shArr = new short[] {1, 2};
+ result = (java.lang.Object)asClient.setShort(shArr);
+ assertTrue(areArraysEqual(shArr, result, shArr.length));
+
+ int[] iArr = new int[] {1, 2};
+ result = (java.lang.Object)asClient.setLong(iArr);
+ assertTrue(areArraysEqual(iArr, result, iArr.length));
+
+ long[] lArr = new long[] {1, 2};
+ result = (java.lang.Object)asClient.setLongLong(lArr);
+ assertTrue(areArraysEqual(lArr, result, lArr.length));
+
+ String[] strArr = new String[] {"Some", "Test"};
+ result = (java.lang.Object)asClient.setString(strArr);
+ assertTrue(areArraysEqual(strArr, result, strArr.length));
+
+ char[] chArr = new char[] {'A', 'B'};
+ result = (java.lang.Object)asClient.setChar(chArr);
+ assertTrue(areArraysEqual(chArr, result, chArr.length));
+
+ float[] flArr = new float[] {1, 2};
+ result = (java.lang.Object)asClient.setFloat(flArr);
+ assertTrue(areArraysEqual(flArr, result, flArr.length));
+
+ double[] dbArr = new double[] {1, 2};
+ result = (java.lang.Object)asClient.setDouble(dbArr);
+ assertTrue(areArraysEqual(dbArr, result, dbArr.length));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+ /**
+ * Tests structures (arguments, return types)
+ */
+ public void test_TestObject_setStruct() {
+ try {
+ TestObject to = new TestObjectServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(to);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "TestObject");
+ TestObject testObject = TestObjectHelper.narrow(bindReference("TestObject"));
+ SomeStruct ss = new SomeStruct();
+ SimpleStruct inner = new SimpleStruct();
+ inner.field1 = TestConstants.STR_1;
+ inner.field2 = TestConstants.INT_1;
+ ss.innerStruct = inner;
+ ss.str = TestConstants.STR_2;
+ ss.str_list = TestConstants.STR_ARR_1;
+ ss.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
+ ss.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
+ SomeStruct result = testObject.setStruct(ss);
+ assertTrue(TestConstants.are2DimArraysEqual(result.twoDimSeq, TestConstants.INT_ARRAY_2_DIM));
+ assertTrue(TestConstants.are3DimArraysEqual(result.threeDimSeq, TestConstants.INT_ARRAY_3_DIM));
+ assertTrue(result.str.equals(ss.str));
+ assertTrue(result.innerStruct.field1.equals(ss.innerStruct.field1));
+ assertTrue(result.innerStruct.field2 == ss.innerStruct.field2);
+ assertTrue(areArraysEqual(result.str_list, ss.str_list, ss.str_list.length));
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+ /**
+ * Tests handling BAD_OPERATION system exception
+ */
+ public void test_systemException_BAD_OPERATION() {
+ try {
+ TestObjectServant tos = new TestObjectServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(tos);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "TestObject");
+ DynaCorbaRequest request =
+ new DynaCorbaRequest(bindReference("TestObject"), "methodThatSurelyDoesNotExist");
+ request.invoke();
+ } catch (Exception e) {
+ if (e instanceof CorbaException) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ }
+ }
+
+ try {
+ InvalidTestObjectServant tos = new InvalidTestObjectServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(tos);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "InvalidTestObject");
+ TestObject to = TestObjectHelper.narrow(bindReference("InvalidTestObject"));
+ SomeStruct str = new SomeStruct();
+ str.innerStruct = new SimpleStruct();
+ str.innerStruct.field1 = "Whatever";
+ str.str = "Whatever";
+ str.str_list = new String[] {};
+ str.threeDimSeq = new int[][][] {};
+ str.twoDimSeq = new int[][] {};
+ to.setStruct(str);
+ } catch (Exception e) {
+ if (e instanceof BAD_OPERATION) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * Tests handling user exceptions
+ */
+ public void test_userExceptions() {
+ try {
+ CalcServant calc = new CalcServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(calc);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "Calc");
+ Calc calcClient = CalcHelper.narrow(bindReference("Calc"));
+ calcClient.div(1, 0);
+ fail();
+ } catch (Exception e) {
+ if (e instanceof DivByZero) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+ try {
+ CalcServant calc = new CalcServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(calc);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "Calc");
+ Calc calcClient = CalcHelper.narrow(bindReference("Calc"));
+ calcClient.divForSmallArgs(255, 255);
+ fail();
+ } catch (Exception e) {
+ if (e instanceof NotSupported) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ fail();
+ }
+ }
+ }
+
+ /**
+ * Tests enums (arguments, return types)
+ */
+ public void test_enums() {
+ try {
+ EnumManagerServant ems = new EnumManagerServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(ems);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "Enum");
+ EnumManager em = EnumManagerHelper.narrow(bindReference("Enum"));
+ Color color = Color.red;
+ assertTrue(em.getColor(color).value() == color.value());
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+ public void test_nonCorbaServants() {
+ try {
+ NonCorbaServant ncs = new NonCorbaServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(ncs);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ bindServant(servant, "NonCorbaServant");
+ // it's non corba servant so we don't have stubs to test them
+ DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "setString");
+ request.addArgument(TestConstants.STR_1);
+ request.setOutputType(String.class);
+ DynaCorbaResponse response = request.invoke();
+ assertTrue(response.getContent().equals(TestConstants.STR_1));
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+
+ try {
+ NonCorbaServant ncs = new NonCorbaServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(ncs);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ bindServant(servant, "NonCorbaServant");
+ // it's non corba servant so we don't have stubs to test them
+ DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "throwException");
+ request.addExceptionType(NonCorbaException.class);
+ request.invoke();
+ fail();
+ } catch (Exception e) {
+ if (e instanceof NonCorbaException) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ fail();
+ }
+ }
+ }
+
+ /**
+ * Tests handling BAD_PARAM system exception
+ */
+ public void test_systemException_BAD_PARAM() {
+ try {
+ CalcServant calc = new CalcServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(calc);
+ DynaCorbaServant servant = new DynaCorbaServant(service, null);
+ String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"};
+ servant.setIds(ids);
+ bindServant(servant, "Calc");
+ DynaCorbaRequest request = new DynaCorbaRequest(bindReference("Calc"), "div");
+ request.addArgument(2d);
+ request.setOutputType(double.class);
+ request.invoke();
+ fail();
+ } catch (Exception e) {
+ if (e instanceof CorbaException) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ fail();
+ }
+ }
+ }
+
+ /**
+ * Tests handling BAD_PARAM system exception
+ */
+ public void test_invalidServantConfiguraion() {
+ try {
+ InvalidTypesServant its = new InvalidTypesServant();
+ TestRuntimeComponentService service = new TestRuntimeComponentService(its);
+ //expecting exception...
+ new DynaCorbaServant(service, null);
+ fail();
+ } catch (Exception e) {
+ if (e instanceof RequestConfigurationException) {
+ assertTrue(true);
+ } else {
+ e.printStackTrace();
+ fail();
+ }
+ }
+ }
- /**
- * Spawns tnamserv an initiates ORB
- */
- public void setUp() throws IOException {
- String[] args = { "-ORBInitialPort",
- "" + TestConstants.ORB_INITIAL_PORT };
- process = Runtime.getRuntime().exec(
- "tnameserv " + args[0] + " " + args[1]);
- try {
- // let the tnameserv have time to start
- Thread.sleep(TestConstants.TNAMESERV_SPAWN_WAIT);
- orb = ORB.init(args, null);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Kills tnameserv
- */
- public void tearDown() {
- try {
- if (process != null) {
- process.destroy();
- }
- // let the tnameserv have time to die
- Thread.sleep(TestConstants.TNAMESERV_SPAWN_WAIT);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Binds servant implementation to name
- */
- private void bindServant(DynaCorbaServant servant, String name) {
- try {
- Object nameService = orb.resolve_initial_references("NameService");
- NamingContext namingContext = NamingContextHelper
- .narrow(nameService);
-
- NameComponent nc = new NameComponent(name, "");
- NameComponent[] path = new NameComponent[] { nc };
- namingContext.rebind(path, servant);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Returns object reference which is binded to given name
- *
- * @param name
- * @return
- */
- private org.omg.CORBA.Object bindReference(String name) {
- try {
- org.omg.CORBA.Object objRef = orb
- .resolve_initial_references("NameService");
- NamingContext ncRef = NamingContextHelper.narrow(objRef);
- NameComponent nc = new NameComponent(name, "");
- NameComponent path[] = { nc };
- return ncRef.resolve(path);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
-
- /**
- * Tests primitives (arguments, return types)
- */
- public void test_primitivesSetter() {
- try {
- PrimitivesSetter primitivesSetter = new PrimitivesSetterServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- primitivesSetter);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = new String[] { "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter:1.0" };
- servant.setIds(ids);
- bindServant(servant, "PrimitivesSetter");
- PrimitivesSetter psClient = PrimitivesSetterHelper
- .narrow(bindReference("PrimitivesSetter"));
- assertTrue(psClient.setBoolean(true) == true);
- assertTrue(psClient.setChar('A') == 'A');
- assertTrue(psClient.setString("SomeTest").equals("SomeTest"));
- assertTrue(psClient.setDouble(2d) == 2d);
- assertTrue(psClient.setFloat(3f) == 3f);
- assertTrue(psClient.setLong(1) == 1);
- assertTrue(psClient.setLongLong(0L) == 0L);
- assertTrue(psClient.setOctet((byte) 8) == (byte) 8);
- assertTrue(psClient.setShort((short) 6) == (short) 6);
- assertTrue(psClient.setUnsignedLong(9) == 9);
- assertTrue(psClient.setUnsignedLongLong(11L) == 11L);
- assertTrue(psClient.setUnsignedShort((short) 15) == (short) 15);
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
- /**
- * Tests if array values are equal
- */
- private boolean areArraysEqual(java.lang.Object arr1,
- java.lang.Object arr2, int arrLen) {
- try {
- for (int i = 0; i < arrLen; i++) {
- if (!Array.get(arr1, i).equals(Array.get(arr2, i))) {
- return false;
- }
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return false;
- }
-
- /**
- * Tests arrays (arguments, return types)
- */
- public void test_arraysSetter() {
- try {
- ArraysSetter arraysSetter = new ArraysSetterServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- arraysSetter);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = new String[] { "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter:1.0" };
- servant.setIds(ids);
- java.lang.Object result = null;
- bindServant(servant, "ArraysSetter");
- ArraysSetter asClient = ArraysSetterHelper
- .narrow(bindReference("ArraysSetter"));
-
- boolean[] bArr = new boolean[] { true, false };
- result = (java.lang.Object) asClient.setBoolean(bArr);
- assertTrue(areArraysEqual(bArr, result, bArr.length));
-
- byte[] byArr = new byte[] { 1, 2 };
- result = (java.lang.Object) asClient.setOctet(byArr);
- assertTrue(areArraysEqual(byArr, result, byArr.length));
-
- short[] shArr = new short[] { 1, 2 };
- result = (java.lang.Object) asClient.setShort(shArr);
- assertTrue(areArraysEqual(shArr, result, shArr.length));
-
- int[] iArr = new int[] { 1, 2 };
- result = (java.lang.Object) asClient.setLong(iArr);
- assertTrue(areArraysEqual(iArr, result, iArr.length));
-
- long[] lArr = new long[] { 1, 2 };
- result = (java.lang.Object) asClient.setLongLong(lArr);
- assertTrue(areArraysEqual(lArr, result, lArr.length));
-
- String[] strArr = new String[] { "Some", "Test" };
- result = (java.lang.Object) asClient.setString(strArr);
- assertTrue(areArraysEqual(strArr, result, strArr.length));
-
- char[] chArr = new char[] { 'A', 'B' };
- result = (java.lang.Object) asClient.setChar(chArr);
- assertTrue(areArraysEqual(chArr, result, chArr.length));
-
- float[] flArr = new float[] { 1, 2 };
- result = (java.lang.Object) asClient.setFloat(flArr);
- assertTrue(areArraysEqual(flArr, result, flArr.length));
-
- double[] dbArr = new double[] { 1, 2 };
- result = (java.lang.Object) asClient.setDouble(dbArr);
- assertTrue(areArraysEqual(dbArr, result, dbArr.length));
-
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
- /**
- * Tests structures (arguments, return types)
- */
- public void test_TestObject_setStruct() {
- try {
- TestObject to = new TestObjectServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- to);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = new String[] { "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0" };
- servant.setIds(ids);
- bindServant(servant, "TestObject");
- TestObject testObject = TestObjectHelper
- .narrow(bindReference("TestObject"));
- SomeStruct ss = new SomeStruct();
- SimpleStruct inner = new SimpleStruct();
- inner.field1 = TestConstants.STR_1;
- inner.field2 = TestConstants.INT_1;
- ss.innerStruct = inner;
- ss.str = TestConstants.STR_2;
- ss.str_list = TestConstants.STR_ARR_1;
- ss.threeDimSeq = TestConstants.INT_ARRAY_3_DIM;
- ss.twoDimSeq = TestConstants.INT_ARRAY_2_DIM;
- SomeStruct result = testObject.setStruct(ss);
- assertTrue(TestConstants.are2DimArraysEqual(result.twoDimSeq,
- TestConstants.INT_ARRAY_2_DIM));
- assertTrue(TestConstants.are3DimArraysEqual(result.threeDimSeq,
- TestConstants.INT_ARRAY_3_DIM));
- assertTrue(result.str.equals(ss.str));
- assertTrue(result.innerStruct.field1.equals(ss.innerStruct.field1));
- assertTrue(result.innerStruct.field2 == ss.innerStruct.field2);
- assertTrue(areArraysEqual(result.str_list, ss.str_list,
- ss.str_list.length));
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
- /**
- * Tests handling BAD_OPERATION system exception
- */
- public void test_systemException_BAD_OPERATION() {
- try {
- TestObjectServant tos = new TestObjectServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- tos);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = new String[] { "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0" };
- servant.setIds(ids);
- bindServant(servant, "TestObject");
- DynaCorbaRequest request = new DynaCorbaRequest(
- bindReference("TestObject"), "methodThatSurelyDoesNotExist");
- request.invoke();
- } catch (Exception e) {
- if (e instanceof CorbaException) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- }
- }
-
- try {
- InvalidTestObjectServant tos = new InvalidTestObjectServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- tos);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = new String[] { "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0" };
- servant.setIds(ids);
- bindServant(servant, "InvalidTestObject");
- TestObject to = TestObjectHelper
- .narrow(bindReference("InvalidTestObject"));
- SomeStruct str = new SomeStruct();
- str.innerStruct = new SimpleStruct();
- str.innerStruct.field1 = "Whatever";
- str.str = "Whatever";
- str.str_list = new String[] {};
- str.threeDimSeq = new int[][][] {};
- str.twoDimSeq = new int[][] {};
- to.setStruct(str);
- } catch (Exception e) {
- if (e instanceof BAD_OPERATION) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * Tests handling user exceptions
- */
- public void test_userExceptions() {
- try {
- CalcServant calc = new CalcServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- calc);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = { "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0" };
- servant.setIds(ids);
- bindServant(servant, "Calc");
- Calc calcClient = CalcHelper.narrow(bindReference("Calc"));
- calcClient.div(1, 0);
- fail();
- } catch (Exception e) {
- if (e instanceof DivByZero) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- fail();
- }
- }
-
- try {
- CalcServant calc = new CalcServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- calc);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = { "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0" };
- servant.setIds(ids);
- bindServant(servant, "Calc");
- Calc calcClient = CalcHelper.narrow(bindReference("Calc"));
- calcClient.divForSmallArgs(255, 255);
- fail();
- } catch (Exception e) {
- if (e instanceof NotSupported) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- fail();
- }
- }
- }
-
- /**
- * Tests enums (arguments, return types)
- */
- public void test_enums() {
- try {
- EnumManagerServant ems = new EnumManagerServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- ems);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = { "IDL:org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager:1.0" };
- servant.setIds(ids);
- bindServant(servant, "Enum");
- EnumManager em = EnumManagerHelper.narrow(bindReference("Enum"));
- Color color = Color.red;
- assertTrue(em.getColor(color).value() == color.value());
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
- public void test_nonCorbaServants() {
- try {
- NonCorbaServant ncs = new NonCorbaServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- ncs);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- bindServant(servant, "NonCorbaServant");
- // it's non corba servant so we don't have stubs to test them
- DynaCorbaRequest request = new DynaCorbaRequest(
- bindReference("NonCorbaServant"), "setString");
- request.addArgument(TestConstants.STR_1);
- request.setOutputType(String.class);
- DynaCorbaResponse response = request.invoke();
- assertTrue(response.getContent().equals(TestConstants.STR_1));
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
-
- try {
- NonCorbaServant ncs = new NonCorbaServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- ncs);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- bindServant(servant, "NonCorbaServant");
- // it's non corba servant so we don't have stubs to test them
- DynaCorbaRequest request = new DynaCorbaRequest(
- bindReference("NonCorbaServant"), "throwException");
- request.addExceptionType(NonCorbaException.class);
- request.invoke();
- fail();
- } catch (Exception e) {
- if (e instanceof NonCorbaException) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- fail();
- }
- }
- }
-
- /**
- * Tests handling BAD_PARAM system exception
- */
- public void test_systemException_BAD_PARAM() {
- try {
- CalcServant calc = new CalcServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(
- calc);
- DynaCorbaServant servant = new DynaCorbaServant(service, null);
- String[] ids = new String[] { "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0" };
- servant.setIds(ids);
- bindServant(servant, "Calc");
- DynaCorbaRequest request = new DynaCorbaRequest(
- bindReference("Calc"), "div");
- request.addArgument(2d);
- request.setOutputType(double.class);
- request.invoke();
- fail();
- } catch (Exception e) {
- if (e instanceof CorbaException) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- fail();
- }
- }
- }
-
- /**
- * Tests handling BAD_PARAM system exception
- */
- public void test_invalidServantConfiguraion() {
- try {
- InvalidTypesServant its = new InvalidTypesServant();
- TestRuntimeComponentService service = new TestRuntimeComponentService(its);
- //expecting exception...
- new DynaCorbaServant(service, null);
- fail();
- } catch (Exception e) {
- if (e instanceof RequestConfigurationException) {
- assertTrue(true);
- } else {
- e.printStackTrace();
- fail();
- }
- }
- }
-
}