You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2015/02/18 00:06:26 UTC

svn commit: r1660532 - /sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java

Author: rombert
Date: Tue Feb 17 23:06:25 2015
New Revision: 1660532

URL: http://svn.apache.org/r1660532
Log:
SLING-4374 - Intermittent error when publishing content

Track the repository as connected when connecting in debug mode as well.

Also fail early when a repository can't be looked up

Modified:
    sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java

Modified: sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java?rev=1660532&r1=1660531&r2=1660532&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java (original)
+++ sling/trunk/tooling/ide/eclipse-core/src/org/apache/sling/ide/eclipse/core/internal/SlingLaunchpadBehaviour.java Tue Feb 17 23:06:25 2015
@@ -84,22 +84,24 @@ public class SlingLaunchpadBehaviour ext
         Result<ResourceProxy> result = null;
         monitor.beginTask("Starting server", 5);
         
+        Repository repository;
+        try {
+            repository = ServerUtil.connectRepository(getServer(), monitor);
+        } catch (CoreException e) {
+            setServerState(IServer.STATE_STOPPED);
+            throw e;
+        }
+
+        monitor.worked(2); // 2/5 done
+
         try {
             if (getServer().getMode().equals(ILaunchManager.DEBUG_MODE)) {
                 debuggerConnection = new JVMDebuggerConnection();
                 success = debuggerConnection.connectInDebugMode(launch, getServer(), monitor);
 
-            } else {
+                monitor.worked(3); // 5/5 done
 
-                Repository repository;
-                try {
-                    repository = ServerUtil.connectRepository(getServer(), monitor);
-                } catch (CoreException e) {
-                    setServerState(IServer.STATE_STOPPED);
-                    throw e;
-                }
-                
-                monitor.worked(2); // 2/5 done
+            } else {
                 
                 Command<ResourceProxy> command = repository.newListChildrenNodeCommand("/");
                 result = command.execute();
@@ -366,6 +368,10 @@ public class SlingLaunchpadBehaviour ext
         Logger logger = Activator.getDefault().getPluginLogger();
 
 		Repository repository = ServerUtil.getConnectedRepository(getServer(), monitor);
+        if (repository == null) {
+            throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+                    "Unable to find a repository for server " + getServer()));
+        }
         
         // TODO it would be more efficient to have a module -> filter mapping
         // it would be simpler to implement this in SlingContentModuleAdapter, but