You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/01/03 12:18:45 UTC
svn commit: r1555049 - in
/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc:
api/execution/HealthCheckExecutor.java
core/impl/executor/HealthCheckExecutorImpl.java
Author: cziegeler
Date: Fri Jan 3 11:18:44 2014
New Revision: 1555049
URL: http://svn.apache.org/r1555049
Log:
SLING-3278 : Provide a HealthCheckExecutor service. Use ordered result
Modified:
sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/api/execution/HealthCheckExecutor.java
sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java
Modified: sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/api/execution/HealthCheckExecutor.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/api/execution/HealthCheckExecutor.java?rev=1555049&r1=1555048&r2=1555049&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/api/execution/HealthCheckExecutor.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/api/execution/HealthCheckExecutor.java Fri Jan 3 11:18:44 2014
@@ -17,7 +17,7 @@
*/
package org.apache.sling.hc.api.execution;
-import java.util.Collection;
+import java.util.List;
import org.apache.sling.hc.api.HealthCheck;
import org.osgi.framework.ServiceReference;
@@ -35,7 +35,7 @@ public interface HealthCheckExecutor {
/**
* Executes all health checks
*
- * @return Collection of results. The collection might be empty.
+ * @return List of results. The list might be empty.
*/
- Collection<HealthCheckExecutionResult> execute(ServiceReference... healthCheckReferences);
+ List<HealthCheckExecutionResult> execute(ServiceReference... healthCheckReferences);
}
\ No newline at end of file
Modified: sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java?rev=1555049&r1=1555048&r2=1555049&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/core/src/main/java/org/apache/sling/hc/core/impl/executor/HealthCheckExecutorImpl.java Fri Jan 3 11:18:44 2014
@@ -18,7 +18,10 @@
package org.apache.sling.hc.core.impl.executor;
import java.text.NumberFormat;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
@@ -27,7 +30,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.lang.time.StopWatch;
@@ -134,20 +136,32 @@ public class HealthCheckExecutorImpl imp
* @see org.apache.sling.hc.api.execution.HealthCheckExecutor#execute(org.osgi.framework.ServiceReference[])
*/
@Override
- public Collection<HealthCheckExecutionResult> execute(final ServiceReference... healthCheckReferences) {
+ public List<HealthCheckExecutionResult> execute(final ServiceReference... healthCheckReferences) {
logger.debug("Starting executing all checks... ");
final StopWatch stopWatch = new StopWatch();
stopWatch.start();
- final Collection<HealthCheckExecutionResult> results = new TreeSet<HealthCheckExecutionResult>();
+ final List<HealthCheckExecutionResult> results = new ArrayList<HealthCheckExecutionResult>();
final List<HealthCheckDescriptor> healthCheckDescriptors = getHealthCheckDescriptors(healthCheckReferences);
createResultsForDescriptors(healthCheckDescriptors, results);
stopWatch.stop();
- logger.debug("Time consumed for all checks: {}", msHumanReadable(stopWatch.getTime()));
+ if ( logger.isDebugEnabled() ) {
+ logger.debug("Time consumed for all checks: {}", msHumanReadable(stopWatch.getTime()));
+ }
+
+ // sort result
+ Collections.sort(results, new Comparator<HealthCheckExecutionResult>() {
+
+ @Override
+ public int compare(final HealthCheckExecutionResult arg0,
+ final HealthCheckExecutionResult arg1) {
+ return ((ExecutionResult)arg0).compareTo((ExecutionResult)arg1);
+ }
+ });
return results;
}