jboynes 2005/06/29 13:10:27
Modified: modules/core/src/java/org/openejb/corba/compiler
PortableStubCompiler.java
Log:
fix StringIndex error with single char properties
Revision Changes Path
1.5 +7 -7
openejb/modules/core/src/java/org/openejb/corba/compiler/PortableStubCompiler.java
Index: PortableStubCompiler.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/compiler/PortableStubCompiler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- PortableStubCompiler.java 23 Jun 2005 04:28:03 -0000 1.4
+++ PortableStubCompiler.java 29 Jun 2005 17:10:27 -0000 1.5
@@ -149,10 +149,10 @@
}
String propertyName;
- if (Character.isLowerCase(methodName.charAt(verb.length() + 1)))
{
- propertyName =
Character.toLowerCase(methodName.charAt(verb.length())) +
methodName.substring(verb.length() + 1);
- } else {
+ if (methodName.length() > verb.length() + 1 &&
Character.isUpperCase(methodName.charAt(verb.length() + 1))) {
propertyName = methodName.substring(verb.length());
+ } else {
+ propertyName =
Character.toLowerCase(methodName.charAt(verb.length())) +
methodName.substring(verb.length() + 1);
}
getterByMethod.put(method, propertyName);
getterByName.put(propertyName, method);
@@ -195,10 +195,10 @@
}
String propertyName;
- if (Character.isLowerCase(methodName.charAt(3 + 1))) {
- propertyName = Character.toLowerCase(methodName.charAt(3)) +
methodName.substring(4);
- } else {
+ if (methodName.length() > 4 &&
Character.isUpperCase(methodName.charAt(4 + 1))) {
propertyName = methodName.substring(3);
+ } else {
+ propertyName = Character.toLowerCase(methodName.charAt(3)) +
methodName.substring(3 + 1);
}
// must have a matching getter