[Mulgara-svn] r1397 - trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd
ronald at mulgara.org
ronald at mulgara.org
Wed Dec 3 09:26:09 UTC 2008
Author: ronald
Date: 2008-12-03 01:26:08 -0800 (Wed, 03 Dec 2008)
New Revision: 1397
Modified:
trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformation.java
trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformationUnitTest.java
Log:
Fix exception when both subject and object of an xsd constraint are literals.
Modified: trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformation.java
===================================================================
--- trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformation.java 2008-12-03 09:26:04 UTC (rev 1396)
+++ trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformation.java 2008-12-03 09:26:08 UTC (rev 1397)
@@ -263,9 +263,8 @@
bound = new Bound(value, false);
}
} else {
- if (constraint.getElement(2) instanceof Variable) {
- logger.debug("Object is a variable, returning original");
- // Is this right, surely the above should be not-instanceof !?
+ if (!(constraint.getElement(2) instanceof Variable)) {
+ logger.debug("Neither Subject nor Object are Variables, returning original");
return constraint;
} else {
variable = (Variable) constraint.getElement(2);
Modified: trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformationUnitTest.java
===================================================================
--- trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformationUnitTest.java 2008-12-03 09:26:04 UTC (rev 1396)
+++ trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalTransformationUnitTest.java 2008-12-03 09:26:08 UTC (rev 1397)
@@ -132,6 +132,8 @@
suite.addTest(new IntervalTransformationUnitTest("test5Transform"));
suite.addTest(new IntervalTransformationUnitTest("test6IgnoreNonXSD"));
suite.addTest(new IntervalTransformationUnitTest("test7PreserveNonXSD"));
+ suite.addTest(new IntervalTransformationUnitTest("test8IgnoreNoVars"));
+ suite.addTest(new IntervalTransformationUnitTest("test9IgnoreAllVars"));
return suite;
}
@@ -305,4 +307,24 @@
)
);
}
+
+ /**
+ * Test #8 for the {@link IntervalTransformation#transform} method.
+ *
+ * This checks that constraints with no variables will not be transformed.
+ */
+ public void test8IgnoreNoVars() throws Exception {
+ ConstraintImpl ci = new ConstraintImpl(new LiteralImpl(2), lessThan, new LiteralImpl(3), xsdModel);
+ assertSame(ci, intervalTransformation.transformExpression(context, ci));
+ }
+
+ /**
+ * Test #9 for the {@link IntervalTransformation#transform} method.
+ *
+ * This checks that constraints with variables in both subj and obj will not be transformed.
+ */
+ public void test9IgnoreAllVars() throws Exception {
+ ConstraintImpl ci = new ConstraintImpl(new Variable("x"), lessThan, new Variable("y"), xsdModel);
+ assertSame(ci, intervalTransformation.transformExpression(context, ci));
+ }
}
More information about the Mulgara-svn
mailing list