public class CustomVariableContextForTests extends Object implements CustomVariableContext
Constructor and Description |
---|
CustomVariableContextForTests() |
Modifier and Type | Method and Description |
---|---|
void |
addCustomData(String key,
String value)
Adds a
VariableType.MANUAL variable to ThreadLocal state. |
void |
clearContext()
Clear
ThreadLocal state. |
Set<String> |
findAllVariables(String stringWithVariables)
Given a string, all patterns in the string matching ${bamboo.<variable>} or ${system.<variable>} will be found.
|
Map<String,VariableDefinitionContext> |
getBuildInRepositoryVariablesIfBuildContext()
Return variables all built-in variables produced by repository plugin for the current build context.
|
Map<String,VariableSubstitutionContext> |
getSubstitutedVariables()
Get all the variables that have previously been substituted in this thread.
|
Map<String,VariableDefinitionContext> |
getVariableContexts()
Get all variables from current thread local context.
|
Map<String,VariableDefinitionContext> |
getVariableContexts(CommonContext commonContext)
Get all variables from context.
|
Map<String,String> |
getVariables(CommonContext commonContext)
Get all variables from context.
|
VariableSubstitutorFactory |
getVariableSubstitutorFactory() |
String |
removeAllVariables(String unparsedString)
Given a string, remove all variable patterns.
|
void |
setCommonContext(CommonContext commonContext)
Set context reference in
ThreadLocal state. |
void |
setPlan(ImmutablePlan plan)
Sets Plan reference and default variable definitions (globals and from plan) in
ThreadLocal state. |
void |
setPlan(ImmutablePlan plan,
Map<String,VariableDefinitionContext> variablesContextMap)
Sets Plan reference and variable definitions in
ThreadLocal state. |
void |
setPlan(PlanIdentifier plan,
Map<String,VariableDefinitionContext> variablesContextMap)
Sets Plan reference and variable definitions in
ThreadLocal state. |
void |
setVariables(Map<String,VariableDefinitionContext> variablesContextMap)
Set variable definitions in
ThreadLocal state. |
String |
substituteString(String value)
Substitutes variables in the input string with their values using data from existing
ThreadLocal state. |
String |
substituteString(String value,
CommonContext commonContext,
BuildLogger buildLogger)
Substitutes variables in the input string with their values using provided data, i.e.
|
<V,E1 extends Exception,E2 extends Exception,E3 extends Exception> |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
BambooCallables.ThrowingX<V,E1,E2,E3> callable)
Run operation with provided
VariableSubstitutor in thread local context. |
<V> V |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
Callable<V> callable)
Run operation with provided
VariableSubstitutor in thread local context. |
void |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
Runnable runnable)
Run operation with provided
VariableSubstitutor in thread local context. |
<V> V |
withVariableSubstitutor(VariableSubstitutor variableSubstitutor,
Supplier<V> supplier)
Run operation with provided
VariableSubstitutor in thread local context. |
public void addCustomData(String key, String value)
CustomVariableContext
VariableType.MANUAL
variable to ThreadLocal
state.addCustomData
in interface CustomVariableContext
key
- name of the variablevalue
- value of the variablepublic String substituteString(@Nullable String value)
CustomVariableContext
ThreadLocal
state.substituteString
in interface CustomVariableContext
value
- input string@Nullable public String substituteString(@Nullable String value, @Nullable CommonContext commonContext, @Nullable BuildLogger buildLogger)
CustomVariableContext
ThreadLocal
state.substituteString
in interface CustomVariableContext
value
- input stringcommonContext
- build contextbuildLogger
- build logger@NotNull public Map<String,VariableDefinitionContext> getVariableContexts(@Nullable CommonContext commonContext)
CustomVariableContext
getVariableContexts
in interface CustomVariableContext
commonContext
- build or deployment context@NotNull public Map<String,VariableDefinitionContext> getVariableContexts()
CustomVariableContext
getVariableContexts
in interface CustomVariableContext
@NotNull public Map<String,String> getVariables(@Nullable CommonContext commonContext)
CustomVariableContext
getVariables
in interface CustomVariableContext
commonContext
- Build or Deployment context@NotNull public String removeAllVariables(@NotNull String unparsedString)
CustomVariableContext
removeAllVariables
in interface CustomVariableContext
unparsedString
- string values to be analyzed@NotNull public Map<String,VariableSubstitutionContext> getSubstitutedVariables()
CustomVariableContext
getSubstitutedVariables
in interface CustomVariableContext
public void setCommonContext(@NotNull CommonContext commonContext)
CustomVariableContext
ThreadLocal
state.
Sets the variable definitions to those contained in the context.
context has priority over Plans and Deployment Jobs when resolving the variables.setCommonContext
in interface CustomVariableContext
public void clearContext()
CustomVariableContext
ThreadLocal
state.clearContext
in interface CustomVariableContext
public void setPlan(@NotNull PlanIdentifier plan, @Nullable Map<String,VariableDefinitionContext> variablesContextMap)
CustomVariableContext
ThreadLocal
state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()
setPlan
in interface CustomVariableContext
variablesContextMap
- variable definitions (including plan variables)public void setPlan(@NotNull ImmutablePlan plan, @Nullable Map<String,VariableDefinitionContext> variablesContextMap)
CustomVariableContext
ThreadLocal
state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()
setPlan
in interface CustomVariableContext
variablesContextMap
- variable definitions (including plan variables)public void setPlan(@NotNull ImmutablePlan plan)
CustomVariableContext
ThreadLocal
state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()
setPlan
in interface CustomVariableContext
public void setVariables(Map<String,VariableDefinitionContext> variablesContextMap)
CustomVariableContext
ThreadLocal
state.
Clears history of substituted variables (CustomVariableContext.getSubstitutedVariables()
setVariables
in interface CustomVariableContext
variablesContextMap
- variable definitions@NotNull public Set<String> findAllVariables(@Nullable String stringWithVariables)
CustomVariableContext
findAllVariables
in interface CustomVariableContext
stringWithVariables
- String value to be analyzed@NotNull public Map<String,VariableDefinitionContext> getBuildInRepositoryVariablesIfBuildContext()
CustomVariableContext
BuildContext
, otherwise returned map will be empty.
Note: variables are used in repository definition, they will be resolved according to current state of the CustomVariableContext
getBuildInRepositoryVariablesIfBuildContext
in interface CustomVariableContext
@NotNull public VariableSubstitutorFactory getVariableSubstitutorFactory()
getVariableSubstitutorFactory
in interface CustomVariableContext
VariableSubstitutor
public void withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor, @NotNull Runnable runnable)
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
public <V> V withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor, @NotNull Callable<V> callable) throws Exception
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
Exception
public <V> V withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor, @NotNull Supplier<V> supplier)
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
public <V,E1 extends Exception,E2 extends Exception,E3 extends Exception> V withVariableSubstitutor(@NotNull VariableSubstitutor variableSubstitutor, @NotNull BambooCallables.ThrowingX<V,E1,E2,E3> callable) throws E1 extends Exception, E2 extends Exception, E3 extends Exception
CustomVariableContext
VariableSubstitutor
in thread local context. Restore current thread local state when finished.withVariableSubstitutor
in interface CustomVariableContext
E1 extends Exception
Copyright © 2019 Atlassian Software Systems Pty Ltd. All rights reserved.