You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/08/24 14:05:12 UTC

[49/50] [abbrv] ignite git commit: Cleanup (4).

Cleanup (4).


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

Branch: refs/heads/ignite-2649
Commit: 739c69d1373b8d08e9d67124c4701be5e7aef226
Parents: 4f45986
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Aug 24 16:59:44 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Aug 24 16:59:44 2016 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/internal/IgnitionEx.java  | 54 ++---------------
 .../apache/ignite/internal/LocalGridName.java   | 46 ---------------
 .../internal/binary/BinaryReaderExImpl.java     | 12 +---
 .../internal/binary/BinaryWriterExImpl.java     | 12 +---
 .../ignite/internal/util/IgniteUtils.java       | 55 ++++++++++++++++-
 .../ignite/marshaller/MarshallerUtils.java      | 62 ++++----------------
 6 files changed, 76 insertions(+), 165 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/739c69d1/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 63d0aec..05cbd45 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -166,13 +166,6 @@ public class IgnitionEx {
     private static final Collection<IgnitionListener> lsnrs = new GridConcurrentHashSet<>(4);
 
     /** */
-    private static final ThreadLocal<LocalGridName> GRID_NAME_THREAD_LOC = new ThreadLocal<LocalGridName>() {
-        @Override protected LocalGridName initialValue() {
-            return new LocalGridNameImpl();
-        }
-    };
-
-    /** */
     private static ThreadLocal<Boolean> daemon = new ThreadLocal<Boolean>() {
         @Override protected Boolean initialValue() {
             return false;
@@ -1286,22 +1279,21 @@ public class IgnitionEx {
     }
 
     /**
-     * Gets a name of the grid from thread local config, which is owner of current thread. An Exception is thrown if
-     * current thread is not an {@link IgniteThread}.
+     * Gets a name of the grid from thread local config, which is owner of current thread.
      *
      * @return Grid instance related to current thread
      * @throws IllegalArgumentException Thrown to indicate, that current thread is not an {@link IgniteThread}.
      */
     public static IgniteKernal localIgnite() throws IllegalArgumentException {
-        final LocalGridName gridName = GRID_NAME_THREAD_LOC.get();
+        String gridName = U.getCurrentIgniteName();
 
-        if (gridName.isSet())
-            return gridx(gridName.getGridName());
+        if (U.isCurrentIgniteNameSet(gridName))
+            return gridx(gridName);
         else if (Thread.currentThread() instanceof IgniteThread)
             return gridx(((IgniteThread)Thread.currentThread()).getGridName());
         else
             throw new IllegalArgumentException("Ignite grid name thread local must be set or" +
-                    " this method should be accessed under " + IgniteThread.class.getName());
+                " this method should be accessed under " + IgniteThread.class.getName());
     }
 
     /**
@@ -1367,15 +1359,6 @@ public class IgnitionEx {
     }
 
     /**
-     * Get ignite config from thread local.
-     *
-     * @return Local grid name.
-     */
-    public static LocalGridName gridNameThreadLocal() {
-        return GRID_NAME_THREAD_LOC.get();
-    }
-
-    /**
      * Start context encapsulates all starting parameters.
      */
     private static final class GridStartContext {
@@ -2542,31 +2525,4 @@ public class IgnitionEx {
             }
         }
     }
-
-    /**
-     *
-     */
-    private static class LocalGridNameImpl implements LocalGridName {
-        /** Indicates whether value is initial or not. */
-        private boolean valSet;
-
-        /** Grid name. */
-        private String gridName;
-
-        /** {@inheritDoc} */
-        @Override public boolean isSet() {
-            return valSet;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String getGridName() {
-            return gridName;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void setGridName(final boolean set, final String gridName) {
-            this.valSet = set;
-            this.gridName = gridName;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/739c69d1/modules/core/src/main/java/org/apache/ignite/internal/LocalGridName.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/LocalGridName.java b/modules/core/src/main/java/org/apache/ignite/internal/LocalGridName.java
deleted file mode 100644
index 276091b..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/LocalGridName.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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 org.apache.ignite.internal;
-
-/**
- * Container holds local grid name and has indicator
- * that shows if value was initialized.
- */
-public interface LocalGridName {
-    /**
-     * Indicates whether value was set.
-     *
-     * @return {@code True} if value was set.
-     */
-    public boolean isSet();
-
-    /**
-     * Get grid name.
-     *
-     * @return Grid name.
-     */
-    public String getGridName();
-
-    /**
-     * Set grid name and set flag.
-     *
-     * @param set {@code True} if value is not initial.
-     * @param gridName Grid name.
-     */
-    public void setGridName(boolean set, String gridName);
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/739c69d1/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
index 47df697..3481ca3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryReaderExImpl.java
@@ -33,9 +33,8 @@ import org.apache.ignite.binary.BinaryObject;
 import org.apache.ignite.binary.BinaryObjectException;
 import org.apache.ignite.binary.BinaryRawReader;
 import org.apache.ignite.binary.BinaryReader;
-import org.apache.ignite.internal.LocalGridName;
-import org.apache.ignite.internal.IgnitionEx;
 import org.apache.ignite.internal.binary.streams.BinaryInputStream;
+import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.internal.util.typedef.internal.SB;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -1422,18 +1421,13 @@ public class BinaryReaderExImpl implements BinaryReader, BinaryRawReaderEx, Bina
      * @throws BinaryObjectException If failed.
      */
     @Nullable Object deserialize() throws BinaryObjectException {
-        final LocalGridName gridName = IgnitionEx.gridNameThreadLocal();
-
-        final String gridNameStr = gridName.getGridName();
-        final boolean init = gridName.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(ctx.configuration().getGridName());
 
         try {
-            gridName.setGridName(true, ctx.configuration().getGridName());
-
             return deserialize0();
         }
         finally {
-            gridName.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/739c69d1/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
index 675b2d9..b3963d8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/binary/BinaryWriterExImpl.java
@@ -33,10 +33,9 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.binary.BinaryObjectException;
 import org.apache.ignite.binary.BinaryRawWriter;
 import org.apache.ignite.binary.BinaryWriter;
-import org.apache.ignite.internal.LocalGridName;
-import org.apache.ignite.internal.IgnitionEx;
 import org.apache.ignite.internal.binary.streams.BinaryHeapOutputStream;
 import org.apache.ignite.internal.binary.streams.BinaryOutputStream;
+import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.marshaller.MarshallerUtils;
 import org.jetbrains.annotations.Nullable;
@@ -141,18 +140,13 @@ public class BinaryWriterExImpl implements BinaryWriter, BinaryRawWriterEx, Obje
      * @throws org.apache.ignite.binary.BinaryObjectException In case of error.
      */
     void marshal(Object obj, boolean enableReplace) throws BinaryObjectException {
-        final LocalGridName gridName = IgnitionEx.gridNameThreadLocal();
-
-        final String gridNameStr = gridName.getGridName();
-        final boolean init = gridName.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(ctx.configuration().getGridName());
 
         try {
-            gridName.setGridName(true, ctx.configuration().getGridName());
-
             marshal0(obj, enableReplace);
         }
         finally {
-            gridName.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/739c69d1/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
index 08c9219..3ddc0f7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
@@ -250,7 +250,7 @@ import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_MACS;
 /**
  * Collection of utility methods used throughout the system.
  */
-@SuppressWarnings({"UnusedReturnValue", "UnnecessaryFullyQualifiedName"})
+@SuppressWarnings({"UnusedReturnValue", "UnnecessaryFullyQualifiedName", "RedundantStringConstructorCall"})
 public abstract class IgniteUtils {
     /** Unsafe. */
     private static final Unsafe UNSAFE = GridUnsafe.unsafe();
@@ -489,6 +489,16 @@ public abstract class IgniteUtils {
     /** Object.toString() */
     private static Method toStringMtd;
 
+    /** Empty local Ignite name. */
+    private static final String CUR_IGNITE_NAME_EMPTY = new String();
+
+    /** Local Ignite name thread local. */
+    private static ThreadLocal<String> LOC_IGNITE_NAME = new ThreadLocal<String>() {
+        @Override protected String initialValue() {
+            return CUR_IGNITE_NAME_EMPTY;
+        }
+    };
+
     /**
      * Initializes enterprise check.
      */
@@ -9555,4 +9565,47 @@ public abstract class IgniteUtils {
     public static boolean isToStringMethod(Method mtd) {
         return toStringMtd.equals(mtd);
     }
+
+    /**
+     * Get current Ignite name.
+     *
+     * @return Current Ignite name.
+     */
+    @Nullable public static String getCurrentIgniteName() {
+        return LOC_IGNITE_NAME.get();
+    }
+
+    /**
+     * Check if current Ignite name is set.
+     *
+     * @param name Name to check.
+     * @return {@code True} if set.
+     */
+    @SuppressWarnings("StringEquality")
+    public static boolean isCurrentIgniteNameSet(@Nullable String name) {
+        return name != CUR_IGNITE_NAME_EMPTY;
+    }
+
+    /**
+     * Set current Ignite name.
+     *
+     * @param newName New name.
+     * @return Old name.
+     */
+    @Nullable public static String setCurrentIgniteName(@Nullable String newName) {
+        String oldName = LOC_IGNITE_NAME.get();
+
+        LOC_IGNITE_NAME.set(newName);
+
+        return oldName;
+    }
+
+    /**
+     * Restore current Ignite name.
+     *
+     * @param oldName Old name.
+     */
+    public static void restoreCurrentIgniteName(@Nullable String oldName) {
+        LOC_IGNITE_NAME.set(oldName);
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/739c69d1/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerUtils.java b/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerUtils.java
index 6e2dab3..0775622 100644
--- a/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/marshaller/MarshallerUtils.java
@@ -19,8 +19,7 @@ package org.apache.ignite.marshaller;
 
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.GridKernalContext;
-import org.apache.ignite.internal.IgnitionEx;
-import org.apache.ignite.internal.LocalGridName;
+import org.apache.ignite.internal.util.IgniteUtils;
 import org.jetbrains.annotations.Nullable;
 
 import java.io.InputStream;
@@ -40,18 +39,13 @@ public class MarshallerUtils {
      * @throws IgniteCheckedException If failed.
      */
     public static byte[] marshal(String name, Marshaller marsh, @Nullable Object obj) throws IgniteCheckedException {
-        LocalGridName gridNameTl = gridName();
-
-        String gridNameStr = gridNameTl.getGridName();
-        boolean init = gridNameTl.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(name);
 
         try {
-            gridNameTl.setGridName(true, name);
-
             return marsh.marshal(obj);
         }
         finally {
-            gridNameTl.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 
@@ -66,18 +60,13 @@ public class MarshallerUtils {
      */
     public static void marshal(String name, Marshaller marshaller, @Nullable Object obj, OutputStream out)
         throws IgniteCheckedException {
-        LocalGridName gridNameTl = gridName();
-
-        String gridNameStr = gridNameTl.getGridName();
-        boolean init = gridNameTl.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(name);
 
         try {
-            gridNameTl.setGridName(true, name);
-
             marshaller.marshal(obj, out);
         }
         finally {
-            gridNameTl.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 
@@ -93,13 +82,6 @@ public class MarshallerUtils {
         return marshal(ctx.gridName(), ctx.config().getMarshaller(), obj);
     }
 
-
-
-
-
-
-
-
     /**
      * Unmarshal object and set grid name thread local.
      *
@@ -112,18 +94,13 @@ public class MarshallerUtils {
      */
     public static <T> T unmarshal(String name, Marshaller marsh, byte[] arr, @Nullable ClassLoader ldr)
         throws IgniteCheckedException {
-        LocalGridName gridNameTl = gridName();
-
-        String gridNameStr = gridNameTl.getGridName();
-        boolean init = gridNameTl.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(name);
 
         try {
-            gridNameTl.setGridName(true, name);
-
             return marsh.unmarshal(arr, ldr);
         }
         finally {
-            gridNameTl.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 
@@ -139,18 +116,13 @@ public class MarshallerUtils {
      */
     public static <T> T unmarshal(String name, Marshaller marsh, InputStream in, @Nullable ClassLoader ldr)
         throws IgniteCheckedException {
-        LocalGridName gridNameTl = gridName();
-
-        String gridNameStr = gridNameTl.getGridName();
-        boolean init = gridNameTl.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(name);
 
         try {
-            gridNameTl.setGridName(true, name);
-
             return marsh.unmarshal(in, ldr);
         }
         finally {
-            gridNameTl.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 
@@ -166,29 +138,17 @@ public class MarshallerUtils {
      */
     public static <T> T marshalUnmarshal(String name, Marshaller marsh, T obj, @Nullable ClassLoader clsLdr)
         throws IgniteCheckedException {
-        LocalGridName gridNameTl = gridName();
-
-        String gridNameStr = gridNameTl.getGridName();
-        boolean init = gridNameTl.isSet();
+        String oldName = IgniteUtils.setCurrentIgniteName(name);
 
         try {
-            gridNameTl.setGridName(true, name);
-
             return marsh.unmarshal(marsh.marshal(obj), clsLdr);
         }
         finally {
-            gridNameTl.setGridName(init, gridNameStr);
+            IgniteUtils.restoreCurrentIgniteName(oldName);
         }
     }
 
     /**
-     * @return Grid name thread local.
-     */
-    private static LocalGridName gridName() {
-        return IgnitionEx.gridNameThreadLocal();
-    }
-
-    /**
      * Private constructor.
      */
     private MarshallerUtils() {