[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards ...
Marshall Culpepper
mculpepper at jboss.com
Mon Nov 6 16:36:50 EST 2006
User: mculpepper
Date: 06/11/06 16:36:50
Added: core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards
NewWARWizard.java AbstractPackageWizard.java
NewJARWizard.java FilesetWizard.java
Log:
initial commit of the new "packages" tooling ui plugin
Revision Changes Path
1.1 date: 2006/11/06 21:36:50; author: mculpepper; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/NewWARWizard.java
Index: NewWARWizard.java
===================================================================
package org.jboss.ide.eclipse.packages.ui.wizards;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.WizardPage;
import org.jboss.ide.eclipse.packages.core.model.IPackageWorkingCopy;
import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
import org.jboss.ide.eclipse.packages.ui.wizards.pages.WARInfoWizardPage;
public class NewWARWizard extends AbstractPackageWizard {
private WARInfoWizardPage warInfoPage;
public NewWARWizard ()
{
setWindowTitle("New WAR");
}
public ImageDescriptor getImageDescriptor() {
return PackagesUIPlugin.getImageDescriptor(PackagesUIPlugin.IMG_NEW_WAR_WIZARD);
}
public WizardPage[] createWizardPages() {
warInfoPage = new WARInfoWizardPage();
return new WizardPage[] { warInfoPage };
}
public boolean performFinish(IPackageWorkingCopy pkg) {
pkg.setPackageType("war");
return true;
}
public String getPackageExtension() {
return "war";
}
}
1.1 date: 2006/11/06 21:36:50; author: mculpepper; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/AbstractPackageWizard.java
Index: AbstractPackageWizard.java
===================================================================
package org.jboss.ide.eclipse.packages.ui.wizards;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.jboss.ide.eclipse.core.util.ProjectUtil;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
import org.jboss.ide.eclipse.packages.core.model.IPackageNodeWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.IPackageWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
import org.jboss.ide.eclipse.packages.ui.wizards.pages.PackageInfoWizardPage;
public abstract class AbstractPackageWizard extends Wizard implements INewWizard
{
private PackageInfoWizardPage firstPage;
private WizardPage pages[];
protected IProject project;
protected Object selectedDestination;
public void addPages() {
firstPage = new PackageInfoWizardPage(this);
addPage(firstPage);
pages = createWizardPages();
for (int i = 0; i < pages.length; i++)
{
addPage(pages[i]);
}
}
public boolean canFinish() {
if (firstPage.isPageComplete())
{
for (int i = 0; i < pages.length; i++)
{
if (!pages[i].isPageComplete()) return false;
}
return true;
}
return false;
}
public boolean performFinish() {
IPackageWorkingCopy packageWC = PackagesCore.createPackage(project);
packageWC.setName(firstPage.getPackageName());
packageWC.setExploded(firstPage.isPackageExploded());
if (firstPage.isManifestEnabled())
{
packageWC.setManifest(firstPage.getManifestFile());
}
Object destContainer = firstPage.getPackageDestination();
if (!destContainer.equals(project) && destContainer instanceof IContainer) {
packageWC.setDestinationContainer((IContainer)destContainer);
}
else if (destContainer instanceof IPackageNodeWorkingCopy) {
IPackageNodeWorkingCopy node = (IPackageNodeWorkingCopy) destContainer;
node.addChild(packageWC);
}
else if (destContainer instanceof IPath)
{
packageWC.setDestinationFolder((IPath) destContainer);
}
boolean performed = performFinish(packageWC);
if (performed)
{
packageWC.save();
}
return performed;
}
public void init(IWorkbench workbench, IStructuredSelection selection) {
if (selection == null) return;
project = ProjectUtil.getProject(selection.getFirstElement());
Object selected = selection.getFirstElement();
if (selected instanceof IPackageNode)
{
IPackageNode node = (IPackageNode) selected;
if (node.getNodeType() == IPackageNode.TYPE_PACKAGE || node.getNodeType() == IPackageNode.TYPE_PACKAGE_FOLDER)
{
selectedDestination = selected;
}
}
else if (selected instanceof IContainer)
{
selectedDestination = selected;
}
else {
selectedDestination = project;
}
}
public Object getSelectedDestination ()
{
return selectedDestination;
}
public abstract boolean performFinish(IPackageWorkingCopy pkg);
public abstract WizardPage[] createWizardPages();
public abstract ImageDescriptor getImageDescriptor();
public abstract String getPackageExtension();
public IProject getProject() {
return project;
}
}
1.1 date: 2006/11/06 21:36:50; author: mculpepper; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/NewJARWizard.java
Index: NewJARWizard.java
===================================================================
package org.jboss.ide.eclipse.packages.ui.wizards;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.WizardPage;
import org.jboss.ide.eclipse.packages.core.model.IPackageWorkingCopy;
import org.jboss.ide.eclipse.packages.ui.PackagesUIMessages;
import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
public class NewJARWizard extends AbstractPackageWizard
{
public WizardPage[] createWizardPages() {
return new WizardPage[0];
}
public NewJARWizard ()
{
setWindowTitle(PackagesUIMessages.NewJARWizard_windowTitle);
}
public boolean performFinish(IPackageWorkingCopy pkg) {
pkg.setPackageType("jar"); //$NON-NLS-1$
return true;
}
public ImageDescriptor getImageDescriptor() {
return PackagesUIPlugin.getImageDescriptor(PackagesUIPlugin.IMG_NEW_JAR_WIZARD);
}
public String getPackageExtension() {
return "jar";
}
}
1.1 date: 2006/11/06 21:36:50; author: mculpepper; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/wizards/FilesetWizard.java
Index: FilesetWizard.java
===================================================================
package org.jboss.ide.eclipse.packages.ui.wizards;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.wizard.Wizard;
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSetWorkingCopy;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
import org.jboss.ide.eclipse.packages.ui.wizards.pages.FilesetInfoWizardPage;
public class FilesetWizard extends Wizard {
private FilesetInfoWizardPage page1;
private IPackageFileSet fileset;
private IPackageNode parentNode;
public FilesetWizard(IPackageFileSet fileset, IPackageNode parentNode)
{
this.fileset = fileset;
this.parentNode = parentNode;
}
public boolean performFinish() {
IPackageFileSetWorkingCopy filesetWC;
if (this.fileset == null) {
filesetWC = PackagesCore.createPackageFileSet(parentNode.getProject());
} else {
filesetWC = fileset.createFileSetWorkingCopy();
}
fillFilesetFromPage(filesetWC);
page1.getRootNode().addChild(filesetWC);
if (this.fileset != null)
page1.getRootNode().removeChild(this.fileset);
this.fileset = filesetWC.saveFileSet();
return true;
}
private void fillFilesetFromPage (IPackageFileSetWorkingCopy fileset)
{
if (page1.isSingleFile())
{
if (page1.isFileWorkspaceRelative())
{
fileset.setSingleFile(page1.getWorkspaceFile());
} else {
fileset.setSingleFile(new Path(page1.getSingleFile()));
}
}
else {
fileset.setExcludesPattern(page1.getExcludes());
fileset.setIncludesPattern(page1.getIncludes());
if (page1.isRootDirWorkspaceRelative()) {
IContainer dir = page1.getWorkspaceRootDir();
if (!dir.getProject().equals(this.parentNode.getProject())) {
fileset.setSourceProject(dir.getProject());
}
fileset.setSourceContainer(dir);
} else {
fileset.setSourceFolder(new Path(page1.getRootDir()));
}
}
}
public void addPages() {
page1 = new FilesetInfoWizardPage(getShell(), fileset, parentNode);
addPage(page1);
}
}
More information about the jboss-cvs-commits
mailing list