You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2014/07/29 21:32:11 UTC

[16/31] git commit: include job information in the toString for tasks that don't have a display name, and don't set the display name to tasks, and give jobs useful toStrings in many places

include job information in the toString for tasks that don't have a display name, and don't set the display name to tasks, and give jobs useful toStrings in many places


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/40b63e21
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/40b63e21
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/40b63e21

Branch: refs/heads/master
Commit: 40b63e214dd9fd5abb8277e2f1beb6e64cdbc65e
Parents: d755ab4
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Jul 23 17:44:05 2014 -0700
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Jul 29 10:42:08 2014 -0400

----------------------------------------------------------------------
 .../internal/LocalSubscriptionManager.java      |  4 ++
 .../util/task/BasicExecutionManager.java        |  2 +-
 .../main/java/brooklyn/util/task/BasicTask.java | 14 +++----
 .../util/task/DynamicSequentialTask.java        |  2 +-
 .../util/task/SingleThreadedScheduler.java      | 12 +++---
 .../brooklyn/util/javalang/RunnableAdapter.java | 44 ++++++++++++++++++++
 .../java/brooklyn/util/GroovyJavaMethods.groovy |  5 ++-
 7 files changed, 66 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/core/src/main/java/brooklyn/management/internal/LocalSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/LocalSubscriptionManager.java b/core/src/main/java/brooklyn/management/internal/LocalSubscriptionManager.java
index a1d084a..0bd8578 100644
--- a/core/src/main/java/brooklyn/management/internal/LocalSubscriptionManager.java
+++ b/core/src/main/java/brooklyn/management/internal/LocalSubscriptionManager.java
@@ -180,6 +180,10 @@ public class LocalSubscriptionManager extends AbstractSubscriptionManager {
                     continue;
                 final Subscription sAtClosureCreation = s;
                 em.submit(mapOf("tag", s.subscriberExecutionManagerTag), new Runnable() {
+                    @Override
+                    public String toString() {
+                        return "LSM.publish("+event+")";
+                    }
                     public void run() {
                         sAtClosureCreation.listener.onEvent(event);
                     }});

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java b/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java
index 1a89501..18858ee 100644
--- a/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java
+++ b/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java
@@ -412,7 +412,7 @@ public class BasicExecutionManager implements ExecutionManager {
             }
             @Override
             public String toString() {
-                return "BasicExecutionManager.submitNewTask.Callable["+task+","+flags+"]";
+                return "BEM.call("+task+","+flags+")";
             }
         };
         

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/core/src/main/java/brooklyn/util/task/BasicTask.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/BasicTask.java b/core/src/main/java/brooklyn/util/task/BasicTask.java
index 8337edf..2e0da38 100644
--- a/core/src/main/java/brooklyn/util/task/BasicTask.java
+++ b/core/src/main/java/brooklyn/util/task/BasicTask.java
@@ -20,7 +20,6 @@ package brooklyn.util.task;
 
 import static brooklyn.util.JavaGroovyEquivalents.asString;
 import static brooklyn.util.JavaGroovyEquivalents.elvisString;
-import static brooklyn.util.JavaGroovyEquivalents.join;
 import groovy.lang.Closure;
 
 import java.io.PrintWriter;
@@ -117,8 +116,7 @@ public class BasicTask<T> implements TaskInternal<T> {
 
         description = elvisString(flags.remove("description"), "");
         String d = asString(flags.remove("displayName"));
-        if (d==null) d = join(tags, "-");
-        displayName = d;
+        displayName = (d==null ? "" : d);
     }
 
     public BasicTask(Runnable job) { this(GroovyJavaMethods.<T>callableFromRunnable(job)); }
@@ -144,10 +142,12 @@ public class BasicTask<T> implements TaskInternal<T> {
     }
 
     @Override
-    public String toString() { 
-        return "Task["+(displayName!=null && displayName.length()>0?displayName+
-                (tags!=null && !tags.isEmpty()?"":";")+" ":"")+
-                (tags!=null && !tags.isEmpty()?tags+"; ":"")+getId()+"]";
+    public String toString() {
+        // give display name plus id, or job and tags plus id; some jobs have been extended to include nice tostrings 
+        return "Task["+(Strings.isNonEmpty(displayName) ? displayName : 
+                job + 
+                (tags!=null && !tags.isEmpty() ? ";"+tags : "")) +
+                ":"+getId()+"]";
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/core/src/main/java/brooklyn/util/task/DynamicSequentialTask.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/DynamicSequentialTask.java b/core/src/main/java/brooklyn/util/task/DynamicSequentialTask.java
index 15ccb14..a17ffbe 100644
--- a/core/src/main/java/brooklyn/util/task/DynamicSequentialTask.java
+++ b/core/src/main/java/brooklyn/util/task/DynamicSequentialTask.java
@@ -367,7 +367,7 @@ public class DynamicSequentialTask<T> extends BasicTask<T> implements HasTaskChi
         
         @Override
         public String toString() {
-            return "DstJob:"+DynamicSequentialTask.this;
+            return "DstJob:"+DynamicSequentialTask.this.getId();
         }
 
         /** waits for this job to complete, or the given time to elapse */

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/core/src/main/java/brooklyn/util/task/SingleThreadedScheduler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/task/SingleThreadedScheduler.java b/core/src/main/java/brooklyn/util/task/SingleThreadedScheduler.java
index 4c28369..420002f 100644
--- a/core/src/main/java/brooklyn/util/task/SingleThreadedScheduler.java
+++ b/core/src/main/java/brooklyn/util/task/SingleThreadedScheduler.java
@@ -76,12 +76,7 @@ public class SingleThreadedScheduler implements TaskScheduler, CanSetName {
             return executeNow(c);
         } else {
             WrappingFuture<T> f = new WrappingFuture<T>();
-            order.add(new QueuedSubmission<T>(c, f) {
-                @Override
-                public String toString() {
-                    return "QueuedSubmission["+c+"]";
-                }
-            });
+            order.add(new QueuedSubmission<T>(c, f));
             int size = order.size();
             if (size>0 && (size == 50 || (size<=500 && (size%100)==0) || (size%1000)==0) && size!=lastSizeWarn) {
                 LOG.warn("{} is backing up, {} tasks queued", this, size);
@@ -133,6 +128,11 @@ public class SingleThreadedScheduler implements TaskScheduler, CanSetName {
             this.c = c;
             this.f = f;
         }
+        
+        @Override
+        public String toString() {
+            return "QueuedSubmission["+c+"]@"+Integer.toHexString(System.identityHashCode(this));
+        }
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/utils/common/src/main/java/brooklyn/util/javalang/RunnableAdapter.java
----------------------------------------------------------------------
diff --git a/utils/common/src/main/java/brooklyn/util/javalang/RunnableAdapter.java b/utils/common/src/main/java/brooklyn/util/javalang/RunnableAdapter.java
new file mode 100644
index 0000000..d61e84b
--- /dev/null
+++ b/utils/common/src/main/java/brooklyn/util/javalang/RunnableAdapter.java
@@ -0,0 +1,44 @@
+/*
+ * 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 brooklyn.util.javalang;
+
+import java.util.concurrent.Callable;
+
+public class RunnableAdapter<T> implements Callable<T> {
+    final Runnable task;
+    final T result;
+    
+    public RunnableAdapter(Runnable task, T result) {
+        this.task = task;
+        this.result = result;
+    }
+    
+    public T call() {
+        task.run();
+        return result;
+    }
+    
+    @Override
+    public String toString() {
+        if (result!=null)
+            return "RunnableAdapter["+task+(result!=null ? "->"+result : "")+"]";
+        else
+            return ""+task;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/40b63e21/utils/groovy/src/main/java/brooklyn/util/GroovyJavaMethods.groovy
----------------------------------------------------------------------
diff --git a/utils/groovy/src/main/java/brooklyn/util/GroovyJavaMethods.groovy b/utils/groovy/src/main/java/brooklyn/util/GroovyJavaMethods.groovy
index 5867bda..c34f72d 100644
--- a/utils/groovy/src/main/java/brooklyn/util/GroovyJavaMethods.groovy
+++ b/utils/groovy/src/main/java/brooklyn/util/GroovyJavaMethods.groovy
@@ -21,7 +21,8 @@ package brooklyn.util;
 import static brooklyn.util.GroovyJavaMethods.truth
 
 import java.util.concurrent.Callable
-import java.util.concurrent.Executors
+
+import brooklyn.util.javalang.RunnableAdapter
 
 import com.google.common.base.Function
 import com.google.common.base.Predicate
@@ -53,7 +54,7 @@ public class GroovyJavaMethods {
     }
 
     public static <T> Callable<T> callableFromRunnable(final Runnable job) {
-        return (job in Callable) ? callableFromClosure(job) : Executors.callable(job);
+        return (job in Callable) ? callableFromClosure(job) : new RunnableAdapter<Object>(job, null);
     }
 
     public static <T> Predicate<T> predicateFromClosure(final Closure<Boolean> job) {