diff options
Diffstat (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend')
-rw-r--r-- | Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend index 8f8348b1..cfc91143 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend | |||
@@ -22,6 +22,10 @@ import org.eclipse.xtext.EcoreUtil2 | |||
22 | 22 | ||
23 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | 23 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* |
24 | import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternCall | 24 | import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternCall |
25 | import org.eclipse.viatra.query.runtime.api.IPatternMatch | ||
26 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher | ||
27 | import java.util.LinkedHashMap | ||
28 | import java.util.LinkedList | ||
25 | 29 | ||
26 | class QueryLoader { | 30 | class QueryLoader { |
27 | //val parser = new VQLParser | 31 | //val parser = new VQLParser |
@@ -34,6 +38,9 @@ class QueryLoader { | |||
34 | patterns += getPatterns(entry) | 38 | patterns += getPatterns(entry) |
35 | } | 39 | } |
36 | 40 | ||
41 | //val errors = patterns.map[eResource].toSet.map[errors] | ||
42 | //errors.forEach[println(it)] | ||
43 | |||
37 | val allConcernedPatterns = patterns.allReferredPatterns | 44 | val allConcernedPatterns = patterns.allReferredPatterns |
38 | val pattern2Specification = allConcernedPatterns.translatePatterns() | 45 | val pattern2Specification = allConcernedPatterns.translatePatterns() |
39 | 46 | ||
@@ -108,7 +115,15 @@ class QueryLoader { | |||
108 | } | 115 | } |
109 | 116 | ||
110 | def private translatePatterns(Set<Pattern> xtextPattern) { | 117 | def private translatePatterns(Set<Pattern> xtextPattern) { |
111 | xtextPattern.toInvertedMap[builder.getOrCreateSpecification(it) as IQuerySpecification<?>] | 118 | val res = new LinkedHashMap<Pattern,IQuerySpecification<?>> |
119 | val patterns = new LinkedList<IQuerySpecification<?>> | ||
120 | for(pattern : xtextPattern) { | ||
121 | val querySpecification = builder.getOrCreateSpecification(pattern,patterns,true) | ||
122 | res.put(pattern,querySpecification) | ||
123 | patterns += querySpecification | ||
124 | } | ||
125 | |||
126 | return res | ||
112 | } | 127 | } |
113 | 128 | ||
114 | def private calculateDerivedFeatures(Set<EPackage> packages, Iterable<IQuerySpecification<?>> patterns) { | 129 | def private calculateDerivedFeatures(Set<EPackage> packages, Iterable<IQuerySpecification<?>> patterns) { |