In progress: [ Issue 40 ] Add support for import resolution across multiple folders https://code.google.com/p/protobuf-dt/issues/detail?id=40 URI resolution no longer changes the original URIs of Imports.
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtobufImportUriResolver.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtobufImportUriResolver.java index ae81490..d0e2a67 100644 --- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtobufImportUriResolver.java +++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ProtobufImportUriResolver.java
@@ -11,7 +11,6 @@ import static com.google.eclipse.protobuf.scoping.IFileUriResolver.PREFIX; import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtext.scoping.impl.ImportUriResolver; import com.google.eclipse.protobuf.protobuf.Import; @@ -47,7 +46,7 @@ if (from instanceof Import) { Import anImport = (Import) from; String originalUri = anImport.getImportURI(); - resolveImportUri(anImport); + anImport.setImportURI(resolveImportUri(anImport)); String applied = super.apply(from); anImport.setImportURI(originalUri); return applied; @@ -56,9 +55,7 @@ return super.apply(from); } - private void resolveImportUri(Import anImport) { - Resource resource = anImport.eResource(); - String resolved = delegate.resolveUri(anImport.getImportURI(), resource); - anImport.setImportURI(resolved); + private String resolveImportUri(Import anImport) { + return delegate.resolveUri(anImport.getImportURI(), anImport.eResource()); } }