You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by ri...@apache.org on 2007/10/31 14:47:30 UTC

svn commit: r590685 - /incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ArrayDescriptor.java

Author: rickmcguire
Date: Wed Oct 31 07:47:30 2007
New Revision: 590685

URL: http://svn.apache.org/viewvc?rev=590685&view=rev
Log:
Fix errors with IDL entity array types in operation names. 


Modified:
    incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ArrayDescriptor.java

Modified: incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ArrayDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ArrayDescriptor.java?rev=590685&r1=590684&r2=590685&view=diff
==============================================================================
--- incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ArrayDescriptor.java (original)
+++ incubator/yoko/trunk/rmi-impl/src/main/java/org/apache/yoko/rmi/impl/ArrayDescriptor.java Wed Oct 31 07:47:30 2007
@@ -96,18 +96,33 @@
 
         TypeDescriptor desc = getTypeRepository().getDescriptor(basicType);
         
+        // The logic that looks for the last "_" fails when this is a 
+        // long_long primitive type.  The primitive types have a "" package 
+        // name, so check those first.  If it's not one of the primitives, 
+        // then we can safely split using the last index position.
         String pkgName = desc.getPackageName(); 
-        if (pkgName.length() > 0) {
-            sb.append(desc.getPackageName());
-            sb.append("_seq");
+        if (pkgName.length() == 0) {
+            sb.append("seq");
+            sb.append(order);
+            sb.append('_');
+            sb.append(desc.getTypeName());
         }
         else {
+            String elemName = desc.getIDLName();
+
+            int idx = elemName.lastIndexOf('_');
+
+            pkgName = elemName.substring(0, idx + 1);
+            String elmName = elemName.substring(idx + 1);
+
+            sb.append(pkgName);
+
             sb.append("seq");
-        }
-        sb.append(order);
-        sb.append('_');
+            sb.append(order);
+            sb.append('_');
 
-        sb.append(desc.getTypeName());
+            sb.append(elmName);
+        }
 
         return sb.toString();
     }