|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.dtolabs.rundeck.core.dispatcher.DataContextUtils
public class DataContextUtils
DataContextUtils provides methods for using a set of context data to substitute property references, generate environment variables, and expand tokens in a file.
Nested Class Summary | |
---|---|
static interface |
DataContextUtils.EnvironmentConfigurable
Can be configured with environment variables |
static class |
DataContextUtils.UnresolvedDataReferenceException
Indicates that the value of a property reference could not be resolved. |
Field Summary | |
---|---|
static java.lang.String |
ENV_VAR_PREFIX
Prefix string used for all environment variable names |
static java.lang.String |
PROPERTY_REF_REGEX
|
static org.apache.commons.collections.Predicate |
stringContainsPropertyReferencePredicate
evaluates to true if a string contains a property reference |
Constructor Summary | |
---|---|
DataContextUtils()
|
Method Summary | |
---|---|
static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
addContext(java.lang.String key,
java.util.Map<java.lang.String,java.lang.String> data,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context)
Return a new context with appended data set |
static void |
addEnvVars(DataContextUtils.EnvironmentConfigurable sshexecTask,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
add Env elements to pass environment variables to the ExtSSHExec |
static void |
addEnvVarsFromContextForExec(org.apache.tools.ant.taskdefs.ExecTask execTask,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
Add embedded env elements for any included context data for the script |
static java.lang.String |
escapeShell(java.lang.String s)
Escape characters meaningful to bash shell unless the string is already surrounded in single quotes |
static java.lang.String |
escapeWindowsShell(java.lang.String s)
Escape characters meaningful to windows unless the string is already surrounded in single quotes |
static java.util.Map<java.lang.String,java.lang.String> |
flattenDataContext(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
Flattens the data context into a simple key/value pair, using a "." separator for keys. |
static java.lang.String |
generateEnvVarName(java.lang.String key)
Generate environment variable name from option name |
static java.util.Map<java.lang.String,java.lang.String> |
generateEnvVarsFromContext(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
Generate a set of key value pairs to use for environment variables, from the context data set |
static java.util.Map<java.lang.String,java.lang.String> |
generateEnvVarsFromData(java.util.Map<java.lang.String,java.lang.String> options,
java.lang.String prefix)
Convert option keys into environment variable names. |
static java.lang.String |
join(java.util.Collection<java.lang.String> list,
java.lang.String separator)
Join a list of strings into a single string with a separator |
static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> |
merge(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> targetContext,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> newContext)
Merge one context onto another by adding or replacing values. |
static java.util.Map<java.lang.String,java.lang.String> |
nodeData(INodeEntry nodeentry)
Generate a dataset for a INodeEntry |
static java.util.Map<java.lang.String,java.lang.Object> |
replaceDataReferences(java.util.Map<java.lang.String,java.lang.Object> input,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
Recursively replace data references in the values in a map which contains either string, collection or Map values. |
static java.lang.String[] |
replaceDataReferences(java.lang.String[] args,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data context |
static java.lang.String[] |
replaceDataReferences(java.lang.String[] args,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data,
Converter<java.lang.String,java.lang.String> converter,
boolean failIfUnexpanded)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data context |
static java.lang.String[] |
replaceDataReferences(java.lang.String[] args,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data,
Converter<java.lang.String,java.lang.String> converter,
boolean failIfUnexpanded,
boolean blankIfUnexpanded)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data context |
static java.lang.String |
replaceDataReferences(java.lang.String input,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data context |
static java.lang.String |
replaceDataReferences(java.lang.String input,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data,
Converter<java.lang.String,java.lang.String> converter,
boolean failOnUnexpanded)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data context |
static java.lang.String |
replaceDataReferences(java.lang.String input,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data,
Converter<java.lang.String,java.lang.String> converter,
boolean failOnUnexpanded,
boolean blankIfUnexpanded)
Replace the embedded properties of the form '${key.name}' in the input Strings with the value from the data context |
static Converter<java.lang.String,java.lang.String> |
replaceDataReferencesConverter(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
Return a converter that can expand the property references within a string |
static Converter<java.lang.String,java.lang.String> |
replaceDataReferencesConverter(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data,
Converter<java.lang.String,java.lang.String> converter,
boolean failOnUnexpanded)
Return a converter that can expand the property references within a string |
static java.io.File |
replaceTokensInFile(java.io.File sourceFile,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework)
Deprecated. use replaceTokensInFile(java.io.File, java.util.Map,
com.dtolabs.rundeck.core.common.Framework,
com.dtolabs.rundeck.core.execution.script.ScriptfileUtils.LineEndingStyle) |
static java.io.File |
replaceTokensInFile(java.io.File sourceFile,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework,
ScriptfileUtils.LineEndingStyle style)
Copies the source file to a temp file, replacing the @key.X@ tokens with the values from the data context |
static java.io.File |
replaceTokensInFile(java.io.File sourceFile,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework,
ScriptfileUtils.LineEndingStyle style,
java.io.File destination)
Copies the source file to a destination file, replacing the @key.X@ tokens with the values from the data context |
static java.io.File |
replaceTokensInFile(java.lang.String sourceFile,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework)
Deprecated. |
static java.io.File |
replaceTokensInScript(java.lang.String script,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework)
Deprecated. use replaceTokensInScript(String, java.util.Map,
com.dtolabs.rundeck.core.common.Framework,
com.dtolabs.rundeck.core.execution.script.ScriptfileUtils.LineEndingStyle) |
static java.io.File |
replaceTokensInScript(java.lang.String script,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework,
ScriptfileUtils.LineEndingStyle style)
Copies the source file to a temp file, replacing the @key.X@ tokens with the values from the data context |
static java.io.File |
replaceTokensInScript(java.lang.String script,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework,
ScriptfileUtils.LineEndingStyle style,
java.io.File destination)
Copies the source file to a file, replacing the @key.X@ tokens with the values from the data context |
static java.io.File |
replaceTokensInStream(java.io.InputStream stream,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework)
Deprecated. use replaceTokensInStream(java.io.InputStream,
java.util.Map,
com.dtolabs.rundeck.core.common.Framework,
com.dtolabs.rundeck.core.execution.script.ScriptfileUtils.LineEndingStyle) |
static java.io.File |
replaceTokensInStream(java.io.InputStream stream,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework,
ScriptfileUtils.LineEndingStyle style)
Copies the source stream to a temp file, replacing the @key.X@ tokens with the values from the data context |
static java.io.File |
replaceTokensInStream(java.io.InputStream stream,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext,
Framework framework,
ScriptfileUtils.LineEndingStyle style,
java.io.File destination)
Copies the source stream to a temp file or specific destination, replacing the @key.X@ tokens with the values from the data context |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String ENV_VAR_PREFIX
public static final java.lang.String PROPERTY_REF_REGEX
public static final org.apache.commons.collections.Predicate stringContainsPropertyReferencePredicate
Constructor Detail |
---|
public DataContextUtils()
Method Detail |
---|
public static Converter<java.lang.String,java.lang.String> replaceDataReferencesConverter(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
data
- property context data
public static Converter<java.lang.String,java.lang.String> replaceDataReferencesConverter(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data, Converter<java.lang.String,java.lang.String> converter, boolean failOnUnexpanded)
data
- property context dataconverter
- secondary converter to apply to property values before replacing in a stringfailOnUnexpanded
- if true, fail if a property value cannot be expanded
public static java.lang.String[] replaceDataReferences(java.lang.String[] args, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data, Converter<java.lang.String,java.lang.String> converter, boolean failIfUnexpanded)
args
- argument string arraydata
- data context
public static java.lang.String[] replaceDataReferences(java.lang.String[] args, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data, Converter<java.lang.String,java.lang.String> converter, boolean failIfUnexpanded, boolean blankIfUnexpanded)
args
- argument string arraydata
- data context
public static java.lang.String[] replaceDataReferences(java.lang.String[] args, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
args
- argument string arraydata
- data context
public static java.util.Map<java.lang.String,java.lang.Object> replaceDataReferences(java.util.Map<java.lang.String,java.lang.Object> input, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
input
- input mapdata
- context data
public static java.lang.String replaceDataReferences(java.lang.String input, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data)
input
- input stringdata
- data context map
public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> merge(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> targetContext, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> newContext)
targetContext
- the target of the mergenewContext
- context to mergepublic static java.lang.String replaceDataReferences(java.lang.String input, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data, Converter<java.lang.String,java.lang.String> converter, boolean failOnUnexpanded)
input
- input stringdata
- data context mapconverter
- converter to encode/convert the expanded valuesfailOnUnexpanded
-
public static java.lang.String replaceDataReferences(java.lang.String input, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> data, Converter<java.lang.String,java.lang.String> converter, boolean failOnUnexpanded, boolean blankIfUnexpanded)
input
- input stringdata
- data context mapconverter
- converter to encode/convert the expanded valuesfailOnUnexpanded
-
public static java.lang.String escapeShell(java.lang.String s)
s
- string
public static java.lang.String escapeWindowsShell(java.lang.String s)
s
- string
public static java.io.File replaceTokensInFile(java.lang.String sourceFile, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework) throws java.io.IOException
sourceFile
- source file pathdataContext
- input data contextframework
- the framework
java.io.IOException
public static java.io.File replaceTokensInFile(java.io.File sourceFile, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework) throws java.io.IOException
replaceTokensInFile(java.io.File, java.util.Map,
com.dtolabs.rundeck.core.common.Framework,
com.dtolabs.rundeck.core.execution.script.ScriptfileUtils.LineEndingStyle)
sourceFile
- source filedataContext
- input data contextframework
- the framework
java.io.IOException
public static java.io.File replaceTokensInFile(java.io.File sourceFile, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework, ScriptfileUtils.LineEndingStyle style) throws java.io.IOException
sourceFile
- source filedataContext
- input data contextframework
- the frameworkstyle
- line ending style
java.io.IOException
public static java.io.File replaceTokensInFile(java.io.File sourceFile, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework, ScriptfileUtils.LineEndingStyle style, java.io.File destination) throws java.io.IOException
sourceFile
- source filedataContext
- input data contextframework
- the frameworkstyle
- line ending styledestination
- destination file, or null to create a new temp file
java.io.IOException
public static java.io.File replaceTokensInScript(java.lang.String script, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework) throws java.io.IOException
replaceTokensInScript(String, java.util.Map,
com.dtolabs.rundeck.core.common.Framework,
com.dtolabs.rundeck.core.execution.script.ScriptfileUtils.LineEndingStyle)
script
- source file pathdataContext
- input data contextframework
- the framework
java.io.IOException
public static java.io.File replaceTokensInScript(java.lang.String script, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework, ScriptfileUtils.LineEndingStyle style) throws java.io.IOException
script
- source file pathdataContext
- input data contextframework
- the frameworkstyle
- line ending style
java.io.IOException
public static java.io.File replaceTokensInScript(java.lang.String script, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework, ScriptfileUtils.LineEndingStyle style, java.io.File destination) throws java.io.IOException
script
- source file pathdataContext
- input data contextframework
- the frameworkstyle
- line ending styledestination
- destination file, or null to create a temp file
java.io.IOException
public static java.io.File replaceTokensInStream(java.io.InputStream stream, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework) throws java.io.IOException
replaceTokensInStream(java.io.InputStream,
java.util.Map,
com.dtolabs.rundeck.core.common.Framework,
com.dtolabs.rundeck.core.execution.script.ScriptfileUtils.LineEndingStyle)
stream
- source streamdataContext
- input data contextframework
- the framework
java.io.IOException
public static java.io.File replaceTokensInStream(java.io.InputStream stream, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework, ScriptfileUtils.LineEndingStyle style) throws java.io.IOException
stream
- source streamdataContext
- input data contextframework
- the frameworkstyle
- script file line ending style to use
java.io.IOException
public static java.io.File replaceTokensInStream(java.io.InputStream stream, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext, Framework framework, ScriptfileUtils.LineEndingStyle style, java.io.File destination) throws java.io.IOException
stream
- source streamdataContext
- input data contextframework
- the frameworkstyle
- script file line ending style to usedestination
- destination file
java.io.IOException
public static java.util.Map<java.lang.String,java.lang.String> flattenDataContext(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
dataContext
-
public static java.util.Map<java.lang.String,java.lang.String> generateEnvVarsFromData(java.util.Map<java.lang.String,java.lang.String> options, java.lang.String prefix)
options
- the input optionsprefix
-
public static void addEnvVarsFromContextForExec(org.apache.tools.ant.taskdefs.ExecTask execTask, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
execTask
- execTaskpublic static void addEnvVars(DataContextUtils.EnvironmentConfigurable sshexecTask, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
sshexecTask
- taskpublic static java.util.Map<java.lang.String,java.lang.String> generateEnvVarsFromContext(java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> dataContext)
public static java.lang.String generateEnvVarName(java.lang.String key)
key
- key
public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> addContext(java.lang.String key, java.util.Map<java.lang.String,java.lang.String> data, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> context)
key
- data keydata
- data contentcontext
- original context
public static java.util.Map<java.lang.String,java.lang.String> nodeData(INodeEntry nodeentry)
nodeentry
- node
public static java.lang.String join(java.util.Collection<java.lang.String> list, java.lang.String separator)
list
- stringsseparator
- separator
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |