Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilos Kleint2011-03-15 08:44:54 +0000
committerMilos Kleint2011-03-18 07:35:07 +0000
commit2f573cc818f93be8af5585ca5adc131261a8ce26 (patch)
tree5b5653442e3f68513c97006845ebb6005ee153dd /org.eclipse.m2e.editor/src
parent1f6736bf9cfb00c870deb0a420bfa32d5da97ce5 (diff)
downloadm2e-core-2f573cc818f93be8af5585ca5adc131261a8ce26.tar.gz
m2e-core-2f573cc818f93be8af5585ca5adc131261a8ce26.tar.xz
m2e-core-2f573cc818f93be8af5585ca5adc131261a8ce26.zip
refactoring, reuse common code
Diffstat (limited to 'org.eclipse.m2e.editor/src')
-rw-r--r--org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/MavenPomEditorPage.java17
-rw-r--r--org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/OverviewPage.java27
-rw-r--r--org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/PropertiesSection.java27
3 files changed, 31 insertions, 40 deletions
diff --git a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/MavenPomEditorPage.java b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/MavenPomEditorPage.java
index 5317ebee..a08c1a45 100644
--- a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/MavenPomEditorPage.java
+++ b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/MavenPomEditorPage.java
@@ -46,9 +46,15 @@ import org.eclipse.m2e.core.project.IMavenProjectFacade;
import org.eclipse.m2e.core.project.MavenProjectManager;
import org.eclipse.m2e.core.ui.internal.actions.OpenPomAction;
import org.eclipse.m2e.core.ui.internal.dialogs.InputHistory;
+import org.eclipse.m2e.core.ui.internal.editing.PomEdits;
+import org.eclipse.m2e.core.ui.internal.editing.PomEdits.Operation;
+import org.eclipse.m2e.core.ui.internal.editing.PomEdits.OperationTuple;
+
import static org.eclipse.m2e.core.ui.internal.editing.PomEdits.*;
+
import org.eclipse.m2e.editor.MavenEditorImages;
import org.eclipse.m2e.editor.internal.Messages;
+import org.eclipse.m2e.editor.pom.PropertiesSection.PropertyElement;
import org.eclipse.m2e.editor.xml.internal.FormHoverProvider;
import org.eclipse.m2e.model.edit.pom.Model;
import org.eclipse.m2e.model.edit.pom.Parent;
@@ -125,6 +131,17 @@ public abstract class MavenPomEditorPage extends FormPage implements Adapter {
public MavenPomEditor getPomEditor() {
return pomEditor;
}
+
+ public final void performEditOperation(PomEdits.Operation operation, Logger logger, String logMessage) {
+ try {
+ updatingModel2 = true;
+ PomEdits.performOnDOMDocument(new PomEdits.OperationTuple(getPomEditor().getDocument(), operation));
+ } catch(Exception e) {
+ logger.error(logMessage, e);
+ } finally {
+ updatingModel2 = false;
+ }
+ }
@Override
protected void createFormContent(IManagedForm managedForm) {
diff --git a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/OverviewPage.java b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/OverviewPage.java
index 231a4893..01ba4e55 100644
--- a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/OverviewPage.java
+++ b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/OverviewPage.java
@@ -204,6 +204,7 @@ public class OverviewPage extends MavenPomEditorPage {
public OverviewPage(MavenPomEditor pomEditor) {
super(pomEditor, IMavenConstants.PLUGIN_ID + ".pom.overview", Messages.OverviewPage_title); //$NON-NLS-1$
+ //TODO move up to parent..
listener = new IModelStateListener() {
public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) {
}
@@ -215,7 +216,7 @@ public class OverviewPage extends MavenPomEditorPage {
}
public void modelChanged(IStructuredModel model) {
if (!updatingModel2) {
- loadThis(RELOAD_ALL);
+ loadData();
}
}
public void modelAboutToBeReinitialized(IStructuredModel structuredModel) {
@@ -635,8 +636,7 @@ public class OverviewPage extends MavenPomEditorPage {
public void widgetSelected(SelectionEvent e) {
IDocument document = getPomEditor().getDocument();
try {
- updatingModel2 = true;
- performOnDOMDocument(new OperationTuple(document, new Operation() {
+ performEditOperation( new Operation() {
public void process(Document document) {
Element root = document.getDocumentElement();
Element modules = findChild(root, MODULES);
@@ -651,11 +651,8 @@ public class OverviewPage extends MavenPomEditorPage {
removeIfNoChildElement(modules);
}
}
- }));
- } catch(Exception ex) {
- LOG.error("error removing module entry", ex);
+ }, LOG, "error removing module entry");
} finally {
- updatingModel2 = false;
loadThis(RELOAD_MODULES);
}
}
@@ -673,8 +670,7 @@ public class OverviewPage extends MavenPomEditorPage {
public void modify(Object element, String property, final Object value) {
final int n = modulesEditor.getViewer().getTable().getSelectionIndex();
try {
- updatingModel2 = true;
- performOnDOMDocument(new OperationTuple(getPomEditor().getDocument(), new Operation() {
+ performEditOperation( new Operation() {
public void process(Document document) {
Element root = document.getDocumentElement();
Element module = findChild(findChild(root, MODULES), MODULE, childAt(n));
@@ -682,11 +678,8 @@ public class OverviewPage extends MavenPomEditorPage {
setText(module, value.toString());
}
}
- }));
- } catch(Exception ex) {
- LOG.error("error changing module entry", ex);
+ }, LOG, "error changing module entry");
} finally {
- updatingModel2 = false;
loadThis(RELOAD_MODULES);
}
}
@@ -1259,8 +1252,7 @@ public class OverviewPage extends MavenPomEditorPage {
private void createNewModule(final String moduleName) {
try {
- updatingModel2 = true;
- performOnDOMDocument(new OperationTuple(getPomEditor().getDocument(), new Operation() {
+ performEditOperation(new Operation() {
//same with MavenModuleWizard's module adding operation..
public void process(Document document) {
Element root = document.getDocumentElement();
@@ -1269,11 +1261,8 @@ public class OverviewPage extends MavenPomEditorPage {
format(createElementWithText(modules, MODULE, moduleName));
}
}
- }));
- } catch(Exception e) {
- LOG.error("error updating modules list for pom file", e);
+ }, LOG, "error updating modules list for pom file");
} finally {
- updatingModel2 = false;
loadThis(RELOAD_MODULES);
}
}
diff --git a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/PropertiesSection.java b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/PropertiesSection.java
index eba639dc..a8073dac 100644
--- a/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/PropertiesSection.java
+++ b/org.eclipse.m2e.editor/src/org/eclipse/m2e/editor/pom/PropertiesSection.java
@@ -154,9 +154,7 @@ public class PropertiesSection {
final String key = dialog.getName();
final String value = dialog.getValue();
try {
- page.updatingModel2 = true;
- performOnDOMDocument(new OperationTuple(page.getPomEditor().getDocument(), new Operation() {
-
+ page.performEditOperation( new Operation() {
public void process(Document document) {
Element properties = getChild(document.getDocumentElement(), PROPERTIES);
Element old = findChild(properties, pp.getName());
@@ -174,11 +172,8 @@ public class PropertiesSection {
setText(old, value);
}
}
- }));
- } catch(Exception e) {
- LOG.error("error updating property", e); //$NON-NLS-1$
+ }, LOG, "error updating property");
} finally {
- page.updatingModel2 = false;
propertiesEditor.setInput(getProperties());
}
}
@@ -191,17 +186,13 @@ public class PropertiesSection {
final String key = dialog.getName();
final String value = dialog.getValue();
try {
- page.updatingModel2 = true;
- performOnDOMDocument(new OperationTuple(page.getPomEditor().getDocument(), new Operation() {
+ page.performEditOperation( new Operation() {
public void process(Document document) {
Element prop = getChild(document.getDocumentElement(), PROPERTIES, key);
setText(prop, value);
}
- }));
- } catch(Exception e) {
- LOG.error("error creating property", e); //$NON-NLS-1$
+ }, LOG, "error creating property");
} finally {
- page.updatingModel2 = false;
propertiesEditor.setInput(getProperties());
}
}
@@ -209,8 +200,7 @@ public class PropertiesSection {
void deleteProperties(final List<PropertyElement> selection) {
try {
- page.updatingModel2 = true;
- performOnDOMDocument(new OperationTuple(page.getPomEditor().getDocument(), new Operation() {
+ page.performEditOperation(new Operation() {
public void process(Document document) {
Element props = findChild(document.getDocumentElement(), PROPERTIES);
if (props != null) {
@@ -222,11 +212,8 @@ public class PropertiesSection {
removeIfNoChildElement(props);
}
}
- }));
- } catch(Exception e) {
- LOG.error("error deleting property", e); //$NON-NLS-1$
+ }, LOG, "error deleting property");
} finally {
- page.updatingModel2 = false;
propertiesEditor.setInput(getProperties());
}
}
@@ -248,10 +235,8 @@ public class PropertiesSection {
public Image getImage(Object element) {
return MavenEditorImages.IMG_PROPERTY;
}
-
}
-
static class PropertyElement {
private final String name;
private final String value;

Back to the top