/**
* {@inheritDoc}
* <p>
* Registers all EPackages (transitively) referenced by registered GenModels prior to calling {@link LanguageConfig#setUri(String)}.
*/
@Override
public void setUri(final String uri) {
ResourceSet rs = new ResourceSetImpl();
Set<URI> result = Sets.newHashSet();
@SuppressWarnings("deprecation")
Map<String, URI> genModelLocationMap = EcorePlugin.getEPackageNsURIToGenModelLocationMap();
for (Map.Entry<String, URI> entry : genModelLocationMap.entrySet()) {
Resource resource = GenModelAccess.getGenModelResource(null, entry.getKey(), rs);
if (resource != null) {
for (EObject model : resource.getContents()) {
if (model instanceof GenModel) {
GenModel genModel = (GenModel) model;
result.addAll(getReferencedEPackages(genModel));
}
}
}
}
for (URI u : result) {
addLoadedResource(u.toString());
}
super.setUri(uri);
}
ExtendedLanguageConfig.java 文件源码
java
阅读 15
收藏 0
点赞 0
评论 0
项目:dsl-devkit
作者:
评论列表
文章目录