Added: 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java?rev=686643&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java
 (added)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java
 Sun Aug 17 14:26:26 2008
@@ -0,0 +1,42 @@
+/*
+ * 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.testing.hierarchy;
+
+import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement;
+import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType;
+
+/**
+ * Reused option id
+ */
+public final class InvalidUnion5 {
+
+    @CorbaUnionElement(type = CorbaUnionElementType.discriminator)
+    @SuppressWarnings("unused")
+    private int a;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1)
+    @SuppressWarnings("unused")
+    private int b;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1)
+    @SuppressWarnings("unused")
+    private int c;
+
+}

Added: 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java?rev=686643&view=auto
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java
 (added)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java
 Sun Aug 17 14:26:26 2008
@@ -0,0 +1,91 @@
+/*
+ * 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.testing.hierarchy;
+
+import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement;
+import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType;
+
+public final class RichUnion {
+
+    @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1)
+    private int x;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 2)
+    private float y;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 3)
+    private String z;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 4)
+    private InnerUnion iu;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.defaultOption)
+    private boolean def;
+
+    @CorbaUnionElement(type = CorbaUnionElementType.discriminator)
+    @SuppressWarnings("unused")
+    private int discriminator = -1;
+
+    public int getX() {
+        return x;
+    }
+
+    public void setX(int x) {
+        this.discriminator = 1;
+        this.x = x;
+    }
+
+    public float getY() {
+        return y;
+    }
+
+    public void setY(float y) {
+        this.discriminator = 2;
+        this.y = y;
+    }
+
+    public String getZ() {
+        return z;
+    }
+
+    public void setZ(String z) {
+        this.discriminator = 3;
+        this.z = z;
+    }
+
+    public boolean isDef() {
+        return def;
+    }
+
+    public void setDef(boolean def) {
+        this.discriminator = -1;
+        this.def = def;
+    }
+
+    public InnerUnion getIu() {
+        return iu;
+    }
+
+    public void setIu(InnerUnion iu) {
+        this.discriminator = 4;
+        this.iu = iu;
+    }
+
+}

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java?rev=686643&r1=686642&r2=686643&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java
 Sun Aug 17 14:26:26 2008
@@ -19,6 +19,7 @@
 
 package org.apache.tuscany.sca.binding.corba.testing.servants;
 
+import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion;
 import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct;
 import 
org.apache.tuscany.sca.binding.corba.testing.arrays_unions._ArraysUnionsTestsImplBase;
 
@@ -34,4 +35,8 @@
         return arg;
     }
 
+    public RichUnion passRichUnion(RichUnion arg) {
+        return arg;
+    }
+
 }

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java?rev=686643&r1=686642&r2=686643&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java
 Sun Aug 17 14:26:26 2008
@@ -21,6 +21,7 @@
 
 import org.apache.tuscany.sca.binding.corba.meta.CorbaArray;
 import org.apache.tuscany.sca.binding.corba.testing.hierarchy.ArraysTestStruct;
+import org.apache.tuscany.sca.binding.corba.testing.hierarchy.RichUnion;
 
 public class ArraysUnionsTuscanyServant {
 
@@ -34,5 +35,9 @@
     public String[][] passStringArray(@CorbaArray( {2, 2})String[][] arg) {
         return arg;
     }
+    
+    public RichUnion passRichUnion(RichUnion arg) { 
+        return arg;
+    }
 
 }

Modified: 
tuscany/java/sca/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl?rev=686643&r1=686642&r2=686643&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl
 (original)
+++ 
tuscany/java/sca/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl
 Sun Aug 17 14:26:26 2008
@@ -39,9 +39,23 @@
                                                                
                                                                typedef string 
StringArray[2][2];
                                                                
+                                                               union 
InnerUnion switch (long) {
+                                                                       case 1: 
long x;
+                                                                       case 2: 
float y;
+                                                               };
+                                                               
+                                                               union RichUnion 
switch (long) {
+                                                                   case 1: 
long x;
+                                                                       case 2: 
float y;
+                                                                   case 3: 
string z;
+                                                                   case 4: 
InnerUnion iu;
+                                                                   default: 
boolean a;
+                                                               };
+                                                               
                                                                interface 
ArraysUnionsTests {
                                                                        
TestStruct passTestStruct(in TestStruct arg);
                                                                        
StringArray passStringArray(in StringArray arg);
+                                                                       
RichUnion passRichUnion(in RichUnion arg);
                                                                };
                                                                
                                                        };


Reply via email to