SLING-2405 : Startup synchronization problems

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1242500 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/launchpad/installer/impl/LaunchpadConfigInstaller.java b/src/main/java/org/apache/sling/launchpad/installer/impl/LaunchpadConfigInstaller.java
index f0611d8..3f8c3dc 100644
--- a/src/main/java/org/apache/sling/launchpad/installer/impl/LaunchpadConfigInstaller.java
+++ b/src/main/java/org/apache/sling/launchpad/installer/impl/LaunchpadConfigInstaller.java
@@ -20,9 +20,7 @@
 import java.io.InputStream;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.util.Arrays;
 import java.util.Collection;
-import java.util.Comparator;
 import java.util.Dictionary;
 import java.util.HashSet;
 import java.util.Hashtable;
@@ -76,6 +74,7 @@
                     path = path.substring(0, path.length() - 1);
                 }
                 if ( !checkPath(resourceProvider, installables, path, resourceType) ) {
+                    logger.info("Launchpad {} will be installed: {}", resourceType, path);
                     final URL url = resourceProvider.getResource(path);
                     Dictionary<String, Object> dict = null;
                     if ( InstallableResource.TYPE_FILE.equals(resourceType) ) {
@@ -121,46 +120,7 @@
         checkPath(resourceProvider, installables, ROOT_INSTALL_PATH, InstallableResource.TYPE_FILE);
 
         final InstallableResource [] toInstall = installables.toArray(new InstallableResource []{});
-        // sort by url to have lower start levels first
-        Arrays.sort(toInstall, new ResourceComparator());
-        for(final InstallableResource rsrc : toInstall ) {
-            logger.info("Launchpad {} will be installed: {}", rsrc.getType(), rsrc.getId());
-        }
         installer.registerResources("launchpad", (toInstall));
         logger.info("{} resources registered with OsgiInstaller", toInstall.length);
     }
-
-    /**
-     * Resource comparator
-     */
-    private static final class ResourceComparator implements Comparator<InstallableResource> {
-
-        private Integer getStartLevel(final InstallableResource ir) {
-            try {
-                final Integer level = Integer.valueOf((String)ir.getDictionary().get(InstallableResource.INSTALLATION_HINT));
-                if ( level == 0 ) {
-                    return 100;
-                }
-                return level;
-            } catch ( final NumberFormatException ignore) {
-                return 1000;
-            }
-        }
-
-        /**
-         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-         */
-        public int compare(final InstallableResource o1,
-                           final InstallableResource o2) {
-            int result = o2.getType().compareTo(o1.getType());
-            if ( result == 0 ) {
-                if ( o1.getType() == InstallableResource.TYPE_PROPERTIES ) {
-                    result = o1.getId().compareTo(o2.getId());
-                } else {
-                    result = getStartLevel(o1).compareTo(getStartLevel(o2));
-                }
-            }
-            return result;
-        }
-    }
 }
\ No newline at end of file