Loading plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/RDS.xtend 0 → 100644 +35 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl; import com.google.inject.Inject import java.util.HashMap import org.eclipse.xtext.naming.QualifiedName import org.eclipse.xtext.resource.EObjectDescription import org.eclipse.xtext.resource.IEObjectDescription import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy import org.eclipse.xtext.scoping.impl.ImportUriResolver import org.eclipse.xtext.util.IAcceptor import org.eclipse.emf.ecore.EObject class RDS extends DefaultResourceDescriptionStrategy { public static final String INCLUDES = "includes" @Inject ImportUriResolver uriResolver override createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) { if(eObject instanceof Package) { this.createEObjectDescriptionForPackage(eObject, acceptor) return true } else { super.createEObjectDescriptions(eObject, acceptor) } } def void createEObjectDescriptionForPackage(Package model, IAcceptor<IEObjectDescription> acceptor) { val uris = newArrayList() model.import.forEach[uris.add(uriResolver.apply(it.importedPackage))] val userData = new HashMap<String,String> userData.put(INCLUDES, uris.join(",")) acceptor.accept(EObjectDescription.create(QualifiedName.create(model.eResource.URI.toString), model, userData)) } } No newline at end of file Loading
plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/RDS.xtend 0 → 100644 +35 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl; import com.google.inject.Inject import java.util.HashMap import org.eclipse.xtext.naming.QualifiedName import org.eclipse.xtext.resource.EObjectDescription import org.eclipse.xtext.resource.IEObjectDescription import org.eclipse.xtext.resource.impl.DefaultResourceDescriptionStrategy import org.eclipse.xtext.scoping.impl.ImportUriResolver import org.eclipse.xtext.util.IAcceptor import org.eclipse.emf.ecore.EObject class RDS extends DefaultResourceDescriptionStrategy { public static final String INCLUDES = "includes" @Inject ImportUriResolver uriResolver override createEObjectDescriptions(EObject eObject, IAcceptor<IEObjectDescription> acceptor) { if(eObject instanceof Package) { this.createEObjectDescriptionForPackage(eObject, acceptor) return true } else { super.createEObjectDescriptions(eObject, acceptor) } } def void createEObjectDescriptionForPackage(Package model, IAcceptor<IEObjectDescription> acceptor) { val uris = newArrayList() model.import.forEach[uris.add(uriResolver.apply(it.importedPackage))] val userData = new HashMap<String,String> userData.put(INCLUDES, uris.join(",")) acceptor.accept(EObjectDescription.create(QualifiedName.create(model.eResource.URI.toString), model, userData)) } } No newline at end of file