[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards ...

Robert Stryker rob.stryker at jboss.com
Fri Apr 20 19:45:00 EDT 2007


  User: rawb    
  Date: 07/04/20 19:45:00

  Modified:    core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards    
                        FilesetWizard.java NewJARWizard.java
  Added:       core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards    
                        AbstractArchiveWizard.java
  Removed:     core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards    
                        ArchivePackageWizard.java
  Log:
  It Compiles!  Not sure on if it *works* yet
  
  Revision  Changes    Path
  1.4       +1 -3      jbosside/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/FilesetWizard.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: FilesetWizard.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/FilesetWizard.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- FilesetWizard.java	20 Apr 2007 09:42:02 -0000	1.3
  +++ FilesetWizard.java	20 Apr 2007 23:45:00 -0000	1.4
  @@ -2,8 +2,6 @@
   
   import java.lang.reflect.InvocationTargetException;
   
  -import org.eclipse.core.resources.ResourcesPlugin;
  -import org.eclipse.core.runtime.IPath;
   import org.eclipse.core.runtime.IProgressMonitor;
   import org.eclipse.core.runtime.Path;
   import org.eclipse.jface.operation.IRunnableWithProgress;
  @@ -12,7 +10,7 @@
   import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
   import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
   import org.jboss.ide.eclipse.archives.core.model.internal.ArchivesModel;
  -import org.jboss.ide.eclipse.archives.ui.util.ArchiveNodeFactory;
  +import org.jboss.ide.eclipse.archives.core.util.ArchiveNodeFactory;
   import org.jboss.ide.eclipse.archives.ui.wizards.pages.FilesetInfoWizardPage;
   
   public class FilesetWizard extends Wizard {
  
  
  
  1.4       +4 -4      jbosside/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/NewJARWizard.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: NewJARWizard.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/NewJARWizard.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- NewJARWizard.java	20 Apr 2007 09:42:02 -0000	1.3
  +++ NewJARWizard.java	20 Apr 2007 23:45:00 -0000	1.4
  @@ -5,11 +5,11 @@
   import org.jboss.ide.eclipse.archives.core.Trace;
   import org.jboss.ide.eclipse.archives.core.model.IArchive;
   import org.jboss.ide.eclipse.archives.core.model.ArchivesCore;
  -import org.jboss.ide.eclipse.archives.core.model.types.JARPackageType;
  +import org.jboss.ide.eclipse.archives.core.model.types.JARArchiveType;
   import org.jboss.ide.eclipse.archives.ui.ArchivesSharedImages;
   import org.jboss.ide.eclipse.archives.ui.ArchivesUIMessages;
   
  -public class NewJARWizard extends ArchivePackageWizard
  +public class NewJARWizard extends AbstractArchiveWizard
   {
   	public WizardPage[] createWizardPages() {
   		return new WizardPage[0];
  @@ -28,7 +28,7 @@
   	public boolean performFinish(IArchive pkg) {
   		Trace.trace(getClass(), "performing finish");
   		
  -		pkg.setArchiveType(ArchivesCore.getPackageType(JARPackageType.TYPE_ID));
  +		pkg.setArchiveType(ArchivesCore.getArchiveType(JARArchiveType.TYPE_ID));
   		return true;
   	}
   	
  @@ -36,7 +36,7 @@
   		return ArchivesSharedImages.getImageDescriptor(ArchivesSharedImages.IMG_NEW_JAR_WIZARD);
   	}
   	
  -	public String getPackageExtension() {
  +	public String getArchiveExtension() {
   		return "jar";
   	}
   }
  
  
  
  1.1      date: 2007/04/20 23:45:00;  author: rawb;  state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/wizards/AbstractArchiveWizard.java
  
  Index: AbstractArchiveWizard.java
  ===================================================================
  package org.jboss.ide.eclipse.archives.ui.wizards;
  
  import java.lang.reflect.InvocationTargetException;
  
  import org.eclipse.core.resources.IContainer;
  import org.eclipse.core.resources.IProject;
  import org.eclipse.core.runtime.IProgressMonitor;
  import org.eclipse.jface.operation.IRunnableWithProgress;
  import org.eclipse.jface.resource.ImageDescriptor;
  import org.eclipse.jface.viewers.IStructuredSelection;
  import org.eclipse.jface.wizard.IWizardPage;
  import org.eclipse.jface.wizard.WizardPage;
  import org.eclipse.ui.INewWizard;
  import org.eclipse.ui.IWorkbench;
  import org.jboss.ide.eclipse.archives.core.Trace;
  import org.jboss.ide.eclipse.archives.core.model.IArchive;
  import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
  import org.jboss.ide.eclipse.archives.core.model.internal.ArchivesModel;
  import org.jboss.ide.eclipse.archives.ui.views.ProjectArchivesView;
  import org.jboss.ide.eclipse.archives.ui.wizards.pages.ArchiveInfoWizardPage;
  
  public abstract class AbstractArchiveWizard extends WizardWithNotification implements INewWizard {
  	private ArchiveInfoWizardPage firstPage;
  	private WizardPage pages[];
  	protected IProject project;
  	protected Object selectedDestination;
  	protected IArchive existingPackage;
  	
  	public AbstractArchiveWizard () {	
  		this.project = ProjectArchivesView.getInstance().getCurrentProject();
  	}
  	
  	public AbstractArchiveWizard (IArchive existingPackage) {
  		this.existingPackage = existingPackage;
  		this.project = existingPackage.getProject();
  	}
  	
  	public void addPages() {
  		firstPage = new ArchiveInfoWizardPage(this, existingPackage);
  		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() {
  		IWizardPage currentPage = getContainer().getCurrentPage();
  		
  		if (currentPage instanceof WizardPageWithNotification) {
  			((WizardPageWithNotification)currentPage).pageExited(WizardWithNotification.FINISH);
  		}
  		
  		final boolean create = this.existingPackage == null;
  		final IArchive pkg = firstPage.getArchive();
  		final Object destination = firstPage.getPackageDestination();
  		
  		boolean performed = performFinish(pkg);
  		
  		if (performed) {
  			try {
  				getContainer().run(false, false, new IRunnableWithProgress () {
  					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
  						IArchiveNode parent = null;
  						
  						if (destination instanceof IArchiveNode) {
  							// if we're modifying an existing package, remove old parentage
  							if (!create && !destination.equals(pkg.getParent())) {
  								if (pkg.getParent() != null) {
  									pkg.getParent().removeChild(pkg);
  								}
  							}
  							parent = (IArchiveNode)destination;
  						} else {
  							parent = ArchivesModel.instance().getRoot(project, true, monitor);
  						}
  						
  						if( create ) 
  							ArchivesModel.instance().attach(parent, pkg, monitor);
  						else
  							ArchivesModel.instance().saveModel(project, monitor);
  					}
  				});
  			} catch (InvocationTargetException e) {
  				Trace.trace(getClass(), e);
  			} catch (InterruptedException e) {
  				Trace.trace(getClass(), e);
  			}
  		}
  		return performed;
  	}
  
  	public void init(IWorkbench workbench, IStructuredSelection selection) {
  		if (selection == null) return;
  		project = ProjectArchivesView.getInstance().getCurrentProject();
  		Object selected;
  		
  		if( selection.isEmpty() ) {
  			selected = project;
  		} else {
  			selected = selection.getFirstElement();
  		}
  
  		if (selected instanceof IArchiveNode)
  		{
  			IArchiveNode node = (IArchiveNode) selected;
  			if (node.getNodeType() == IArchiveNode.TYPE_ARCHIVE || node.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FOLDER)
  			{
  				selectedDestination = selected;
  			}
  			project = node.getProject();
  		}
  		else if (selected instanceof IContainer)
  		{
  			selectedDestination = selected;
  		}
  		else {
  			selectedDestination = project;
  		}
  		
  		setNeedsProgressMonitor(true);
  	}
  	
  	public Object getSelectedDestination ()
  	{
  		return selectedDestination;
  	}
  	
  	public abstract boolean performFinish(IArchive pkg);
  	public abstract WizardPage[] createWizardPages();
  	public abstract ImageDescriptor getImageDescriptor();
  	public abstract String getArchiveExtension();
  	
  	public IProject getProject() {
  		return project;
  	}
  	
  	/**
  	 * Returns the package created by this wizard.
  	 * Note: This should only be called after the first page has been completed
  	 * @return The package
  	 */
  	public IArchive getArchive () {
  		return firstPage.getArchive();
  	}
  }
  
  
  



More information about the jboss-cvs-commits mailing list