Skip to content
Snippets Groups Projects
Commit b49dba90 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ initial resource description strategy (may be removed again

parent c073647c
No related branches found
No related tags found
No related merge requests found
Pipeline #6009 passed
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment