Search in sources :

Example 1 with IUriProvider

use of io.joynr.loading.IUriProvider in project joynr by bmwcarit.

the class AbstractGeneratorTest method invokeGenerator.

protected void invokeGenerator(IGenerator generator, String fileName, String outputDirectory, String... referencedResources) {
    final IFileSystemAccess fileSystemAccess = createFileSystemAccess(outputDirectory);
    final URI uri = URI.createFileURI(new File(fileName).getAbsolutePath());
    final Set<URI> uris = new HashSet<URI>();
    uris.add(uri);
    for (String refRes : referencedResources) {
        uris.add(URI.createFileURI(new File(refRes).getAbsolutePath()));
    }
    File file = new File(fileName);
    IUriProvider uriProvider = null;
    if (file.isDirectory()) {
        uriProvider = new FolderUriProvider(Sets.newHashSet("fidl"), file);
    } else {
        uriProvider = new IUriProvider() {

            @Override
            public Iterable<URI> allUris() {
                return Lists.newArrayList(uris);
            }
        };
    }
    ModelStore modelStore = ModelStore.modelsIn(uriProvider);
    for (URI foundUri : uriProvider.allUris()) {
        final Resource r = modelStore.getResource(foundUri);
        generator.doGenerate(r, fileSystemAccess);
    }
}
Also used : IFileSystemAccess(org.eclipse.xtext.generator.IFileSystemAccess) Resource(org.eclipse.emf.ecore.resource.Resource) FolderUriProvider(io.joynr.loading.FolderUriProvider) ModelStore(io.joynr.loading.ModelStore) URI(org.eclipse.emf.common.util.URI) File(java.io.File) HashSet(java.util.HashSet) IUriProvider(io.joynr.loading.IUriProvider)

Aggregations

FolderUriProvider (io.joynr.loading.FolderUriProvider)1 IUriProvider (io.joynr.loading.IUriProvider)1 ModelStore (io.joynr.loading.ModelStore)1 File (java.io.File)1 HashSet (java.util.HashSet)1 URI (org.eclipse.emf.common.util.URI)1 Resource (org.eclipse.emf.ecore.resource.Resource)1 IFileSystemAccess (org.eclipse.xtext.generator.IFileSystemAccess)1