Tag: cws_src680_qiq
User: fs      
Date: 2006/06/27 13:13:53

Modified:
   dba/connectivity/qa/connectivity/tools/HsqlTableDescriptor.java

Log:
 addedconversion to SDBCX Table Descriptor

File Changes:

Directory: /dba/connectivity/qa/connectivity/tools/
===================================================

File [changed]: HsqlTableDescriptor.java
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/qa/connectivity/tools/HsqlTableDescriptor.java?r1=1.2&r2=1.2.54.1
Delta lines:  +48 -2
--------------------
--- HsqlTableDescriptor.java    6 Feb 2006 16:43:25 -0000       1.2
+++ HsqlTableDescriptor.java    27 Jun 2006 20:13:51 -0000      1.2.54.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: HsqlTableDescriptor.java,v $
  *
- *  $Revision: 1.2 $
+ *  $Revision: 1.2.54.1 $
  *
- *  last change: $Author: rt $ $Date: 2006/02/06 16:43:25 $
+ *  last change: $Author: fs $ $Date: 2006/06/27 20:13:51 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -35,6 +35,15 @@
 
 package connectivity.tools;
 
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbc.ColumnValue;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.sdbcx.XDataDescriptorFactory;
+import com.sun.star.sdbcx.XTablesSupplier;
+import com.sun.star.uno.UnoRuntime;
+
 /** is a very simply descriptor of a HSQL table, to be used with a 
HsqlDatabase.createTable method
  */
 public class HsqlTableDescriptor
@@ -61,5 +70,42 @@
     public HsqlColumnDescriptor[] getColumns()
     {
         return m_columns;
+    }
+
+    public XPropertySet createSdbcxDescriptor( XConnection _forConnection )
+    {
+        XTablesSupplier suppTables = 
(XTablesSupplier)UnoRuntime.queryInterface(
+            XTablesSupplier.class, _forConnection );
+        XDataDescriptorFactory tableDescFac = 
(XDataDescriptorFactory)UnoRuntime.queryInterface(
+            XDataDescriptorFactory.class, suppTables.getTables() );
+        XPropertySet tableDesc = tableDescFac.createDataDescriptor();
+
+        try
+        {
+            tableDesc.setPropertyValue( "Name", getName() );
+        }
+        catch ( Exception e ) { e.printStackTrace( System.err ); }
+        
+        XColumnsSupplier suppDescCols = 
(XColumnsSupplier)UnoRuntime.queryInterface(
+            XColumnsSupplier.class, tableDesc );
+
+        XNameAccess descColumns = suppDescCols.getColumns();
+        XDataDescriptorFactory columnDescFac = 
(XDataDescriptorFactory)UnoRuntime.queryInterface(
+            XDataDescriptorFactory.class, descColumns );
+
+        HsqlColumnDescriptor[] myColumns = getColumns();
+        for ( int i = 0; i < myColumns.length; ++i )
+        {
+            XPropertySet columnDesc = columnDescFac.createDataDescriptor();
+            try
+            {
+                columnDesc.setPropertyValue( "Name", myColumns[i].Name );
+                columnDesc.setPropertyValue( "IsNullable", new Integer( 
myColumns[i].NotNull ? ColumnValue.NO_NULLS : ColumnValue.NULLABLE) );
+                columnDesc.setPropertyValue( "TypeName", myColumns[i].TypeName 
);
+            }
+            catch( Exception e ) { e.printStackTrace( System.err ); }
+        }
+
+        return tableDesc;
     }
 }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to