Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java662
1 files changed, 331 insertions, 331 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java
index 1892918c4f..6e85ff316c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java
@@ -1,331 +1,331 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreCreationWizard;
-import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
-import org.eclipse.emf.cdo.dawn.ui.composites.CDOResourceNodeChooserComposite.ResourceChooserValidator;
-import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewDiagramResourceWizardPage;
-import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
-import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Text;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnCreationWizardTest extends AbstractCDOTest
-{
- public void testCreationWizardSetWrongDiagramName() throws Exception
- {
- CDOSession session = openSession();
- CDOConnectionUtil.instance.openView(session);
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
-
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- assertNotNull(dawnDiagramModelFilePage);
- assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("", dawnDiagramModelFilePage.getResourcePath());
- assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
- assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
-
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("");
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("myDiagram");
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- }
-
- public void testCreationWizardSetWrongSemanticNameWarn_Default() throws Exception
- {
- CDOSession session = openSession();
- CDOConnectionUtil.instance.openView(session);
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
- .getNextPage();
-
- dawnDomainModelFilePage.setVisible(true);
-
- callValidatePage(dawnDomainModelFilePage);
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
-
- dawnDomainModelFilePage.setResourceNamePrefix("");
- callValidatePage(dawnDomainModelFilePage);
- assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
-
- dawnDomainModelFilePage.setResourceNamePrefix("something.acore");
- callValidatePage(dawnDomainModelFilePage);
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
-
- assertEquals("something.acore", dawnDomainModelFilePage.getDefaultName());
- }
-
- public void testCreationWizardSetWrongSemanticNameError() throws Exception
- {
- CDOSession session = openSession();
- CDOConnectionUtil.instance.openView(session);
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
- .getNextPage();
-
- dawnDomainModelFilePage.setVisible(true);
- dawnDomainModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
-
- assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDomainModelFilePage.setResourceNamePrefix("");
- callValidatePage(dawnDomainModelFilePage);
-
- assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
- assertEquals(false, dawnDomainModelFilePage.isPageComplete());
- }
-
- public void testCreationWizardCreateAutomaticName() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setCreateAutomaticResourceName(true);
- dawnDiagramModelFilePage.setVisible(true);
-
- assertEquals("default2.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- }
-
- public void testCreationWizardSetExistingResourceError() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default5.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
- assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
- assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getErrorMessage());
- }
-
- public void testCreationWizardSetExistingResourceWarn() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default5.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_WARN);
- assertEquals(ResourceChooserValidator.VALIDATION_WARN, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
- assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getMessage());
- }
-
- public void testCreationWizardSetExistingResourceNone() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default5.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_NONE);
- assertEquals(ResourceChooserValidator.VALIDATION_NONE, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
- assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals(null, dawnDiagramModelFilePage.getErrorMessage());
- }
-
- public void testCreationWizardCreateResources() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
-
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- assertNotNull(dawnDiagramModelFilePage);
- assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("", dawnDiagramModelFilePage.getResourcePath());
- assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
- assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
-
- // TODO create a folder here first
- // set the resource path as a user would do
- dawnDiagramModelFilePage.setResourcePath("/folder");
- assertEquals("/folder/", dawnDiagramModelFilePage.getResourcePath());
- assertEquals("dawn://repo1//folder//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
-
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
-
- DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
- .getNextPage();
- dawnDiagramModelFilePage.setVisible(false);
- dawnDomainModelFilePage.setVisible(true);
-
- callValidatePage(dawnDomainModelFilePage);
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
- assertNotNull(dawnDomainModelFilePage);
- assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDomainModelFilePage);
- assertEquals("default.acore", dawnDomainModelFilePage.getDefaultName());
- assertEquals("cdo://repo1/folder/default.acore", dawnDomainModelFilePage.getURI().toString());
-
- boolean performFinish = creationWizard.performFinish();
- assertEquals(true, performFinish);
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource semanticResource = transaction.getResource("/folder/default.acore");
-
- CDOResource diagramResource = transaction.getResource("/folder/default.acore_diagram");
- assertNotNull(diagramResource);
- Diagram diagramRoot = (Diagram)diagramResource.getContents().get(0);
- assertEquals(semanticResource.getContents().get(0), diagramRoot.getElement());
- transaction.close();
- }
- // cleanup
- DawnEditorHelper.getActiveEditor().getSite().getPage().closeAllEditors(false);
- }
-
- private void callValidatePage(DawnCreateNewResourceWizardPage page) throws Exception
- {
- Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
- java.lang.Class<Object>[] parameterType = null;
- Method method = clazz.getDeclaredMethod("validatePage", parameterType);
- method.setAccessible(true);
- Object[] args = null;
- method.invoke(page, args);
- }
-
- private Text getResourceText(DawnCreateNewResourceWizardPage dawnDomainModelFilePage) throws Exception
- {
- Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
- Field field = clazz.getDeclaredField("resourceText");
- field.setAccessible(true);
- return (Text)field.get(dawnDomainModelFilePage);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreCreationWizard;
+import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
+import org.eclipse.emf.cdo.dawn.ui.composites.CDOResourceNodeChooserComposite.ResourceChooserValidator;
+import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewDiagramResourceWizardPage;
+import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Text;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnCreationWizardTest extends AbstractCDOTest
+{
+ public void testCreationWizardSetWrongDiagramName() throws Exception
+ {
+ CDOSession session = openSession();
+ CDOConnectionUtil.instance.openView(session);
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ assertNotNull(dawnDiagramModelFilePage);
+ assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("", dawnDiagramModelFilePage.getResourcePath());
+ assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
+ assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
+
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("");
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("myDiagram");
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ }
+
+ public void testCreationWizardSetWrongSemanticNameWarn_Default() throws Exception
+ {
+ CDOSession session = openSession();
+ CDOConnectionUtil.instance.openView(session);
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
+ .getNextPage();
+
+ dawnDomainModelFilePage.setVisible(true);
+
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+
+ dawnDomainModelFilePage.setResourceNamePrefix("");
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+
+ dawnDomainModelFilePage.setResourceNamePrefix("something.acore");
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+
+ assertEquals("something.acore", dawnDomainModelFilePage.getDefaultName());
+ }
+
+ public void testCreationWizardSetWrongSemanticNameError() throws Exception
+ {
+ CDOSession session = openSession();
+ CDOConnectionUtil.instance.openView(session);
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
+ .getNextPage();
+
+ dawnDomainModelFilePage.setVisible(true);
+ dawnDomainModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
+
+ assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDomainModelFilePage.setResourceNamePrefix("");
+ callValidatePage(dawnDomainModelFilePage);
+
+ assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
+ assertEquals(false, dawnDomainModelFilePage.isPageComplete());
+ }
+
+ public void testCreationWizardCreateAutomaticName() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setCreateAutomaticResourceName(true);
+ dawnDiagramModelFilePage.setVisible(true);
+
+ assertEquals("default2.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ }
+
+ public void testCreationWizardSetExistingResourceError() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default5.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
+ assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
+ assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getErrorMessage());
+ }
+
+ public void testCreationWizardSetExistingResourceWarn() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default5.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_WARN);
+ assertEquals(ResourceChooserValidator.VALIDATION_WARN, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
+ assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getMessage());
+ }
+
+ public void testCreationWizardSetExistingResourceNone() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default5.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_NONE);
+ assertEquals(ResourceChooserValidator.VALIDATION_NONE, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
+ assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals(null, dawnDiagramModelFilePage.getErrorMessage());
+ }
+
+ public void testCreationWizardCreateResources() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ assertNotNull(dawnDiagramModelFilePage);
+ assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("", dawnDiagramModelFilePage.getResourcePath());
+ assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
+ assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
+
+ // TODO create a folder here first
+ // set the resource path as a user would do
+ dawnDiagramModelFilePage.setResourcePath("/folder");
+ assertEquals("/folder/", dawnDiagramModelFilePage.getResourcePath());
+ assertEquals("dawn://repo1//folder//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
+
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+
+ DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
+ .getNextPage();
+ dawnDiagramModelFilePage.setVisible(false);
+ dawnDomainModelFilePage.setVisible(true);
+
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+ assertNotNull(dawnDomainModelFilePage);
+ assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDomainModelFilePage);
+ assertEquals("default.acore", dawnDomainModelFilePage.getDefaultName());
+ assertEquals("cdo://repo1/folder/default.acore", dawnDomainModelFilePage.getURI().toString());
+
+ boolean performFinish = creationWizard.performFinish();
+ assertEquals(true, performFinish);
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource semanticResource = transaction.getResource("/folder/default.acore");
+
+ CDOResource diagramResource = transaction.getResource("/folder/default.acore_diagram");
+ assertNotNull(diagramResource);
+ Diagram diagramRoot = (Diagram)diagramResource.getContents().get(0);
+ assertEquals(semanticResource.getContents().get(0), diagramRoot.getElement());
+ transaction.close();
+ }
+ // cleanup
+ DawnEditorHelper.getActiveEditor().getSite().getPage().closeAllEditors(false);
+ }
+
+ private void callValidatePage(DawnCreateNewResourceWizardPage page) throws Exception
+ {
+ Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
+ java.lang.Class<Object>[] parameterType = null;
+ Method method = clazz.getDeclaredMethod("validatePage", parameterType);
+ method.setAccessible(true);
+ Object[] args = null;
+ method.invoke(page, args);
+ }
+
+ private Text getResourceText(DawnCreateNewResourceWizardPage dawnDomainModelFilePage) throws Exception
+ {
+ Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
+ Field field = clazz.getDeclaredField("resourceText");
+ field.setAccessible(true);
+ return (Text)field.get(dawnDomainModelFilePage);
+ }
+}

Back to the top