Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tmf/org.eclipse.tracecompass.tmf.remote.core/src/org/eclipse/tracecompass/internal/tmf/remote/core/shell/CommandResult.java')
-rw-r--r--tmf/org.eclipse.tracecompass.tmf.remote.core/src/org/eclipse/tracecompass/internal/tmf/remote/core/shell/CommandResult.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/tmf/org.eclipse.tracecompass.tmf.remote.core/src/org/eclipse/tracecompass/internal/tmf/remote/core/shell/CommandResult.java b/tmf/org.eclipse.tracecompass.tmf.remote.core/src/org/eclipse/tracecompass/internal/tmf/remote/core/shell/CommandResult.java
new file mode 100644
index 0000000000..8bc9d4ab12
--- /dev/null
+++ b/tmf/org.eclipse.tracecompass.tmf.remote.core/src/org/eclipse/tracecompass/internal/tmf/remote/core/shell/CommandResult.java
@@ -0,0 +1,98 @@
+/**********************************************************************
+ * Copyright (c) 2012, 2015 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.tracecompass.internal.tmf.remote.core.shell;
+
+import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull;
+import static org.eclipse.tracecompass.common.core.NonNullUtils.nullToEmptyString;
+
+import java.util.List;
+
+import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.tracecompass.tmf.remote.core.shell.ICommandResult;
+
+import com.google.common.collect.ImmutableList;
+
+/**
+ * Class containing command result of remote command execution.
+ *
+ * @author Bernd Hufmann
+ */
+@NonNullByDefault
+public class CommandResult implements ICommandResult {
+
+ // ------------------------------------------------------------------------
+ // Attributes
+ // ------------------------------------------------------------------------
+ /** The result of the command. 0 if successful else > 0 */
+ private final int fResult;
+
+ /** The output as list of Strings. */
+ private final List<String> fOutput;
+
+ /** The error stream output as list of Strings. */
+ private final List<String> fErrorOutput;
+
+ // ------------------------------------------------------------------------
+ // Constructor
+ // ------------------------------------------------------------------------
+
+ /**
+ * Constructor
+ *
+ * @param result
+ * The result of the command
+ * @param output
+ * The output, as an array of strings
+ * @param errorOutput
+ * THe error output as an array of strings
+ */
+ public CommandResult(int result, String[] output, String[] errorOutput) {
+ fResult = result;
+ fOutput = checkNotNull(ImmutableList.copyOf(output));
+ fErrorOutput = checkNotNull(ImmutableList.copyOf(errorOutput));
+ }
+
+ // ------------------------------------------------------------------------
+ // Accessors
+ // ------------------------------------------------------------------------
+
+ @Override
+ public int getResult() {
+ return fResult;
+ }
+
+ @Override
+ public List<String> getOutput() {
+ return fOutput;
+ }
+
+ @Override
+ public List<String> getErrorOutput() {
+ return fErrorOutput;
+ }
+
+ @Override
+ public String toString() {
+ StringBuffer ret = new StringBuffer();
+ ret.append("Error Output:\n"); //$NON-NLS-1$
+ for (String string : fErrorOutput) {
+ ret.append(string).append("\n"); //$NON-NLS-1$
+ }
+ ret.append("Return Value: "); //$NON-NLS-1$
+ ret.append(fResult);
+ ret.append("\n"); //$NON-NLS-1$
+ for (String string : fOutput) {
+ ret.append(string).append("\n"); //$NON-NLS-1$
+ }
+ return nullToEmptyString(ret.toString());
+ }
+}

Back to the top