You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fr...@apache.org on 2006/12/08 21:45:05 UTC
svn commit: r484770 - in /incubator/tuscany/java/sdo/impl/src:
main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
Author: frankb
Date: Fri Dec 8 12:45:04 2006
New Revision: 484770
URL: http://svn.apache.org/viewvc?view=rev&rev=484770
Log:
Fix for TUSCANY-935
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java?view=diff&rev=484770&r1=484769&r2=484770
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java Fri Dec 8 12:45:04 2006
@@ -2123,20 +2123,26 @@
*/
protected void setIndex(int index)
{
- if(index < 0) {
- // The index value should be greater than 0. An index value which is too high will result in
- // an index out of bounds generated later on accessing the data.
+ if (index < 0) {
+ // The index value should not be less than 0.
runtimeException = new IndexOutOfBoundsException("Index value is too low");
setEObject(null);
return;
}
- this.index = index;
if (!FeatureMapUtil.isMany(eObject, feature))
{
- runtimeException = new IndexOutOfBoundsException("Index applies only to multi-valued features.");
+ runtimeException = new IndexOutOfBoundsException("Index applies only to multi-valued features");
setEObject(null);
return;
}
+ int size = ((List) eObject.eGet(feature)).size();
+ if (index >= size)
+ {
+ // The index value should be less than size.
+ runtimeException = new IndexOutOfBoundsException("Index value should have been less than " + size);
+ setEObject(null);
+ }
+ this.index = index;
}
protected void process(String pathString)
Modified: incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java?view=diff&rev=484770&r1=484769&r2=484770
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java (original)
+++ incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java Fri Dec 8 12:45:04 2006
@@ -23,13 +23,12 @@
import java.io.InputStream;
import java.net.URL;
-import org.apache.tuscany.sdo.util.SDOUtil;
-
import junit.framework.TestCase;
+import org.apache.tuscany.sdo.util.SDOUtil;
+
import commonj.sdo.DataObject;
import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
import commonj.sdo.helper.XMLDocument;
import commonj.sdo.helper.XMLHelper;
import commonj.sdo.helper.XSDHelper;
@@ -92,13 +91,12 @@
DataObject noFolder = null;
-// TODO fix this case to return null
-// try {
-// noFolder = root.getDataObject("Folder[3]");
-// assertNull(noFolder);
-// } catch (Exception e) {
-// assertFalse("bad indexing generated exception" + e, true);
-// }
+ try {
+ noFolder = root.getDataObject("Folder[3]");
+ assertNull(noFolder);
+ } catch (Exception e) {
+ assertFalse("bad indexing generated exception" + e, true);
+ }
try {
noFolder = root.getDataObject("Folder[0]");
@@ -107,13 +105,12 @@
assertFalse("bad indexing generated exception" + e, true);
}
-// TODO fix this case to return null
-// try {
-// noFolder = root.getDataObject("Folder.2");
-// assertNull(noFolder);
-// } catch (Exception e) {
-// assertFalse("bad indexing generated exception" + e, true);
-// }
+ try {
+ noFolder = root.getDataObject("Folder.2");
+ assertNull(noFolder);
+ } catch (Exception e) {
+ assertFalse("bad indexing generated exception" + e, true);
+ }
try {
noFolder = root.getDataObject("Folder.-1");
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org