bugs fixed
diff --git a/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/NewRefactoringWizardHenshin.java b/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/NewRefactoringWizardHenshin.java
index 7c20069..79d5901 100644
--- a/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/NewRefactoringWizardHenshin.java
+++ b/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/NewRefactoringWizardHenshin.java
@@ -72,6 +72,10 @@
this.className = contextType;
}
+ public String getNamespaceUri() {
+ return namespaceUri;
+ }
+
@Override
public void init(IWorkbench workbench, IStructuredSelection selection) {
initProjects();
@@ -122,7 +126,8 @@
@Override
public boolean canFinish() {
return (basicWizardPage.isPageComplete()
- && transformationWizardPage.isPageComplete());
+ && transformationWizardPage.isPageComplete()
+ && parameterWizardPage.isPageComplete());
}
@Override
diff --git a/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/ParameterWizardPage.java b/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/ParameterWizardPage.java
index a69d15a..ee8e0a3 100644
--- a/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/ParameterWizardPage.java
+++ b/org.eclipse.emf.refactor.refactoring.henshin/src/org/eclipse/emf/refactor/refactoring/henshin/ui/ParameterWizardPage.java
@@ -15,6 +15,8 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.henshin.model.Module;
import org.eclipse.emf.henshin.model.Parameter;
import org.eclipse.emf.henshin.model.Unit;
@@ -251,8 +253,22 @@
private void checkIsPageComplete() {
setTransformationSystem();
if (this.module == null){
- setMessage("Cannot load henshin transformation system.",
- SWT.ERROR);
+ setMessage("Cannot load henshin module.", SWT.ERROR);
+ setPageComplete(false);
+ return;
+ }
+ EList<EPackage> imports = this.module.getImports();
+ String nsUri = ((NewRefactoringWizardHenshin) getWizard()).getNamespaceUri();
+ boolean hasImport = false;
+ for (EPackage ePackage : imports) {
+ if (ePackage.getNsURI().equals(nsUri)) {
+ hasImport = true;
+ break;
+ }
+ }
+ if (! hasImport) {
+ setMessage("The henshin module does not import model '"
+ + nsUri + "'.", SWT.ERROR);
setPageComplete(false);
return;
}