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();
}