diff options
Diffstat (limited to 'connectivity/workben/TT/StartTest.java')
-rw-r--r-- | connectivity/workben/TT/StartTest.java | 293 |
1 files changed, 293 insertions, 0 deletions
diff --git a/connectivity/workben/TT/StartTest.java b/connectivity/workben/TT/StartTest.java new file mode 100644 index 000000000000..305f1fc4da9a --- /dev/null +++ b/connectivity/workben/TT/StartTest.java @@ -0,0 +1,293 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +package workben.tt; + +import java.lang.Object; +import java.io.*; +import workben.odbc.*; + +import com.sun.star.comp.servicemanager.ServiceManager; +// import java.io.IOException; + +//import com.sun.star.beans.PropertyValue; +//import com.sun.star.beans.PropertyState; +import com.sun.star.connection.XConnector; +import com.sun.star.connection.XConnection; +import com.sun.star.bridge.XBridge; + +// import com.sun.star.comp.bootstrap.Bootstrap; + +// import com.sun.star.io.XInputStream; +// import com.sun.star.io.XOutputStream; + +// import com.sun.star.lang.XComponent; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.XServiceInfo; + +import com.sun.star.uno.IBridge; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XInterface; +import com.sun.star.uno.XNamingService; + +import com.sun.star.sdbc.*; +// import com.sun.star.sdbc.XConnection; +// import com.sun.star.uno.Enum; + +// import com.sun.star.lib.uno.typeinfo.ParameterTypeInfo; +// import com.sun.star.lib.uno.typeinfo.TypeInfo; + +public class StartTest +{ + //########################################################### + //# allgemeine Variablen # + //########################################################### + private static java.util.Hashtable ConfigItems = new java.util.Hashtable(); + //########################################################### + //# ResultSetToStringBuffer # + //########################################################### + static StringBuffer ResultSetToStringBuffer(com.sun.star.sdbc.XResultSet results) + { + com.sun.star.sdbc.XRow Row; + com.sun.star.sdbc.XResultSetMetaDataSupplier rsmds; + com.sun.star.sdbc.XResultSetMetaData rsmd; + + StringBuffer buf = new StringBuffer(); + + try + { + rsmds = (com.sun.star.sdbc.XResultSetMetaDataSupplier)UnoRuntime.queryInterface(com.sun.star.sdbc.XResultSetMetaDataSupplier.class,results); + rsmd = rsmds.getMetaData(); + int numCols = rsmd.getColumnCount(); + int i; + + // get column header info + for (i=1; i <= numCols; i++) + { + if (i == 1) buf.append("\""); + if (i > 1) buf.append("\"\t\""); + buf.append(rsmd.getColumnLabel(i)); + } + buf.append("\"\r\n"); + + + + while (results.next()) + { + Row = (com.sun.star.sdbc.XRow)UnoRuntime.queryInterface(com.sun.star.sdbc.XRow.class, results); + for (i=1; i <= numCols; i++) + { + if (i == 1) buf.append("\""); + if (i > 1) buf.append("\"\t\""); + buf.append(Row.getString(i)); + } + buf.append("\"\r\n"); + } + return(buf); + } + catch (Exception e) + { + System.out.println("Exception at ResultSetToStringBuffer : " + e); + return(buf); + } + } + + //########################################################### + //# printStringBuffer # + //########################################################### + + static void printStringBuffer(StringBuffer buf) + { + FileWriter f1; + try + { + f1 = new FileWriter("d:\\data\\sdbc\\test.log",true); + int maxStrings = buf.length() - 1; + //System.out.println(maxStrings); + for(int i=0 ; i<=maxStrings ; i++) + { + f1.write(buf.charAt(i)); + } + f1.close(); + } + catch( IOException e ) + { + System.out.println("Error: can't create logfile"); + } + } + + //########################################################### + //# neededServices # + //########################################################### + static String neededServices[] = new String[] { + "com.sun.star.comp.servicemanager.ServiceManager", + "com.sun.star.comp.loader.JavaLoader", + "com.sun.star.comp.connections.Connector", + "com.sun.star.comp.connections.Acceptor" + }; + + //########################################################### + //# readConfigFile # + //########################################################### + static void readConfigFile(String sFileName) + { + BufferedReader confFile; + try + { + confFile = new BufferedReader(new FileReader(sFileName)); + ConfigItems.put("ConnectString",confFile.readLine()); + ConfigItems.put("user",confFile.readLine()); + ConfigItems.put("password",confFile.readLine()); + ConfigItems.put("ToTest",confFile.readLine()); + ConfigItems.put("LogFile",confFile.readLine()); + confFile.close(); + } + catch(Exception e) + { + System.out.println(e); + } + } + + //########################################################### + //# MAIN # + //########################################################### + + public static void main(String argv[]) throws Exception + { + + //Die Parameter auslesen + +// if(argv.length == 0) +// { +// System.out.println("missing parameter"); +// System.exit(0); +// } + + //readConfigFile(argv[0]); + + //////////////////////// + + com.sun.star.comp.servicemanager.ServiceManager smgr = new com.sun.star.comp.servicemanager.ServiceManager(); + smgr.addFactories(neededServices); + + XConnector xConnector = (XConnector)smgr.createInstance("com.sun.star.connection.Connector"); + if(xConnector == null) System.err.println("no connector!"); + + XConnection xConn = xConnector.connect("socket,host=localhost,port=6001"); + if(xConn == null) System.err.println("no XConnection!"); + + IBridge iBridge = UnoRuntime.getBridgeByName("java", null, "remote", null, new Object[]{"iiop", xConn, null}); + + Object rInitialObject = iBridge.mapInterfaceFrom("classic_uno", XInterface.class); + + if(rInitialObject != null) + { + System.err.println("got the remote object"); + System.out.println("before naming service !"); + try + { + XNamingService rName = (XNamingService)UnoRuntime.queryInterface(XNamingService.class, rInitialObject ); + try + { + if(rName != null) + { + System.err.println("got the remote naming service !"); + Object rXsmgr = rName.getRegisteredObject("StarOffice.ServiceManager"); + XMultiServiceFactory rSmgr = (XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, rXsmgr); + if(rSmgr != null) + { + System.out.println("got the remote service manager !"); + Object rDriver = rSmgr.createInstance("com.sun.star.sdbc.ADriver"); + if(rDriver != null) + { + System.out.println("got a com.sun.star.sdbc.Driver !"); + com.sun.star.sdbc.XDriver xDriver = (XDriver)UnoRuntime.queryInterface(com.sun.star.sdbc.XDriver.class,rDriver); + if(xDriver != null) + { + com.sun.star.sdbc.XConnection xConnection = null; + try + { + com.sun.star.beans.PropertyValue [] ConInfo = new com.sun.star.beans.PropertyValue[] + { + new com.sun.star.beans.PropertyValue("user",0,"qsuser",com.sun.star.beans.PropertyState.DIRECT_VALUE), + new com.sun.star.beans.PropertyValue("password",0,"qsuser",com.sun.star.beans.PropertyState.DIRECT_VALUE) + }; + xConnection = xDriver.connect("sdbc:ado:PROVIDER=SQLOLEDB;DATA SOURCE=sqllab2",ConInfo); + + if(xConnection != null) + { + System.out.println("got a connection!"); + com.sun.star.sdbc.XDatabaseMetaData dmd; + com.sun.star.sdbc.XStatement stmt; + com.sun.star.sdbc.XResultSet result; + com.sun.star.sdbc.XRow row; + try + { + stmt = xConnection.createStatement(); + stmt.executeUpdate("insert into testtab values(4,'vier')"); + result = stmt.executeQuery("select * from testtab where int = 4"); + com.sun.star.sdbc.XResultSetMetaDataSupplier rsmds; + + rsmds = (com.sun.star.sdbc.XResultSetMetaDataSupplier)UnoRuntime.queryInterface(com.sun.star.sdbc.XResultSetMetaDataSupplier.class,result); + com.sun.star.sdbc.XResultSetMetaData xMD = rsmds.getMetaData(); + System.out.println("Anzahl Spalten = " + xMD.getColumnCount()); + if(result.next()) + { + row = (com.sun.star.sdbc.XRow)UnoRuntime.queryInterface(com.sun.star.sdbc.XRow.class,result); + String xx = row.getString(1); + } + } + catch (Exception e) + { + System.out.println("Exception beim Aufruf der Tests"); + } + } + } + catch(Exception e) + { + System.out.println("exception while connecting!"); + e.printStackTrace(); + } + xConnection.close(); + } + } + } + } + } + catch(Exception t) + { + } + } + catch(Exception e1) + { + System.err.println("exception from getRegisteredObject!"); + } + } + System.out.println("FERTIG"); + System.exit(0); + } + }// die Klammer der ganzen Klasse + |