public abstract class AdfMdeTester
extends java.lang.Object
AdfMdeTester
stands for "ADF Metadata Environment Tester."
To make use of this class, create an instance of this class using one of the
newInstance
methods and execute the tasks with various
runWith
methods. All runWith
methods return the
same tester instance so multiple calls can be chained into one statement
if desired. Within the same tester, the result of one task is passed into
the next. Normally a task simply updates the result object and returns the
same object for the next task, but returning a brand new result object is
possible. At any time, the result object from the last task execution
can be obtained by calling getResult()
.
Annotations are provided to further simplify the code.
Objects of this class are not thread-safe.
Modifier and Type | Class and Description |
---|---|
protected class |
AdfMdeTester.RunWithSession |
Modifier | Constructor and Description |
---|---|
protected |
AdfMdeTester(java.lang.String jdbcUrl,
java.lang.String adfConfigUrl,
SandboxedFeatures features)
Constructs a tester.
|
Modifier and Type | Method and Description |
---|---|
static AdfMdeTester |
currentAdfMdeTester()
Returns the tester instance associated with the current thread if the
current thread is created by a tester.
|
java.lang.String |
getAdfConfigUrl()
Returns the URL of the specified adf-config.xml.
|
java.lang.String |
getManagementJdbcUrl()
Returns the JDBC URL of the management database.
|
AdfMdeTesterResult |
getResult()
Returns the result from the last task run.
|
static AdfMdeTester |
newInstance(java.lang.String managementJdbcUrl)
Creates a new instance.
|
static AdfMdeTester |
newInstance(java.lang.String managementJdbcUrl,
java.lang.String adfConfigUrl)
Creates a new instance that uses a specific adf-config.xml.
|
static AdfMdeTester |
newInstance(java.lang.String managementJdbcUrl,
java.lang.String adfConfigUrl,
SandboxedFeatures features)
Creates a new instance that accepts a specific list of
SandboxedFeature classes. |
<T> T |
run(java.lang.Class<T> amtFlow)
Runs a test flow annotated with
@AmtFlow . |
AdfMdeTester |
runWithMainline(AdfMdeTesterTask task,
java.lang.String metadataRevisionId)
Performs a task with the metadata from mainline.
|
AdfMdeTester |
runWithMainline(AdfMdeTesterTask task,
java.lang.String adfsoOverrideClassName,
java.lang.String metadataRevisionId)
Performs a task with the metadata from mainline with
instructions of how "read" or "write" should be handled.
|
AdfMdeTester |
runWithSandboxPlayground(java.lang.String name,
AdfMdeTesterTask task)
Performs a task with the metadata from a sandbox playground in edit mode.
|
AdfMdeTester |
runWithSandboxPlayground(java.lang.String name,
AdfMdeTesterTask task,
boolean inPreviewMode)
Performs a task with the metadata from a sandbox playground optionally
placed in preview mode.
|
AdfMdeTester |
runWithSandboxPlaygroundForRefresh(java.lang.String name,
AdfMdeTesterTask task)
Performs a task that will refresh a sandbox playground.
|
AdfMdeTester |
runWithTip(AdfMdeTesterTask task)
Performs a task with the metadata from the tip of mainline.
|
AdfMdeTester |
runWithTip(AdfMdeTesterTask task,
java.lang.String adfsoOverrideClassName)
Performs a task with the metadata from the tip of mainline with
instructions of how "read" or "write" should be handled.
|
java.lang.String |
toString() |
protected AdfMdeTester(java.lang.String jdbcUrl, java.lang.String adfConfigUrl, SandboxedFeatures features)
jdbcUrl
- the JDBC URL of the management databaseadfConfigUrl
- the URL of an adf-config.xml; null
if
adf-config.xml is not required or if the tester
should rely on the classpath of the tester to provide
an adf-config.xmlfeatures
- a custom list of features; null
if the
features should come from the classpath of the testerjava.lang.IllegalArgumentException
- if the required system properties are
not set, or if any of the given URLs are invalidpublic static AdfMdeTester newInstance(java.lang.String managementJdbcUrl)
managementJdbcUrl
- the JDBC URL of the management databasejava.lang.IllegalArgumentException
- if the given URL is invalidpublic static AdfMdeTester newInstance(java.lang.String managementJdbcUrl, java.lang.String adfConfigUrl)
managementJdbcUrl
- the JDBC URL of the management databaseadfConfigUrl
- the URL of the adf-config.xml to be used;
null
if the tester should rely on its
classpath to provide an adf-config.xml or if
adf-config.xml is irrelevantjava.lang.IllegalArgumentException
- if any of the given URLs are invalidpublic static AdfMdeTester newInstance(java.lang.String managementJdbcUrl, java.lang.String adfConfigUrl, SandboxedFeatures features)
SandboxedFeature
classes.managementJdbcUrl
- the JDBC URL of the management databaseadfConfigUrl
- the URL of the adf-config.xml to be used;
null
if the tester should rely on its
classpath to provide an adf-config.xml or if
adf-config.xml is irrelevantfeatures
- the list of features available to the tester;
null
if the list of features should be
provided by the tester's classpathjava.lang.IllegalArgumentException
- if any of the given URLs are invalidpublic final java.lang.String getManagementJdbcUrl()
public final java.lang.String getAdfConfigUrl()
null
if no
adf-config.xml is specifiedpublic final AdfMdeTesterResult getResult()
public java.lang.String toString()
toString
in class java.lang.Object
public <T> T run(java.lang.Class<T> amtFlow)
@AmtFlow
.T
- the type of the class that defines the test flowamtFlow
- the class that defines the test flowjava.lang.IllegalArgumentException
- if the given class is not annotated
with @AmtFlow
or if the given class is not defined
properlypublic static AdfMdeTester currentAdfMdeTester()
AdfMdeTesterResult
object if there is no way for
the downstream code to access the result via parameter passing.null
if
no tester is associated with the current threadpublic AdfMdeTester runWithTip(AdfMdeTesterTask task)
task
- the task to be performedjava.lang.IllegalArgumentException
- if the given task is nullpublic AdfMdeTester runWithMainline(AdfMdeTesterTask task, java.lang.String metadataRevisionId)
task
- the task to be performedmetadataRevisionId
- the ID of the metadata revision of mainline;
null
to indicate tipjava.lang.IllegalArgumentException
- if the given task is nullpublic AdfMdeTester runWithTip(AdfMdeTesterTask task, java.lang.String adfsoOverrideClassName)
task
- the task to be performedadfsoOverrideClassName
- the full class name of a subclass of
oracle.adf.share.sandbox.session.ADFSessionOptionsOverride
java.lang.IllegalArgumentException
- if any argument is nullpublic AdfMdeTester runWithMainline(AdfMdeTesterTask task, java.lang.String adfsoOverrideClassName, java.lang.String metadataRevisionId)
task
- the task to be performedadfsoOverrideClassName
- the full class name of a subclass of
oracle.adf.share.sandbox.session.ADFSessionOptionsOverride
metadataRevisionId
- the ID of the metadata revision of mainline;
null
to indicate tipjava.lang.IllegalArgumentException
- if any argument is nullpublic AdfMdeTester runWithSandboxPlayground(java.lang.String name, AdfMdeTesterTask task)
AdfMdeTesterResult
object if loading the sandbox playground
is successful.name
- the name of the sandbox playground; null
if the
namd of the sandbox playground should come from the result
of the last tasktask
- the task to be performedjava.lang.IllegalArgumentException
- if the specified sandbox playground
does not existpublic AdfMdeTester runWithSandboxPlayground(java.lang.String name, AdfMdeTesterTask task, boolean inPreviewMode)
AdfMdeTesterResult
object if loading the sandbox playground
is successful.name
- the name of the sandbox playground; null
if the
namd of the sandbox playground should come from the result
of the last tasktask
- the task to be performedinPreviewMode
- true
if the sandbox playground should
be placed in preview modejava.lang.IllegalArgumentException
- if the specified sandbox playground
does not existpublic AdfMdeTester runWithSandboxPlaygroundForRefresh(java.lang.String name, AdfMdeTesterTask task)
AdfMdeTesterResult
object if loading the sandbox playground
is successful.name
- the name of the sandbox playground; null
if the
namd of the sandbox playground should come from the result
of the last tasktask
- the task to refresh a sandbox playgroundjava.lang.IllegalArgumentException
- if the specified sandbox playground
does not exist