diff options
Diffstat (limited to 'odk/examples/java/NotesAccess/NotesAccess.java')
-rw-r--r-- | odk/examples/java/NotesAccess/NotesAccess.java | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/odk/examples/java/NotesAccess/NotesAccess.java b/odk/examples/java/NotesAccess/NotesAccess.java index f337304e09c7..e989c9cfa760 100644 --- a/odk/examples/java/NotesAccess/NotesAccess.java +++ b/odk/examples/java/NotesAccess/NotesAccess.java @@ -2,7 +2,7 @@ * * The Contents of this file are made available subject to the terms of * the BSD license. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * All rights reserved. * @@ -29,7 +29,7 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * *************************************************************************/ // Lotus Notes Domino API @@ -59,29 +59,29 @@ import com.sun.star.table.XCell; * with existing values of documents from a Lotus Notes database. */ public class NotesAccess implements Runnable { - + /** Host server of the Domino Directory. */ static String stringHost = ""; - + /** User in the host's Domino Directory. */ static String stringUser = ""; - + /** Password for the user in the host's Domino Directory. */ static String stringPassword = ""; - + /** Database with documents to get data from. */ static String stringDatabase = ""; - + /** Reading the arguments and constructing the thread. * @param argv Holding values for the host, user, and the password of the user. */ public static void main( String args[] ) { Thread thread; - + if ( args.length < 4 ) { System.out.println( "usage: java -jar NotesAccess.jar \"<Domino Host>\" \"<User>\" " + @@ -91,7 +91,7 @@ public class NotesAccess implements Runnable { "java -jar NotesAccess.jar \"\" \"\" \"\" \"Stocks.nsf\"" ); System.exit( 1 ); } - + if ( !args[ 0 ].trim().equals( "" ) ) { stringHost = args[ 0 ].trim(); } @@ -99,7 +99,7 @@ public class NotesAccess implements Runnable { stringUser = args[ 1 ].trim(); } stringPassword = args[ 2 ].trim(); - + try { java.io.File sourceFile = new java.io.File(args[ 3 ].trim()); stringDatabase = sourceFile.getCanonicalPath(); @@ -108,31 +108,31 @@ public class NotesAccess implements Runnable { e.printStackTrace(); System.exit( 1 ); } - + if ( stringHost.equals( "" ) ) { // Initializing. NotesAccess notesaccess = new NotesAccess(); - + // Allowing only local calls to the Domino classes. thread = new NotesThread( ( Runnable ) notesaccess ); } else { // Extracting the host, user, and password. NotesAccess notesaccess = new NotesAccess(); - + // Allowing remote calls to the Domino classes. thread = new Thread( ( Runnable ) notesaccess ); } - + // Starting the thread. thread.start(); } - + /** This is the default constructor without arguments. */ public NotesAccess() { } - + /** Reading all documents from the given database and writing the data to * an OpenOffice.org Calc spreadsheet document. */ @@ -141,11 +141,11 @@ public class NotesAccess implements Runnable { // get the remote office component context XComponentContext xContext = com.sun.star.comp.helper.Bootstrap.bootstrap(); - + System.out.println("Connected to a running office ..."); - - XMultiComponentFactory xMCF = xContext.getServiceManager(); - + + XMultiComponentFactory xMCF = xContext.getServiceManager(); + /* A desktop environment contains tasks with one or more frames in which components can be loaded. Desktop is the environment for components which can instanciate within @@ -154,28 +154,28 @@ public class NotesAccess implements Runnable { UnoRuntime.queryInterface(XComponentLoader.class, xMCF.createInstanceWithContext( "com.sun.star.frame.Desktop", xContext)); - + // Load a Writer document, which will be automaticly displayed XComponent xComponent = xLoader.loadComponentFromURL( "private:factory/scalc", "_blank", 0, new PropertyValue[0] ); - + // Querying for the interface XSpreadsheetDocument XSpreadsheetDocument xSpreadsheetDoc = (XSpreadsheetDocument) UnoRuntime.queryInterface( XSpreadsheetDocument.class, xComponent); - + // Getting all sheets from the spreadsheet document. XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets() ; - + // Querying for the interface XIndexAccess. XIndexAccess xIndexAccess = (XIndexAccess) UnoRuntime.queryInterface( XIndexAccess.class, xSpreadsheets); - + // Getting the first spreadsheet. XSpreadsheet xSpreadsheet = (XSpreadsheet) UnoRuntime.queryInterface( XSpreadsheet.class, xIndexAccess.getByIndex(0)); - + Session session; if ( !stringHost.equals( "" ) ) { // Creating a Notes session for remote calls to the Domino classes. @@ -187,69 +187,69 @@ public class NotesAccess implements Runnable { // Domino classes. session = NotesFactory.createSession(); } - + // Getting the specified Notes database. Database database = session.getDatabase( "", stringDatabase ); - + // Getting a collection of all documents from the database. DocumentCollection documentCollection = database.getAllDocuments(); - + // Getting the first document from the database Document document = documentCollection.getFirstDocument(); - + // Start to write to cells at this row. int intRowToStart = 0; - + // The current row. int intRow = intRowToStart; - + // The current column. int intColumn = 0; - + // Process all documents while ( document != null ) { // Getting the name of the stock. String stringName = document.getItemValueString("Name"); - + // Inserting the name to a specified cell. insertIntoCell(intColumn, intRow, stringName, xSpreadsheet, ""); - + // Getting the number of stocks. double intNumber = document.getItemValueInteger( "Number" ); - + // Inserting the number of stocks to a specified cell. insertIntoCell( intColumn + 1, intRow, String.valueOf(intNumber), xSpreadsheet, "V" ); - + // Getting current share price. double doubleSharePrice = document.getItemValueDouble("SharePrice"); - + // Inserting the current share price to a specified cell. insertIntoCell(intColumn + 2, intRow, String.valueOf(doubleSharePrice), xSpreadsheet, "V"); - + // Inserting the total value. insertIntoCell(intColumn + 3, intRow, "=B" + String.valueOf( intRow + 1 ) + "*C" + String.valueOf(intRow + 1), xSpreadsheet, ""); - + // Increasing the current row. intRow++; - + // Getting the next document from the collection. document = documentCollection.getNextDocument(); } - + // Summing all specific amounts. insertIntoCell(intColumn + 3, intRow, "=sum(D" + String.valueOf( intRowToStart + 1 ) + ":D" + String.valueOf( intRow ), xSpreadsheet, ""); - + xContext = null; - + // Leaving the program. System.exit(0); } @@ -257,7 +257,7 @@ public class NotesAccess implements Runnable { e.printStackTrace(); } } - + /** Inserting a value or formula to a cell defined by the row and column. * @param intCellX Row. * @param intCellY Column. @@ -272,7 +272,7 @@ public class NotesAccess implements Runnable { String stringFlag) { XCell xCell = null; - + try { xCell = xSpreadsheet.getCellByPosition( intCellX, intCellY ); } catch ( com.sun.star.lang.IndexOutOfBoundsException exception ) { |