Fixed: [ Issue 40 ] Add support for import resolution across multiple folders
https://code.google.com/p/protobuf-dt/issues/detail?id=40

Code cleanup.
diff --git a/com.google.eclipse.protobuf.ui/plugin.xml b/com.google.eclipse.protobuf.ui/plugin.xml
index 75efb54..dd25975 100644
--- a/com.google.eclipse.protobuf.ui/plugin.xml
+++ b/com.google.eclipse.protobuf.ui/plugin.xml
@@ -63,13 +63,13 @@
       <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" />
     </page>
     <page category="com.google.eclipse.protobuf.Protobuf"
-      class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.compiler.PreferencePage"
-      id="com.google.eclipse.protobuf.ui.preferences.compiler.PreferencePage" name="%page.name.2">
+      class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferencePage"
+      id="com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferencePage" name="%page.name.2">
       <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" />
     </page>
     <page category="com.google.eclipse.protobuf.Protobuf"
-      class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.paths.PreferencePage"
-      id="com.google.eclipse.protobuf.ui.preferences.paths.PreferencePage" name="%page.name.3">
+      class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferencePage"
+      id="com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferencePage" name="%page.name.3">
       <keywordReference id="com.google.eclipse.protobuf.ui.keyword_Protobuf" />
     </page>
   </extension>
@@ -172,14 +172,14 @@
     </page>
     <page
           category="com.google.eclipse.protobuf.Protobuf"
-          class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.compiler.PreferencePage"
+          class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferencePage"
           id="com.google.eclipse.protobuf.ui.properties.compiler.PropertyPage"
           name="%page.name.2"
           selectionFilter="single">
     </page>
     <page
           category="com.google.eclipse.protobuf.Protobuf"
-          class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.paths.PreferencePage"
+          class="com.google.eclipse.protobuf.ui.ProtobufExecutableExtensionFactory:com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferencePage"
           id="com.google.eclipse.protobuf.ui.properties.paths.PropertyPage"
           name="%page.name.3"
           selectionFilter="single">
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtobufBuildParticipant.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtobufBuildParticipant.java
index b14ce96..c62a998 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtobufBuildParticipant.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtobufBuildParticipant.java
@@ -8,8 +8,8 @@
  */
 package com.google.eclipse.protobuf.ui.builder;
 
-import static com.google.eclipse.protobuf.ui.preferences.compiler.Preferences.loadPreferences;
-import static com.google.eclipse.protobuf.ui.preferences.compiler.RefreshTarget.PROJECT;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferences.loadPreferences;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.PostCompilationRefreshTarget.PROJECT;
 import static org.eclipse.core.resources.IResource.DEPTH_INFINITE;
 
 import java.io.*;
@@ -25,7 +25,7 @@
 import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess;
 
 import com.google.eclipse.protobuf.ui.preferences.compiler.*;
-import com.google.eclipse.protobuf.ui.preferences.compiler.Preferences;
+import com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferences;
 import com.google.inject.Inject;
 
 /**
@@ -45,7 +45,7 @@
 
   public void build(IBuildContext context, IProgressMonitor monitor) throws CoreException {
     IProject project = context.getBuiltProject();
-    Preferences preferences = loadPreferences(preferenceStoreAccess, project);
+    CompilerPreferences preferences = loadPreferences(preferenceStoreAccess, project);
     if (!preferences.compileProtoFiles) return;
     List<Delta> deltas = context.getDeltas();
     if (deltas.isEmpty()) return;
@@ -78,7 +78,7 @@
     return b.length() == 0 ? null : b.toString();
   }
 
-  private void generateSingleProto(IFile source, String protocPath, TargetLanguage language, String outputFolderPath) {
+  private void generateSingleProto(IFile source, String protocPath, CompilerTargetLanguage language, String outputFolderPath) {
     String command = commandFactory.protocCommand(source, protocPath, language, outputFolderPath);
     try {
       Process process = Runtime.getRuntime().exec(command);
@@ -119,13 +119,13 @@
     return r.getLocation().toOSString();
   }
 
-  private static void refresh(IFolder outputFolder, RefreshTarget refreshTarget, IProgressMonitor monitor)
+  private static void refresh(IFolder outputFolder, PostCompilationRefreshTarget refreshTarget, IProgressMonitor monitor)
       throws CoreException {
     IResource target = refreshTarget(outputFolder, refreshTarget);
     target.refreshLocal(DEPTH_INFINITE, monitor);
   }
 
-  private static IResource refreshTarget(IFolder outputFolder, RefreshTarget refreshTarget) {
+  private static IResource refreshTarget(IFolder outputFolder, PostCompilationRefreshTarget refreshTarget) {
     if (refreshTarget.equals(PROJECT)) return outputFolder.getProject();
     return outputFolder;
   }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtocCommandFactory.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtocCommandFactory.java
index 2a08ea7..f3fc231 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtocCommandFactory.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/builder/ProtocCommandFactory.java
@@ -14,20 +14,20 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.IPath;
 
-import com.google.eclipse.protobuf.ui.preferences.compiler.TargetLanguage;
+import com.google.eclipse.protobuf.ui.preferences.compiler.CompilerTargetLanguage;
 
 /**
  * @author alruiz@google.com (Alex Ruiz)
  */
 class ProtocCommandFactory {
-  private static final Map<TargetLanguage, String> LANG_OUT_FLAG = new HashMap<TargetLanguage, String>();
+  private static final Map<CompilerTargetLanguage, String> LANG_OUT_FLAG = new HashMap<CompilerTargetLanguage, String>();
 
   static {
-    for (TargetLanguage lang : TargetLanguage.values())
+    for (CompilerTargetLanguage lang : CompilerTargetLanguage.values())
       LANG_OUT_FLAG.put(lang, "--" + lang.name().toLowerCase() + "_out=");
   }
 
-  String protocCommand(IFile protoFile, String protocPath, TargetLanguage language, String outputFolderPath) {
+  String protocCommand(IFile protoFile, String protocPath, CompilerTargetLanguage language, String outputFolderPath) {
     IPath protoFilePath = protoFile.getLocation();
     StringBuilder command = new StringBuilder();
     command.append(protocPath).append(" ");
@@ -38,7 +38,7 @@
     return command.toString();
   }
 
-  private String langOutFlag(TargetLanguage targetLanguage) {
+  private String langOutFlag(CompilerTargetLanguage targetLanguage) {
     return LANG_OUT_FLAG.get(targetLanguage);
   }
 }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PreferenceNames.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferenceNames.java
similarity index 94%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PreferenceNames.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferenceNames.java
index b18a066..d6f6501 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PreferenceNames.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferenceNames.java
@@ -11,7 +11,7 @@
 /**
  * @author alruiz@google.com (Alex Ruiz)
  */
-final class PreferenceNames {
+final class CompilerPreferenceNames {
 
   static final String ENABLE_PROJECT_SETTINGS = "compiler.enableProjectSettings";
   static final String COMPILE_PROTO_FILES = "compiler.compileProtoFiles";
@@ -26,5 +26,5 @@
   static final String REFRESH_PROJECT = "compiler.refreshProject";
   static final String REFRESH_OUTPUT_FOLDER = "compiler.refreshOutputProject";
 
-  private PreferenceNames() {}
+  private CompilerPreferenceNames() {}
 }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PreferencePage.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencePage.java
similarity index 98%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PreferencePage.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencePage.java
index 0a1d451..f8fd406 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PreferencePage.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencePage.java
@@ -9,7 +9,7 @@
 package com.google.eclipse.protobuf.ui.preferences.compiler;
 
 import static com.google.eclipse.protobuf.ui.preferences.compiler.Messages.*;
-import static com.google.eclipse.protobuf.ui.preferences.compiler.PreferenceNames.*;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferenceNames.*;
 import static org.eclipse.core.runtime.IStatus.OK;
 import static org.eclipse.xtext.util.Strings.isEmpty;
 
@@ -33,9 +33,9 @@
  *
  * @author alruiz@google.com (Alex Ruiz)
  */
-public class PreferencePage extends PreferenceAndPropertyPage {
+public class CompilerPreferencePage extends PreferenceAndPropertyPage {
 
-  private static final String PREFERENCE_PAGE_ID = PreferencePage.class.getName();
+  private static final String PREFERENCE_PAGE_ID = CompilerPreferencePage.class.getName();
 
   private Button btnCompileProtoFiles;
   private TabFolder tabFolder;
@@ -61,7 +61,7 @@
 
   @Inject private FolderNameValidator folderNameValidator;
   
-  @Inject public PreferencePage(IPreferenceStoreAccess preferenceStoreAccess) {
+  @Inject public CompilerPreferencePage(IPreferenceStoreAccess preferenceStoreAccess) {
     super(preferenceStoreAccess);
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/Preferences.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferences.java
similarity index 75%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/Preferences.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferences.java
index 7aef536..77142c2 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/Preferences.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferences.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.compiler;
 
-import static com.google.eclipse.protobuf.ui.preferences.compiler.PreferenceNames.*;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferenceNames.*;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.preference.IPreferenceStore;
@@ -19,29 +19,29 @@
  *
  * @author alruiz@google.com (Alex Ruiz)
  */
-public class Preferences {
+public class CompilerPreferences {
 
   public final boolean compileProtoFiles;
   public final String protocPath;
-  public final TargetLanguage language;
+  public final CompilerTargetLanguage language;
   public final String outputFolderName;
   public final boolean refreshResources;
-  public final RefreshTarget refreshTarget;
+  public final PostCompilationRefreshTarget refreshTarget;
 
-  public static Preferences loadPreferences(IPreferenceStoreAccess access, IProject project) {
+  public static CompilerPreferences loadPreferences(IPreferenceStoreAccess access, IProject project) {
     IPreferenceStore store = access.getWritablePreferenceStore(project);
     boolean useProjectPreferences = store.getBoolean(ENABLE_PROJECT_SETTINGS);
     if (!useProjectPreferences) store = access.getWritablePreferenceStore();
-    return new Preferences(store);
+    return new CompilerPreferences(store);
   }
 
-  private Preferences(IPreferenceStore store) {
+  private CompilerPreferences(IPreferenceStore store) {
     compileProtoFiles = store.getBoolean(COMPILE_PROTO_FILES);
     boolean useProtocInSystemPath = store.getBoolean(USE_PROTOC_IN_SYSTEM_PATH);
     protocPath = (useProtocInSystemPath) ? "protoc" : store.getString(PROTOC_FILE_PATH);
-    language = TargetLanguage.find(store);
+    language = CompilerTargetLanguage.find(store);
     outputFolderName = store.getString(OUTPUT_FOLDER_NAME);
     refreshResources = store.getBoolean(REFRESH_RESOURCES);
-    refreshTarget = RefreshTarget.find(store);
+    refreshTarget = PostCompilationRefreshTarget.find(store);
   }
 }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencesInitializer.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencesInitializer.java
index 77be2f3..0b23cd6 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencesInitializer.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerPreferencesInitializer.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.compiler;
 
-import static com.google.eclipse.protobuf.ui.preferences.compiler.PreferenceNames.*;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferenceNames.*;
 
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess;
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/TargetLanguage.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerTargetLanguage.java
similarity index 87%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/TargetLanguage.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerTargetLanguage.java
index d081eb1..9bf1185 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/TargetLanguage.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/CompilerTargetLanguage.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.compiler;
 
-import static com.google.eclipse.protobuf.ui.preferences.compiler.PreferenceNames.*;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferenceNames.*;
 
 import org.eclipse.jface.preference.IPreferenceStore;
 
@@ -17,12 +17,12 @@
  *
  * @author alruiz@google.com (Alex Ruiz)
  */
-public enum TargetLanguage {
+public enum CompilerTargetLanguage {
 
   JAVA, CPP, PYTHON;
 
   // TODO check if protoc can generate more than one language sources at the same time.
-  static TargetLanguage find(IPreferenceStore store) {
+  static CompilerTargetLanguage find(IPreferenceStore store) {
     if (store.getBoolean(GENERATE_JAVA_CODE)) return JAVA;
     if (store.getBoolean(GENERATE_CPP_CODE)) return CPP;
     if (store.getBoolean(GENERATE_PYTHON_CODE)) return PYTHON;
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/RefreshTarget.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PostCompilationRefreshTarget.java
similarity index 81%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/RefreshTarget.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PostCompilationRefreshTarget.java
index cbd7964..cfba624 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/RefreshTarget.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/compiler/PostCompilationRefreshTarget.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.compiler;
 
-import static com.google.eclipse.protobuf.ui.preferences.compiler.PreferenceNames.REFRESH_PROJECT;
+import static com.google.eclipse.protobuf.ui.preferences.compiler.CompilerPreferenceNames.REFRESH_PROJECT;
 
 import org.eclipse.jface.preference.IPreferenceStore;
 
@@ -17,11 +17,11 @@
  *
  * @author alruiz@google.com (Alex Ruiz)
  */
-public enum RefreshTarget {
+public enum PostCompilationRefreshTarget {
 
   PROJECT, OUTPUT_FOLDER;
 
-  static RefreshTarget find(IPreferenceStore store) {
+  static PostCompilationRefreshTarget find(IPreferenceStore store) {
     if (store.getBoolean(REFRESH_PROJECT)) return PROJECT;
     return OUTPUT_FOLDER;
   }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferenceNames.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferenceNames.java
similarity index 90%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferenceNames.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferenceNames.java
index 444004f..e419776 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferenceNames.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferenceNames.java
@@ -11,12 +11,12 @@
 /**
  * @author alruiz@google.com (Alex Ruiz)
  */
-final class PreferenceNames {
+final class PathsPreferenceNames {
 
   static final String ENABLE_PROJECT_SETTINGS = "paths.enableProjectSettings";
   static final String ALL_PROTOS_IN_ONE_FOLDER_ONLY = "paths.oneFolderOnly";
   static final String PROTOS_IN_MULTIPLE_FOLDERS = "paths.multipleFolders";
   static final String FOLDER_NAMES = "paths.folderNames";
 
-  private PreferenceNames() {}
+  private PathsPreferenceNames() {}
 }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferencePage.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencePage.java
similarity index 95%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferencePage.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencePage.java
index 7f45f3d..ec8e0c8 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferencePage.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencePage.java
@@ -9,7 +9,7 @@
 package com.google.eclipse.protobuf.ui.preferences.paths;
 
 import static com.google.eclipse.protobuf.ui.preferences.paths.Messages.*;
-import static com.google.eclipse.protobuf.ui.preferences.paths.PreferenceNames.*;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferenceNames.*;
 import static com.google.eclipse.protobuf.ui.util.Strings.CSV_PATTERN;
 import static org.eclipse.core.runtime.IStatus.OK;
 import static org.eclipse.xtext.util.Strings.isEmpty;
@@ -32,9 +32,9 @@
  * 
  * @author alruiz@google.com (Alex Ruiz)
  */
-public class PreferencePage extends PreferenceAndPropertyPage {
+public class PathsPreferencePage extends PreferenceAndPropertyPage {
 
-  private static final String PREFERENCE_PAGE_ID = PreferencePage.class.getName();
+  private static final String PREFERENCE_PAGE_ID = PathsPreferencePage.class.getName();
 
   private Group grpResolutionOfImported;
   private Button btnOneFolderOnly;
@@ -43,7 +43,7 @@
 
   @Inject private FolderNameValidator folderNameValidator;
 
-  @Inject public PreferencePage(IPreferenceStoreAccess preferenceStoreAccess) {
+  @Inject public PathsPreferencePage(IPreferenceStoreAccess preferenceStoreAccess) {
     super(preferenceStoreAccess);
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferenceReader.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferenceReader.java
similarity index 83%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferenceReader.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferenceReader.java
index 3f7cb03..d55c8df 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PreferenceReader.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferenceReader.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.paths;
 
-import static com.google.eclipse.protobuf.ui.preferences.paths.PreferenceNames.ENABLE_PROJECT_SETTINGS;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferenceNames.ENABLE_PROJECT_SETTINGS;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.preference.IPreferenceStore;
@@ -21,14 +21,14 @@
  * 
  * @author alruiz@google.com (Alex Ruiz)
  */
-public class PreferenceReader {
+public class PathsPreferenceReader {
 
   @Inject private IPreferenceStoreAccess storeAccess;
   
-  public Preferences readFromPrefereceStore(IProject project) {
+  public PathsPreferences readFromPrefereceStore(IProject project) {
     IPreferenceStore store = storeAccess.getWritablePreferenceStore(project);
     boolean useProject = store.getBoolean(ENABLE_PROJECT_SETTINGS);
     if (!useProject) store = storeAccess.getWritablePreferenceStore();
-    return new Preferences(store);
+    return new PathsPreferences(store);
   }
 }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/Preferences.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferences.java
similarity index 71%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/Preferences.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferences.java
index 8613469..20ef81a 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/Preferences.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferences.java
@@ -8,8 +8,8 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.paths;
 
-import static com.google.eclipse.protobuf.ui.preferences.paths.FileResolutionType.SINGLE_FOLDER;
-import static com.google.eclipse.protobuf.ui.preferences.paths.PreferenceNames.FOLDER_NAMES;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsResolutionType.SINGLE_FOLDER;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferenceNames.FOLDER_NAMES;
 import static com.google.eclipse.protobuf.ui.util.Strings.CSV_PATTERN;
 import static java.util.Arrays.asList;
 import static java.util.Collections.*;
@@ -23,23 +23,23 @@
  * 
  * @author alruiz@google.com (Alex Ruiz)
  */
-public class Preferences {
+public class PathsPreferences {
 
-  private final FileResolutionType fileResolutionType;
+  private final PathsResolutionType fileResolutionType;
   private final List<String> folderNames; 
   
-  Preferences(IPreferenceStore store) {
-    fileResolutionType = FileResolutionType.find(store);
+  PathsPreferences(IPreferenceStore store) {
+    fileResolutionType = PathsResolutionType.find(store);
     folderNames = folderNames(fileResolutionType, store);
   }
   
-  private static List<String> folderNames(FileResolutionType types, IPreferenceStore store) {
+  private static List<String> folderNames(PathsResolutionType types, IPreferenceStore store) {
     if (types.equals(SINGLE_FOLDER)) return emptyList();
     String[] folderNames = store.getString(FOLDER_NAMES).split(CSV_PATTERN);
     return unmodifiableList(asList(folderNames));
   }
 
-  public FileResolutionType fileResolutionType() {
+  public PathsResolutionType fileResolutionType() {
     return fileResolutionType;
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencesInitializer.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencesInitializer.java
index 68652ac..45f4cc2 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencesInitializer.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsPreferencesInitializer.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.preferences.paths;
 
-import static com.google.eclipse.protobuf.ui.preferences.paths.PreferenceNames.*;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferenceNames.*;
 
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreAccess;
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/FileResolutionType.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsResolutionType.java
similarity index 82%
rename from com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/FileResolutionType.java
rename to com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsResolutionType.java
index f451f97..a8c2a84 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/FileResolutionType.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/preferences/paths/PathsResolutionType.java
@@ -7,7 +7,7 @@
  * http://www.eclipse.org/legal/epl-v10.html
  */package com.google.eclipse.protobuf.ui.preferences.paths;
 
-import static com.google.eclipse.protobuf.ui.preferences.paths.PreferenceNames.ALL_PROTOS_IN_ONE_FOLDER_ONLY;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferenceNames.ALL_PROTOS_IN_ONE_FOLDER_ONLY;
 
 import org.eclipse.jface.preference.IPreferenceStore;
 
@@ -16,11 +16,11 @@
  * 
  * @author alruiz@google.com (Alex Ruiz)
  */
-public enum FileResolutionType {
+public enum PathsResolutionType {
 
   SINGLE_FOLDER, MULTIPLE_FOLDERS;
   
-  static FileResolutionType find(IPreferenceStore store) {
+  static PathsResolutionType find(IPreferenceStore store) {
     if (store.getBoolean(ALL_PROTOS_IN_ONE_FOLDER_ONLY)) return SINGLE_FOLDER;
     return MULTIPLE_FOLDERS;
   }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/FileUriResolver.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/FileUriResolver.java
index d3659fa..5c57348 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/FileUriResolver.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/scoping/FileUriResolver.java
@@ -8,7 +8,7 @@
  */
 package com.google.eclipse.protobuf.ui.scoping;
 
-import static com.google.eclipse.protobuf.ui.preferences.paths.FileResolutionType.SINGLE_FOLDER;
+import static com.google.eclipse.protobuf.ui.preferences.paths.PathsResolutionType.SINGLE_FOLDER;
 import static org.eclipse.emf.common.util.URI.createURI;
 import static org.eclipse.xtext.util.Tuples.pair;
 
@@ -22,8 +22,8 @@
 import org.eclipse.xtext.util.Pair;
 
 import com.google.eclipse.protobuf.scoping.IFileUriResolver;
-import com.google.eclipse.protobuf.ui.preferences.paths.PreferenceReader;
-import com.google.eclipse.protobuf.ui.preferences.paths.Preferences;
+import com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferenceReader;
+import com.google.eclipse.protobuf.ui.preferences.paths.PathsPreferences;
 import com.google.inject.Inject;
 
 /**
@@ -34,7 +34,7 @@
   private static final String PREFIX = "platform:/resource";
   private static final String SEPARATOR = "/";
 
-  @Inject private PreferenceReader preferenceReader;
+  @Inject private PathsPreferenceReader preferenceReader;
   @Inject private Resources resources;
   
   /*
@@ -63,7 +63,7 @@
   
   private String resolveUri(Pair<String, List<String>> importUri, URI resourceUri) {
     IProject project = resources.project(resourceUri);
-    Preferences preferences = preferenceReader.readFromPrefereceStore(project);
+    PathsPreferences preferences = preferenceReader.readFromPrefereceStore(project);
     List<String> segments = removeFirstAndLast(resourceUri.segmentsList());
     if (preferences.fileResolutionType().equals(SINGLE_FOLDER)) {
       return resolveUri(importUri, segments);