[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