org.jclouds.scriptbuilder.domain
Class Statements

java.lang.Object
  extended by org.jclouds.scriptbuilder.domain.Statements

public class Statements
extends Object

Statements used in shell scripts.


Constructor Summary
Statements()
           
 
Method Summary
static Statement appendFile(String path, Iterable<String> lines)
           
static Statement appendFile(String path, Iterable<String> lines, String delimiter)
           
static Statement appendFile(String path, String line, String delimiter)
           
static Statement call(String function, String... args)
           
static Statement createOrOverwriteFile(String path, Iterable<String> lines)
           
static Statement createOrOverwriteFile(String path, Iterable<String> lines, String delimiter)
           
static CreateRunScript createRunScript(String instanceName, Iterable<String> exports, String pwd, Iterable<Statement> statements)
           
static Statement exec(String portableStatement)
          interprets and adds a newline to the statement
static Statement extractTargzAndFlattenIntoDirectory(URI tgz, String dest)
          like extractTargzIntoDirectory(URI, String) except that it flattens the first directory in the archive For example, apache-maven-3.0.4-bin.tar.gz normally extracts directories like ./apache-maven-3.0.4/bin.
static Statement extractTargzIntoDirectory(String method, URI endpoint, com.google.common.collect.Multimap<String,String> headers, String directory)
          untar, ungzip the data received from the request parameters.
static Statement extractTargzIntoDirectory(URI targz, String directory)
           
static Statement extractZipIntoDirectory(String method, URI endpoint, com.google.common.collect.Multimap<String,String> headers, String directory)
          unzip the data received from the request parameters.
static Statement findPid(String args)
          Stores the pid into the variable FOUND_PID if successful.
static Statement forget(String instanceName, String script, String logDir)
          Runs the script in a way that it can be matched later with findPid(java.lang.String)
static Statement interpret(String... portableStatements)
          statement can have multiple newlines, note you should use lf to be portable
static Statement kill()
          Kills the pid and subprocesses related to the variable FOUND_PID if set.
static Statement literal(String literalStatement)
          sends statement only appending a newline
static Statement newStatementList(Statement... statements)
           
static Statement pipeHttpResponseToBash(String method, URI endpoint, com.google.common.collect.Multimap<String,String> headers)
          exec the data received from the request parameters.
static Statement rm(String path)
           
static Statement saveHttpResponseTo(URI source, String dir, String file)
           
static Statement switchArg(int arg, Map<String,Statement> valueToActions)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Statements

public Statements()
Method Detail

newStatementList

public static Statement newStatementList(Statement... statements)

switchArg

public static Statement switchArg(int arg,
                                  Map<String,Statement> valueToActions)

rm

public static Statement rm(String path)

call

public static Statement call(String function,
                             String... args)

appendFile

public static Statement appendFile(String path,
                                   String line,
                                   String delimiter)

appendFile

public static Statement appendFile(String path,
                                   Iterable<String> lines)

appendFile

public static Statement appendFile(String path,
                                   Iterable<String> lines,
                                   String delimiter)

createOrOverwriteFile

public static Statement createOrOverwriteFile(String path,
                                              Iterable<String> lines)

createOrOverwriteFile

public static Statement createOrOverwriteFile(String path,
                                              Iterable<String> lines,
                                              String delimiter)

createRunScript

public static CreateRunScript createRunScript(String instanceName,
                                              Iterable<String> exports,
                                              String pwd,
                                              Iterable<Statement> statements)
Parameters:
exports - variable names to export in UPPER_UNDERSCORE case format

findPid

public static Statement findPid(String args)
Stores the pid into the variable FOUND_PID if successful.

Parameters:
args - - what to search for in the process tree.

forget

public static Statement forget(String instanceName,
                               String script,
                               String logDir)
Runs the script in a way that it can be matched later with findPid(java.lang.String)

Parameters:
instanceName - - what to match the process on
script - - what to run in the background
logDir - - where to write the following logs:
  1. stdout.log
  2. stderr.log

kill

public static Statement kill()
Kills the pid and subprocesses related to the variable FOUND_PID if set.

See Also:
findPid(java.lang.String)

interpret

public static Statement interpret(String... portableStatements)
statement can have multiple newlines, note you should use lf to be portable

See Also:
ShellToken

literal

public static Statement literal(String literalStatement)
sends statement only appending a newline


exec

public static Statement exec(String portableStatement)
interprets and adds a newline to the statement


extractTargzIntoDirectory

public static Statement extractTargzIntoDirectory(String method,
                                                  URI endpoint,
                                                  com.google.common.collect.Multimap<String,String> headers,
                                                  String directory)
untar, ungzip the data received from the request parameters.

Parameters:
method - http method: ex GET
endpoint - uri corresponding to the request
headers - request headers to send
directory -

extractTargzAndFlattenIntoDirectory

public static Statement extractTargzAndFlattenIntoDirectory(URI tgz,
                                                            String dest)
like extractTargzIntoDirectory(URI, String) except that it flattens the first directory in the archive For example, apache-maven-3.0.4-bin.tar.gz normally extracts directories like ./apache-maven-3.0.4/bin. This command eliminates the intermediate directory, in the example ./apache-maven-3.0.4/

Parameters:
tgz - remote ref to download
dest - path where the files in the intermediate directory will end

extractTargzIntoDirectory

public static Statement extractTargzIntoDirectory(URI targz,
                                                  String directory)

extractZipIntoDirectory

public static Statement extractZipIntoDirectory(String method,
                                                URI endpoint,
                                                com.google.common.collect.Multimap<String,String> headers,
                                                String directory)
unzip the data received from the request parameters.

Parameters:
method - http method: ex GET
endpoint - uri corresponding to the request
headers - request headers to send
directory -

saveHttpResponseTo

public static Statement saveHttpResponseTo(URI source,
                                           String dir,
                                           String file)

pipeHttpResponseToBash

public static Statement pipeHttpResponseToBash(String method,
                                               URI endpoint,
                                               com.google.common.collect.Multimap<String,String> headers)
exec the data received from the request parameters.

Parameters:
method - http method: ex GET
endpoint - uri corresponding to the request
headers - request headers to send


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.