Author: max.andersen(a)jboss.com
Date: 2007-11-06 11:14:42 -0500 (Tue, 06 Nov 2007)
New Revision: 4745
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/BasicWorkbenchAdapter.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/ConfigurationWorkbenchAdapter.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/LazyDatabaseSchemaWorkbenchAdapter.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PersistentClassWorkbenchAdapter.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PropertyWorkbenchAdapter.java
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/TableContainerWorkbenchAdapter.java
Log:
JBIDE-1265 Sorting mappings in Hibernate Console
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/BasicWorkbenchAdapter.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/BasicWorkbenchAdapter.java 2007-11-06
16:05:51 UTC (rev 4744)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/BasicWorkbenchAdapter.java 2007-11-06
16:14:42 UTC (rev 4745)
@@ -23,6 +23,8 @@
import java.lang.reflect.Array;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
@@ -63,9 +65,15 @@
final static Object[] NO_CHILDREN = new Object[0];
- protected Object[] toArray(Iterator iterator, Class clazz) {
+
+ protected Object[] toArray(Iterator iterator, Class clazz, Comparator comparator) {
List obj = toList( iterator );
- return obj.toArray((Object[]) Array.newInstance(clazz, obj.size()));
+ Object[] array = obj.toArray((Object[]) Array.newInstance(clazz, obj.size()));
+
+ if(comparator!=null) {
+ Arrays.sort(array, comparator);
+ }
+ return array;
}
private List toList(Iterator iterator) {
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/ConfigurationWorkbenchAdapter.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/ConfigurationWorkbenchAdapter.java 2007-11-06
16:05:51 UTC (rev 4744)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/ConfigurationWorkbenchAdapter.java 2007-11-06
16:14:42 UTC (rev 4745)
@@ -21,6 +21,7 @@
*/
package org.hibernate.eclipse.console.workbench;
+import java.util.Comparator;
import java.util.Iterator;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -35,7 +36,17 @@
public Object[] getChildren(Object o) {
Configuration cfg = (Configuration) o;
Iterator classMappings = cfg.getClassMappings();
- return toArray(classMappings, PersistentClass.class);
+ return toArray(classMappings, PersistentClass.class, new Comparator() {
+
+ public int compare(Object arg0, Object arg1) {
+ PersistentClass p0 = (PersistentClass) arg0;
+ PersistentClass p1 = (PersistentClass) arg1;
+ String label0 = HibernateWorkbenchHelper.getLabelForClassName(p0.getEntityName());
+ String label1 = HibernateWorkbenchHelper.getLabelForClassName(p1.getEntityName());
+ return label0.compareTo(label1);
+ }
+
+ });
}
public ImageDescriptor getImageDescriptor(Object object) {
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/LazyDatabaseSchemaWorkbenchAdapter.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/LazyDatabaseSchemaWorkbenchAdapter.java 2007-11-06
16:05:51 UTC (rev 4744)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/LazyDatabaseSchemaWorkbenchAdapter.java 2007-11-06
16:14:42 UTC (rev 4745)
@@ -22,6 +22,7 @@
package org.hibernate.eclipse.console.workbench;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -63,7 +64,14 @@
Map.Entry entry = (Map.Entry) qualifierEntries.next();
result.add(new TableContainer((String) entry.getKey(),(List)entry.getValue()));
}
- return toArray(result.iterator(), TableContainer.class);
+ return toArray(result.iterator(), TableContainer.class, new Comparator() {
+
+ public int compare(Object arg0, Object arg1) {
+
+ return ((TableContainer)arg0).getName().compareTo(((TableContainer)arg1).getName());
+ }
+
+ });
}
private LazyDatabaseSchema getLazyDatabaseSchema(Object o) {
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PersistentClassWorkbenchAdapter.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PersistentClassWorkbenchAdapter.java 2007-11-06
16:05:51 UTC (rev 4744)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PersistentClassWorkbenchAdapter.java 2007-11-06
16:14:42 UTC (rev 4745)
@@ -44,7 +44,7 @@
}
Iterator propertyClosureIterator = new JoinedIterator(properties.iterator(),
pc.getPropertyClosureIterator());
- return toArray(propertyClosureIterator, Property.class);
+ return toArray(propertyClosureIterator, Property.class, null);
}
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PropertyWorkbenchAdapter.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PropertyWorkbenchAdapter.java 2007-11-06
16:05:51 UTC (rev 4744)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/PropertyWorkbenchAdapter.java 2007-11-06
16:14:42 UTC (rev 4745)
@@ -58,7 +58,7 @@
}
public Object accept(Component component) {
- return toArray(component.getPropertyIterator(), Property.class);
+ return toArray(component.getPropertyIterator(), Property.class, null);
}
public Object accept(DependantValue value) {
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/TableContainerWorkbenchAdapter.java
===================================================================
---
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/TableContainerWorkbenchAdapter.java 2007-11-06
16:05:51 UTC (rev 4744)
+++
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/src/org/hibernate/eclipse/console/workbench/TableContainerWorkbenchAdapter.java 2007-11-06
16:14:42 UTC (rev 4745)
@@ -21,6 +21,8 @@
*/
package org.hibernate.eclipse.console.workbench;
+import java.util.Comparator;
+
import org.eclipse.jface.resource.ImageDescriptor;
import org.hibernate.console.ImageConstants;
import org.hibernate.eclipse.console.utils.EclipseImages;
@@ -30,7 +32,14 @@
public Object[] getChildren(Object o) {
TableContainer tc = getTableContainer( o );
- return toArray(tc.getTables().iterator(), Table.class);
+ return toArray(tc.getTables().iterator(), Table.class, new Comparator() {
+
+ public int compare(Object arg0, Object arg1) {
+
+ return ((Table)arg0).getName().compareTo(((Table)arg1).getName());
+ }
+
+ });
}
private TableContainer getTableContainer(Object o) {