Author: mdryakhlenkov
Date: 2007-07-02 07:13:32 -0400 (Mon, 02 Jul 2007)
New Revision: 2233
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmDiagram.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmShape.java
Log:
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmDiagram.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmDiagram.java 2007-06-30
14:52:03 UTC (rev 2232)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmDiagram.java 2007-07-02
11:13:32 UTC (rev 2233)
@@ -186,6 +186,13 @@
createConnections(classShape, shape);
new Connection(classShape, shape);
}
+ RootClass rc = (RootClass)persistentClass;
+ Iterator iter = rc.getSubclassIterator();
+ while (iter.hasNext()) {
+ SingleTableSubclass singleTableSubclass = (SingleTableSubclass)iter.next();
+ classShape =
elements.get(singleTableSubclass.getEntityPersisterClass().getCanonicalName());
+ if (classShape == null) classShape = createShape(singleTableSubclass);
+ }
// if (persistentClass.getPersistentClassMapping() != null) {
// Iterator iter
=((IHibernateClassMapping)(persistentClass).getPersistentClassMapping()).getJoinIterator();
// while ( iter.hasNext() ) {
@@ -217,9 +224,9 @@
if (elements.get(cls.getClassName()) == null)
getOrCreatePersistentClass(cls, null);
}
- } else if (clazz instanceof SingleTableSubclass) {
- SingleTableSubclass singleTableSubclass = (SingleTableSubclass)clazz;
- getOrCreatePersistentClass(singleTableSubclass, null);
+// } else if (clazz instanceof SingleTableSubclass) {
+// SingleTableSubclass singleTableSubclass = (SingleTableSubclass)clazz;
+// getOrCreatePersistentClass(singleTableSubclass, null);
}
}
// IPersistentClassMapping persistentClassMappings[] =
databaseTable.getPersistentClassMappings();
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmShape.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmShape.java 2007-06-30
14:52:03 UTC (rev 2232)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/veditor/editors/model/OrmShape.java 2007-07-02
11:13:32 UTC (rev 2233)
@@ -19,6 +19,7 @@
import org.hibernate.mapping.KeyValue;
import org.hibernate.mapping.Property;
import org.hibernate.mapping.RootClass;
+import org.hibernate.mapping.SimpleValue;
import org.hibernate.mapping.SingleTableSubclass;
import org.hibernate.mapping.Table;
@@ -60,27 +61,59 @@
Iterator iterator = rootClass.getPropertyIterator();
while (iterator.hasNext()) {
Property field = (Property)iterator.next();
- if (field.getValue().getType().isEntityType()) {
- bodyOrmShape = new ExpandeableShape(field);
- } else if (field.getValue().getType().isCollectionType()) {
- bodyOrmShape = new ComponentShape(field);
+ if (!field.isComposite()) {
+ if (field.getValue().getType().isEntityType()) {
+ bodyOrmShape = new ExpandeableShape(field);
+ } else if (field.getValue().getType().isCollectionType()) {
+ bodyOrmShape = new ComponentShape(field);
+ } else {
+ bodyOrmShape = new Shape(field);
+ }
+ shapes.add(bodyOrmShape);
} else {
- bodyOrmShape = new Shape(field);
+ Component component = (Component)field.getValue();
+ Iterator iter = component.getPropertyIterator();
+ while (iter.hasNext()) {
+ Property property = (Property)iter.next();
+ if (property.getValue().getType().isEntityType()) {
+ bodyOrmShape = new ExpandeableShape(property);
+ } else if (property.getValue().getType().isCollectionType()) {
+ bodyOrmShape = new ComponentShape(property);
+ } else {
+ bodyOrmShape = new Shape(property);
+ }
+ shapes.add(bodyOrmShape);
+ }
}
- shapes.add(bodyOrmShape);
}
} else if (ormElement instanceof SingleTableSubclass) {
Iterator iterator =
((SingleTableSubclass)ormElement).getRootClass().getPropertyIterator();
while (iterator.hasNext()) {
Property field = (Property)iterator.next();
- if (field.getValue().getType().isEntityType()) {
- bodyOrmShape = new ExpandeableShape(field);
- } else if (field.getValue().getType().isCollectionType()) {
- bodyOrmShape = new ComponentShape(field);
+ if (!field.isComposite()) {
+ if (field.getValue().getType().isEntityType()) {
+ bodyOrmShape = new ExpandeableShape(field);
+ } else if (field.getValue().getType().isCollectionType()) {
+ bodyOrmShape = new ComponentShape(field);
+ } else {
+ bodyOrmShape = new Shape(field);
+ }
+ shapes.add(bodyOrmShape);
} else {
- bodyOrmShape = new Shape(field);
+ Component component = (Component)field.getValue();
+ Iterator iter = component.getPropertyIterator();
+ while (iter.hasNext()) {
+ Property property = (Property)iter.next();
+ if (property.getValue().getType().isEntityType()) {
+ bodyOrmShape = new ExpandeableShape(property);
+ } else if (property.getValue().getType().isCollectionType()) {
+ bodyOrmShape = new ComponentShape(property);
+ } else {
+ bodyOrmShape = new Shape(property);
+ }
+ shapes.add(bodyOrmShape);
+ }
}
- shapes.add(bodyOrmShape);
}
} else if (ormElement instanceof Table) {
Iterator iterator = ((Table)getOrmElement()).getColumnIterator();
Show replies by date