Author: dgeraskov
Date: 2008-01-18 07:04:24 -0500 (Fri, 18 Jan 2008)
New Revision: 5798
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/OpenMappingTests.java
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenMappingFileTest.java
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenSourceFileTest.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1649
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/OpenMappingTests.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/OpenMappingTests.java 2008-01-18
11:36:35 UTC (rev 5797)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/OpenMappingTests.java 2008-01-18
12:04:24 UTC (rev 5798)
@@ -61,6 +61,7 @@
Iterator properties = type.getPropertyIterator();
while (properties.hasNext()) {
Property prop = (Property) properties.next();
+ if (prop.getClass() != Property.class) continue;
assertNotNull(OpenMappingAction.findSelection(prop, findAdapter));
}
}
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenMappingFileTest.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenMappingFileTest.java 2008-01-18
11:36:35 UTC (rev 5797)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenMappingFileTest.java 2008-01-18
12:04:24 UTC (rev 5798)
@@ -24,7 +24,10 @@
import org.hibernate.eclipse.console.actions.OpenMappingAction;
import org.hibernate.eclipse.console.workbench.ConfigurationWorkbenchAdapter;
import org.hibernate.eclipse.console.workbench.ConsoleConfigurationWorkbenchAdapter;
+import org.hibernate.eclipse.console.workbench.PersistentClassWorkbenchAdapter;
+import org.hibernate.eclipse.console.workbench.PropertyWorkbenchAdapter;
import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.Property;
/**
* @author Dmitry Geraskov
@@ -39,6 +42,7 @@
consCFG.reset();
Object[] configs = null;
Object[] persClasses = null;
+ Object[] props = null;
try {
configs = new ConsoleConfigurationWorkbenchAdapter().getChildren(consCFG);
assertTrue(configs[0] instanceof Configuration);
@@ -51,22 +55,64 @@
for (int i = 0; i < persClasses.length; i++) {
assertTrue(persClasses[0] instanceof PersistentClass);
PersistentClass persClass = (PersistentClass) persClasses[i];
- IEditorPart editor = null;
- Throwable ex = null;
- try {
- editor = OpenMappingAction.run(persClass, consCFG);
- } catch (PartInitException e) {
- ex = e;
- } catch (JavaModelException e) {
- ex = e;
- } catch (FileNotFoundException e) {
- ex = e;
- }
- if (ex == null ) ex = ProjectUtil.getExceptionIfItOccured(editor);
- if (ex != null) fail("Mapping file for " + persClass.getClassName()
- + " not opened:\n" + ex.getMessage());
+ openTest(persClass, consCFG);
+ props = new PersistentClassWorkbenchAdapter().getChildren(persClass);
+ for (int j = 0; j < props.length; j++) {
+ if (props.getClass() != Property.class) continue;
+ openTest(props[j], consCFG);
+ Object[] compProperties = new PropertyWorkbenchAdapter().getChildren(props[j]);
+ for (int k = 0; k < compProperties.length; k++) {
+ //test Composite properties
+ if (compProperties[k].getClass() != Property.class) continue;
+ openPropertyTest((Property) props[j], (Property)compProperties[k], consCFG);
+ }
+ }
}
}
//close all editors
}
+
+ private void openPropertyTest(Property compositeProperty, Property parentProperty,
ConsoleConfiguration consCFG){
+ IEditorPart editor = null;
+ Throwable ex = null;
+ try {
+ editor = OpenMappingAction.run(compositeProperty, parentProperty, consCFG);
+ Object[] compProperties = new
PropertyWorkbenchAdapter().getChildren(compositeProperty);
+ for (int k = 0; k < compProperties.length; k++) {
+ //test Composite properties
+ assertTrue(compProperties[k] instanceof Property);
+ // use only first level to time safe
+ //openPropertyTest((Property)compProperties[k], compositeProperty, consCFG);
+ }
+ } catch (PartInitException e) {
+ ex = e;
+ } catch (JavaModelException e) {
+ ex = e;
+ } catch (FileNotFoundException e) {
+ ex = e;
+ }
+ if (ex == null ) ex = ProjectUtil.getExceptionIfItOccured(editor);
+ if (ex != null) fail("Mapping file for " + compositeProperty.getNodeName()
+ + " not opened:\n" + ex.getMessage());
+ }
+
+ private void openTest(Object selection, ConsoleConfiguration consCFG){
+ IEditorPart editor = null;
+ Throwable ex = null;
+ try {
+ editor = OpenMappingAction.run(selection, consCFG);
+ //checkSelectionMade(editor);
+ } catch (PartInitException e) {
+ ex = e;
+ } catch (JavaModelException e) {
+ ex = e;
+ } catch (FileNotFoundException e) {
+ ex = e;
+ }
+ if (ex == null ) ex = ProjectUtil.getExceptionIfItOccured(editor);
+ if (ex != null) fail("Mapping file for " + selection/*.getClassName()*/
+ + " not opened:\n" + ex.getMessage());
+ }
+
+
}
Modified:
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenSourceFileTest.java
===================================================================
---
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenSourceFileTest.java 2008-01-18
11:36:35 UTC (rev 5797)
+++
trunk/hibernatetools/tests/org.hibernate.eclipse.console.test/src/org/hibernate/eclipse/console/test/mappingproject/OpenSourceFileTest.java 2008-01-18
12:04:24 UTC (rev 5798)
@@ -21,10 +21,15 @@
import org.hibernate.cfg.Configuration;
import org.hibernate.console.ConsoleConfiguration;
import org.hibernate.console.KnownConfigurations;
+import org.hibernate.eclipse.console.actions.OpenMappingAction;
import org.hibernate.eclipse.console.actions.OpenSourceAction;
import org.hibernate.eclipse.console.workbench.ConfigurationWorkbenchAdapter;
import org.hibernate.eclipse.console.workbench.ConsoleConfigurationWorkbenchAdapter;
+import org.hibernate.eclipse.console.workbench.PersistentClassWorkbenchAdapter;
+import org.hibernate.eclipse.console.workbench.PropertyWorkbenchAdapter;
+import org.hibernate.mapping.Component;
import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.Property;
/**
* @author Dmitry Geraskov
@@ -40,6 +45,7 @@
consCFG.reset();
Object[] configs = null;
Object[] persClasses = null;
+ Object[] fields = null;
try {
configs = new ConsoleConfigurationWorkbenchAdapter().getChildren(consCFG);
assertTrue(configs[0] instanceof Configuration);
@@ -52,26 +58,51 @@
for (int i = 0; i < persClasses.length; i++) {
assertTrue(persClasses[0] instanceof PersistentClass);
PersistentClass persClass = (PersistentClass) persClasses[i];
- IEditorPart editor = null;
- Throwable ex = null;
- try {
- editor = new OpenSourceAction().run(persClass,
MappingTestProject.getTestProject().getIJavaProject(),
- persClass.getClassName());
- } catch (PartInitException e) {
- ex = e;
- } catch (JavaModelException e) {
- ex = e;
- } catch (FileNotFoundException e) {
- ex = e;
- }
- if (ex == null ) ex = ProjectUtil.getExceptionIfItOccured(editor);
- if (ex != null) fail("Source file for " + persClass.getClassName()
- + " not opened:\n" + ex.getMessage());
- }
+ String fullyQualifiedName = persClass.getClassName();
+ // test PersistentClasses
+ openTest(persClass, consCFG, fullyQualifiedName);
+ fields = new PersistentClassWorkbenchAdapter().getChildren(persClass);
+ for (int j = 0; j < fields.length; j++) {
+ if (fields[j].getClass() != Property.class) continue;
+ fullyQualifiedName = persClass.getClassName();
+ // test Properties
+ openTest(fields[j], consCFG, fullyQualifiedName);
+ if (fields[j] instanceof Property
+ && ((Property)fields[j]).isComposite()) {
+ fullyQualifiedName =((Component)((Property)
fields[j]).getValue()).getComponentClassName();
+
+ Object[] compProperties = new PropertyWorkbenchAdapter().getChildren(fields[j]);
+ for (int k = 0; k < compProperties.length; k++) {
+ if (compProperties[k].getClass() != Property.class) continue;
+ //test Composite properties
+ openTest(compProperties[k], consCFG, fullyQualifiedName);
+ }
+ }
+ }
+ }
}
//close all editors
}
+
+ private void openTest(Object selection, ConsoleConfiguration consCFG, String
fullyQualifiedName){
+ IEditorPart editor = null;
+ Throwable ex = null;
+ try {
+ editor = new OpenSourceAction().run(selection,
MappingTestProject.getTestProject().getIJavaProject(),
+ fullyQualifiedName);
+ } catch (PartInitException e) {
+ ex = e;
+ } catch (JavaModelException e) {
+ ex = e;
+ } catch (FileNotFoundException e) {
+ ex = e;
+ }
+ if (ex == null ) ex = ProjectUtil.getExceptionIfItOccured(editor);
+ if (ex != null) fail("Mapping file for " +
fullyQualifiedName/*.getClassName()*/
+ + " not opened:\n" + ex.getMessage());
+ }
+
}