You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2012/07/25 20:06:05 UTC

svn commit: r1365680 [1/2] - /incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/

Author: prestonc
Date: Wed Jul 25 18:06:05 2012
New Revision: 1365680

URL: http://svn.apache.org/viewvc?rev=1365680&view=rev
Log:
Updated the exceptions thrown by the operate functions.

Modified:
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticOperation.java
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddOperation.java
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java
    incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/SubtractOperation.java

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticOperation.java?rev=1365680&r1=1365679&r2=1365680&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticOperation.java Wed Jul 25 18:06:05 2012
@@ -1,12 +1,14 @@
 package org.apache.vxquery.runtime.functions.arithmetic;
 
 import java.io.DataOutput;
+import java.io.IOException;
 
 import org.apache.vxquery.context.DynamicContext;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDateTimePointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSTimePointable;
+import org.apache.vxquery.exceptions.SystemException;
 
 import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
 import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
@@ -15,143 +17,143 @@ import edu.uci.ics.hyracks.data.std.prim
 
 public abstract class AbstractArithmeticOperation {
     public abstract void operateDateDate(XSDatePointable datep1, XSDatePointable datep2, DynamicContext dCtx,
-            DataOutput dOut) throws Exception;
+            DataOutput dOut) throws SystemException, IOException;
 
     public abstract void operateDateDTDuration(XSDatePointable datep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDatetimeDatetime(XSDateTimePointable datetimep1, XSDateTimePointable datetimep2,
-            DynamicContext dCtx, DataOutput dOut) throws Exception;
+            DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException;
 
     public abstract void operateDatetimeDTDuration(XSDateTimePointable datetimep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDatetimeYMDuration(XSDateTimePointable datetimep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDateYMDuration(XSDatePointable datep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDecimalDecimal(XSDecimalPointable decp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDecimalDouble(XSDecimalPointable decp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDecimalDTDuration(XSDecimalPointable decp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDecimalFloat(XSDecimalPointable decp1, FloatPointable floatp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDecimalYMDuration(XSDecimalPointable decp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDoubleDecimal(DoublePointable doublep1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDoubleDouble(DoublePointable doublep1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDoubleDTDuration(DoublePointable doublep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDoubleFloat(DoublePointable doublep1, FloatPointable floatp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDoubleInteger(DoublePointable doublep1, LongPointable longp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDoubleYMDuration(DoublePointable doublep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationDate(IntegerPointable intp1, XSDatePointable datep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationDatetime(IntegerPointable intp1, XSDateTimePointable datetimep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationDecimal(IntegerPointable intp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationDouble(IntegerPointable intp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationDTDuration(IntegerPointable intp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationFloat(IntegerPointable intp1, FloatPointable floatp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationInteger(IntegerPointable intp1, LongPointable longp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateDTDurationTime(IntegerPointable intp1, XSTimePointable timep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateFloatDecimal(FloatPointable floatp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateFloatDouble(FloatPointable floatp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateFloatDTDuration(FloatPointable floatp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateFloatFloat(FloatPointable floatp1, FloatPointable floatp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateFloatInteger(FloatPointable floatp1, LongPointable longp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateFloatYMDuration(FloatPointable floatp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateIntegerDouble(LongPointable longp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateIntegerDTDuration(LongPointable longp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateIntegerFloat(LongPointable longp1, FloatPointable floatp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateIntegerInteger(LongPointable longp1, LongPointable longp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateIntegerYMDuration(LongPointable longp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateTimeDTDuration(XSTimePointable timep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateTimeTime(XSTimePointable timep1, XSTimePointable timep2, DynamicContext dCtx,
-            DataOutput dOut) throws Exception;
+            DataOutput dOut) throws SystemException, IOException;
 
     public abstract void operateYMDurationDate(IntegerPointable intp1, XSDatePointable datep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateYMDurationDatetime(IntegerPointable intp1, XSDateTimePointable datetimep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateYMDurationDecimal(IntegerPointable intp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateYMDurationDouble(IntegerPointable intp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateYMDurationFloat(IntegerPointable intp1, FloatPointable floatp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateYMDurationInteger(IntegerPointable intp1, LongPointable longp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 
     public abstract void operateYMDurationYMDuration(IntegerPointable intp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception;
+            throws SystemException, IOException;
 }
\ No newline at end of file

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java?rev=1365680&r1=1365679&r2=1365680&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AbstractArithmeticScalarEvaluatorFactory.java Wed Jul 25 18:06:05 2012
@@ -23,7 +23,6 @@ import org.apache.vxquery.datamodel.acce
 import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDateTimePointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDecimalPointable;
-import org.apache.vxquery.datamodel.accessors.atomic.XSDurationPointable;
 import org.apache.vxquery.datamodel.accessors.atomic.XSTimePointable;
 import org.apache.vxquery.datamodel.values.ValueTag;
 import org.apache.vxquery.exceptions.ErrorCode;
@@ -37,14 +36,10 @@ import edu.uci.ics.hyracks.algebricks.ru
 import edu.uci.ics.hyracks.algebricks.runtime.base.IScalarEvaluatorFactory;
 import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
 import edu.uci.ics.hyracks.data.std.api.IPointable;
-import edu.uci.ics.hyracks.data.std.primitive.BooleanPointable;
-import edu.uci.ics.hyracks.data.std.primitive.BytePointable;
 import edu.uci.ics.hyracks.data.std.primitive.DoublePointable;
 import edu.uci.ics.hyracks.data.std.primitive.FloatPointable;
 import edu.uci.ics.hyracks.data.std.primitive.IntegerPointable;
 import edu.uci.ics.hyracks.data.std.primitive.LongPointable;
-import edu.uci.ics.hyracks.data.std.primitive.ShortPointable;
-import edu.uci.ics.hyracks.data.std.primitive.UTF8StringPointable;
 import edu.uci.ics.hyracks.dataflow.common.data.accessors.ArrayBackedValueStorage;
 
 public abstract class AbstractArithmeticScalarEvaluatorFactory extends
@@ -459,19 +454,14 @@ public abstract class AbstractArithmetic
     }
 
     private static class TypedPointables {
-        BooleanPointable boolp = (BooleanPointable) BooleanPointable.FACTORY.createPointable();
-        BytePointable bytep = (BytePointable) BytePointable.FACTORY.createPointable();
-        ShortPointable shortp = (ShortPointable) ShortPointable.FACTORY.createPointable();
         IntegerPointable intp = (IntegerPointable) IntegerPointable.FACTORY.createPointable();
         LongPointable longp = (LongPointable) LongPointable.FACTORY.createPointable();
         FloatPointable floatp = (FloatPointable) FloatPointable.FACTORY.createPointable();
         DoublePointable doublep = (DoublePointable) DoublePointable.FACTORY.createPointable();
-        UTF8StringPointable utf8sp = (UTF8StringPointable) UTF8StringPointable.FACTORY.createPointable();
         XSDecimalPointable decp = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable();
         XSDateTimePointable datetimep = (XSDateTimePointable) XSDateTimePointable.FACTORY.createPointable();
         XSDatePointable datep = (XSDatePointable) XSDatePointable.FACTORY.createPointable();
         XSTimePointable timep = (XSTimePointable) XSTimePointable.FACTORY.createPointable();
-        XSDurationPointable durationp = (XSDurationPointable) XSDurationPointable.FACTORY.createPointable();
     }
 
     protected abstract AbstractArithmeticOperation createArithmeticOperation();

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddOperation.java?rev=1365680&r1=1365679&r2=1365680&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/AddOperation.java Wed Jul 25 18:06:05 2012
@@ -1,6 +1,7 @@
 package org.apache.vxquery.runtime.functions.arithmetic;
 
 import java.io.DataOutput;
+import java.io.IOException;
 
 import org.apache.vxquery.context.DynamicContext;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
@@ -24,12 +25,13 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         // Add duration.
         DateTime.normalizeDateTime(datep.getYearMonth(), datep.getDayTime() + intp.getInteger(), dataOutput);
         byte[] bytes = abvs.getByteArray();
@@ -42,13 +44,13 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDatetimeDatetime(XSDateTimePointable datetimep, XSDateTimePointable datetimep2,
-            DynamicContext dCtx, DataOutput dOut) throws Exception {
+            DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeDTDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         // Add duration.
         DateTime.normalizeDateTime(datetimep.getYearMonth(), datetimep.getDayTime() + intp.getInteger(), dataOutput);
         dOut.write(ValueTag.XS_DATETIME_TAG);
@@ -57,7 +59,7 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         // Add duration.
         DateTime.normalizeDateTime(datetimep.getYearMonth(), datetimep.getDayTime() + intp.getInteger(), dataOutput);
         dOut.write(ValueTag.XS_DATETIME_TAG);
@@ -65,7 +67,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDateYMDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateDateYMDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         // Add duration.
         DateTime.normalizeDateTime(datep.getYearMonth(), datep.getDayTime() + intp.getInteger(), dataOutput);
         byte[] bytes = abvs.getByteArray();
@@ -78,7 +81,7 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDecimalDecimal(XSDecimalPointable decp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         // Prepare
         long value1 = decp1.getDecimalValue();
         long value2 = decp2.getDecimalValue();
@@ -110,7 +113,7 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDecimalDouble(XSDecimalPointable decp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = decp.doubleValue();
         value += doublep.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -119,14 +122,15 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDecimalDTDuration(XSDecimalPointable decp, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateIntDecimal(intp.intValue(), decp);
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
         dOut.writeInt(value);
     }
 
     @Override
-    public void operateDecimalFloat(XSDecimalPointable decp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDecimalFloat(XSDecimalPointable decp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         float value = decp.floatValue();
         value += floatp.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -134,7 +138,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         XSDecimalPointable decp2 = new XSDecimalPointable();
         decp2.setDecimal(longp2.longValue(), (byte) 0);
         operateDecimalDecimal(decp1, decp2, dOut);
@@ -142,7 +147,7 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDecimalYMDuration(XSDecimalPointable decp, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateIntDecimal(intp.intValue(), decp);
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
@@ -150,13 +155,13 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDoubleDecimal(DoublePointable doublep1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDecimalDouble(decp2, doublep1, dOut);
     }
 
     @Override
     public void operateDoubleDouble(DoublePointable doublep1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = doublep1.doubleValue();
         value += doublep2.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -165,12 +170,13 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDoubleDTDuration(DoublePointable doublep1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDTDurationDouble(intp2, doublep1, dOut);
     }
 
     @Override
-    public void operateDoubleFloat(DoublePointable doublep, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDoubleFloat(DoublePointable doublep, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value += floatp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -178,7 +184,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value += longp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -187,7 +194,7 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDoubleYMDuration(DoublePointable doublep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = doublep.intValue();
         value += intp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -195,25 +202,26 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDTDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut) throws Exception {
+    public void operateDTDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut)
+            throws SystemException, IOException {
         operateDateDTDuration(datep, intp, dOut);
     }
 
     @Override
     public void operateDTDurationDatetime(IntegerPointable intp, XSDateTimePointable datetimep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDatetimeDTDuration(datetimep, intp, dOut);
     }
 
     @Override
     public void operateDTDurationDecimal(IntegerPointable intp, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDecimalDTDuration(decp, intp, dOut);
     }
 
     @Override
     public void operateDTDurationDouble(IntegerPointable intp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value += doublep.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -222,7 +230,7 @@ public class AddOperation extends Abstra
 
     @Override
     public void operateDTDurationDTDuration(IntegerPointable intp, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value += intp2.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -230,7 +238,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDTDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDTDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value += floatp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -238,7 +247,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDTDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateDTDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value += longp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -246,8 +256,9 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateDTDurationTime(IntegerPointable intp1, XSTimePointable timep2, DataOutput dOut) throws Exception {
-     // Add duration.
+    public void operateDTDurationTime(IntegerPointable intp1, XSTimePointable timep2, DataOutput dOut)
+            throws SystemException, IOException {
+        // Add duration.
         DateTime.normalizeDateTime(timep2.getYearMonth(), timep2.getDayTime() + intp1.getInteger(), dataOutput);
         byte[] bytes = abvs.getByteArray();
         // Convert to time.
@@ -261,22 +272,26 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateFloatDecimal(FloatPointable floatp, XSDecimalPointable decp, DataOutput dOut) throws Exception {
+    public void operateFloatDecimal(FloatPointable floatp, XSDecimalPointable decp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDecimalFloat(decp, floatp, dOut);
     }
 
     @Override
-    public void operateFloatDouble(FloatPointable floatp, DoublePointable doublep, DataOutput dOut) throws Exception {
+    public void operateFloatDouble(FloatPointable floatp, DoublePointable doublep, DataOutput dOut)
+            throws SystemException, IOException {
         operateDoubleFloat(doublep, floatp, dOut);
     }
 
     @Override
-    public void operateFloatDTDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateFloatDTDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDTDurationFloat(intp, floatp, dOut);
     }
 
     @Override
-    public void operateFloatFloat(FloatPointable floatp, FloatPointable floatp2, DataOutput dOut) throws Exception {
+    public void operateFloatFloat(FloatPointable floatp, FloatPointable floatp2, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp.floatValue();
         value += floatp2.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -284,7 +299,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateFloatInteger(FloatPointable floatp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateFloatInteger(FloatPointable floatp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp.floatValue();
         value += longp.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -292,32 +308,38 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateFloatYMDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateFloatYMDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateYMDurationFloat(intp, floatp, dOut);
     }
 
     @Override
-    public void operateIntegerDecimal(LongPointable longp, XSDecimalPointable decp, DataOutput dOut) throws Exception {
+    public void operateIntegerDecimal(LongPointable longp, XSDecimalPointable decp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDecimalInteger(decp, longp, dOut);
     }
 
     @Override
-    public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws Exception {
+    public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut)
+            throws SystemException, IOException {
         operateDoubleInteger(doublep, longp, dOut);
     }
 
     @Override
-    public void operateIntegerDTDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateIntegerDTDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDTDurationInteger(intp, longp, dOut);
     }
 
     @Override
-    public void operateIntegerFloat(LongPointable longp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateIntegerFloat(LongPointable longp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         operateFloatInteger(floatp, longp, dOut);
     }
 
     @Override
-    public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         long value = longp.getLong();
         value += longp2.getLong();
         dOut.write(ValueTag.XS_INTEGER_TAG);
@@ -325,7 +347,8 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateIntegerYMDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateIntegerYMDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = longp.intValue();
         value += intp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -333,59 +356,63 @@ public class AddOperation extends Abstra
     }
 
     @Override
-    public void operateTimeDTDuration(XSTimePointable timep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateTimeDTDuration(XSTimePointable timep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDTDurationTime(intp, timep, dOut);
     }
 
     @Override
     public void operateTimeTime(XSTimePointable timep, XSTimePointable timep2, DynamicContext dCtx, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateYMDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut) throws Exception {
+    public void operateYMDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut)
+            throws SystemException, IOException {
         operateDateYMDuration(datep, intp, dOut);
     }
 
     @Override
     public void operateYMDurationDatetime(IntegerPointable intp, XSDateTimePointable datetimep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDatetimeYMDuration(datetimep, intp, dOut);
     }
 
     @Override
     public void operateYMDurationDecimal(IntegerPointable intp, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDecimalYMDuration(decp, intp, dOut);
     }
 
     @Override
     public void operateYMDurationDouble(IntegerPointable intp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDoubleYMDuration(doublep, intp, dOut);
     }
 
     @Override
-    public void operateYMDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateYMDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         operateFloatYMDuration(floatp, intp, dOut);
     }
 
     @Override
-    public void operateYMDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateYMDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         operateIntegerYMDuration(longp, intp, dOut);
     }
 
     @Override
     public void operateYMDurationYMDuration(IntegerPointable intp, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value += intp2.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
     }
 
-    public int operateIntDecimal(int intValue, XSDecimalPointable decp2) throws Exception {
+    public int operateIntDecimal(int intValue, XSDecimalPointable decp2) throws SystemException, IOException {
         XSDecimalPointable decp1 = new XSDecimalPointable();
         decp1.setDecimal(intValue, (byte) 0);
         // Prepare

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java?rev=1365680&r1=1365679&r2=1365680&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/DivideOperation.java Wed Jul 25 18:06:05 2012
@@ -1,6 +1,7 @@
 package org.apache.vxquery.runtime.functions.arithmetic;
 
 import java.io.DataOutput;
+import java.io.IOException;
 
 import org.apache.vxquery.context.DynamicContext;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
@@ -19,41 +20,43 @@ import edu.uci.ics.hyracks.data.std.prim
 public class DivideOperation extends AbstractArithmeticOperation {
     @Override
     public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeDatetime(XSDateTimePointable datetimep, XSDateTimePointable datetimep2,
-            DynamicContext dCtx, DataOutput dOut) throws Exception {
+            DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeDTDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateDateYMDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateDateYMDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDecimalDecimal(XSDecimalPointable decp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         // Prepare
         long value1 = decp1.getDecimalValue();
         long value2 = decp2.getDecimalValue();
@@ -73,7 +76,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDecimalDouble(XSDecimalPointable decp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = decp1.doubleValue();
         value /= doublep2.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -82,14 +85,15 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDecimalDTDuration(XSDecimalPointable decp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateDecimalInt(decp1, intp2.intValue());
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
         dOut.writeInt(value);
     }
 
     @Override
-    public void operateDecimalFloat(XSDecimalPointable decp1, FloatPointable floatp2, DataOutput dOut) throws Exception {
+    public void operateDecimalFloat(XSDecimalPointable decp1, FloatPointable floatp2, DataOutput dOut)
+            throws SystemException, IOException {
         float value = decp1.floatValue();
         value /= floatp2.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -97,7 +101,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         // Convert
         XSDecimalPointable decp2 = new XSDecimalPointable();
         decp2.setDecimal(longp2.longValue(), (byte) 0);
@@ -106,7 +111,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDecimalYMDuration(XSDecimalPointable decp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateDecimalInt(decp1, intp2.intValue());
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
@@ -114,7 +119,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDoubleDecimal(DoublePointable doublep, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value /= decp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -123,7 +128,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDoubleDouble(DoublePointable doublep, DoublePointable doublep2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value /= doublep2.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -132,7 +137,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDoubleDTDuration(DoublePointable doublep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value /= intp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -140,7 +145,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDoubleFloat(DoublePointable doublep, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDoubleFloat(DoublePointable doublep, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value /= floatp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -148,7 +154,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value /= longp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -157,7 +164,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDoubleYMDuration(DoublePointable doublep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value /= intp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -165,19 +172,20 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDTDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut) throws Exception {
+    public void operateDTDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDTDurationDatetime(IntegerPointable intp, XSDateTimePointable datetimep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDTDurationDecimal(IntegerPointable intp, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= decp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -186,7 +194,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDTDurationDouble(IntegerPointable intp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= doublep.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -195,7 +203,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateDTDurationDTDuration(IntegerPointable intp, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= intp2.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -203,7 +211,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDTDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDTDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         float value = intp.floatValue();
         value /= floatp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -211,7 +220,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDTDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateDTDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= longp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -219,12 +229,14 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateDTDurationTime(IntegerPointable intp, XSTimePointable timep, DataOutput dOut) throws Exception {
+    public void operateDTDurationTime(IntegerPointable intp, XSTimePointable timep, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateFloatDecimal(FloatPointable floatp1, XSDecimalPointable decp2, DataOutput dOut) throws Exception {
+    public void operateFloatDecimal(FloatPointable floatp1, XSDecimalPointable decp2, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp1.floatValue();
         value /= decp2.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -232,7 +244,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateFloatDouble(FloatPointable floatp1, DoublePointable doublep2, DataOutput dOut) throws Exception {
+    public void operateFloatDouble(FloatPointable floatp1, DoublePointable doublep2, DataOutput dOut)
+            throws SystemException, IOException {
         double value = floatp1.doubleValue();
         value /= doublep2.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -241,7 +254,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateFloatDTDuration(FloatPointable floatp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = floatp1.intValue();
         value /= intp2.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -249,7 +262,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateFloatFloat(FloatPointable floatp1, FloatPointable floatp2, DataOutput dOut) throws Exception {
+    public void operateFloatFloat(FloatPointable floatp1, FloatPointable floatp2, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp1.floatValue();
         value /= floatp2.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -257,7 +271,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateFloatInteger(FloatPointable floatp1, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateFloatInteger(FloatPointable floatp1, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp1.floatValue();
         value /= longp2.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -266,7 +281,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateFloatYMDuration(FloatPointable floatp1, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         long value = floatp1.longValue();
         value /= intp2.longValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -274,14 +289,16 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2, DataOutput dOut) throws Exception {
+    public void operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2, DataOutput dOut)
+            throws SystemException, IOException {
         XSDecimalPointable decp1 = new XSDecimalPointable();
         decp1.setDecimal(longp1.longValue(), (byte) 0);
         operateDecimalDecimal(decp1, decp2, dOut);
     }
 
     @Override
-    public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws Exception {
+    public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut)
+            throws SystemException, IOException {
         double value = longp.doubleValue();
         value /= doublep.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -289,7 +306,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateIntegerDTDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateIntegerDTDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = longp.intValue();
         value /= intp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -297,7 +315,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateIntegerFloat(LongPointable longp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateIntegerFloat(LongPointable longp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         float value = longp.floatValue();
         value /= floatp.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -305,7 +324,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         // This is an exception for integer integer operations. The divide operation returns a decimal.
         double value = longp.doubleValue();
         value /= longp2.doubleValue();
@@ -314,7 +334,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateIntegerYMDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateIntegerYMDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = longp.intValue();
         value /= intp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -322,30 +343,32 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateTimeDTDuration(XSTimePointable timep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateTimeDTDuration(XSTimePointable timep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateTimeTime(XSTimePointable timep, XSTimePointable timep2, DynamicContext dCtx, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateYMDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut) throws Exception {
+    public void operateYMDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateYMDurationDatetime(IntegerPointable intp, XSDateTimePointable datetimep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateYMDurationDecimal(IntegerPointable intp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateIntDecimal(intp1.intValue(), decp2);
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
@@ -353,7 +376,7 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateYMDurationDouble(IntegerPointable intp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= doublep.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -361,7 +384,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateYMDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateYMDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= floatp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -369,7 +393,8 @@ public class DivideOperation extends Abs
     }
 
     @Override
-    public void operateYMDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateYMDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= longp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -378,14 +403,14 @@ public class DivideOperation extends Abs
 
     @Override
     public void operateYMDurationYMDuration(IntegerPointable intp, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value /= intp2.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
     }
 
-    public int operateIntDecimal(int intValue, XSDecimalPointable decp2) throws Exception {
+    public int operateIntDecimal(int intValue, XSDecimalPointable decp2) throws SystemException, IOException {
         XSDecimalPointable decp1 = new XSDecimalPointable();
         decp1.setDecimal(intValue, (byte) 0);
         // Prepare
@@ -404,7 +429,7 @@ public class DivideOperation extends Abs
         return decp2.intValue();
     }
 
-    public int operateDecimalInt(XSDecimalPointable decp1, int intValue) throws Exception {
+    public int operateDecimalInt(XSDecimalPointable decp1, int intValue) throws SystemException, IOException {
         XSDecimalPointable decp2 = new XSDecimalPointable();
         decp2.setDecimal(intValue, (byte) 0);
         // Prepare

Modified: incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java
URL: http://svn.apache.org/viewvc/incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java?rev=1365680&r1=1365679&r2=1365680&view=diff
==============================================================================
--- incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java (original)
+++ incubator/vxquery/trunk/vxquery/vxquery-core/src/main/java/org/apache/vxquery/runtime/functions/arithmetic/MultiplyOperation.java Wed Jul 25 18:06:05 2012
@@ -1,6 +1,7 @@
 package org.apache.vxquery.runtime.functions.arithmetic;
 
 import java.io.DataOutput;
+import java.io.IOException;
 
 import org.apache.vxquery.context.DynamicContext;
 import org.apache.vxquery.datamodel.accessors.atomic.XSDatePointable;
@@ -19,41 +20,43 @@ import edu.uci.ics.hyracks.data.std.prim
 public class MultiplyOperation extends AbstractArithmeticOperation {
     @Override
     public void operateDateDate(XSDatePointable datep, XSDatePointable datep2, DynamicContext dCtx, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateDateDTDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeDatetime(XSDateTimePointable datetimep, XSDateTimePointable datetimep2,
-            DynamicContext dCtx, DataOutput dOut) throws Exception {
+            DynamicContext dCtx, DataOutput dOut) throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeDTDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateDateYMDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateDateYMDuration(XSDatePointable datep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDecimalDecimal(XSDecimalPointable decp1, XSDecimalPointable decp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         long value1 = decp1.getDecimalValue();
         long value2 = decp2.getDecimalValue();
         byte place1 = decp1.getDecimalPlace();
@@ -70,7 +73,7 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDecimalDouble(XSDecimalPointable decp1, DoublePointable doublep2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = decp1.doubleValue();
         value *= doublep2.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -79,14 +82,15 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDecimalDTDuration(XSDecimalPointable decp, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateIntDecimal(intp.intValue(), decp);
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
         dOut.writeInt(value);
     }
 
     @Override
-    public void operateDecimalFloat(XSDecimalPointable decp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDecimalFloat(XSDecimalPointable decp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         float value = decp.floatValue();
         value *= floatp.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -94,7 +98,8 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         XSDecimalPointable decp2 = new XSDecimalPointable();
         decp2.setDecimal(longp2.getLong(), (byte) 0);
         operateDecimalDecimal(decp1, decp2, dOut);
@@ -102,7 +107,7 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDecimalYMDuration(XSDecimalPointable decp1, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = operateIntDecimal(intp.intValue(), decp1);
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
@@ -110,13 +115,13 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDoubleDecimal(DoublePointable doublep, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDecimalDouble(decp, doublep, dOut);
     }
 
     @Override
     public void operateDoubleDouble(DoublePointable doublep, DoublePointable doublep2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value *= doublep2.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -125,12 +130,13 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDoubleDTDuration(DoublePointable doublep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDTDurationDouble(intp, doublep, dOut);
     }
 
     @Override
-    public void operateDoubleFloat(DoublePointable doublep, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDoubleFloat(DoublePointable doublep, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value *= floatp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -138,7 +144,8 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateDoubleInteger(DoublePointable doublep, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         double value = doublep.doubleValue();
         value *= longp.doubleValue();
         dOut.write(ValueTag.XS_DOUBLE_TAG);
@@ -147,7 +154,7 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDoubleYMDuration(DoublePointable doublep, IntegerPointable intp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = doublep.intValue();
         value *= intp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -155,25 +162,26 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDTDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut) throws Exception {
+    public void operateDTDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDTDurationDatetime(IntegerPointable intp, XSDateTimePointable datetimep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateDTDurationDecimal(IntegerPointable intp, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDecimalDTDuration(decp, intp, dOut);
     }
 
     @Override
     public void operateDTDurationDouble(IntegerPointable intp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value *= doublep.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -182,7 +190,7 @@ public class MultiplyOperation extends A
 
     @Override
     public void operateDTDurationDTDuration(IntegerPointable intp, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value *= intp2.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -190,7 +198,8 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDTDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateDTDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value *= floatp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -198,7 +207,8 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDTDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateDTDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = intp.intValue();
         value *= longp.intValue();
         dOut.write(ValueTag.XS_DAY_TIME_DURATION_TAG);
@@ -206,27 +216,32 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateDTDurationTime(IntegerPointable intp, XSTimePointable timep, DataOutput dOut) throws Exception {
+    public void operateDTDurationTime(IntegerPointable intp, XSTimePointable timep, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateFloatDecimal(FloatPointable floatp, XSDecimalPointable decp, DataOutput dOut) throws Exception {
+    public void operateFloatDecimal(FloatPointable floatp, XSDecimalPointable decp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDecimalFloat(decp, floatp, dOut);
     }
 
     @Override
-    public void operateFloatDouble(FloatPointable floatp, DoublePointable doublep, DataOutput dOut) throws Exception {
+    public void operateFloatDouble(FloatPointable floatp, DoublePointable doublep, DataOutput dOut)
+            throws SystemException, IOException {
         operateDoubleFloat(doublep, floatp, dOut);
     }
 
     @Override
-    public void operateFloatDTDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateFloatDTDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDTDurationFloat(intp, floatp, dOut);
     }
 
     @Override
-    public void operateFloatFloat(FloatPointable floatp, FloatPointable floatp2, DataOutput dOut) throws Exception {
+    public void operateFloatFloat(FloatPointable floatp, FloatPointable floatp2, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp.floatValue();
         value *= floatp2.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -234,7 +249,8 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateFloatInteger(FloatPointable floatp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateFloatInteger(FloatPointable floatp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         float value = floatp.floatValue();
         value *= longp.floatValue();
         dOut.write(ValueTag.XS_FLOAT_TAG);
@@ -242,32 +258,38 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateFloatYMDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateFloatYMDuration(FloatPointable floatp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateYMDurationFloat(intp, floatp, dOut);
     }
 
     @Override
-    public void operateIntegerDecimal(LongPointable longp, XSDecimalPointable decp, DataOutput dOut) throws Exception {
+    public void operateIntegerDecimal(LongPointable longp, XSDecimalPointable decp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDecimalInteger(decp, longp, dOut);
     }
 
     @Override
-    public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut) throws Exception {
+    public void operateIntegerDouble(LongPointable longp, DoublePointable doublep, DataOutput dOut)
+            throws SystemException, IOException {
         operateDoubleInteger(doublep, longp, dOut);
     }
 
     @Override
-    public void operateIntegerDTDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateIntegerDTDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         operateDTDurationInteger(intp, longp, dOut);
     }
 
     @Override
-    public void operateIntegerFloat(LongPointable longp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateIntegerFloat(LongPointable longp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         operateFloatInteger(floatp, longp, dOut);
     }
 
     @Override
-    public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut) throws Exception {
+    public void operateIntegerInteger(LongPointable longp, LongPointable longp2, DataOutput dOut)
+            throws SystemException, IOException {
         long value = longp.getLong();
         value *= longp2.getLong();
         dOut.write(ValueTag.XS_INTEGER_TAG);
@@ -275,7 +297,8 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateIntegerYMDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateIntegerYMDuration(LongPointable longp, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         int value = longp.intValue();
         value *= intp.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
@@ -283,59 +306,63 @@ public class MultiplyOperation extends A
     }
 
     @Override
-    public void operateTimeDTDuration(XSTimePointable timep, IntegerPointable intp, DataOutput dOut) throws Exception {
+    public void operateTimeDTDuration(XSTimePointable timep, IntegerPointable intp, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateTimeTime(XSTimePointable timep, XSTimePointable timep2, DynamicContext dCtx, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void operateYMDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut) throws Exception {
+    public void operateYMDurationDate(IntegerPointable intp, XSDatePointable datep, DataOutput dOut)
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateYMDurationDatetime(IntegerPointable intp, XSDateTimePointable datetimep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         throw new UnsupportedOperationException();
     }
 
     @Override
     public void operateYMDurationDecimal(IntegerPointable intp, XSDecimalPointable decp, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDecimalYMDuration(decp, intp, dOut);
     }
 
     @Override
     public void operateYMDurationDouble(IntegerPointable intp, DoublePointable doublep, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         operateDoubleYMDuration(doublep, intp, dOut);
     }
 
     @Override
-    public void operateYMDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut) throws Exception {
+    public void operateYMDurationFloat(IntegerPointable intp, FloatPointable floatp, DataOutput dOut)
+            throws SystemException, IOException {
         operateFloatYMDuration(floatp, intp, dOut);
     }
 
     @Override
-    public void operateYMDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut) throws Exception {
+    public void operateYMDurationInteger(IntegerPointable intp, LongPointable longp, DataOutput dOut)
+            throws SystemException, IOException {
         operateIntegerYMDuration(longp, intp, dOut);
     }
 
     @Override
     public void operateYMDurationYMDuration(IntegerPointable intp, IntegerPointable intp2, DataOutput dOut)
-            throws Exception {
+            throws SystemException, IOException {
         int value = intp.intValue();
         value *= intp2.intValue();
         dOut.write(ValueTag.XS_YEAR_MONTH_DURATION_TAG);
         dOut.writeInt(value);
     }
 
-    public int operateIntDecimal(int intValue, XSDecimalPointable decp2) throws Exception {
+    public int operateIntDecimal(int intValue, XSDecimalPointable decp2) throws SystemException, IOException {
         XSDecimalPointable decp1 = new XSDecimalPointable();
         decp1.setDecimal(intValue, (byte) 0);
         // Prepare