use of org.talend.mdm.repository.core.command.ICommand in project tmdm-studio-se by Talend.
the class DeployService method updateForStatus.
private void updateForStatus(boolean isUpdateServer, List<DeployStatus> deployStatuses) {
if (deployStatuses == null || deployStatuses.size() == 0) {
return;
}
for (DeployStatus deployStatus : deployStatuses) {
if (deployStatus != null && deployStatus.isOK()) {
ICommand command = deployStatus.getCommand();
if (command != null) {
CommandManager manager = CommandManager.getInstance();
manager.removeCommandStack(command, ICommand.PHASE_DEPLOY);
if (isUpdateServer) {
MDMServerDef serverDef = null;
if (command instanceof AbstractDeployCommand) {
serverDef = ((AbstractDeployCommand) command).getServerDef();
} else if (command instanceof DeployCompoundCommand) {
serverDef = ((DeployCompoundCommand) command).getServerDef();
}
if (command instanceof BatchDeployJobCommand) {
BatchDeployJobCommand deployJobCommand = (BatchDeployJobCommand) command;
pushRestoreCommand(manager, deployJobCommand.getSubCmds(), serverDef);
pushRestoreCommand(manager, deployJobCommand.getSubDeleteCmds(), serverDef);
} else {
// updateserver
pushRestoreCommand(manager, command, serverDef);
}
}
}
}
}
}
use of org.talend.mdm.repository.core.command.ICommand in project tmdm-studio-se by Talend.
the class UndeployAction method doRun.
/*
* (non-Javadoc)
*
* @see org.talend.mdm.repository.core.bridge.AbstractBridgeRepositoryAction#doRun()
*/
@Override
protected void doRun() {
DeployService deployService = DeployService.getInstance();
CommandManager cmanager = CommandManager.getInstance();
List<IRepositoryViewObject> viewObjs = getSelectedRepositoryViewObject();
if (viewObjs.size() < 1) {
return;
}
SelectServerDefDialog dialog = getServerDefDialog(viewObjs);
if (dialog.open() == IDialogConstants.OK_ID) {
MDMServerDef serverDef = dialog.getSelectedServerDef();
List<AbstractDeployCommand> deleteCommands = new ArrayList<AbstractDeployCommand>(viewObjs.size());
for (IRepositoryViewObject obj : viewObjs) {
ICommand deleteCmd = cmanager.getNewCommand(obj, ICommand.CMD_DELETE);
deleteCmd.init(obj);
deleteCommands.add((AbstractDeployCommand) deleteCmd);
}
IStatus status = deployService.runCommands(deleteCommands, serverDef);
IProgressMonitor monitor = new NullProgressMonitor();
deployService.updateChangedStatus(status);
if (status.isMultiStatus()) {
new DeployStatusDialog(getShell(), status).open();
}
for (IRepositoryViewObject viewObj : viewObjs) {
MDMServerDef lastServerDef = RepositoryResourceUtil.getLastServerDef(viewObj);
String id = viewObj.getId();
CommandStack stack = cmanager.findCommandStack(id);
if (stack != null) {
if (RepositoryResourceUtil.isSameMDMServerDef(lastServerDef, serverDef)) {
List<ICommand> commands = stack.getCommands(ICommand.PHASE_RESTORE);
for (ICommand cmd : commands) {
cmd.execute(null, monitor);
}
}
cmanager.removeCommandStack(id, ICommand.PHASE_RESTORE);
commonViewer.refresh(viewObj);
}
}
} else {
return;
}
}
use of org.talend.mdm.repository.core.command.ICommand in project tmdm-studio-se by Talend.
the class BatchDeployJobCommand method collectDeployStatus.
private void collectDeployStatus(IStatus dialogStatus, MultiStatus ms, String typeLabel) {
for (ICommand cmd : subCmds) {
String objectName = cmd.getObjLastName();
int severity = dialogStatus.getSeverity();
if (severity == IStatus.OK) {
if (cmd.getCommandType() == CMD_MODIFY)
ms.add(DeployStatus.getOKStatus(this, Messages.bind(Messages.BatchDeployJobCommand_successfullyUpdate, typeLabel, objectName)));
else
ms.add(DeployStatus.getOKStatus(this, Messages.bind(Messages.BatchDeployJobCommand_createSuccessfully, typeLabel, objectName)));
} else if (severity == IStatus.INFO) {
ms.add(DeployStatus.getInfoStatus(this, Messages.bind(Messages.JobInteractiveHandler_skipToDeploy, getLabel(), objectName)));
} else if (severity == IStatus.ERROR) {
Throwable ex = dialogStatus.getException();
String msg = null != ex ? ex.getMessage() : dialogStatus.getMessage();
ms.add(DeployStatus.getErrorStatus(this, Messages.bind(Messages.Deploy_fail_text, objectName, msg)));
}
}
}
Aggregations