Kaydet (Commit) ba253277 authored tarafından Vladimir Glazounov's avatar Vladimir Glazounov

INTEGRATION: CWS dba24 (1.6.4); FILE MERGED

2005/03/08 09:28:36 fs 1.6.4.2: RESYNC: (1.6-1.7); FILE MERGED
2005/02/22 08:19:02 oj 1.6.4.1: #i42461# change model data source concept
üst a70a5c45
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* *
* $RCSfile: DBMetaData.java,v $ * $RCSfile: DBMetaData.java,v $
* *
* $Revision: 1.8 $ * $Revision: 1.9 $
* *
* last change: $Author: vg $ $Date: 2005-03-08 15:35:05 $ * last change: $Author: vg $ $Date: 2005-03-10 17:20:02 $
* *
* The Contents of this file are made available subject to the terms of * The Contents of this file are made available subject to the terms of
* either of the following licenses * either of the following licenses
...@@ -81,6 +81,9 @@ import com.sun.star.frame.XModel; ...@@ -81,6 +81,9 @@ import com.sun.star.frame.XModel;
import com.sun.star.frame.XStorable; import com.sun.star.frame.XStorable;
import com.sun.star.lang.XComponent; import com.sun.star.lang.XComponent;
import com.sun.star.sdbc.DataType; import com.sun.star.sdbc.DataType;
import com.sun.star.sdb.XOfficeDatabaseDocument;
import com.sun.star.sdb.XDocumentDataSource;
import com.sun.star.sdbcx.XAppend;
import com.sun.star.sdbcx.XColumnsSupplier; import com.sun.star.sdbcx.XColumnsSupplier;
import com.sun.star.ucb.XSimpleFileAccess; import com.sun.star.ucb.XSimpleFileAccess;
...@@ -96,7 +99,6 @@ import com.sun.star.wizards.ui.UnoDialog; ...@@ -96,7 +99,6 @@ import com.sun.star.wizards.ui.UnoDialog;
import com.sun.star.task.XInteractionHandler; import com.sun.star.task.XInteractionHandler;
import com.sun.star.sdb.XFormDocumentsSupplier; import com.sun.star.sdb.XFormDocumentsSupplier;
import com.sun.star.sdb.XQueryDefinitionsSupplier; import com.sun.star.sdb.XQueryDefinitionsSupplier;
import com.sun.star.sdb.XBookmarksSupplier;
import com.sun.star.sdb.XReportDocumentsSupplier; import com.sun.star.sdb.XReportDocumentsSupplier;
import com.sun.star.sdbc.ColumnValue; import com.sun.star.sdbc.ColumnValue;
import com.sun.star.sdbc.SQLException; import com.sun.star.sdbc.SQLException;
...@@ -119,8 +121,8 @@ public class DBMetaData { ...@@ -119,8 +121,8 @@ public class DBMetaData {
private XNameAccess xNameAccess; private XNameAccess xNameAccess;
private XInterface xDatabaseContext; private XInterface xDatabaseContext;
public XDatabaseMetaData xDBMetaData; public XDatabaseMetaData xDBMetaData;
private XBookmarksSupplier xBookmarksSuppl;
public XDataSource xDataSource; public XDataSource xDataSource;
public XOfficeDatabaseDocument xModel;
private XCompletedConnection xCompleted; private XCompletedConnection xCompleted;
public XPropertySet xDataSourcePropertySet; public XPropertySet xDataSourcePropertySet;
private int[] nDataTypes = null; private int[] nDataTypes = null;
...@@ -419,7 +421,6 @@ public class DBMetaData { ...@@ -419,7 +421,6 @@ public class DBMetaData {
private void getDataSourceObjects() throws Exception{ private void getDataSourceObjects() throws Exception{
try { try {
xBookmarksSuppl = (XBookmarksSupplier) UnoRuntime.queryInterface(XBookmarksSupplier.class, this.xDataSource);
xDBMetaData = DBConnection.getMetaData(); xDBMetaData = DBConnection.getMetaData();
XChild xChild = (XChild) UnoRuntime.queryInterface(XChild.class, DBConnection); XChild xChild = (XChild) UnoRuntime.queryInterface(XChild.class, DBConnection);
Object oDataSource = xChild.getParent(); Object oDataSource = xChild.getParent();
...@@ -462,6 +463,9 @@ public class DBMetaData { ...@@ -462,6 +463,9 @@ public class DBMetaData {
Object oDataSource = xNameAccess.getByName(DataSourceName); Object oDataSource = xNameAccess.getByName(DataSourceName);
xDataSource = (XDataSource) UnoRuntime.queryInterface(XDataSource.class, oDataSource); xDataSource = (XDataSource) UnoRuntime.queryInterface(XDataSource.class, oDataSource);
getDataSourceInterfaces(); getDataSourceInterfaces();
XDocumentDataSource xDocu = (XDocumentDataSource)UnoRuntime.queryInterface(XDocumentDataSource.class,this.xDataSource);
if ( xDocu != null )
xModel = xDocu.getDatabaseDocument();
} catch (Exception exception) { } catch (Exception exception) {
exception.printStackTrace(System.out); exception.printStackTrace(System.out);
} }
...@@ -486,7 +490,11 @@ public class DBMetaData { ...@@ -486,7 +490,11 @@ public class DBMetaData {
{ {
bdisposeConnection = true; bdisposeConnection = true;
com.sun.star.container.XChild child = (com.sun.star.container.XChild)UnoRuntime.queryInterface(com.sun.star.container.XChild.class, xConnection); com.sun.star.container.XChild child = (com.sun.star.container.XChild)UnoRuntime.queryInterface(com.sun.star.container.XChild.class, xConnection);
xDataSource = (XDataSource) UnoRuntime.queryInterface(XDataSource.class, child.getParent()); xDataSource = (XDataSource) UnoRuntime.queryInterface(XDataSource.class, child.getParent());
XDocumentDataSource xDocu = (XDocumentDataSource)UnoRuntime.queryInterface(XDocumentDataSource.class,this.xDataSource);
if ( xDocu != null )
xModel = xDocu.getDatabaseDocument();
XPropertySet xPSet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xDataSource); XPropertySet xPSet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xDataSource);
if ( xPSet != null ) if ( xPSet != null )
DataSourceName = AnyConverter.toString(xPSet.getPropertyValue("Name")); DataSourceName = AnyConverter.toString(xPSet.getPropertyValue("Name"));
...@@ -499,6 +507,9 @@ public class DBMetaData { ...@@ -499,6 +507,9 @@ public class DBMetaData {
} }
else if (Properties.hasPropertyValue(curproperties, "DataSource")){ else if (Properties.hasPropertyValue(curproperties, "DataSource")){
xDataSource = (XDataSource) UnoRuntime.queryInterface(XDataSource.class, Properties.getPropertyValue(curproperties, "DataSource")); xDataSource = (XDataSource) UnoRuntime.queryInterface(XDataSource.class, Properties.getPropertyValue(curproperties, "DataSource"));
XDocumentDataSource xDocu = (XDocumentDataSource)UnoRuntime.queryInterface(XDocumentDataSource.class,this.xDataSource);
if ( xDocu != null )
xModel = xDocu.getDatabaseDocument();
return getConnection(xDataSource); return getConnection(xDataSource);
} }
if (Properties.hasPropertyValue(curproperties, "DatabaseLocation")){ if (Properties.hasPropertyValue(curproperties, "DatabaseLocation")){
...@@ -628,20 +639,6 @@ public class DBMetaData { ...@@ -628,20 +639,6 @@ public class DBMetaData {
} }
public void createDBLink(String StorePath) {
try {
String BookmarkName = JavaTools.getFileDescription(StorePath);
XNameAccess xBookmarks = xBookmarksSuppl.getBookmarks();
BookmarkName = Desktop.getUniqueName(xBookmarks, BookmarkName);
XNameContainer xNameCont = (XNameContainer) UnoRuntime.queryInterface(XNameContainer.class, xBookmarks);
xNameCont.insertByName(BookmarkName, StorePath);
XFlushable xFlush = (XFlushable) UnoRuntime.queryInterface(XFlushable.class, xBookmarks);
xFlush.flush();
} catch (Exception exception) {
exception.printStackTrace(System.out);
}
}
/** /**
* inserts a Query to a datasource; There is no validation if the queryname is already existing in the datasource * inserts a Query to a datasource; There is no validation if the queryname is already existing in the datasource
* @param oQuery * @param oQuery
...@@ -676,7 +673,7 @@ public class DBMetaData { ...@@ -676,7 +673,7 @@ public class DBMetaData {
} }
public XHierarchicalNameAccess getReportDocuments(){ public XHierarchicalNameAccess getReportDocuments(){
XReportDocumentsSupplier xReportDocumentSuppl = (XReportDocumentsSupplier) UnoRuntime.queryInterface(XReportDocumentsSupplier.class, this.xDataSource); XReportDocumentsSupplier xReportDocumentSuppl = (XReportDocumentsSupplier) UnoRuntime.queryInterface(XReportDocumentsSupplier.class, this.xModel);
xReportDocumentSuppl.getReportDocuments(); xReportDocumentSuppl.getReportDocuments();
XHierarchicalNameAccess xReportHier = (XHierarchicalNameAccess) UnoRuntime.queryInterface(XHierarchicalNameAccess.class, xReportDocumentSuppl.getReportDocuments()); XHierarchicalNameAccess xReportHier = (XHierarchicalNameAccess) UnoRuntime.queryInterface(XHierarchicalNameAccess.class, xReportDocumentSuppl.getReportDocuments());
return xReportHier; return xReportHier;
...@@ -684,7 +681,7 @@ public class DBMetaData { ...@@ -684,7 +681,7 @@ public class DBMetaData {
public XHierarchicalNameAccess getFormDocuments(){ public XHierarchicalNameAccess getFormDocuments(){
XFormDocumentsSupplier xFormDocumentSuppl = (XFormDocumentsSupplier) UnoRuntime.queryInterface(XFormDocumentsSupplier.class, this.xDataSource); XFormDocumentsSupplier xFormDocumentSuppl = (XFormDocumentsSupplier) UnoRuntime.queryInterface(XFormDocumentsSupplier.class, xModel);
XHierarchicalNameAccess xFormHier = (XHierarchicalNameAccess) UnoRuntime.queryInterface(XHierarchicalNameAccess.class, xFormDocumentSuppl.getFormDocuments()); XHierarchicalNameAccess xFormHier = (XHierarchicalNameAccess) UnoRuntime.queryInterface(XHierarchicalNameAccess.class, xFormDocumentSuppl.getFormDocuments());
return xFormHier; return xFormHier;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment