Loading plugins/org.etsi.mts.tdl.graphical.labels.data/src/org/etsi/mts/tdl/graphical/labels/DataContextFinder.java 0 → 100644 +54 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl.graphical.labels; import java.util.Collections; import java.util.Set; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.serializer.ISerializationContext; import org.eclipse.xtext.serializer.analysis.SerializationContext; import org.eclipse.xtext.serializer.sequencer.IContextFinder; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.graphical.labels.services.DataGrammarAccess; import com.google.inject.Inject; public class DataContextFinder implements IContextFinder { @Inject private IGrammarAccess grammarAccess; @Override public Set<ISerializationContext> findByContents(EObject semanticObject, Iterable<ISerializationContext> contextCandidates) { return findByContentsAndContainer(semanticObject, contextCandidates); } @Override public Set<ISerializationContext> findByContentsAndContainer(EObject semanticObject, Iterable<ISerializationContext> contextCandidates) { ParserRule rule = null; if (semanticObject instanceof DataUse) rule = ((DataGrammarAccess)grammarAccess).getDataUseRule(); if (rule != null) { ISerializationContext context = SerializationContext.fromEObject(rule, semanticObject); return Collections.singleton(context); } return null; } @Override public Iterable<EObject> findContextsByContents(EObject semanticObject, Iterable<EObject> contextCandidates) { // This is deprecated return null; } @Override public Iterable<EObject> findContextsByContentsAndContainer(EObject semanticObject, Iterable<EObject> contextCandidates) { // This is deprecated return null; } } plugins/org.etsi.mts.tdl.graphical.labels.data/src/org/etsi/mts/tdl/graphical/labels/DataRuntimeModule.java +7 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ */ package org.etsi.mts.tdl.graphical.labels; import org.eclipse.xtext.serializer.sequencer.IContextFinder; import org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer; import org.etsi.mts.tdl.graphical.labels.serializer.DataCrossReferenceSerializer; /** Loading @@ -10,7 +12,11 @@ import org.etsi.mts.tdl.graphical.labels.serializer.DataCrossReferenceSerializer */ public class DataRuntimeModule extends AbstractDataRuntimeModule { public Class<? extends org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer> bindICrossReferenceSerializer() { public Class<? extends ICrossReferenceSerializer> bindICrossReferenceSerializer() { return DataCrossReferenceSerializer.class; } public Class<? extends IContextFinder> bindIContextFinder() { return DataContextFinder.class; } } Loading
plugins/org.etsi.mts.tdl.graphical.labels.data/src/org/etsi/mts/tdl/graphical/labels/DataContextFinder.java 0 → 100644 +54 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl.graphical.labels; import java.util.Collections; import java.util.Set; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.ParserRule; import org.eclipse.xtext.serializer.ISerializationContext; import org.eclipse.xtext.serializer.analysis.SerializationContext; import org.eclipse.xtext.serializer.sequencer.IContextFinder; import org.etsi.mts.tdl.DataUse; import org.etsi.mts.tdl.graphical.labels.services.DataGrammarAccess; import com.google.inject.Inject; public class DataContextFinder implements IContextFinder { @Inject private IGrammarAccess grammarAccess; @Override public Set<ISerializationContext> findByContents(EObject semanticObject, Iterable<ISerializationContext> contextCandidates) { return findByContentsAndContainer(semanticObject, contextCandidates); } @Override public Set<ISerializationContext> findByContentsAndContainer(EObject semanticObject, Iterable<ISerializationContext> contextCandidates) { ParserRule rule = null; if (semanticObject instanceof DataUse) rule = ((DataGrammarAccess)grammarAccess).getDataUseRule(); if (rule != null) { ISerializationContext context = SerializationContext.fromEObject(rule, semanticObject); return Collections.singleton(context); } return null; } @Override public Iterable<EObject> findContextsByContents(EObject semanticObject, Iterable<EObject> contextCandidates) { // This is deprecated return null; } @Override public Iterable<EObject> findContextsByContentsAndContainer(EObject semanticObject, Iterable<EObject> contextCandidates) { // This is deprecated return null; } }
plugins/org.etsi.mts.tdl.graphical.labels.data/src/org/etsi/mts/tdl/graphical/labels/DataRuntimeModule.java +7 −1 Original line number Diff line number Diff line Loading @@ -3,6 +3,8 @@ */ package org.etsi.mts.tdl.graphical.labels; import org.eclipse.xtext.serializer.sequencer.IContextFinder; import org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer; import org.etsi.mts.tdl.graphical.labels.serializer.DataCrossReferenceSerializer; /** Loading @@ -10,7 +12,11 @@ import org.etsi.mts.tdl.graphical.labels.serializer.DataCrossReferenceSerializer */ public class DataRuntimeModule extends AbstractDataRuntimeModule { public Class<? extends org.eclipse.xtext.serializer.tokens.ICrossReferenceSerializer> bindICrossReferenceSerializer() { public Class<? extends ICrossReferenceSerializer> bindICrossReferenceSerializer() { return DataCrossReferenceSerializer.class; } public Class<? extends IContextFinder> bindIContextFinder() { return DataContextFinder.class; } }