diff --git a/src/main/java/no/birkett/kiwi/DuplicateConstraintException.java b/src/main/java/no/birkett/kiwi/DuplicateConstraintException.java index c5a8c37..ab47d8c 100644 --- a/src/main/java/no/birkett/kiwi/DuplicateConstraintException.java +++ b/src/main/java/no/birkett/kiwi/DuplicateConstraintException.java @@ -3,9 +3,11 @@ package no.birkett.kiwi; /** * Created by alex on 30/01/15. */ -public class DuplicateConstraintException extends Exception { +public class DuplicateConstraintException extends KiwiException { + + private Constraint constraint; public DuplicateConstraintException(Constraint constraint) { - + this.constraint = constraint; } } diff --git a/src/main/java/no/birkett/kiwi/DuplicateEditVariableException.java b/src/main/java/no/birkett/kiwi/DuplicateEditVariableException.java index b951b4e..fa06bc2 100644 --- a/src/main/java/no/birkett/kiwi/DuplicateEditVariableException.java +++ b/src/main/java/no/birkett/kiwi/DuplicateEditVariableException.java @@ -3,6 +3,6 @@ package no.birkett.kiwi; /** * Created by yongsun on 1/13/16. */ -public class DuplicateEditVariableException extends Exception { +public class DuplicateEditVariableException extends KiwiException { } diff --git a/src/main/java/no/birkett/kiwi/InternalSolverError.java b/src/main/java/no/birkett/kiwi/InternalSolverError.java index 61694ab..c605cb3 100644 --- a/src/main/java/no/birkett/kiwi/InternalSolverError.java +++ b/src/main/java/no/birkett/kiwi/InternalSolverError.java @@ -3,7 +3,7 @@ package no.birkett.kiwi; /** * Created by alex on 31/01/15. */ -public class InternalSolverError extends RuntimeException { +public class InternalSolverError extends Error { public InternalSolverError(String string) { diff --git a/src/main/java/no/birkett/kiwi/KiwiException.java b/src/main/java/no/birkett/kiwi/KiwiException.java new file mode 100644 index 0000000..b8c8df4 --- /dev/null +++ b/src/main/java/no/birkett/kiwi/KiwiException.java @@ -0,0 +1,10 @@ +package no.birkett.kiwi; + +/** + * Created by alex on 30/01/16. + */ +public class KiwiException extends Exception { + public KiwiException() { + + } +} diff --git a/src/main/java/no/birkett/kiwi/NonlinearExpressionException.java b/src/main/java/no/birkett/kiwi/NonlinearExpressionException.java index 48e1600..40972ee 100644 --- a/src/main/java/no/birkett/kiwi/NonlinearExpressionException.java +++ b/src/main/java/no/birkett/kiwi/NonlinearExpressionException.java @@ -3,5 +3,5 @@ package no.birkett.kiwi; /** * Created by alex on 01/02/15. */ -public class NonlinearExpressionException extends RuntimeException { +public class NonlinearExpressionException extends KiwiException { } diff --git a/src/main/java/no/birkett/kiwi/RequiredFailureException.java b/src/main/java/no/birkett/kiwi/RequiredFailureException.java index dc5524b..d9b221a 100644 --- a/src/main/java/no/birkett/kiwi/RequiredFailureException.java +++ b/src/main/java/no/birkett/kiwi/RequiredFailureException.java @@ -3,5 +3,5 @@ package no.birkett.kiwi; /** * Created by alex on 30/01/15. */ -public class RequiredFailureException extends Exception { +public class RequiredFailureException extends KiwiException { } diff --git a/src/main/java/no/birkett/kiwi/UnknownConstraintException.java b/src/main/java/no/birkett/kiwi/UnknownConstraintException.java index 6f1384a..4f967df 100644 --- a/src/main/java/no/birkett/kiwi/UnknownConstraintException.java +++ b/src/main/java/no/birkett/kiwi/UnknownConstraintException.java @@ -3,7 +3,7 @@ package no.birkett.kiwi; /** * Created by yongsun on 1/13/16. */ -public class UnknownConstraintException extends Exception { +public class UnknownConstraintException extends KiwiException { public UnknownConstraintException(Constraint constraint){ diff --git a/src/main/java/no/birkett/kiwi/UnsatisfiableConstraintException.java b/src/main/java/no/birkett/kiwi/UnsatisfiableConstraintException.java index 4d36c7a..4b174dd 100644 --- a/src/main/java/no/birkett/kiwi/UnsatisfiableConstraintException.java +++ b/src/main/java/no/birkett/kiwi/UnsatisfiableConstraintException.java @@ -3,8 +3,10 @@ package no.birkett.kiwi; /** * Created by alex on 30/01/15. */ -public class UnsatisfiableConstraintException extends Exception { - public UnsatisfiableConstraintException(Constraint constraint) { +public class UnsatisfiableConstraintException extends KiwiException { + private Constraint constraint; + public UnsatisfiableConstraintException(Constraint constraint) { + this.constraint = constraint; } } diff --git a/src/test/java/no/birkett/kiwi/Benchmarks.java b/src/test/java/no/birkett/kiwi/Benchmarks.java index 198f258..0ebc11f 100644 --- a/src/test/java/no/birkett/kiwi/Benchmarks.java +++ b/src/test/java/no/birkett/kiwi/Benchmarks.java @@ -7,7 +7,7 @@ import java.util.HashMap; */ public class Benchmarks { - public static void testAddingLotsOfConstraints() throws DuplicateConstraintException, UnsatisfiableConstraintException { + public static void testAddingLotsOfConstraints() throws DuplicateConstraintException, UnsatisfiableConstraintException, NonlinearExpressionException { Solver solver = new Solver(); final HashMap variables = new HashMap(); @@ -65,6 +65,8 @@ public class Benchmarks { e.printStackTrace(); } catch (UnsatisfiableConstraintException e) { e.printStackTrace(); + } catch (NonlinearExpressionException e) { + e.printStackTrace(); } } diff --git a/src/test/java/no/birkett/kiwi/ConstraintParser.java b/src/test/java/no/birkett/kiwi/ConstraintParser.java index b941d98..66908db 100644 --- a/src/test/java/no/birkett/kiwi/ConstraintParser.java +++ b/src/test/java/no/birkett/kiwi/ConstraintParser.java @@ -19,7 +19,7 @@ public class ConstraintParser { Expression resolveConstant(String name); } - public static Constraint parseConstraint(String constraintString, CassowaryVariableResolver variableResolver) { + public static Constraint parseConstraint(String constraintString, CassowaryVariableResolver variableResolver) throws NonlinearExpressionException { Matcher matcher = pattern.matcher(constraintString); matcher.find(); @@ -63,7 +63,7 @@ public class ConstraintParser { return strength; } - public static Expression resolveExpression(String expressionString, CassowaryVariableResolver variableResolver) { + public static Expression resolveExpression(String expressionString, CassowaryVariableResolver variableResolver) throws NonlinearExpressionException { List postFixExpression = infixToPostfix(tokenizeExpression(expressionString)); diff --git a/src/test/java/no/birkett/kiwi/RealWorldTests.java b/src/test/java/no/birkett/kiwi/RealWorldTests.java index edc60f8..1bba3b5 100644 --- a/src/test/java/no/birkett/kiwi/RealWorldTests.java +++ b/src/test/java/no/birkett/kiwi/RealWorldTests.java @@ -202,7 +202,7 @@ public class RealWorldTests { } @Test - public void testGridLayout() throws DuplicateConstraintException, UnsatisfiableConstraintException { + public void testGridLayout() throws DuplicateConstraintException, UnsatisfiableConstraintException, NonlinearExpressionException { final Solver solver = new Solver(); final HashMap> nodeHashMap = new HashMap<>(); @@ -321,7 +321,7 @@ public class RealWorldTests { */ @Test - public void testGridX1000() throws DuplicateConstraintException, UnsatisfiableConstraintException { + public void testGridX1000() throws DuplicateConstraintException, UnsatisfiableConstraintException, NonlinearExpressionException { long nanoTime = System.nanoTime(); for (int i = 0; i < 1000; i++) {