### Eclipse Workspace Patch 1.0 #P org.eclipse.gmf.bridge.ui Index: src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelOperation.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge.ui/src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelOperation.java,v retrieving revision 1.1 diff -u -r1.1 TransformToGenModelOperation.java --- src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelOperation.java 18 Jan 2007 18:49:15 -0000 1.1 +++ src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelOperation.java 25 Jan 2007 17:05:32 -0000 @@ -180,6 +180,15 @@ } subTask(monitor, 30, Messages.TransformToGenModelOperation_task_load, cancelMessage); GenModel genModel = gmd.get(rs); + if (genModel == null) { + if (uri == null) { + this.myStaleGenmodelStatus = Status.CANCEL_STATUS; + this.myGenModel = null; + return null; + } + IStatus notFound = Plugin.createError(Messages.GenModelDetector_e_not_found, null); + throw new CoreException(notFound); + } subTask(monitor, 40, Messages.TransformToGenModelOperation_task_validate, cancelMessage); StaleGenModelDetector staleDetector = new StaleGenModelDetector(genModel); IStatus stale = staleDetector.detect(); Index: src/org/eclipse/gmf/internal/bridge/transform/GenModelConfigurationPage.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge.ui/src/org/eclipse/gmf/internal/bridge/transform/GenModelConfigurationPage.java,v retrieving revision 1.1 diff -u -r1.1 GenModelConfigurationPage.java --- src/org/eclipse/gmf/internal/bridge/transform/GenModelConfigurationPage.java 18 Jan 2007 18:49:15 -0000 1.1 +++ src/org/eclipse/gmf/internal/bridge/transform/GenModelConfigurationPage.java 25 Jan 2007 17:05:32 -0000 @@ -120,10 +120,15 @@ void findGenmodel() { try { GenModel genModel = getOperation().findGenmodel(getResourceSet()); - Resource r = genModel.eResource(); - URI genURI = r.getURI(); - setURI(genURI); - updateURI(); + if (genModel != null) { + Resource r = genModel.eResource(); + URI genURI = r.getURI(); + setURI(genURI); + updateURI(); + } else { + setPageComplete(true); + updateControls(); + } } catch (CoreException e) { setErrorMessage(e.getMessage()); updateControls(); @@ -156,6 +161,9 @@ @Override protected Resource doLoadResource(IProgressMonitor monitor) throws CoreException { GenModel genModel = getOperation().loadGenModel(getResourceSet(), getURI(), monitor); + if (genModel == null) { + return null; + } return genModel.eResource(); } Index: src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelWizard.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge.ui/src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelWizard.java,v retrieving revision 1.1 diff -u -r1.1 TransformToGenModelWizard.java --- src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelWizard.java 18 Jan 2007 18:49:15 -0000 1.1 +++ src/org/eclipse/gmf/internal/bridge/transform/TransformToGenModelWizard.java 25 Jan 2007 17:05:32 -0000 @@ -14,8 +14,10 @@ import java.lang.reflect.InvocationTargetException; import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.emf.codegen.ecore.genmodel.GenModel; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; @@ -23,6 +25,7 @@ import org.eclipse.gmf.internal.common.ui.ResourceLocationProvider; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.jface.wizard.Wizard; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.jface.wizard.WizardPage; @@ -72,7 +75,7 @@ genModelPage.setTitle(Messages.TransformToGenModelWizard_title_genmodel); genModelPage.setDescription(Messages.TransformToGenModelWizard_descr_genmodel); genModelPage.setPageComplete(false); - genModelPage.setModelRequired(true); + genModelPage.setModelRequired(false); addPage(genModelPage); transformOptionPage = new ViewmapProducerWizardPage(PAGE_ID_TRANSFORM); @@ -83,6 +86,24 @@ } + /* (non-Javadoc) + * @see org.eclipse.jface.wizard.Wizard#getNextPage(org.eclipse.jface.wizard.IWizardPage) + */ + @Override + public IWizardPage getNextPage(IWizardPage page) { + if (page == mapModelPage) { + try { + GenModel genmmodel = getTransformOperation().findGenmodel(resourceSet); + if (genmmodel == null) { + return transformOptionPage; + } + } catch (CoreException e) { + genModelPage.setStatusMessage(e.getStatus()); + } + } + return super.getNextPage(page); + } + public void init(IWorkbench workbench, IStructuredSelection selection) { this.mySelection = selection; setWindowTitle(Messages.TransformToGenModelWizard_title_wizard); Index: src/org/eclipse/gmf/internal/bridge/transform/ModelConfigurationPage.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.bridge.ui/src/org/eclipse/gmf/internal/bridge/transform/ModelConfigurationPage.java,v retrieving revision 1.1 diff -u -r1.1 ModelConfigurationPage.java --- src/org/eclipse/gmf/internal/bridge/transform/ModelConfigurationPage.java 18 Jan 2007 18:49:15 -0000 1.1 +++ src/org/eclipse/gmf/internal/bridge/transform/ModelConfigurationPage.java 25 Jan 2007 17:05:32 -0000 @@ -71,8 +71,9 @@ if (target instanceof CoreException) { CoreException ce = (CoreException) target; setStatusMessage(ce.getStatus()); + } else { + setStatusMessage(Plugin.createError(target.getMessage(), target)); } - setStatusMessage(Plugin.createError(target.getMessage(), target)); } catch (InterruptedException e) { setStatusMessage(Status.CANCEL_STATUS); }