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() {