diff --git a/core/src/main/java/it/cavallium/warppi/math/rules/RulesManager.java b/core/src/main/java/it/cavallium/warppi/math/rules/RulesManager.java index 2924eda0..8d872b13 100644 --- a/core/src/main/java/it/cavallium/warppi/math/rules/RulesManager.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/RulesManager.java @@ -10,6 +10,7 @@ import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.List; +import java.util.stream.Stream; import it.cavallium.warppi.Engine; import it.cavallium.warppi.Platform.ConsoleUtils; @@ -23,6 +24,7 @@ import it.cavallium.warppi.math.functions.Variable; import it.cavallium.warppi.math.functions.Variable.V_TYPE; import it.cavallium.warppi.math.rules.dsl.DslAggregateException; import it.cavallium.warppi.math.rules.dsl.RulesDsl; +import it.cavallium.warppi.math.rules.functions.*; import it.cavallium.warppi.math.solver.MathSolver; import it.cavallium.warppi.util.Error; import it.unimi.dsi.fastutil.objects.ObjectArrayList; @@ -41,6 +43,8 @@ public class RulesManager { RulesManager.rules[val.ordinal()] = new ObjectArrayList<>(); } + loadBuiltinRules(); + try { loadDslRules(); @@ -159,6 +163,24 @@ public class RulesManager { } } + private static void loadBuiltinRules() { + Stream.of( + new DivisionRule(), + new EmptyNumberRule(), + new ExpressionRule(), + new JokeRule(), + new MultiplicationRule(), + new NegativeRule(), + new NumberRule(), + new PowerRule(), + new RootRule(), + new SubtractionRule(), + new SumRule(), + new SumSubtractionRule(), + new VariableRule() + ).forEach(RulesManager::addRule); + } + private static void loadDslRules() throws IOException, DslAggregateException { final StorageUtils storageUtils = Engine.getPlatform().getStorageUtils(); diff --git a/rules/src/main/java/rules/functions/DivisionRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/DivisionRule.java similarity index 95% rename from rules/src/main/java/rules/functions/DivisionRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/DivisionRule.java index c1935f06..71d97bb2 100644 --- a/rules/src/main/java/rules/functions/DivisionRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/DivisionRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.DivisionRule diff --git a/rules/src/main/java/rules/functions/EmptyNumberRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/EmptyNumberRule.java similarity index 89% rename from rules/src/main/java/rules/functions/EmptyNumberRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/EmptyNumberRule.java index 02be7d93..8aeb4f1e 100644 --- a/rules/src/main/java/rules/functions/EmptyNumberRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/EmptyNumberRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.EmptyNumberRule diff --git a/rules/src/main/java/rules/functions/ExpressionRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/ExpressionRule.java similarity index 91% rename from rules/src/main/java/rules/functions/ExpressionRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/ExpressionRule.java index 4edab81a..1d444bc4 100644 --- a/rules/src/main/java/rules/functions/ExpressionRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/ExpressionRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.ExpressionRule diff --git a/rules/src/main/java/rules/functions/JokeRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/JokeRule.java similarity index 89% rename from rules/src/main/java/rules/functions/JokeRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/JokeRule.java index 6c3592c0..c05e9997 100644 --- a/rules/src/main/java/rules/functions/JokeRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/JokeRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.JokeRule diff --git a/rules/src/main/java/rules/functions/MultiplicationRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/MultiplicationRule.java similarity index 92% rename from rules/src/main/java/rules/functions/MultiplicationRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/MultiplicationRule.java index 631b14e4..061ffd74 100644 --- a/rules/src/main/java/rules/functions/MultiplicationRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/MultiplicationRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.MultiplicationRule diff --git a/rules/src/main/java/rules/functions/NegativeRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/NegativeRule.java similarity index 93% rename from rules/src/main/java/rules/functions/NegativeRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/NegativeRule.java index 8bdc9e5c..c4c09891 100644 --- a/rules/src/main/java/rules/functions/NegativeRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/NegativeRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.NegativeRule diff --git a/rules/src/main/java/rules/functions/NumberRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/NumberRule.java similarity index 93% rename from rules/src/main/java/rules/functions/NumberRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/NumberRule.java index bd106b45..39f7fd2a 100644 --- a/rules/src/main/java/rules/functions/NumberRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/NumberRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.NumberRule diff --git a/rules/src/main/java/rules/functions/PowerRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/PowerRule.java similarity index 93% rename from rules/src/main/java/rules/functions/PowerRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/PowerRule.java index 46cec6c4..d7fec53a 100644 --- a/rules/src/main/java/rules/functions/PowerRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/PowerRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.PowerRule diff --git a/rules/src/main/java/rules/functions/RootRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/RootRule.java similarity index 95% rename from rules/src/main/java/rules/functions/RootRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/RootRule.java index a824828f..5a9bad89 100644 --- a/rules/src/main/java/rules/functions/RootRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/RootRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.RootRule diff --git a/rules/src/main/java/rules/functions/SubtractionRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/SubtractionRule.java similarity index 93% rename from rules/src/main/java/rules/functions/SubtractionRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/SubtractionRule.java index 3ccb3bdb..7f1b17f8 100644 --- a/rules/src/main/java/rules/functions/SubtractionRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/SubtractionRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.SubtractionRule diff --git a/rules/src/main/java/rules/functions/SumRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/SumRule.java similarity index 92% rename from rules/src/main/java/rules/functions/SumRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/SumRule.java index ebe2d7a3..404d0375 100644 --- a/rules/src/main/java/rules/functions/SumRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/SumRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.SumRule diff --git a/rules/src/main/java/rules/functions/SumSubtractionRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/SumSubtractionRule.java similarity index 93% rename from rules/src/main/java/rules/functions/SumSubtractionRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/SumSubtractionRule.java index ac1ea246..44772d74 100644 --- a/rules/src/main/java/rules/functions/SumSubtractionRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/SumSubtractionRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.SumSubtractionRule diff --git a/rules/src/main/java/rules/functions/VariableRule.java b/core/src/main/java/it/cavallium/warppi/math/rules/functions/VariableRule.java similarity index 93% rename from rules/src/main/java/rules/functions/VariableRule.java rename to core/src/main/java/it/cavallium/warppi/math/rules/functions/VariableRule.java index 3823f125..89fb657b 100644 --- a/rules/src/main/java/rules/functions/VariableRule.java +++ b/core/src/main/java/it/cavallium/warppi/math/rules/functions/VariableRule.java @@ -1,4 +1,4 @@ -package rules.functions; +package it.cavallium.warppi.math.rules.functions; /* SETTINGS: (please don't move this part) PATH=functions.VariableRule diff --git a/core/src/main/resources/default-rules.lst b/core/src/main/resources/default-rules.lst index 8a34c9c4..5fb51e4d 100644 --- a/core/src/main/resources/default-rules.lst +++ b/core/src/main/resources/default-rules.lst @@ -1,15 +1,2 @@ -functions/DivisionRule -functions/EmptyNumberRule -functions/ExpressionRule -functions/JokeRule -functions/MultiplicationRule -functions/NegativeRule -functions/NumberRule -functions/PowerRule -functions/RootRule -functions/SubtractionRule -functions/SumRule -functions/SumSubtractionRule -functions/VariableRule ExpandRule1 ExponentRule17 \ No newline at end of file