Author: dgeraskov
Date: 2011-11-22 18:59:26 -0500 (Tue, 22 Nov 2011)
New Revision: 36548
Added:
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/mapping/
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/mapping/TableImpl.java
Modified:
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ConsoleDatabaseCollector.java
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ITable.java
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/console/ConsoleDatabaseCollectorImpl.java
Log:
Move database reading to console extension
Modified:
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ConsoleDatabaseCollector.java
===================================================================
---
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ConsoleDatabaseCollector.java 2011-11-22
23:41:59 UTC (rev 36547)
+++
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ConsoleDatabaseCollector.java 2011-11-22
23:59:26 UTC (rev 36548)
@@ -19,14 +19,11 @@
* @author Dmitry Geraskov {geraskov(a)gmail.com}
*
*/
-public class ConsoleDatabaseCollector {
+public interface ConsoleDatabaseCollector {
/**
* @return
*/
- public Iterator<Entry<String, List<ITable>>> getQualifierEntries() {
- // TODO Auto-generated method stub
- return null;
- }
+ public Iterator<Entry<String, List<ITable>>> getQualifierEntries();
}
Modified:
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ITable.java
===================================================================
---
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ITable.java 2011-11-22
23:41:59 UTC (rev 36547)
+++
branches/hibernatetools-multiversion2/plugins/org.hibernate.eclipse/src/org/hibernate/console/ext/api/ITable.java 2011-11-22
23:59:26 UTC (rev 36548)
@@ -25,7 +25,7 @@
public String getCatalog();
- public IPrimaryKey getPrimaryKey();
+ //public IPrimaryKey getPrimaryKey();
- public Iterator<IColumn> getColumnIterator();
+ //public Iterator<IColumn> getColumnIterator();
}
Modified:
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/console/ConsoleDatabaseCollectorImpl.java
===================================================================
---
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/console/ConsoleDatabaseCollectorImpl.java 2011-11-22
23:41:59 UTC (rev 36547)
+++
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/console/ConsoleDatabaseCollectorImpl.java 2011-11-22
23:59:26 UTC (rev 36548)
@@ -10,19 +10,50 @@
******************************************************************************/
package org.jboss.tools.hibernate3_5.console;
-import org.hibernate.cfg.reveng.DatabaseCollector;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.hibernate.cfg.reveng.DefaultDatabaseCollector;
import org.hibernate.console.ext.api.ConsoleDatabaseCollector;
+import org.hibernate.console.ext.api.ITable;
+import org.hibernate.mapping.Table;
+import org.jboss.tools.hibernate3_5.mapping.TableImpl;
/**
* @author Dmitry Geraskov {geraskov(a)gmail.com}
*
*/
-public class ConsoleDatabaseCollectorImpl extends ConsoleDatabaseCollector {
+public class ConsoleDatabaseCollectorImpl implements ConsoleDatabaseCollector {
- private DatabaseCollector collector;
+ private DefaultDatabaseCollector collector;
- public ConsoleDatabaseCollectorImpl(DatabaseCollector databaseCollector){
+ private Map<String, List<ITable>> qualifiers = new HashMap<String,
List<ITable>>();
+
+ public ConsoleDatabaseCollectorImpl(DefaultDatabaseCollector databaseCollector){
this.collector = databaseCollector;
+ this.initializeTableMap();
}
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ protected void initializeTableMap(){
+ Iterator qualifierEntries = collector.getQualifierEntries();
+ while (qualifierEntries.hasNext()) {
+ Entry<String, List<Table>> entry = (Entry<String,
List<Table>>) qualifierEntries.next();
+ List<ITable> list = new LinkedList<ITable>();
+ for (Table table : entry.getValue()) {
+ list.add(new TableImpl(table));
+ }
+ qualifiers.put(entry.getKey(), list);
+ }
+ }
+ @Override
+ public Iterator<Entry<String, List<ITable>>> getQualifierEntries() {
+ return qualifiers.entrySet().iterator();
+ }
+
}
Added:
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/mapping/TableImpl.java
===================================================================
---
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/mapping/TableImpl.java
(rev 0)
+++
branches/hibernatetools-multiversion2/plugins/org.jboss.tools.hibernate3_5/src/org/jboss/tools/hibernate3_5/mapping/TableImpl.java 2011-11-22
23:59:26 UTC (rev 36548)
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate3_5.mapping;
+
+import org.hibernate.console.ext.api.ITable;
+import org.hibernate.mapping.Table;
+
+/**
+ * @author Dmitry Geraskov {geraskov(a)gmail.com}
+ *
+ */
+public class TableImpl implements ITable {
+
+ private Table table;
+
+ public TableImpl(Table table){
+ this.table = table;
+ }
+
+ @Override
+ public String getName() {
+ return table.getName();
+ }
+
+ @Override
+ public String getSchema() {
+ return table.getSchema();
+ }
+
+ @Override
+ public String getCatalog() {
+ return table.getCatalog();
+ }
+
+}