See: Description
| Interface | Description |
|---|---|
| ILoggerOutput |
Message logging output contract
|
| IProgressMonitor |
Task progress monitoring contract
|
| Class | Description |
|---|---|
| AbstractProgressMonitor |
Provides basic implementation of the progress monitor interface with configurable output.
|
| ExportScenario |
Export scenario offering transport from live system to LCM archive
|
| Host |
Host on which Promotion Management scenario are run
|
| HostFactory |
Host factory
|
| ImportScenario |
Import scenario offering resource transport from LCM archive to live system
|
| LcmArchive |
LCM archive
|
| LcmArchiveFactory |
LCM archive factory
|
| Logger |
Message logging utility
|
| ObjectBrowser |
Browser offering resource selection for selective scenario
|
| ObjectMatcher |
Builder for object selection offering symbolic querying
|
| PromoteScenario |
Promote scenario offering resource transport between live systems
|
| RunResult |
Result delivered when running a scenario
|
| RunResult.Statistics |
Statistics for transported resources of the same kind
|
| ScenarioOptions |
Scenario options
|
| SDKUtils |
SDK utilities
|
| Enum | Description |
|---|---|
| RunResult.CommitStatus |
Commit status of a transported resource
|
| RunResult.DependencyStatus |
Dependency status of a transported resource
|
| RunResult.OutcomeStatus |
Outcome status of a transported scenario or resource
|
| RunResult.ResolutionStatus |
Resolution status of a transported resource
|
| SchedulingStatus |
Execution status of a scheduled scenario
|
It offers workflows achievable using either the Promotion Management web-based component or the LCM command line interface.
It is based on the notion of host that represents central repository and scenario that models transport request. There are three types of scenario:
RunResult promoteWebIDoc( //
IEnterpriseSession centralCms, //
IEnterpriseSession srcCms, //
IEnterpriseSession destCms, //
String docName) //
throws LCMException, SDKException {
Host host = HostFactory.newInstance(centralCms);
RunResult runResult;
try {
PromoteScenario scenario = host.newPromoteScenario("PromoteWebIDoc");
ObjectBrowser browser = scenario.setSource(srcCms);
browser.addQuery(and(kindIs("WebI"), nameIs(docName)));
scenario.setDestination(destCms);
runResult = scenario.run();
} finally {
host.release();
}
return runResult;
}
Second example illustrates how to schedule a "run now" export of all object(s) under a given folder to a LCM archive:
String scheduleFolderExport( //
IEnterpriseSession centralCms, //
IEnterpriseSession srcCms, //
String srcPassword, //
String folderCuid) //
throws SDKException, LCMException {
Host host = HostFactory.newInstance(centralCms);
String jobCuid;
try {
ExportScenario scenario = host.newExportScenario("ScheduleFolderExport");
scenario.setSource(srcCms).addQuery(parentCuidIs(folderCuid));
scenario.setDestination(LcmArchiveFactory.newInstance("ScheduleFolderExport.lcmbiar"));
scenario.getScheduling().setRightNow(true);
jobCuid = scenario.schedule(srcPassword);
} finally {
host.release();
}
return jobCuid;
}
Finally following snippet illustrates how to monitor a scheduled scenario execution and asses its completion status.
RunResult monitorScheduledScenario( //
IEnterpriseSession centralCms, //
String jobCuid) //
throws SDKException, LCMException, InterruptedException {
Host host = HostFactory.newInstance(centralCms);
RunResult result;
try {
SchedulingStatus status;
do {
status = host.getScenarioStatus(jobCuid);
Thread.sleep(5 * 1000);
} while (!status.isComplete());
result = host.getScenarioResult(jobCuid);
} finally {
host.release();
}
return result;
}