This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch feature/SLING-5618
in repository https://gitbox.apache.org/repos/asf/sling-ide-tooling.git

commit d4a0ccb6084a684ee1291395026cb50b18e2c058
Author: Robert Munteanu <[email protected]>
AuthorDate: Fri Apr 13 18:04:38 2018 +0300

    SLING-5618 - Make the ResourceChangeCommandFactory independent from Eclipse
    
    Completely remove the ResourceChangeCommandFactory
---
 .../internal/ResourceChangeCommandFactory.java     | 64 ----------------------
 .../core/internal/SlingLaunchpadBehaviour.java     | 12 ++--
 eclipse/eclipse-m2e-ui/META-INF/MANIFEST.MF        |  3 +-
 .../org/apache/sling/ide/test/impl/Activator.java  | 11 ++++
 ...est.java => DefaultCommandFactoryImplTest.java} | 56 ++++++++++---------
 .../ide/eclipse/ui/internal/ExportWizard.java      |  1 -
 .../ui/internal/ImportRepositoryContentAction.java |  1 -
 7 files changed, 48 insertions(+), 100 deletions(-)

diff --git 
a/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java
 
b/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java
deleted file mode 100644
index 4e6a9f8..0000000
--- 
a/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/ResourceChangeCommandFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.sling.ide.eclipse.core.internal;
-
-import java.io.IOException;
-
-import org.apache.sling.ide.eclipse.core.EclipseResources;
-import org.apache.sling.ide.transport.Command;
-import org.apache.sling.ide.transport.Repository;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The <tt>ResourceChangeCommandFactory</tt> creates new {@link #Command 
commands} correspoding to resource addition,
- * change, or removal
- *
- * @deprecated - Use the {@link DefaultCommandFactory} instead. This class is 
present until the tests are migrated off it
- */
-@Deprecated
-public class ResourceChangeCommandFactory {
-
-    public Command<?> newCommandForAddedOrUpdated(Repository repository, 
IResource addedOrUpdated) throws CoreException {
-        
-        try {
-            return 
Activator.getDefault().getCommandFactory().newCommandForAddedOrUpdatedResource(repository,
 EclipseResources.create(addedOrUpdated));
-        } catch (IOException e) {
-            throw new CoreException(new Status(Status.ERROR, 
Activator.PLUGIN_ID, "Failed updating " + addedOrUpdated,
-                    e));
-        }
-    }
-
-    public Command<?> newCommandForRemovedResources(Repository repository, 
IResource removed) throws CoreException {
-        try {
-            return  
Activator.getDefault().getCommandFactory().newCommandForRemovedResource(repository,
 EclipseResources.create(removed));
-        } catch (IOException e) {
-            throw new CoreException(new Status(Status.ERROR, 
Activator.PLUGIN_ID, "Failed removing" + removed, e));
-        }
-    }
-
-    public Command<Void> newReorderChildNodesCommand(Repository repository, 
IResource res) throws CoreException {
-        try {
-            return  
Activator.getDefault().getCommandFactory().newReorderChildNodesCommand(repository,
 EclipseResources.create(res));
-        } catch (IOException e) {
-            throw new CoreException(new Status(Status.ERROR, 
Activator.PLUGIN_ID, "Failed reordering child nodes for "
-                    + res, e));
-        }
-    }
-
-}
diff --git 
a/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java
 
b/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java
index 47aa0fe..d33145b 100644
--- 
a/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java
+++ 
b/eclipse/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java
@@ -30,12 +30,14 @@ import java.util.Set;
 
 import org.apache.sling.ide.artifacts.EmbeddedArtifact;
 import org.apache.sling.ide.artifacts.EmbeddedArtifactLocator;
+import org.apache.sling.ide.eclipse.core.EclipseResources;
 import org.apache.sling.ide.eclipse.core.ISlingLaunchpadServer;
 import org.apache.sling.ide.eclipse.core.ServerUtil;
 import org.apache.sling.ide.log.Logger;
 import org.apache.sling.ide.osgi.OsgiClient;
 import org.apache.sling.ide.osgi.OsgiClientException;
 import org.apache.sling.ide.serialization.SerializationException;
+import org.apache.sling.ide.sync.content.SyncCommandFactory;
 import org.apache.sling.ide.transport.Batcher;
 import org.apache.sling.ide.transport.Command;
 import org.apache.sling.ide.transport.Repository;
@@ -65,7 +67,7 @@ import org.osgi.framework.Version;
 
 public class SlingLaunchpadBehaviour extends 
ServerBehaviourDelegateWithModulePublishSupport {
 
-    private ResourceChangeCommandFactory commandFactory;
+    private SyncCommandFactory commandFactory;
        private ILaunch launch;
        private JVMDebuggerConnection debuggerConnection;
        
@@ -196,7 +198,7 @@ public class SlingLaunchpadBehaviour extends 
ServerBehaviourDelegateWithModulePu
         Logger logger = Activator.getDefault().getPluginLogger();
         
         if (commandFactory == null) {
-            commandFactory = new ResourceChangeCommandFactory();
+            commandFactory = Activator.getDefault().getCommandFactory();
         }
 
         logger.trace(traceOperation(kind, deltaKind, module));
@@ -566,7 +568,7 @@ public class SlingLaunchpadBehaviour extends 
ServerBehaviourDelegateWithModulePu
             return null;
         }
 
-        return commandFactory.newCommandForAddedOrUpdated(repository, res);
+        return commandFactory.newCommandForAddedOrUpdatedResource(repository, 
EclipseResources.create(res));
     }
 
     private Command<?> reorderChildNodesCommand(Repository repository, 
IModuleResource resource) throws CoreException,
@@ -578,7 +580,7 @@ public class SlingLaunchpadBehaviour extends 
ServerBehaviourDelegateWithModulePu
             return null;
         }
 
-        return commandFactory.newReorderChildNodesCommand(repository, res);
+        return commandFactory.newReorderChildNodesCommand(repository, 
EclipseResources.create(res));
     }
 
     private IResource getResource(IModuleResource resource) {
@@ -608,6 +610,6 @@ public class SlingLaunchpadBehaviour extends 
ServerBehaviourDelegateWithModulePu
             return null;
         }
 
-        return commandFactory.newCommandForRemovedResources(repository, 
deletedResource);
+        return commandFactory.newCommandForRemovedResource(repository, 
EclipseResources.create(deletedResource));
     }
 }
diff --git a/eclipse/eclipse-m2e-ui/META-INF/MANIFEST.MF 
b/eclipse/eclipse-m2e-ui/META-INF/MANIFEST.MF
index b0e67ef..1480c68 100644
--- a/eclipse/eclipse-m2e-ui/META-INF/MANIFEST.MF
+++ b/eclipse/eclipse-m2e-ui/META-INF/MANIFEST.MF
@@ -66,6 +66,5 @@ Import-Package: org.apache.commons.httpclient;version="3.1.0",
  org.osgi.framework;version="1.6.0",
  org.osgi.util.tracker;version="1.5.0"
 Bundle-ActivationPolicy: lazy
-Export-Package: org.apache.sling.ide.eclipse.m2e,org.apache.sling.ide.
- eclipse.ui.wizards.np
+Export-Package: org.apache.sling.ide.eclipse.ui.wizards.np
 SlingIDE-PluginLoggerEnabled: true
diff --git 
a/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/Activator.java 
b/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/Activator.java
index 5ccd3d5..60c983e 100644
--- a/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/Activator.java
+++ b/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/Activator.java
@@ -20,6 +20,7 @@ import org.apache.sling.ide.artifacts.EmbeddedArtifactLocator;
 import org.apache.sling.ide.eclipse.core.ServiceUtil;
 import org.apache.sling.ide.osgi.OsgiClientFactory;
 import org.apache.sling.ide.serialization.SerializationManager;
+import org.apache.sling.ide.sync.content.SyncCommandFactory;
 import org.eclipse.core.runtime.Plugin;
 import org.osgi.framework.BundleContext;
 import org.osgi.util.tracker.ServiceTracker;
@@ -34,6 +35,8 @@ public class Activator extends Plugin {
 
     private ServiceTracker<SerializationManager, SerializationManager> 
serializationManager;
 
+    private ServiceTracker <SyncCommandFactory, SyncCommandFactory> 
commandFactory;
+
     @Override
     public void start(BundleContext context) throws Exception {
         super.start(context);
@@ -46,6 +49,9 @@ public class Activator extends Plugin {
 
         serializationManager = new ServiceTracker<>(context, 
SerializationManager.class, null);
         serializationManager.open();
+        
+        commandFactory = new ServiceTracker<>(context, 
SyncCommandFactory.class, null);
+        commandFactory.open();
 
         INSTANCE = this;
     }
@@ -56,6 +62,7 @@ public class Activator extends Plugin {
         artifactLocator.close();
         osgiClientFactory.close();
         serializationManager.close();
+        commandFactory.close();
 
         INSTANCE = null;
 
@@ -80,4 +87,8 @@ public class Activator extends Plugin {
 
         return ServiceUtil.getNotNull(serializationManager);
     }
+
+    public SyncCommandFactory getCommandFactory() {
+        return ServiceUtil.getNotNull(commandFactory);
+    }
 }
diff --git 
a/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/ResourceChangeCommandFactoryTest.java
 
b/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/DefaultCommandFactoryImplTest.java
similarity index 83%
rename from 
eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/ResourceChangeCommandFactoryTest.java
rename to 
eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/DefaultCommandFactoryImplTest.java
index c5a328d..7c7c89a 100644
--- 
a/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/ResourceChangeCommandFactoryTest.java
+++ 
b/eclipse/eclipse-test/src/org/apache/sling/ide/test/impl/DefaultCommandFactoryImplTest.java
@@ -31,7 +31,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.sling.ide.eclipse.core.internal.ResourceChangeCommandFactory;
+import org.apache.sling.ide.eclipse.core.EclipseResources;
+import org.apache.sling.ide.sync.content.SyncCommandFactory;
 import org.apache.sling.ide.test.impl.helpers.ProjectAdapter;
 import org.apache.sling.ide.test.impl.helpers.SpyCommand;
 import org.apache.sling.ide.test.impl.helpers.SpyRepository;
@@ -47,13 +48,14 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-public class ResourceChangeCommandFactoryTest {
+// TODO - move out of the eclipse-test module and make this a regular Maven 
test
+public class DefaultCommandFactoryImplTest {
 
     @Rule
     public TemporaryProject projectRule = new TemporaryProject();
     private IProject contentProject;
     private ProjectAdapter project;
-    private ResourceChangeCommandFactory factory;
+    private SyncCommandFactory factory;
     private Repository spyRepo;
 
     @Before
@@ -72,7 +74,7 @@ public class ResourceChangeCommandFactoryTest {
 
         Set<String> ignoredFileNames = new HashSet<>();
         ignoredFileNames.add(".gitignore");
-        factory = new ResourceChangeCommandFactory();
+        factory = Activator.getDefault().getCommandFactory();
 
         spyRepo = new SpyRepository();
     }
@@ -85,11 +87,11 @@ public class ResourceChangeCommandFactoryTest {
             
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/nested/.gitignore"),
                     inputStream);
         }
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                
contentProject.findMember("jcr_root/content/test-root/nested/.gitignore"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root/nested/.gitignore")));
         assertNull(command);
-        command = (SpyCommand<?>) 
factory.newCommandForRemovedResources(spyRepo,
-                
contentProject.findMember("jcr_root/content/test-root/nested/.gitignore"));
+        command = (SpyCommand<?>) factory.newCommandForRemovedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root/nested/.gitignore")));
         assertNull(command);
     }
 
@@ -101,30 +103,30 @@ public class ResourceChangeCommandFactoryTest {
             
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/nested/gitignore"),
                     inputStream);
         }
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                
contentProject.findMember("jcr_root/content/test-root/nested/gitignore"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root/nested/gitignore")));
         assertThat("command.path", command.getPath(), nullValue());
         assertThat("command.resource.path", 
command.getResourceProxy().getPath(), 
equalTo("/content/test-root/nested/gitignore"));
         assertThat("command.resource.properties", 
command.getResourceProxy().getProperties(),
                 equalTo(singletonMap("jcr:primaryType", (Object) "nt:file")));
         assertThat("command.kind", command.getSpyKind(), 
equalTo(SpyCommand.Kind.ADD_OR_UPDATE));
         
-        command = (SpyCommand<?>) 
factory.newCommandForRemovedResources(spyRepo,
-                
contentProject.findMember("jcr_root/content/test-root/nested/gitignore"));
+        command = (SpyCommand<?>) factory.newCommandForRemovedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root/nested/gitignore")));
         assertThat("command.path", command.getPath(), 
equalTo("/content/test-root/nested/gitignore"));
         assertThat("command.kind", command.getSpyKind(), 
equalTo(SpyCommand.Kind.DELETE));
     }
 
     @Test
-    public void commandForAddedOrUpdatedNtFolder() throws CoreException {
+    public void commandForAddedOrUpdatedNtFolder() throws CoreException, 
IOException {
 
         // create a sling:Folder at /content/test-root/nested
         InputStream childContentXml = 
getClass().getResourceAsStream("sling-folder-nodetype.xml");
         
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/nested/.content.xml"),
                 childContentXml);
 
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                contentProject.findMember("jcr_root/content/test-root"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root")));
 
         assertThat("command.path", command.getPath(), nullValue());
         assertThat("command.resource.path", 
command.getResourceProxy().getPath(), equalTo("/content/test-root"));
@@ -135,15 +137,15 @@ public class ResourceChangeCommandFactoryTest {
     }
 
     @Test
-    public void commandForAddedOrUpdatedSlingFolder() throws CoreException {
+    public void commandForAddedOrUpdatedSlingFolder() throws CoreException, 
IOException {
 
         // create a sling:Folder at /content/test-root/nested
         InputStream childContentXml = 
getClass().getResourceAsStream("sling-folder-nodetype-with-title.xml");
         
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/nested/.content.xml"),
                 childContentXml);
 
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                
contentProject.findMember("jcr_root/content/test-root/nested"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root/nested")));
 
         Map<String, Object> props = new HashMap<>();
         props.put("jcr:primaryType", "sling:Folder");
@@ -157,7 +159,7 @@ public class ResourceChangeCommandFactoryTest {
     }
 
     @Test
-    public void commandForSlingOrderedFolder_children() throws CoreException {
+    public void commandForSlingOrderedFolder_children() throws CoreException, 
IOException {
 
         // create a sling:OrderedFolder at /content/test-root
         
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/.content.xml"),
 getClass()
@@ -165,8 +167,8 @@ public class ResourceChangeCommandFactoryTest {
         // create the child folder listed in the .content.xml file
         
contentProject.getFolder("jcr_root/content/test-root/folder").create(true, 
true, new NullProgressMonitor());
 
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                contentProject.findMember("jcr_root/content/test-root"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root")));
 
         List<ResourceProxy> children = 
command.getResourceProxy().getChildren();
 
@@ -174,14 +176,14 @@ public class ResourceChangeCommandFactoryTest {
     }
 
     @Test
-    public void commandForSlingOrderedFolder_childrenMissingFromFilesystem() 
throws CoreException {
+    public void commandForSlingOrderedFolder_childrenMissingFromFilesystem() 
throws CoreException, IOException {
 
         // create a sling:OrderedFolder at /content/test-root
         
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/.content.xml"),
 getClass()
                 
.getResourceAsStream("sling-ordered-folder-with-children.xml"));
 
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                contentProject.findMember("jcr_root/content/test-root"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root")));
 
         List<ResourceProxy> children = 
command.getResourceProxy().getChildren();
 
@@ -189,7 +191,7 @@ public class ResourceChangeCommandFactoryTest {
     }
 
     @Test
-    public void commandForSlingOrderedFolder_extraChildrenInTheFilesystem() 
throws CoreException {
+    public void commandForSlingOrderedFolder_extraChildrenInTheFilesystem() 
throws CoreException, IOException {
 
         // create a sling:OrderedFolder at /content/test-root
         
project.createOrUpdateFile(Path.fromPortableString("jcr_root/content/test-root/.content.xml"),
 getClass()
@@ -199,8 +201,8 @@ public class ResourceChangeCommandFactoryTest {
         // create an extra folder not listed in the .content.xml file
         
contentProject.getFolder("jcr_root/content/test-root/folder2").create(true, 
true, new NullProgressMonitor());
 
-        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdated(spyRepo,
-                contentProject.findMember("jcr_root/content/test-root"));
+        SpyCommand<?> command = (SpyCommand<?>) 
factory.newCommandForAddedOrUpdatedResource(spyRepo,
+                
EclipseResources.create(contentProject.findMember("jcr_root/content/test-root")));
 
         List<ResourceProxy> children = 
command.getResourceProxy().getChildren();
 
diff --git 
a/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ExportWizard.java
 
b/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ExportWizard.java
index e647e34..2f3611c 100644
--- 
a/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ExportWizard.java
+++ 
b/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ExportWizard.java
@@ -21,7 +21,6 @@ import java.lang.reflect.InvocationTargetException;
 
 import org.apache.sling.ide.eclipse.core.EclipseResources;
 import org.apache.sling.ide.eclipse.core.ServerUtil;
-import org.apache.sling.ide.eclipse.core.internal.ResourceChangeCommandFactory;
 import org.apache.sling.ide.eclipse.ui.WhitelabelSupport;
 import org.apache.sling.ide.sync.content.SyncCommandFactory;
 import org.apache.sling.ide.transport.Command;
diff --git 
a/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportRepositoryContentAction.java
 
b/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportRepositoryContentAction.java
index e5e9196..d3ef371 100644
--- 
a/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportRepositoryContentAction.java
+++ 
b/eclipse/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportRepositoryContentAction.java
@@ -33,7 +33,6 @@ import org.apache.sling.ide.eclipse.core.EclipseResources;
 import org.apache.sling.ide.eclipse.core.ProjectUtil;
 import org.apache.sling.ide.eclipse.core.ResourceUtil;
 import org.apache.sling.ide.eclipse.core.ServerUtil;
-import org.apache.sling.ide.eclipse.core.internal.ResourceChangeCommandFactory;
 import org.apache.sling.ide.eclipse.core.progress.ProgressUtils;
 import org.apache.sling.ide.filter.Filter;
 import org.apache.sling.ide.filter.FilterResult;

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to