futures: api cleanup - removed final and nullable

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/95672d6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/95672d6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/95672d6c

Branch: refs/heads/ignite-383
Commit: 95672d6cfbd61173b82dc86811dec33cf657b9a6
Parents: 45b676a
Author: Yakov Zhdanov <yzhda...@gridgain.com>
Authored: Mon Mar 9 20:04:42 2015 +0300
Committer: Yakov Zhdanov <yzhda...@gridgain.com>
Committed: Mon Mar 9 20:04:42 2015 +0300

----------------------------------------------------------------------
 .../ignite/internal/IgniteInternalFuture.java   |  2 +-
 .../util/future/GridFinishedFuture.java         |  7 ++--
 .../internal/util/future/GridFutureAdapter.java | 42 ++++++++++----------
 .../internal/util/future/IgniteFutureImpl.java  |  8 ++--
 .../processors/schedule/ScheduleFutureImpl.java | 40 +++++++++----------
 5 files changed, 50 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/95672d6c/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
index 255a067..78d64a1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java
@@ -111,7 +111,7 @@ public interface IgniteInternalFuture<R> {
      *
      * @param lsnr Listener closure to register. If not provided - this method 
is no-op.
      */
-    public void listen(@Nullable IgniteInClosure<? super 
IgniteInternalFuture<R>> lsnr);
+    public void listen(IgniteInClosure<? super IgniteInternalFuture<R>> lsnr);
 
     /**
      * Make a chained future to convert result of this future (when complete) 
into a new format.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/95672d6c/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFinishedFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFinishedFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFinishedFuture.java
index 691743f..379f078 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFinishedFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFinishedFuture.java
@@ -118,9 +118,10 @@ public class GridFinishedFuture<T> implements 
IgniteInternalFuture<T> {
     }
 
     /** {@inheritDoc} */
-    @Override public void listen(final IgniteInClosure<? super 
IgniteInternalFuture<T>> lsnr) {
-        if (lsnr != null)
-            lsnr.apply(this);
+    @Override public void listen(IgniteInClosure<? super 
IgniteInternalFuture<T>> lsnr) {
+        assert lsnr != null;
+
+        lsnr.apply(this);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/95672d6c/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
index 5091655..89ef9fc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridFutureAdapter.java
@@ -163,32 +163,32 @@ public class GridFutureAdapter<R> extends 
AbstractQueuedSynchronizer implements
     }
 
     /** {@inheritDoc} */
-    @Override public void listen(@Nullable final IgniteInClosure<? super 
IgniteInternalFuture<R>> lsnr0) {
-        if (lsnr0 != null) {
-            boolean done = isDone();
-
-            if (!done) {
-                synchronized (this) {
-                    done = isDone(); // Double check.
-
-                    if (!done) {
-                        if (lsnr == null)
-                            lsnr = lsnr0;
-                        else if (lsnr instanceof ArrayListener)
-                            ((ArrayListener)lsnr).add(lsnr0);
-                        else {
-                            lsnr = (IgniteInClosure)new 
ArrayListener<IgniteInternalFuture>(lsnr, lsnr0);
-                        }
-
-                        return;
+    @Override public void listen(IgniteInClosure<? super 
IgniteInternalFuture<R>> lsnr0) {
+        assert lsnr0 != null;
+
+        boolean done = isDone();
+
+        if (!done) {
+            synchronized (this) {
+                done = isDone(); // Double check.
+
+                if (!done) {
+                    if (lsnr == null)
+                        lsnr = lsnr0;
+                    else if (lsnr instanceof ArrayListener)
+                        ((ArrayListener)lsnr).add(lsnr0);
+                    else {
+                        lsnr = (IgniteInClosure)new 
ArrayListener<IgniteInternalFuture>(lsnr, lsnr0);
                     }
+
+                    return;
                 }
             }
+        }
 
-            assert done;
+        assert done;
 
-            notifyListener(lsnr0);
-        }
+        notifyListener(lsnr0);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/95672d6c/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteFutureImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteFutureImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteFutureImpl.java
index 05858eb..ba3881f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteFutureImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/util/future/IgniteFutureImpl.java
@@ -23,7 +23,6 @@ import org.apache.ignite.internal.util.lang.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
-import org.jetbrains.annotations.*;
 
 import java.util.concurrent.*;
 
@@ -71,9 +70,10 @@ public class IgniteFutureImpl<V> implements IgniteFuture<V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void listen(@Nullable final IgniteInClosure<? super 
IgniteFuture<V>> lsnr) {
-        if (lsnr != null)
-            fut.listen(new InternalFutureListener(lsnr));
+    @Override public void listen(IgniteInClosure<? super IgniteFuture<V>> 
lsnr) {
+        A.notNull(lsnr, "lsnr");
+
+        fut.listen(new InternalFutureListener(lsnr));
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/95672d6c/modules/schedule/src/main/java/org/apache/ignite/internal/processors/schedule/ScheduleFutureImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/schedule/src/main/java/org/apache/ignite/internal/processors/schedule/ScheduleFutureImpl.java
 
b/modules/schedule/src/main/java/org/apache/ignite/internal/processors/schedule/ScheduleFutureImpl.java
index 5f21297..7c1aedd 100644
--- 
a/modules/schedule/src/main/java/org/apache/ignite/internal/processors/schedule/ScheduleFutureImpl.java
+++ 
b/modules/schedule/src/main/java/org/apache/ignite/internal/processors/schedule/ScheduleFutureImpl.java
@@ -544,33 +544,33 @@ class ScheduleFutureImpl<R> implements SchedulerFuture<R> 
{
     }
 
     /** {@inheritDoc} */
-    @Override public void listen(@Nullable IgniteInClosure<? super 
IgniteFuture<R>> lsnr) {
-        if (lsnr != null) {
-            Throwable err;
-            R res;
+    @Override public void listen(IgniteInClosure<? super IgniteFuture<R>> 
lsnr) {
+        A.notNull(lsnr, "lsnr");
 
-            boolean notifyLsnr = false;
+        Throwable err;
+        R res;
 
-            synchronized (mux) {
-                lsnrs.add(lsnr);
+        boolean notifyLsnr = false;
 
-                err = lastErr;
-                res = lastRes;
+        synchronized (mux) {
+            lsnrs.add(lsnr);
 
-                int cnt = stats.getExecutionCount();
+            err = lastErr;
+            res = lastRes;
 
-                if (cnt > 0 && lastLsnrExecCnt != cnt) {
-                    lastLsnrExecCnt = cnt;
+            int cnt = stats.getExecutionCount();
 
-                    notifyLsnr = true;
-                }
-            }
+            if (cnt > 0 && lastLsnrExecCnt != cnt) {
+                lastLsnrExecCnt = cnt;
 
-            // Avoid race condition in case if listener was added after
-            // first execution completed.
-            if (notifyLsnr)
-                notifyListener(lsnr, res, err);
+                notifyLsnr = true;
+            }
         }
+
+        // Avoid race condition in case if listener was added after
+        // first execution completed.
+        if (notifyLsnr)
+            notifyListener(lsnr, res, err);
     }
 
     /** {@inheritDoc} */
@@ -866,7 +866,7 @@ class ScheduleFutureImpl<R> implements SchedulerFuture<R> {
         }
 
         /** {@inheritDoc} */
-        @Override public void listen(@Nullable IgniteInClosure<? super 
IgniteFuture<R>> lsnr) {
+        @Override public void listen(IgniteInClosure<? super IgniteFuture<R>> 
lsnr) {
             ref.listen(lsnr);
         }
 

Reply via email to