aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend22
1 files changed, 15 insertions, 7 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend
index b6fdbe06..238ade5b 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/GoalConstraintProvider.xtend
@@ -1,18 +1,26 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules 1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.rules
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
3import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.MultiplicityGoalConstraintCalculator 4import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.cardinality.MultiplicityGoalConstraintCalculator
4import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.GeneratedPatterns 5import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.patterns.GeneratedPatterns
5import java.util.ArrayList 6import java.util.ArrayList
6 7
7class GoalConstraintProvider { 8class GoalConstraintProvider {
8 def public getUnfinishedMultiplicityQueries(GeneratedPatterns patterns) { 9
9 val multiplicityQueries = patterns.unfinishedMulticiplicityQueries 10 def getUnfinishedMultiplicityQueries(LogicProblem p, GeneratedPatterns patterns) {
10 val res = new ArrayList(multiplicityQueries.size) 11 val res = new ArrayList()
11 for(multiplicityQuery : multiplicityQueries.entrySet) { 12 for (entry : patterns.multiplicityConstraintQueries.entrySet) {
12 val targetRelationName = multiplicityQuery.key.name 13 val constraint = entry.key
13 val query = multiplicityQuery.value 14 if (constraint.constrainsUnfinished) {
14 res += new MultiplicityGoalConstraintCalculator(targetRelationName,query); 15 val queries = entry.value
16 val targetRelationName = constraint.relation.name
17 val query = queries.unfinishedMultiplicityQuery
18 val minValue = constraint.lowerBound
19 val containment = constraint.containment
20 res += new MultiplicityGoalConstraintCalculator(targetRelationName, query, minValue, containment, 1)
21 }
15 } 22 }
16 return res 23 return res
17 } 24 }
25
18} \ No newline at end of file 26} \ No newline at end of file