Loading Resource file [message #1805856] |
Thu, 25 April 2019 11:34  |
Eclipse User |
|
|
|
Hello, we are trying to create a resource from DSL, to run VIATRA query engine and get the matched patterns. We are getting the error: " Cannot create a resource for 'file:/test.mydsl'; a registered resource factory is needed. What is missing?
File modelPath = new File( "test.mydsl");
URI fileURI = URI.createFileURI(modelPath.getAbsolutePath());
System.out.println(fileURI);
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xml", new ResourceFactoryImpl());
Resource r = new ResourceFactoryImpl().createResource(fileURI);
ResourceSet resourceSet = new ResourceSetImpl();
r = resourceSet.getResource(fileURI, true);
// Resource resource = resourceSet.getResource(fileURI, true);
final StringBuilder results = new StringBuilder();
if (r != null) {
ViatraQueryEngine engine = ViatraQueryEngine.on(new EMFScope(r));
Matcher matcher = Matcher.on(engine);
Collection<viatra.Assets.Match> matches = matcher.getAllMatches();
for (IPatternMatch match : matches) {
results.append(match.prettyPrint()+"; ");
}
if(matches.size() == 0) {
results.append("Empty match set");
}
results.append("\n");
// using a match processor
} else {
System.out.println("bleh");
}
}
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.08886 seconds