Code cleanup.
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Imports.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Imports.java
new file mode 100644
index 0000000..0debb18
--- /dev/null
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/util/Imports.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2012 Google Inc.
+ *
+ * All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse
+ * Public License v1.0 which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package com.google.eclipse.protobuf.ui.util;
+
+import static com.google.eclipse.protobuf.protobuf.ProtobufPackage.Literals.IMPORT__IMPORT_URI;
+
+import org.eclipse.xtext.nodemodel.INode;
+
+import com.google.eclipse.protobuf.conversion.STRINGValueConverter;
+import com.google.eclipse.protobuf.model.util.INodes;
+import com.google.eclipse.protobuf.protobuf.Import;
+import com.google.inject.Inject;
+
+/**
+ * Utility methods related to <code>{@link Import}</code>s.
+ *
+ * @author alruiz@google.com (Alex Ruiz)
+ */
+public class Imports {
+ @Inject private INodes nodes;
+ @Inject private STRINGValueConverter stringValueConverter;
+
+ public String uriAsEnteredByUser(Import anImport) {
+ INode node = nodes.firstNodeForFeature(anImport, IMPORT__IMPORT_URI);
+ if (node == null) {
+ return null;
+ }
+ String text = node.getText();
+ if (text == null) {
+ return null;
+ }
+ return stringValueConverter.toValue(text, node);
+
+ }
+}
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/AbstractPartListener.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/AbstractPartListener.java
new file mode 100644
index 0000000..21494ad
--- /dev/null
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/AbstractPartListener.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2012 Google Inc.
+ *
+ * All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse
+ * Public License v1.0 which accompanies this distribution, and is available at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package com.google.eclipse.protobuf.ui.validation;
+
+import org.eclipse.ui.*;
+
+/**
+ * Base class for implementations of <code>{@link IPartListener2}</code>.
+ *
+ * @author alruiz@google.com (Alex Ruiz)
+ */
+public abstract class AbstractPartListener implements IPartListener2 {
+ @Override public void partActivated(IWorkbenchPartReference ref) {}
+ @Override public void partDeactivated(IWorkbenchPartReference ref) {}
+
+ @Override public void partBroughtToTop(IWorkbenchPartReference ref) {}
+
+ @Override public void partOpened(IWorkbenchPartReference ref) {}
+ @Override public void partClosed(IWorkbenchPartReference ref) {}
+
+ @Override public void partVisible(IWorkbenchPartReference ref) {}
+ @Override public void partHidden(IWorkbenchPartReference ref) {}
+
+ @Override public void partInputChanged(IWorkbenchPartReference ref) {}
+}
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/ValidateFileOnActivation.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/ValidateFileOnActivation.java
index a61053a..f4e3c6e 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/ValidateFileOnActivation.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/validation/ValidateFileOnActivation.java
@@ -25,13 +25,13 @@
*
* @author alruiz@google.com (Alex Ruiz)
*/
-public class ValidateFileOnActivation implements IPartListener2 {
+public class ValidateFileOnActivation extends AbstractPartListener {
/**
* Validates the active active editor in the given part that contains a .proto file in the Workspace.
- * @param partRef the part that was activated.
+ * @param ref the part that was activated.
*/
- @Override public void partActivated(IWorkbenchPartReference partRef) {
- IEditorPart activeEditor = activeEditor(partRef);
+ @Override public void partActivated(IWorkbenchPartReference ref) {
+ IEditorPart activeEditor = activeEditor(ref);
IProject project = projectFrom(activeEditor);
if (project == null || !shouldValidateEditor(project)) {
return;
@@ -39,8 +39,8 @@
validate(activeEditor);
}
- private IEditorPart activeEditor(IWorkbenchPartReference partRef) {
- IWorkbenchPage page = partRef.getPage();
+ private IEditorPart activeEditor(IWorkbenchPartReference ref) {
+ IWorkbenchPage page = ref.getPage();
return (page == null) ? null : page.getActiveEditor();
}
@@ -54,46 +54,4 @@
GeneralPreferences preferences = generalPreferences(storeAccess, project);
return preferences.validateFilesOnActivation().getValue();
}
-
- /**
- * This method does nothing.
- * @param partRef the part that was surfaced.
- */
- @Override public void partBroughtToTop(IWorkbenchPartReference partRef) {}
-
- /**
- * This method does nothing.
- * @param partRef the part that was closed.
- */
- @Override public void partClosed(IWorkbenchPartReference partRef) {}
-
- /**
- * This method does nothing.
- * @param partRef the part that was deactivated.
- */
- @Override public void partDeactivated(IWorkbenchPartReference partRef) {}
-
- /**
- * This method does nothing.
- * @param partRef the part that was opened.
- */
- @Override public void partOpened(IWorkbenchPartReference partRef) {}
-
- /**
- * This method does nothing.
- * @param partRef the part that was hidden.
- */
- @Override public void partHidden(IWorkbenchPartReference partRef) {}
-
- /**
- * This method does nothing.
- * @param partRef the part that is visible.
- */
- @Override public void partVisible(IWorkbenchPartReference partRef) {}
-
- /**
- * This method does nothing.
- * @param partRef the part whose input was changed.
- */
- @Override public void partInputChanged(IWorkbenchPartReference partRef) {}
}