use of com.centurylink.mdw.plugin.designer.dialogs.MdwProgressMonitorDialog in project mdw-designer by CenturyLinkCloud.
the class ImportPackagePage method getNextPage.
@Override
public IWizardPage getNextPage() {
ImportPackageWizard wiz = (ImportPackageWizard) getWizard();
final boolean distributeDisc = isDistributedDiscovery();
if (distributeDisc || isMavenDiscovery()) {
preselected = null;
((ImportPackageWizard) getWizard()).setHasOldImplementors(false);
final boolean latestVersionsOnly;
if (latestVersionsCheckbox != null)
latestVersionsOnly = latestVersionsCheckbox.getSelection();
else
latestVersionsOnly = true;
final String url = discoveryUrlText.getText().trim();
final String groupId;
if (groupIdText != null)
groupId = groupIdText.getText().trim();
else
groupId = null;
// display a progress dialog since this can take a while
ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(getShell());
try {
pmDialog.run(true, true, new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Crawling for workflow assets...", 100);
try {
if (distributeDisc) {
packageFolder = populateTopFolder(url, null, latestVersionsOnly, monitor);
} else {
packageFolder = populateTopFolder(null, groupId, latestVersionsOnly, monitor);
}
monitor.done();
} catch (InterruptedException ex) {
throw ex;
} catch (Exception ex) {
throw new InvocationTargetException(ex);
}
}
});
} catch (InterruptedException iex) {
} catch (Exception ex) {
PluginMessages.uiError(getShell(), ex, "Discover Packages", getProject());
return null;
}
} else {
BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
public void run() {
try {
packageFolder = populateTopFolder(null, null, false, null);
} catch (Exception ex) {
PluginMessages.uiError(getShell(), ex, "Import Packages", getProject());
}
}
});
}
if (packageFolder == null) {
return null;
} else {
wiz.setFolder(packageFolder);
wiz.initializePackageSelectPage(preselected);
return ((ImportPackageWizard) getWizard()).getImportPackageSelectPage();
}
}
use of com.centurylink.mdw.plugin.designer.dialogs.MdwProgressMonitorDialog in project mdw-designer by CenturyLinkCloud.
the class ProjectConfigurator method initializeWebAppJars.
public void initializeWebAppJars() {
if (getProject().isRemote())
return;
final Shell shell = MdwPlugin.getShell();
ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell);
try {
pmDialog.run(true, false, new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Adding WebApp Libraries", 100);
monitor.worked(5);
try {
ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings());
updater.updateWebProjectJars(monitor);
createFrameworkSourceCodeAssociations(shell, monitor);
} catch (CoreException ex) {
PluginMessages.log(ex);
}
}
});
} catch (Exception ex) {
PluginMessages.log(ex);
}
}
use of com.centurylink.mdw.plugin.designer.dialogs.MdwProgressMonitorDialog in project mdw-designer by CenturyLinkCloud.
the class ProjectConfigurator method initializeFrameworkJars.
public void initializeFrameworkJars() {
final Shell shell = MdwPlugin.getShell();
ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell);
try {
pmDialog.run(false, false, new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Adding Framework Libraries", 100);
monitor.worked(5);
ProjectUpdater updater = new ProjectUpdater(getProject(), getSettings());
updater.updateFrameworkJars(monitor);
try {
SubProgressMonitor submon = new SubProgressMonitor(monitor, 75);
addFrameworkJarsToClasspath(submon);
createFrameworkSourceCodeAssociations(shell, submon);
monitor.done();
} catch (CoreException ex) {
throw new InvocationTargetException(ex);
}
}
});
} catch (Exception ex) {
PluginMessages.uiError(ex, "Framework Jars", getProject());
}
}
use of com.centurylink.mdw.plugin.designer.dialogs.MdwProgressMonitorDialog in project mdw-designer by CenturyLinkCloud.
the class ProjectInflator method inflateCloudProject.
public void inflateCloudProject(final IRunnableContext container) {
getProject().setCloudProject(true);
// get a project handle
final IProject newProjectHandle = ResourcesPlugin.getWorkspace().getRoot().getProject(workflowProject.getName());
// get a project descriptor
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
// create the new project operation
IRunnableWithProgress op = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException {
Repository newRepo = null;
try {
if (workflowProject.getPersistType() == PersistType.Git)
createGitRepository(monitor);
CreateProjectOperation op = new CreateProjectOperation(description, "MDW Cloud Project");
PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute(op, monitor, WorkspaceUndoUtil.getUIInfoAdapter(shell));
} catch (Exception ex) {
throw new InvocationTargetException(ex);
} finally {
if (newRepo != null)
newRepo.close();
}
}
};
// run the new project creation operation
try {
container.run(false, false, op);
ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(MdwPlugin.getShell());
pmDialog.run(true, false, new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Inflating Workflow Project", 250);
monitor.worked(5);
// configure as Java project
ProjectConfigurator projConf = new ProjectConfigurator(getProject(), MdwPlugin.getSettings());
projConf.setJava(new SubProgressMonitor(monitor, 3));
ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings());
// bootstrap
updater.updateMappingFiles(new SubProgressMonitor(monitor, 3));
// versions
// of
// the
// property
// files
updater.updateFrameworkJars(new SubProgressMonitor(monitor, 150));
updater.updateWebProjectJars(new SubProgressMonitor(monitor, 50));
try {
if (getProject().isOsgi())
projConf.addJavaProjectSourceFolder(getProject().getOsgiSettings().getSourceDir(), new SubProgressMonitor(monitor, 3));
else if (!getProject().isWar())
projConf.addJavaProjectSourceFolder("src", monitor);
projConf.setJavaBuildOutputPath("build/classes", new SubProgressMonitor(monitor, 5));
projConf.addFrameworkJarsToClasspath(monitor);
// add the workflow facet
// already
getProject().setSkipFacetPostInstallUpdates(true);
// did
// framework
// updates
IFacetedProject facetedProject = ProjectFacetsManager.create(getProject().getSourceProject(), true, new SubProgressMonitor(monitor, 3));
IProjectFacetVersion javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getDefaultVersion();
if (Float.parseFloat(javaFacetVersion.getVersionString()) < 1.6)
javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.6");
if (workflowProject.isCloudOnly())
javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.7");
facetedProject.installProjectFacet(javaFacetVersion, null, new SubProgressMonitor(monitor, 3));
IProjectFacetVersion mdwFacet = ProjectFacetsManager.getProjectFacet("mdw.workflow").getDefaultVersion();
facetedProject.installProjectFacet(mdwFacet, getProject(), new SubProgressMonitor(monitor, 3));
if (workflowProject.isOsgi()) {
IProjectFacet utilFacet = ProjectFacetsManager.getProjectFacet("jst.utility");
IProjectFacetVersion facetVer = utilFacet.getDefaultVersion();
IActionDefinition def = facetVer.getActionDefinition(null, IFacetedProject.Action.Type.INSTALL);
Object cfg = def.createConfigObject();
facetedProject.installProjectFacet(ProjectFacetsManager.getProjectFacet("jst.utility").getDefaultVersion(), cfg, new SubProgressMonitor(monitor, 3));
} else if (workflowProject.isWar()) {
// add the facet to the xml file
IFile facetsFile = workflowProject.getSourceProject().getFile(".settings/org.eclipse.wst.common.project.facet.core.xml");
if (facetsFile.exists()) {
String content = new String(PluginUtil.readFile(facetsFile));
int insert = content.indexOf("</faceted-project>");
content = content.substring(0, insert) + " <installed facet=\"jst.web\" version=\"3.0\"/>\n" + content.substring(insert);
PluginUtil.writeFile(facetsFile, content, new SubProgressMonitor(monitor, 3));
}
}
final ProjectConfigurator configurator = new ProjectConfigurator(getProject(), MdwPlugin.getSettings());
if (!workflowProject.isOsgi() && !workflowProject.isWar()) {
MdwPlugin.getDisplay().syncExec(new Runnable() {
public void run() {
try {
configurator.createFrameworkSourceCodeAssociations(MdwPlugin.getShell(), new NullProgressMonitor());
} catch (CoreException ex) {
PluginMessages.log(ex);
}
}
});
}
if (workflowProject.isOsgi()) {
generateOsgiArtifacts(new SubProgressMonitor(monitor, 10));
configurator.configureOsgiProject(shell, new SubProgressMonitor(monitor, 5));
} else if (workflowProject.isWar()) {
generateWarCloudArtifacts(new SubProgressMonitor(monitor, 10));
// force
configurator.addMavenNature(new SubProgressMonitor(monitor, 5));
// maven
// refresh
}
} catch (Exception ex) {
throw new InvocationTargetException(ex);
}
}
});
} catch (Exception ex) {
PluginMessages.uiError(ex, "Create Cloud Project", workflowProject);
}
}
use of com.centurylink.mdw.plugin.designer.dialogs.MdwProgressMonitorDialog in project mdw-designer by CenturyLinkCloud.
the class WebLogicServerConfigurator method doDeploy.
public void doDeploy(Shell shell) {
setShell(shell);
deployOnly = true;
try {
ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(shell);
pmDialog.run(true, true, this);
} catch (InvocationTargetException ex) {
PluginMessages.uiError(shell, ex, "Server Deploy", getServerSettings().getProject());
} catch (InterruptedException ex) {
PluginMessages.log(ex);
MessageDialog.openWarning(shell, "Server Deploy", "Deployment cancelled");
}
}
Aggregations