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 3be0863..ae81490 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
@@ -31,7 +31,7 @@
 public class ProtobufImportUriResolver extends ImportUriResolver {
 
   @Inject private IFileUriResolver delegate;
-  
+
   /**
    * Prefix used by EMF for resource URIs: "platform:/resource/".
    */
@@ -44,13 +44,21 @@
    * @return the {@code String} representation of the given object's {@code URI}.
    */
   @Override public String apply(EObject from) {
-    if (from instanceof Import) fixUri((Import) from);
+    if (from instanceof Import) {
+      Import anImport = (Import) from;
+      String originalUri = anImport.getImportURI();
+      resolveImportUri(anImport);
+      String applied = super.apply(from);
+      anImport.setImportURI(originalUri);
+      return applied;
+    }
+    if (from instanceof Import) resolveImportUri((Import) from);
     return super.apply(from);
   }
 
-  private void fixUri(Import anImport) {
+  private void resolveImportUri(Import anImport) {
     Resource resource = anImport.eResource();
-    String fixed = delegate.resolveUri(anImport.getImportURI(), resource);
-    anImport.setImportURI(fixed);
+    String resolved = delegate.resolveUri(anImport.getImportURI(), resource);
+    anImport.setImportURI(resolved);
   }
 }