diff options
author | Milos Kleint | 2011-02-21 08:16:30 +0000 |
---|---|---|
committer | Milos Kleint | 2011-02-21 08:16:30 +0000 |
commit | 11413b73a1a99a31a64a0a09cbc5a4c847be8d89 (patch) | |
tree | aaf44cc020bbeccde1ab24d26b3a12f12c103a7a /org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset | |
parent | 6ebbf4907dd0b0c5d110f7dda28cae363f214adc (diff) | |
download | m2e-core-11413b73a1a99a31a64a0a09cbc5a4c847be8d89.tar.gz m2e-core-11413b73a1a99a31a64a0a09cbc5a4c847be8d89.tar.xz m2e-core-11413b73a1a99a31a64a0a09cbc5a4c847be8d89.zip |
refactoring, introduce constants for elements, move some methods to PomHelper
Diffstat (limited to 'org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset')
-rw-r--r-- | org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java | 49 |
1 files changed, 15 insertions, 34 deletions
diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java index 1422b2d4..aef020c7 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java @@ -26,6 +26,7 @@ import org.eclipse.ltk.core.refactoring.Refactoring; import org.eclipse.ltk.core.refactoring.RefactoringStatus; import org.eclipse.m2e.core.embedder.ArtifactKey; import org.eclipse.m2e.core.ui.internal.editing.PomEdits.Operation; +import org.eclipse.m2e.core.ui.internal.editing.PomHelper; import org.eclipse.m2e.refactoring.ChangeCreator; import org.eclipse.wst.sse.core.StructuredModelManager; import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; @@ -82,32 +83,12 @@ public class DependencySetRefactoring extends Refactoring { * @see org.eclipse.ltk.core.refactoring.Refactoring#createChange(org.eclipse.core.runtime.IProgressMonitor) */ public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException { - CompositeChange res = new CompositeChange(getName()); - IStructuredModel model = null; - try { - model = StructuredModelManager.getModelManager().getModelForRead(file); - IDocument document = model.getStructuredDocument(); - IStructuredModel tempModel = StructuredModelManager.getModelManager().createUnManagedStructuredModelFor( - "org.eclipse.m2e.core.pomFile"); - tempModel.getStructuredDocument().setText(StructuredModelManager.getModelManager(), document.get()); - IDocument tempDocument = tempModel.getStructuredDocument(); - List<Operation> operations = new ArrayList<Operation>(); - for (ArtifactKey key : keys) { - operations.add(new OneDependency(key)); - } - CompoundOperation compound = new CompoundOperation(operations.toArray(new Operation[0])); - performOnDOMDocument(new OperationTuple((IDOMModel) tempModel, compound)); - - ChangeCreator chc = new ChangeCreator(file, document, tempDocument, getName()); - res.add(chc.createChange()); - } catch(Exception exc) { - LOG.error("", exc); - } finally { - if(model != null) { - model.releaseFromRead(); - } + List<Operation> operations = new ArrayList<Operation>(); + for (ArtifactKey key : keys) { + operations.add(new OneDependency(key)); } - return res; + CompoundOperation compound = new CompoundOperation(operations.toArray(new Operation[0])); + return PomHelper.createChange(file, compound, getName()); } private static class OneDependency implements Operation { @@ -126,23 +107,23 @@ public class DependencySetRefactoring extends Refactoring { */ public void process(Document document) { //TODO handle activated profiles? - Element deps = findChild(document.getDocumentElement(), "dependencies"); - Element existing = findChild(deps, "dependency", childEquals("groupId", groupId), - childEquals("artifactId", artifactId)); + Element deps = findChild(document.getDocumentElement(), DEPENDENCIES); + Element existing = findChild(deps, DEPENDENCY, childEquals(GROUP_ID, groupId), + childEquals(ARTIFACT_ID, artifactId)); if(existing != null) { //it's a direct dependency //TODO check the version value.. not to overwrite the existing version.. //even better, have the action only available on transitive dependencies - setText(getChild(existing, "version"), version); + setText(getChild(existing, VERSION), version); } else { //is transitive dependency - Element dm = getChild(document.getDocumentElement(), "dependencyManagement", "dependencies"); - existing = findChild(dm, "dependency", childEquals("groupId", groupId), - childEquals("artifactId", artifactId)); + Element dm = getChild(document.getDocumentElement(), DEPENDENCY_MANAGEMENT, DEPENDENCIES); + existing = findChild(dm, DEPENDENCY, childEquals(GROUP_ID, groupId), + childEquals(ARTIFACT_ID, artifactId)); if(existing != null) { - setText(getChild(existing, "version"), version); + setText(getChild(existing, VERSION), version); } else { - createDependency(dm, groupId, artifactId, version); + PomHelper.createDependency(dm, groupId, artifactId, version); } } |