You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by le...@apache.org on 2020/07/07 09:29:18 UTC
[incubator-dolphinscheduler] 03/05: fix Permission denied if not
found dolphinscheder-env.sh on 1.3.1 (#3128)
This is an automated email from the ASF dual-hosted git repository.
leonbao pushed a commit to branch dev-131
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
commit f689f2a3a6235895c3760ed413484eda11f176ff
Author: dailidong <da...@gmail.com>
AuthorDate: Sat Jul 4 15:49:46 2020 +0800
fix Permission denied if not found dolphinscheder-env.sh on 1.3.1 (#3128)
* fix Permission denied if not found dolphinscheder-env.sh
* update some comments on method
---
.../common/utils/Preconditions.java | 249 ++-------------------
.../common/utils/PreconditionsTest.java | 115 +---------
.../remote/exceptions/RemotingException.java | 55 +----
.../remote/future/ResponseFuture.java | 30 +--
4 files changed, 50 insertions(+), 399 deletions(-)
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/Preconditions.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/Preconditions.java
index 32fd298..1fe40b9 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/Preconditions.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/Preconditions.java
@@ -18,266 +18,55 @@ package org.apache.dolphinscheduler.common.utils;
/**
- * A collection of static utility methods to validate input.
+ * utility methods for validating input
*
- * <p>This class is modelled after Google Guava's Preconditions class, and partly takes code
- * from that class. We add this code to here base in order to reduce external
- * dependencies.
*/
public final class Preconditions {
- // ------------------------------------------------------------------------
- // Null checks
- // ------------------------------------------------------------------------
+ private Preconditions() {}
/**
- * Ensures that the given object reference is not null.
- * Upon violation, a {@code NullPointerException} with no message is thrown.
+ * if obj is null will throw NPE
*
- * @param reference reference
+ * @param obj obj
* @param <T> T
* @return T
*/
- public static <T> T checkNotNull(T reference) {
- if (reference == null) {
+ public static <T> T checkNotNull(T obj) {
+ if (obj == null) {
throw new NullPointerException();
}
- return reference;
+ return obj;
}
/**
- * Ensures that the given object reference is not null.
- * Upon violation, a {@code NullPointerException} with the given message is thrown.
- * @param reference reference
- * @param errorMessage errorMessage
+ * if obj is null will throw NullPointerException with error message
+ * @param obj obj
+ * @param errorMsg error message
* @param <T> T
* @return T
*/
- public static <T> T checkNotNull(T reference, String errorMessage) {
- if (reference == null) {
- throw new NullPointerException(String.valueOf(errorMessage));
- }
- return reference;
- }
-
- /**
- * Ensures that the given object reference is not null.
- * Upon violation, a {@code NullPointerException} with the given message is thrown.
- *
- * <p>The error message is constructed from a template and an arguments array, after
- * a similar fashion as {@link String#format(String, Object...)}, but supporting only
- * {@code %s} as a placeholder.
- *
- * @param reference The object reference
- * @param errorMessageTemplate The message template for the {@code NullPointerException}
- * that is thrown if the check fails. The template substitutes its
- * {@code %s} placeholders with the error message arguments.
- * @param errorMessageArgs The arguments for the error message, to be inserted into the
- * message template for the {@code %s} placeholders.
- *
- * @param <T> T
- * @return The object reference itself (generically typed).
- */
- public static <T> T checkNotNull(T reference,
- String errorMessageTemplate,
- Object... errorMessageArgs) {
-
- if (reference == null) {
- throw new NullPointerException(format(errorMessageTemplate, errorMessageArgs));
+ public static <T> T checkNotNull(T obj, String errorMsg) {
+ if (obj == null) {
+ throw new NullPointerException(errorMsg);
}
- return reference;
+ return obj;
}
- // ------------------------------------------------------------------------
- // Boolean Condition Checking (Argument)
- // ------------------------------------------------------------------------
/**
- * Checks the given boolean condition, and throws an {@code IllegalArgumentException} if
- * the condition is not met (evaluates to {@code false}).
+ * if condition is false will throw an IllegalArgumentException with the given message
*
- * @param condition The condition to check
+ * @param condition condition
+ * @param errorMsg error message
*
* @throws IllegalArgumentException Thrown, if the condition is violated.
*/
- public static void checkArgument(boolean condition) {
- if (!condition) {
- throw new IllegalArgumentException();
- }
- }
-
- /**
- * Checks the given boolean condition, and throws an {@code IllegalArgumentException} if
- * the condition is not met (evaluates to {@code false}). The exception will have the
- * given error message.
- *
- * @param condition The condition to check
- * @param errorMessage The message for the {@code IllegalArgumentException} that is thrown if the check fails.
- *
- * @throws IllegalArgumentException Thrown, if the condition is violated.
- */
- public static void checkArgument(boolean condition, Object errorMessage) {
- if (!condition) {
- throw new IllegalArgumentException(String.valueOf(errorMessage));
- }
- }
-
- /**
- * Checks the given boolean condition, and throws an {@code IllegalArgumentException} if
- * the condition is not met (evaluates to {@code false}).
- *
- * @param condition The condition to check
- * @param errorMessageTemplate The message template for the {@code IllegalArgumentException}
- * that is thrown if the check fails. The template substitutes its
- * {@code %s} placeholders with the error message arguments.
- * @param errorMessageArgs The arguments for the error message, to be inserted into the
- * message template for the {@code %s} placeholders.
- *
- * @throws IllegalArgumentException Thrown, if the condition is violated.
- */
- public static void checkArgument(boolean condition,
- String errorMessageTemplate,
- Object... errorMessageArgs) {
-
- if (!condition) {
- throw new IllegalArgumentException(format(errorMessageTemplate, errorMessageArgs));
- }
- }
-
- // ------------------------------------------------------------------------
- // Boolean Condition Checking (State)
- // ------------------------------------------------------------------------
-
- /**
- * Checks the given boolean condition, and throws an {@code IllegalStateException} if
- * the condition is not met (evaluates to {@code false}).
- *
- * @param condition The condition to check
- *
- * @throws IllegalStateException Thrown, if the condition is violated.
- */
- public static void checkState(boolean condition) {
- if (!condition) {
- throw new IllegalStateException();
- }
- }
-
- /**
- * Checks the given boolean condition, and throws an {@code IllegalStateException} if
- * the condition is not met (evaluates to {@code false}). The exception will have the
- * given error message.
- *
- * @param condition The condition to check
- * @param errorMessage The message for the {@code IllegalStateException} that is thrown if the check fails.
- *
- * @throws IllegalStateException Thrown, if the condition is violated.
- */
- public static void checkState(boolean condition, Object errorMessage) {
+ public static void checkArgument(boolean condition, Object errorMsg) {
if (!condition) {
- throw new IllegalStateException(String.valueOf(errorMessage));
+ throw new IllegalArgumentException(String.valueOf(errorMsg));
}
}
- /**
- * Checks the given boolean condition, and throws an {@code IllegalStateException} if
- * the condition is not met (evaluates to {@code false}).
- *
- * @param condition The condition to check
- * @param errorMessageTemplate The message template for the {@code IllegalStateException}
- * that is thrown if the check fails. The template substitutes its
- * {@code %s} placeholders with the error message arguments.
- * @param errorMessageArgs The arguments for the error message, to be inserted into the
- * message template for the {@code %s} placeholders.
- *
- * @throws IllegalStateException Thrown, if the condition is violated.
- */
- public static void checkState(boolean condition,
- String errorMessageTemplate,
- Object... errorMessageArgs) {
-
- if (!condition) {
- throw new IllegalStateException(format(errorMessageTemplate, errorMessageArgs));
- }
- }
-
- /**
- * Ensures that the given index is valid for an array, list or string of the given size.
- *
- * @param index index to check
- * @param size size of the array, list or string
- *
- * @throws IllegalArgumentException Thrown, if size is negative.
- * @throws IndexOutOfBoundsException Thrown, if the index negative or greater than or equal to size
- */
- public static void checkElementIndex(int index, int size) {
- checkArgument(size >= 0, "Size was negative.");
- if (index < 0 || index >= size) {
- throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
- }
- }
- /**
- * Ensures that the given index is valid for an array, list or string of the given size.
- *
- * @param index index to check
- * @param size size of the array, list or string
- * @param errorMessage The message for the {@code IndexOutOfBoundsException} that is thrown if the check fails.
- *
- * @throws IllegalArgumentException Thrown, if size is negative.
- * @throws IndexOutOfBoundsException Thrown, if the index negative or greater than or equal to size
- */
- public static void checkElementIndex(int index, int size, String errorMessage) {
- checkArgument(size >= 0, "Size was negative.");
- if (index < 0 || index >= size) {
- throw new IndexOutOfBoundsException(String.valueOf(errorMessage) + " Index: " + index + ", Size: " + size);
- }
- }
-
- // ------------------------------------------------------------------------
- // Utilities
- // ------------------------------------------------------------------------
-
- /**
- * A simplified formatting method. Similar to {@link String#format(String, Object...)}, but
- * with lower overhead (only String parameters, no locale, no format validation).
- *
- * <p>This method is taken quasi verbatim from the Guava Preconditions class.
- */
- private static String format( String template, Object... args) {
- final int numArgs = args == null ? 0 : args.length;
- template = String.valueOf(template); // null -> "null"
-
- // start substituting the arguments into the '%s' placeholders
- StringBuilder builder = new StringBuilder(template.length() + 16 * numArgs);
- int templateStart = 0;
- int i = 0;
- while (i < numArgs) {
- int placeholderStart = template.indexOf("%s", templateStart);
- if (placeholderStart == -1) {
- break;
- }
- builder.append(template.substring(templateStart, placeholderStart));
- builder.append(args[i++]);
- templateStart = placeholderStart + 2;
- }
- builder.append(template.substring(templateStart));
-
- // if we run out of placeholders, append the extra args in square braces
- if (i < numArgs) {
- builder.append(" [");
- builder.append(args[i++]);
- while (i < numArgs) {
- builder.append(", ");
- builder.append(args[i++]);
- }
- builder.append(']');
- }
-
- return builder.toString();
- }
-
- // ------------------------------------------------------------------------
-
- /** Private constructor to prevent instantiation. */
- private Preconditions() {}
}
diff --git a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/PreconditionsTest.java b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/PreconditionsTest.java
index 47b24bb..3bf13aa 100644
--- a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/PreconditionsTest.java
+++ b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/PreconditionsTest.java
@@ -33,11 +33,9 @@ public class PreconditionsTest {
*/
@Test
public void testCheckNotNull() throws Exception {
- String testReference = "test reference";
- //test reference is not null
+ String testReference = "test object";
Assert.assertEquals(testReference, Preconditions.checkNotNull(testReference));
- Assert.assertEquals(testReference,Preconditions.checkNotNull(testReference,"reference is null"));
- Assert.assertEquals(testReference,Preconditions.checkNotNull(testReference,"%s is null",testReference));
+ Assert.assertEquals(testReference,Preconditions.checkNotNull(testReference,"object is null"));
//test reference is null
try {
@@ -51,120 +49,19 @@ public class PreconditionsTest {
} catch (NullPointerException ex) {
assertNull(ex.getMessage());
}
- //test reference is null ,expect contains errorMessage
- try {
- Preconditions.checkNotNull(null,"reference is null");
- } catch (NullPointerException ex) {
- assertThat(ex.getMessage(), containsString("reference is null"));
- }
-
- try {
- Preconditions.checkNotNull("","reference is null");
- } catch (NullPointerException ex) {
- assertThat(ex.getMessage(), containsString("reference is null"));
- }
- //test reference is null ,expect contains errorMessageTemplate and errorMessageArgs
try {
- Preconditions.checkNotNull(null,"%s is null",testReference);
+ Preconditions.checkNotNull(null,"object is null");
} catch (NullPointerException ex) {
- assertThat(ex.getMessage(), containsString(testReference + " is null"));
+ assertThat(ex.getMessage(), containsString("object is null"));
}
try {
- Preconditions.checkNotNull("","%s is null",testReference);
+ Preconditions.checkNotNull("","object is null");
} catch (NullPointerException ex) {
- assertThat(ex.getMessage(), containsString(testReference + " is null"));
- }
- }
-
- /**
- * Test checkArgument
- */
- @Test
- public void testCheckArgument() throws Exception {
-
- int argument = 100;
- //boolean condition is true
- Preconditions.checkArgument(argument > 0 && argument < 200);
-
- //boolean condition is false
- try {
- Preconditions.checkArgument(argument > 0 && argument < 50);
- } catch (IllegalArgumentException ex) {
- assertNull(ex.getMessage());
- }
-
- //boolean condition is false ,expect contains errorMessage
- try {
- Preconditions.checkArgument(argument > 300, "argument is error");
- } catch (IllegalArgumentException ex) {
- assertThat(ex.getMessage(), containsString("argument is error"));
- }
-
- //boolean condition is false,expect contains errorMessageTemplate and errorMessageArgs
- try {
- Preconditions.checkArgument(argument > 0 && argument < 99, "argument %s is error",argument);
- } catch (IllegalArgumentException ex) {
- assertThat(ex.getMessage(), containsString( "argument " + argument + " is error"));
- }
- }
-
- /**
- * Test checkState
- */
- @Test
- public void testCheckState() throws Exception {
- int state = 1;
- //boolean condition is true
- Preconditions.checkState(state == 1);
- Preconditions.checkState(state > -1);
-
- //boolean condition is false
- try {
- Preconditions.checkState(state > 2);
- } catch (IllegalStateException ex) {
- assertNull(ex.getMessage());
- }
-
- //boolean condition is false ,expect contains errorMessage
- try {
- Preconditions.checkState(state < 1, "state is error");
- } catch (IllegalStateException ex) {
- assertThat(ex.getMessage(), containsString("state is error"));
+ assertThat(ex.getMessage(), containsString("object is null"));
}
- //boolean condition is false,expect contains errorMessageTemplate and errorMessageArgs
- try {
- Preconditions.checkState(state < -1 , "state %s is error",state);
- } catch (IllegalStateException ex) {
- assertThat(ex.getMessage(), containsString( "state " + state + " is error"));
- }
}
- /**
- * Test checkElementIndex
- */
- @Test
- public void testCheckElementIndex() throws Exception {
- int index = 2;
- int size = 30;
-
- //boolean condition is true
- Preconditions.checkElementIndex(index, size);
-
- //boolean condition is false
- try {
- Preconditions.checkElementIndex(-1, 10);
- } catch (IndexOutOfBoundsException ex) {
- assertThat(ex.getMessage(), containsString("Index: -1, Size: 10"));
- }
-
- //boolean condition is false ,expect contains errorMessage
- try {
- Preconditions.checkElementIndex(100, 50, "index is greater than size");
- } catch (IndexOutOfBoundsException ex) {
- assertThat(ex.getMessage(), containsString("index is greater than size Index: 100, Size: 50"));
- }
- }
}
diff --git a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/exceptions/RemotingException.java b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/exceptions/RemotingException.java
index 29d48db..d774dc8 100644
--- a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/exceptions/RemotingException.java
+++ b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/exceptions/RemotingException.java
@@ -26,69 +26,34 @@ public class RemotingException extends Exception {
super();
}
- /** Constructs a new runtime exception with the specified detail message.
- * The cause is not initialized, and may subsequently be initialized by a
- * call to {@link #initCause}.
+ /**
+ * Construct a new runtime exception with the detail message
*
- * @param message the detail message. The detail message is saved for
- * later retrieval by the {@link #getMessage()} method.
+ * @param message detail message
*/
public RemotingException(String message) {
super(message);
}
/**
- * Constructs a new runtime exception with the specified detail message and
- * cause. <p>Note that the detail message associated with
- * {@code cause} is <i>not</i> automatically incorporated in
- * this runtime exception's detail message.
+ * Construct a new runtime exception with the detail message and cause
*
- * @param message the detail message (which is saved for later retrieval
- * by the {@link #getMessage()} method).
- * @param cause the cause (which is saved for later retrieval by the
- * {@link #getCause()} method). (A <tt>null</tt> value is
- * permitted, and indicates that the cause is nonexistent or
- * unknown.)
+ * @param message the detail message
+ * @param cause the cause
* @since 1.4
*/
public RemotingException(String message, Throwable cause) {
super(message, cause);
}
- /** Constructs a new runtime exception with the specified cause and a
- * detail message of <tt>(cause==null ? null : cause.toString())</tt>
- * (which typically contains the class and detail message of
- * <tt>cause</tt>). This constructor is useful for runtime exceptions
- * that are little more than wrappers for other throwables.
+ /**
+ * Construct a new runtime exception with throwable
*
- * @param cause the cause (which is saved for later retrieval by the
- * {@link #getCause()} method). (A <tt>null</tt> value is
- * permitted, and indicates that the cause is nonexistent or
- * unknown.)
- * @since 1.4
+ * @param cause the cause
*/
public RemotingException(Throwable cause) {
super(cause);
}
- /**
- * Constructs a new runtime exception with the specified detail
- * message, cause, suppression enabled or disabled, and writable
- * stack trace enabled or disabled.
- *
- * @param message the detail message.
- * @param cause the cause. (A {@code null} value is permitted,
- * and indicates that the cause is nonexistent or unknown.)
- * @param enableSuppression whether or not suppression is enabled
- * or disabled
- * @param writableStackTrace whether or not the stack trace should
- * be writable
- *
- * @since 1.7
- */
- protected RemotingException(String message, Throwable cause,
- boolean enableSuppression,
- boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- }
+
}
diff --git a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
index 2e3954f..bbb32c7 100644
--- a/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
+++ b/dolphinscheduler-remote/src/main/java/org/apache/dolphinscheduler/remote/future/ResponseFuture.java
@@ -170,21 +170,6 @@ public class ResponseFuture {
}
}
- @Override
- public String toString() {
- return "ResponseFuture{" +
- "opaque=" + opaque +
- ", timeoutMillis=" + timeoutMillis +
- ", invokeCallback=" + invokeCallback +
- ", releaseSemaphore=" + releaseSemaphore +
- ", latch=" + latch +
- ", beginTimestamp=" + beginTimestamp +
- ", responseCommand=" + responseCommand +
- ", sendOk=" + sendOk +
- ", cause=" + cause +
- '}';
- }
-
/**
* scan future table
*/
@@ -209,4 +194,19 @@ public class ResponseFuture {
}
}
}
+
+ @Override
+ public String toString() {
+ return "ResponseFuture{" +
+ "opaque=" + opaque +
+ ", timeoutMillis=" + timeoutMillis +
+ ", invokeCallback=" + invokeCallback +
+ ", releaseSemaphore=" + releaseSemaphore +
+ ", latch=" + latch +
+ ", beginTimestamp=" + beginTimestamp +
+ ", responseCommand=" + responseCommand +
+ ", sendOk=" + sendOk +
+ ", cause=" + cause +
+ '}';
+ }
}