diff options
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java')
-rw-r--r-- | Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java new file mode 100644 index 00000000..6147807e --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/MappingQueries.java | |||
@@ -0,0 +1,60 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft; | ||
2 | |||
3 | import com.google.common.collect.ImmutableMap; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.LookupDefinition; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.MappingDefinition; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.components.cftLanguage.TransformationDefinition; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.LookupHandler; | ||
8 | import java.util.Map; | ||
9 | import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder; | ||
10 | import org.eclipse.viatra.query.runtime.api.GenericQueryGroup; | ||
11 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
12 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | ||
13 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; | ||
14 | import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; | ||
15 | import org.eclipse.xtext.xbase.lib.Conversions; | ||
16 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | ||
17 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
18 | import org.eclipse.xtext.xbase.lib.MapExtensions; | ||
19 | |||
20 | @SuppressWarnings("all") | ||
21 | public class MappingQueries { | ||
22 | private final Map<MappingDefinition, ViatraQueryMatcher<? extends IPatternMatch>> matchersMap; | ||
23 | |||
24 | public MappingQueries(final TransformationDefinition transformationDefinition, final ViatraQueryEngine viatraQueryEngine) { | ||
25 | final SpecificationBuilder specificationBuilder = new SpecificationBuilder(); | ||
26 | final Function1<MappingDefinition, MappingDefinition> _function = (MappingDefinition it) -> { | ||
27 | return it; | ||
28 | }; | ||
29 | final Function1<MappingDefinition, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> _function_1 = (MappingDefinition it) -> { | ||
30 | return specificationBuilder.getOrCreateSpecification(it.getPattern()); | ||
31 | }; | ||
32 | final Map<MappingDefinition, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>> querySpecificationsMap = IterableExtensions.<MappingDefinition, MappingDefinition, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>>toMap(transformationDefinition.getMappingDefinitions(), _function, _function_1); | ||
33 | GenericQueryGroup.of(((IQuerySpecification<?>[])Conversions.unwrapArray(querySpecificationsMap.values(), IQuerySpecification.class))).prepare(viatraQueryEngine); | ||
34 | final Function1<IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>, ViatraQueryMatcher<? extends IPatternMatch>> _function_2 = (IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> it) -> { | ||
35 | return it.getMatcher(viatraQueryEngine); | ||
36 | }; | ||
37 | this.matchersMap = ImmutableMap.<MappingDefinition, ViatraQueryMatcher<? extends IPatternMatch>>copyOf(MapExtensions.<MappingDefinition, IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>>, ViatraQueryMatcher<? extends IPatternMatch>>mapValues(querySpecificationsMap, _function_2)); | ||
38 | } | ||
39 | |||
40 | public ViatraQueryMatcher<? extends IPatternMatch> getMatcher(final MappingDefinition mappingDefinition) { | ||
41 | ViatraQueryMatcher<? extends IPatternMatch> _xblockexpression = null; | ||
42 | { | ||
43 | final ViatraQueryMatcher<? extends IPatternMatch> matcher = this.matchersMap.get(mappingDefinition); | ||
44 | if ((matcher == null)) { | ||
45 | throw new IllegalArgumentException(("Unknown mapping definition: " + mappingDefinition)); | ||
46 | } | ||
47 | _xblockexpression = matcher; | ||
48 | } | ||
49 | return _xblockexpression; | ||
50 | } | ||
51 | |||
52 | public LookupHandler createLookupHandler(final MappingDefinition mappingDefinition, final LookupDefinition lookupDefinition) { | ||
53 | LookupHandler _xblockexpression = null; | ||
54 | { | ||
55 | final ViatraQueryMatcher<? extends IPatternMatch> lookedUpMatcher = this.getMatcher(lookupDefinition.getMapping()); | ||
56 | _xblockexpression = new LookupHandler(mappingDefinition, lookupDefinition, lookedUpMatcher); | ||
57 | } | ||
58 | return _xblockexpression; | ||
59 | } | ||
60 | } | ||