public class SandboxPlayground
extends java.lang.Object
SandboxedRepository
or SandboxedFeature
subclasses to run through the life cycle of a sandbox and test the
implementation.Modifier and Type | Class and Description |
---|---|
static class |
SandboxPlayground.Monitor<T,R>
A monitor that supervises a sandbox operation.
|
static class |
SandboxPlayground.UnitTester
A piece of program that handles pre-defined breakpoints.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
JDBC_URL
The name of the Java system property that defines the JDBC URL of the
database the framework uses.
|
Modifier and Type | Method and Description |
---|---|
void |
addRepository(java.lang.String repositoryId)
Adds a sandboxed repository.
|
static SandboxPlayground |
create(java.lang.String name)
Creates a new sandbox playground.
|
static SandboxPlayground |
create(java.lang.String name,
SandboxConstraints constraints)
Creates a sandbox playground with a set of constraints on the sandbox.
|
boolean |
destroy()
Destroyes this sandbox playground.
|
void |
enableFeature(java.lang.String featureId)
Enables a sandboxed feature.
|
void |
enterSandboxEnvironment()
Internal Use Only. For testing with metadata environments, use
oracle.adf.share.sandbox.util.AdfMdeTester . |
void |
enterSandboxEnvironment(SandboxPlayground.UnitTester tester)
Internal Use Only. For testing with metadata environments, use
oracle.adf.share.sandbox.util.AdfMdeTester . |
static boolean |
exists(java.lang.String name)
Checks if a name is already taken.
|
static SandboxPlayground.UnitTester |
getCurrentUnitTester()
Internal Use Only. For testing with metadata environments, use
oracle.adf.share.sandbox.util.AdfMdeTester . |
java.io.PrintStream |
getDiagnosticsPrintStream()
Returns the print stream this object prints out diagnostics messages to.
|
java.lang.String |
getName()
Returns the name of this playground.
|
java.lang.String |
getOperationLog()
Gets the log from the last operation.
|
SandboxLog<SandboxLogRecord> |
getOperationLogObject()
Gets the log from the last operation.
|
java.lang.String |
getRepositoryBranchId(java.lang.String reposId)
A shorthand of
getSandbox().getRepositoryBranchId(reposId) . |
java.lang.Throwable |
getRepositoryError(java.lang.String repositoryId)
Gets the in-memory error of a single repository from the last operation on
this object.
|
java.util.List<RepositoryErrorLog> |
getRepositoryErrorLogs()
Returns the repository error logs as persisted.
|
java.util.Map<java.lang.String,java.lang.Throwable> |
getRepositoryErrors()
Returns in-memory errors resulted from the last operation on this object.
|
RepositoryExceptions |
getRepositoryErrorsObject()
Returns the in-memory
RepositoryExceptions object thrown by
the last operation if any. |
Sandbox |
getSandbox()
Returns the sandbox object of this playground.
|
boolean |
interactiveRefresh(ChangeHint changeHint)
Refreshes the sandbox and sets the change hint if any of the repositories
requests for it.
|
boolean |
interactiveRefresh(SandboxPlayground.Monitor<ChangeHint,java.lang.Boolean> monitor)
Refreshes the sandbox and supervises the operation.
|
static boolean |
isCurrentMetadataEnvironment()
Internal Use Only. For testing with metadata environments, use
oracle.adf.share.sandbox.util.AdfMdeTester . |
static java.util.List<java.lang.String> |
listAvailableFeatures()
Lists all available features discovered by the framework.
|
static java.util.List<java.lang.String> |
listAvailableRepositories()
Lists all available repositories discovered by the framework.
|
static SandboxPlayground |
load(java.lang.String name)
Loads an existing sandbox playground.
|
void |
printRepositoryErrors()
Prints the in-memory errors from repositories to the standard error stream.
|
boolean |
publish()
Publishes this sandbox playground.
|
boolean |
refresh()
Refreshes the sandbox.
|
void |
setDiagnosticsPrintStream(java.io.PrintStream out)
Sets the print stream for this object to print out diagnostics
messages.
|
public static final java.lang.String JDBC_URL
oracle.adf.share.sandbox.util.SandboxPlayground.JDBC_URL
.
An example of the value:
"jdbc:oracle:thin:user/pwd@host:3000:dbname"
/public static boolean exists(java.lang.String name)
name
- the name of the playgroundtrue
if the playground with the specified name existsjava.lang.IllegalArgumentException
- if the given name is nullpublic static SandboxPlayground create(java.lang.String name)
name
- the name of the new sandbox playgroundjava.lang.IllegalArgumentException
- if the given name is null or if the
name is already takenpublic static SandboxPlayground create(java.lang.String name, SandboxConstraints constraints)
name
- the name of the sandbox playgroundconstraints
- the sandbox constraints; null
to remove
the default constraintsjava.lang.IllegalArgumentException
- if the given name is null or if the
name is already takenpublic static SandboxPlayground load(java.lang.String name)
name
- the name of the existing sandbox playgroundjava.lang.IllegalArgumentException
- if no sandbox playground is found for
the specified nameSandboxPlaygroundException
- if an error occurred while trying to
find the sandbox playgroundpublic static java.util.List<java.lang.String> listAvailableFeatures()
public static java.util.List<java.lang.String> listAvailableRepositories()
public void setDiagnosticsPrintStream(java.io.PrintStream out)
out
- the print stream for printing out diagnostics messages;
null
if diagnostics messages need not be
printedpublic java.io.PrintStream getDiagnosticsPrintStream()
null
if diagnostics messages are not printedpublic final Sandbox getSandbox()
public final java.lang.String getName()
public void enableFeature(java.lang.String featureId)
featureId
- the ID of the featurejava.lang.IllegalArgumentException
- if the given ID is nullpublic void addRepository(java.lang.String repositoryId)
repositoryId
- the ID of the repositoryjava.lang.IllegalArgumentException
- if the given ID is nullpublic boolean refresh()
true
if the sandbox is refreshed successfully;
false
if there are errors from the repositoriesgetRepositoryError(java.lang.String)
public boolean interactiveRefresh(ChangeHint changeHint)
changeHint
- the change hinttrue
if the sandbox is refreshed successfully;
false
if there are errors from the repositoriesgetRepositoryError(java.lang.String)
public java.lang.String getRepositoryBranchId(java.lang.String reposId)
getSandbox().getRepositoryBranchId(reposId)
.reposId
- the ID of the repositorypublic boolean interactiveRefresh(SandboxPlayground.Monitor<ChangeHint,java.lang.Boolean> monitor)
monitor
- the monitor to supervise the refresh operationtrue
if the sandbox is refreshed successfully;
false
if there are errors from the repositories.
Repository errors may be retrieved by
getRepositoryErrors()
.java.lang.UnsupportedOperationException
- if the refresh process has taken
more than 30 iterationsgetRepositoryError(java.lang.String)
public java.lang.Throwable getRepositoryError(java.lang.String repositoryId)
getRepositoryErrorLogs
.repositoryId
- the ID of the repositorynull
if there
is no error from the repository or if there is no such repositorygetRepositoryErrorLogs()
public java.util.Map<java.lang.String,java.lang.Throwable> getRepositoryErrors()
getRepositoryErrorLogs
.null
if no operation has been performed or the last
operation was successfulgetRepositoryErrorLogs()
public RepositoryExceptions getRepositoryErrorsObject()
RepositoryExceptions
object thrown by
the last operation if any. Note that the returned object is not the
persisted information. To get the persisted errors, use
getRepositoryErrorLogs
.RepositoryExceptions
object thrown by
the last operation; null
if no operation has been
performed or the last operation was successfulgetRepositoryErrorLogs()
public void printRepositoryErrors()
public java.util.List<RepositoryErrorLog> getRepositoryErrorLogs()
public java.lang.String getOperationLog()
null
if the log
is emptypublic SandboxLog<SandboxLogRecord> getOperationLogObject()
null
if the log
is emptypublic boolean publish()
true
if this sandbox has been published successfullypublic boolean destroy()
true
if this sandbox playground has been destroyed
successfullypublic static boolean isCurrentMetadataEnvironment()
oracle.adf.share.sandbox.util.AdfMdeTester
.
Returns true
if the current metadata environment was set up
by a SandboxPlagyround
.
true
if the current metadata environment was set up
by a SandboxPlayground
.enterSandboxEnvironment(oracle.adf.share.sandbox.util.SandboxPlayground.UnitTester)
public static SandboxPlayground.UnitTester getCurrentUnitTester()
oracle.adf.share.sandbox.util.AdfMdeTester
.
Returns the unit tester in the current context.
null
if the
current metadata environment is null, is not set up by a
SandboxPlayground
or if the metadata environment
is not associated with a unit testerpublic void enterSandboxEnvironment(SandboxPlayground.UnitTester tester)
oracle.adf.share.sandbox.util.AdfMdeTester
.
Sets the metadata environment of the current ADF context to be a sandbox environment for this sandbox playground.
tester
- a tester that handles the breakpoints; null
if
no tester is necessarypublic void enterSandboxEnvironment()
oracle.adf.share.sandbox.util.AdfMdeTester
.
Sets the metadata environment of the current ADF context to be a sandbox environment for this sandbox playground.