| <?xml version="1.0" encoding="UTF-8"?> |
| <!--*********************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| ***********************************************************--> |
| |
| |
| <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> |
| <script:module xmlns:script="http://openoffice.org/2000/script" script:name="Test_10er" script:language="StarBasic">REM 10er Test |
| |
| const sSWLogFileName = "swlog.dat", sSCLogFileName = "sclog.dat" |
| const sSDLogFileName = "sdlog.dat", sSMathLogFileName = "smalog.dat" |
| const sSChartLogFileName = "schlog.dat" |
| const sSHptLogFileName = "shptlog.dat" |
| const sSDrawLogFileName = "sdrwlog.dat", sJavaLogFileName = "javalog.dat" |
| const sSDBLogFileName = "dblog.dat", sExtLogFileName = "extlog.dat" |
| const sTestGlueLogFileName = "testclosure.log" |
| const sLogFileName = "smoketest.log" |
| const cTempFileName = "smoketest_file" |
| |
| const cMessageSaveOpen8Doc = "Save/Open open Documents (8.0)" |
| const cMessageSaveOpenXMLDoc = "Save/Open Document XML (6/7)" |
| const cMessageNewDoc = "New Document" |
| const cMessageCloseDoc = "Close Document" |
| |
| Global sWorkPath$ |
| Global sWorkPathURL$ |
| Global LocalTestLog% |
| Global GlobalTestLog% |
| |
| Sub Main |
| call TestAllDocs() |
| end Sub |
| |
| Sub DeleteAllSavedFiles() |
| Dim sFileName as String |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmWriter) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmCalc) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmImpress) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmDraw) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmHyperText) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmWriter or cFltXML) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmCalc or cFltXML) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmImpress or cFltXML) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmDraw or cFltXML) |
| If FileExists (sFileName) then |
| Kill (sFileName) |
| End If |
| End Sub |
| |
| Sub DeleteAllLogFiles() |
| If FileExists (sWorkPath+sLogFileName) then |
| Kill (sWorkPath+sLogFileName) |
| End If |
| If FileExists (sWorkPath+sSWLogFileName) then |
| Kill (sWorkPath+sSWLogFileName) |
| End If |
| If FileExists (sWorkPath+sSCLogFileName) then |
| Kill (sWorkPath+sSCLogFileName) |
| End If |
| If FileExists (sWorkPath+sSDLogFileName) then |
| Kill (sWorkPath+sSDLogFileName) |
| End If |
| If FileExists (sWorkPath+sSMathLogFileName) then |
| Kill (sWorkPath+sSMathLogFileName) |
| End If |
| If FileExists (sWorkPath+sSChartLogFileName) then |
| Kill (sWorkPath+sSChartLogFileName) |
| End If |
| If FileExists (sWorkPath+sSHptLogFileName) then |
| Kill (sWorkPath+sSHptLogFileName) |
| End If |
| If FileExists (sWorkPath+sSDrawLogFileName) then |
| Kill (sWorkPath+sSDrawLogFileName) |
| End If |
| If FileExists (sWorkPath+sJavaLogFileName) then |
| Kill (sWorkPath+sJavaLogFileName) |
| End If |
| If FileExists (sWorkPath+sTestGlueLogFileName) then |
| Kill (sWorkPath+sTestGlueLogFileName) |
| End If |
| If FileExists (sWorkPath+sSDBLogFileName) then |
| Kill (sWorkPath+sSDBLogFileName) |
| End If |
| If FileExists (sWorkPath+sExtLogFileName) then |
| Kill (sWorkPath+sExtLogFileName) |
| End If |
| end Sub |
| |
| Function OpenLogDat (sFileName as String) as Integer |
| Dim LocaleFileChannel% |
| If FileExists (sWorkPath+sFileName) then |
| Kill (sWorkPath+sFileName) |
| End If |
| LocaleFileChannel% = Freefile |
| Open sWorkPath+sFileName For Output As LocaleFileChannel% |
| OpenLogDat = LocaleFileChannel% |
| end Function |
| |
| Sub SetupWorkPath |
| Dim configManager as Object |
| configManager = CreateUnoService( "com.sun.star.config.SpecialConfigManager" ) |
| |
| sWorkPath = configManager.SubstituteVariables( "$(userpath)/temp/" ) |
| sWorkPathURL = configManager.SubstituteVariables( "$(userurl)/temp/" ) |
| End Sub |
| |
| Function GetSystem (sTmpWorkPath as string) as string |
| GetSystem = "" |
| if InStr (sTmpWorkPath, ":") then |
| GetSystem = "windows" |
| else |
| GetSystem = "unix" |
| End If |
| end Function |
| |
| Function ConvertPathToWin (sTmpWorkPath as string) as string |
| for i%=1 to Len(sTmpWorkPath) |
| sTemp = Mid (sTmpWorkPath, i%, 1) |
| if sTemp = "/" then |
| sTmpWorkPath = Left (sTmpWorkPath, i%-1) + "\" + Right (sTmpWorkPath, Len(sTmpWorkPath)-i%) |
| else |
| if sTemp = "|" then |
| sTmpWorkPath = Left (sTmpWorkPath, i%-1) + ":" + Right (sTmpWorkPath, Len(sTmpWorkPath)-i%) |
| end If |
| end If |
| next i% |
| ConvertPathToWin = sTmpWorkPath |
| end Function |
| |
| Sub TestAllDocs() |
| DIM sDocURL as String, sDocPath as String |
| DIM nStrPos as Long |
| |
| 'search ExtensionURL |
| sDocURL = gOutputDoc.URL |
| CompatibilityMode(true) |
| nStrPos = InStrRev (sDocURL, "/" ) |
| CompatibilityMode(false) |
| sExtensionURL = Left (sDocURL, nStrPos) |
| |
| GlobalTestLog = OpenLogDat (sLogFileName) |
| call WriteTestSequence |
| if bMakeWriterTest then |
| gCurrentDocTest = frmWriter |
| call MakeDocTest |
| end if |
| if bMakeCalcTest then |
| gCurrentDocTest = frmCalc |
| call MakeDocTest |
| end if |
| if bMakeImpressTest then |
| gCurrentDocTest = frmImpress |
| call MakeDocTest |
| end if |
| if bMakeDrawTest then |
| gCurrentDocTest = frmDraw |
| call MakeDocTest |
| end if |
| if bMakeHTMLTest then |
| gCurrentDocTest = frmHyperText |
| call MakeDocTest |
| end if |
| if bMakeChartTest then |
| gCurrentDocTest = frmChart |
| call MakeChartTest |
| end if |
| if bMakeMathTest then |
| gCurrentDocTest = frmMath |
| call MakeNewDoc |
| end if |
| if bMakeJavaTest then |
| gCurrentDocTest = frmJava |
| call TestJava |
| end if |
| if bMakeDBTest then |
| gCurrentDocTest = frmDataBase |
| call Test_DB.TestDB |
| end if |
| if bMakeExtensionTest then |
| gCurrentDocTest = frmExtension |
| call Test_Ext.TestExtensions |
| end if |
| |
| Close #GlobalTestLog |
| GlobalTestLog = 0 |
| end Sub |
| |
| Sub WriteTestSequence |
| Print #GlobalTestLog, "Sequence of testing" |
| |
| if bMakeWriterTest then |
| WriteTests ("writer : ", true, GlobalTestLog) |
| end if |
| if bMakeCalcTest then |
| WriteTests ("calc : ", true, GlobalTestLog) |
| end if |
| if bMakeImpressTest then |
| WriteTests ("impress : ", true, GlobalTestLog) |
| end if |
| if bMakeDrawTest then |
| WriteTests ("draw : ", true, GlobalTestLog) |
| end if |
| if bMakeHTMLTest then |
| WriteTests ("HTML : ", true, GlobalTestLog) |
| end if |
| if bMakeChartTest then |
| WriteTests ("chart : ", false, GlobalTestLog) |
| end if |
| if bMakeMathTest then |
| WriteTests ("math : ", false, GlobalTestLog) |
| end if |
| if bMakeJavaTest then |
| WriteTests ("Java : ", false, GlobalTestLog) |
| end if |
| if bMakeDBTest then |
| WriteDBTests ("Database : ", GlobalTestLog) |
| end if |
| if bMakeExtensionTest then |
| WriteExtensionTests ("Extension : ", GlobalTestLog) |
| end if |
| |
| Print #GlobalTestLog, "testclosure : setup, write_status" |
| |
| Print #GlobalTestLog |
| end Sub |
| |
| Sub WriteTests (sText as string, bTestAll as boolean) |
| Dim sWriteStr as string |
| |
| sWriteStr = sText |
| sWriteStr = sWriteStr + "new" |
| if bTestAll then |
| if bMakeSaveOpen8Test then |
| sWriteStr = sWriteStr + ", save 8.0" |
| end if |
| if bMakeSaveOpenXMLTest then |
| sWriteStr = sWriteStr + ", save XML" |
| end if |
| if bMakeSaveOpen8Test then |
| sWriteStr = sWriteStr + ", open 8.0" |
| end if |
| if bMakeSaveOpenXMLTest then |
| sWriteStr = sWriteStr + ", open XML" |
| end if |
| end if |
| |
| sWriteStr = sWriteStr + ", close" |
| |
| Print #GlobalTestLog, sWriteStr |
| end Sub |
| |
| Sub WriteDBTests (sText as string, nFileChannel as integer) |
| Dim sWriteStr as string |
| |
| sWriteStr = sText |
| sWriteStr = sWriteStr + "open / services" |
| sWriteStr = sWriteStr + ", insert" |
| sWriteStr = sWriteStr + ", delete" |
| sWriteStr = sWriteStr + ", seek" |
| sWriteStr = sWriteStr + ", close" |
| |
| Print #nFileChannel, sWriteStr |
| end Sub |
| |
| Sub WriteExtensionTests (sText as string, nFileChannel as integer) |
| Dim sWriteStr as string |
| |
| sWriteStr = sText |
| sWriteStr = sWriteStr + "services" |
| sWriteStr = sWriteStr + ", install" |
| sWriteStr = sWriteStr + ", uninstall" |
| |
| Print #nFileChannel, sWriteStr |
| end Sub |
| |
| Sub MakeDocTest |
| Dim oDoc as Object |
| Dim sFileNameXML$, sFileName8$ |
| Dim bSuccess as Boolean |
| |
| On Local Error GoTo DOCTESTERROR |
| gCurrentTestCase = cLogfileFailed |
| LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest)) |
| gCurrentTestCase = cDocNew |
| oDoc = LoadDoc ("private:factory/" + GetDocFilter(gCurrentDocTest or cFltNewDoc)) |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageNewDoc, not IsNull (oDoc) ) |
| if not IsNull (oDoc) then |
| gCurrentTestCase = cDocSaveOpen8 |
| if bMakeSaveOpen8Test and IsFilterAvailable (gCurrentDocTest or cFlt8) then |
| sFileName8 = sWorkPathURL+cTempFileName+"."+GetDocEndings(gCurrentDocTest or cFlt8) |
| SaveDoc (sFileName8, oDoc, GetDocFilter(gCurrentDocTest or cFlt8)) |
| end if |
| gCurrentTestCase = cDocSaveOpenXML |
| if bMakeSaveOpenXMLTest and IsFilterAvailable (gCurrentDocTest or cFltXML) then |
| sFileNameXML = sWorkPathURL+cTempFileName+"."+GetDocEndings(gCurrentDocTest or cFltXML) |
| SaveDoc (sFileNameXML, oDoc, GetDocFilter(gCurrentDocTest or cFltXML)) |
| end if |
| gCurrentTestCase = cDocClose |
| bSuccess = CloseDoc( oDoc ) |
| LogTestResult( GetDocFilter(gCurrentDocTest)+" "+ cMessageCloseDoc, bSuccess ) |
| gCurrentTestCase = cDocSaveOpen8 |
| if bMakeSaveOpen8Test and IsFilterAvailable (gCurrentDocTest or cFlt8) then |
| oDoc = LoadDoc (sFileName8) |
| |
| ' oDoc = Documents.open(sFileName) |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageSaveOpen8Doc, not IsNull (oDoc) ) |
| |
| if not IsNull (oDoc) then |
| gCurrentTestCase = cDocClose |
| oDoc.close (true) |
| end If |
| end if |
| |
| gCurrentTestCase = cDocSaveOpenXML |
| if bMakeSaveOpenXMLTest and IsFilterAvailable (gCurrentDocTest or cFltXML) then |
| oDoc = LoadDoc (sFileNameXML) |
| |
| ' oDoc = Documents.open(sFileName) |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageSaveOpenXMLDoc, not IsNull (oDoc) ) |
| |
| if not IsNull (oDoc) then |
| gCurrentTestCase = cDocClose |
| oDoc.close (true) |
| end If |
| end if |
| |
| end If |
| Print #LocalTestLog, "---" |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| Exit Sub ' Without error |
| |
| DOCTESTERROR: |
| If ( gCurrentTestCase = cLogfileFailed ) then |
| LogTestResult( " ", False ) |
| Exit Sub |
| else |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ GetErrorMessage(gCurrentTestCase), False ) |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| End If |
| Exit Sub ' With error |
| End Sub |
| |
| Sub MakeNewDoc |
| DIM oDoc as Object |
| Dim bSuccess as Boolean |
| On Local Error GoTo DOCTESTERROR2 |
| gCurrentTestCase = cLogfileFailed |
| LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest)) |
| gCurrentTestCase = cDocNew |
| ' oDoc = Documents.Add(GetDocFilter(gCurrentDocTest)) |
| oDoc = LoadDoc ("private:factory/" + GetDocFilter(gCurrentDocTest or cFltNewDoc)) |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageNewDoc, not IsNull (oDoc) ) |
| if not IsNull (oDoc) then |
| gCurrentTestCase = cDocClose |
| bSuccess = CloseDoc( oDoc ) |
| LogTestResult( GetDocFilter(gCurrentDocTest)+" "+ cMessageCloseDoc, bSuccess ) |
| end If |
| Print #LocalTestLog, "---" |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| Exit Sub ' Without error |
| |
| DOCTESTERROR2: |
| If ( gCurrentTestCase = cLogfileFailed ) then |
| LogTestResult( " ", False ) |
| Exit Sub |
| else |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ GetErrorMessage(gCurrentTestCase), False ) |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| End If |
| Exit Sub ' With error |
| End Sub |
| |
| Sub MakeChartTest |
| Dim oCharts as Object |
| Dim oDoc as Object |
| Dim oRange(0) as New com.sun.star.table.CellRangeAddress |
| Dim oRect as New com.sun.star.awt.Rectangle |
| const cChartName="TestChart" |
| Dim bSuccess as Boolean |
| On Local Error GoTo CHARTTESTERROR |
| gCurrentTestCase = cLogfileFailed |
| LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest)) |
| gCurrentTestCase = cDocNew |
| oDoc = LoadDoc ("private:factory/" + GetDocFilter(frmCalc or cFltNewDoc)) |
| if not IsNull (oDoc) then |
| oCharts = oDoc.sheets(0).Charts |
| oCharts.AddNewByName (cChartName, oRect, oRange(), true, true) |
| bSuccess=oCharts.HasByName(cChartName) |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageNewDoc, bSuccess ) |
| gCurrentTestCase = cDocClose |
| oDoc.close (true) |
| else |
| LogTestResult( GetDocFilter(frmCalc or cFltNewDoc)+" "+ cMessageNewDoc, FALSE ) |
| End if |
| Print #LocalTestLog, "---" |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| Exit Sub ' Without error |
| |
| CHARTTESTERROR: |
| If ( gCurrentTestCase = cLogfileFailed ) then |
| LogTestResult( " ", False ) |
| Exit Sub |
| else |
| LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ GetErrorMessage(gCurrentTestCase), FALSE ) |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| End If |
| Exit Sub ' With error |
| End Sub |
| |
| Sub LogState (bState as Boolean, sText as String, nLocaleFileChannel as integer) |
| if bState then |
| Print #nLocaleFileChannel, sText+" -> ok" |
| else |
| Print #nLocaleFileChannel, sText+" -> error" |
| end If |
| end Sub |
| |
| Function GetDocEndings (DocType as Integer) as String |
| Select Case ( DocType ) |
| case frmWriter or cFlt8 |
| GetDocEndings = "odt" ' Textdokument |
| case frmCalc or cFlt8 |
| GetDocEndings = "ods" 'Tabellendokument |
| case frmImpress or cFlt8 |
| GetDocEndings = "odp" 'PrÕsentation |
| case frmDraw or cFlt8 |
| GetDocEndings = "odg" 'Zeichen |
| case frmHyperText, frmHyperText or cFltXML |
| GetDocEndings = "html" 'Hypertext-Dokument |
| case frmWriter or cFltXML |
| GetDocEndings = "sxw" ' Textdokument |
| case frmCalc or cFltXML |
| GetDocEndings = "sxc" 'Tabellendokument |
| case frmImpress or cFltXML |
| GetDocEndings = "sxi" 'PrÕsentation |
| case frmDraw or cFltXML |
| GetDocEndings = "sxd" 'Zeichen |
| case else |
| GetDocEndings = "" |
| end Select |
| end Function |
| |
| Function GetDocFilter (DocType as Integer) as String |
| Select Case ( DocType ) |
| case frmWriter or cFlt8 |
| GetDocFilter = "writer8" ' text document |
| case frmCalc or cFlt8 |
| GetDocFilter = "calc8" ' spreadsheet document |
| case frmImpress or cFlt8 |
| GetDocFilter = "impress8" ' presentation |
| case frmDraw or cFlt8 |
| GetDocFilter = "draw8" ' drawing |
| case frmMath or cFlt8 |
| GetDocFilter = "math8" ' formula |
| |
| case frmWriter or cFltXML |
| GetDocFilter = "StarOffice XML (Writer)" ' text document |
| case frmCalc or cFltXML |
| GetDocFilter = "StarOffice XML (Calc)" ' spreadsheet document |
| case frmImpress or cFltXML |
| GetDocFilter = "StarOffice XML (Impress)" ' presentation |
| case frmDraw or cFltXML |
| GetDocFilter = "StarOffice XML (Draw)" ' drawing |
| case frmMath or cFltXML |
| GetDocFilter = "StarOffice XML (Math)" ' formula |
| |
| case frmHyperText, frmHyperText or cFltXML |
| GetDocFilter = "HTML" ' HTML document |
| |
| case frmWriter or cFltNewDoc |
| GetDocFilter = "swriter" ' text document |
| case frmCalc or cFltNewDoc |
| GetDocFilter = "scalc" ' spreadsheet document |
| case frmImpress or cFltNewDoc |
| GetDocFilter = "simpress" ' presentation |
| case frmDraw or cFltNewDoc |
| GetDocFilter = "sdraw" ' drawing |
| case frmMath or cFltNewDoc |
| GetDocFilter = "smath" ' formula |
| case frmHyperText or cFltNewDoc |
| GetDocFilter = "swriter/web" ' HTML document |
| case frmChart or cFltNewDoc |
| GetDocFilter = "schart" ' chart |
| case else |
| GetDocFilter = "" |
| end Select |
| end Function |
| |
| Function GetLogFileName (DocType as Integer) as String |
| Select Case ( DocType ) |
| case frmWriter |
| GetLogFileName = sSWLogFileName ' text document |
| case frmCalc |
| GetLogFileName = sSCLogFileName ' spreadsheet document |
| case frmImpress |
| GetLogFileName = sSDLogFileName ' presentation |
| case frmDraw |
| GetLogFileName = sSDrawLogFileName ' drawing |
| case frmMath |
| GetLogFileName = sSMathLogFileName ' formula |
| case frmHyperText |
| GetLogFileName = sSHptLogFileName ' HTML document |
| case frmChart |
| GetLogFileName = sSChartLogFileName ' chart |
| case frmJava |
| GetLogFileName = sJavaLogFileName 'Java |
| case frmTestClosure |
| GetLogFileName = sTestGlueLogFileName ' test framework |
| case frmDataBase |
| GetLogFileName = sSDBLogFileName 'Database |
| case frmExtension |
| GetLogFileName = sExtLogFileName 'Extension |
| case else |
| GetLogFileName = "" |
| end Select |
| end Function |
| |
| Function GetErrorMessageOnAction (nAction as Integer) as String |
| Select Case ( nAction ) |
| case cDocNew |
| GetErrorMessageOnAction = cMessageNewDoc |
| case cDocSaveOpen8 |
| GetErrorMessageOnAction = cMessageSaveOpen8Doc |
| case cDocSaveOpenXML |
| GetErrorMessageOnAction = cMessageSaveOpenXMLDoc |
| case cDocClose |
| GetErrorMessageOnAction = cMessageCloseDoc |
| case else |
| GetErrorMessageOnAction = "" |
| end Select |
| end Function |
| |
| Function IsFilterAvailable (FilterType as Integer) as boolean |
| IsFilterAvailable = true |
| if ((FilterType = (frmHyperText or cFltXML))) then |
| IsFilterAvailable = false |
| end if |
| End Function |
| |
| Function TestJava |
| Dim oObj as Object |
| gCurrentTestCase = cLogfileFailed |
| LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest)) |
| gCurrentTestCase = cDocNew |
| oObj = createUnoService( cUnoJavaLoader ) |
| LogTestResult( "Java "+ cMessageNewDoc, not IsNull (oObj) ) |
| |
| Print #LocalTestLog, "---" |
| Close #LocalTestLog% |
| LocalTestLog = 0 |
| |
| TestJava = not IsNull (oObj) |
| End Function |
| |
| Sub LoadLibrary( LibName as String ) |
| |
| dim args(1) |
| dim arg as new com.sun.star.beans.PropertyValue |
| arg.Name = "LibraryName" |
| arg.Value = LibName |
| args(0) = arg |
| |
| dim url as new com.sun.star.util.URL |
| dim trans as object |
| trans = createUnoService("com.sun.star.util.URLTransformer" ) |
| url.Complete = "slot:6517" |
| trans.parsestrict( url ) |
| |
| dim disp as object |
| disp = StarDesktop.currentFrame.queryDispatch( url, "", 0 ) |
| disp.dispatch( url, args() ) |
| |
| End Sub |
| |
| Sub LoadDoc (DocName as String) as Object |
| dim trans as object |
| trans = createUnoService("com.sun.star.util.URLTransformer" ) |
| url = createUnoStruct("com.sun.star.util.URL" ) |
| url.Complete = DocName |
| if Left(DocName, 5 ) <> "file:" then |
| trans.parsestrict( url ) |
| endif |
| |
| Dim aPropArray(0) as Object |
| aPropArray(0) = CreateUnoStruct("com.sun.star.beans.PropertyValue") |
| aPropArray(0).Name = "OpenFlags" |
| aPropArray(0).Value = "S" |
| |
| dim doc as object |
| dim noargs() |
| doc = StarDesktop.loadComponentFromURL( url.Complete, "_blank", 0, aPropArray() ) ' XModel |
| LoadDoc = doc |
| End Sub |
| |
| Sub SaveDoc (DocName as String, oDoc as Object, sFilterName as string ) |
| dim trans as object |
| trans = createUnoService("com.sun.star.util.URLTransformer" ) |
| url = createUnoStruct("com.sun.star.util.URL" ) |
| url.Complete = DocName |
| if Left(DocName, 5 ) <> "file:" then |
| trans.parsestrict( url ) |
| endif |
| |
| if not (sFilterName = "") then |
| Dim aPropArray(0) as Object |
| aPropArray(0) = CreateUnoStruct("com.sun.star.beans.PropertyValue") |
| aPropArray(0).Name = "FilterName" |
| aPropArray(0).Value = sFilterName |
| |
| oDoc.storeAsURL( url.Complete, aPropArray() ) |
| else |
| MessageBox "Filtername is unknown!" |
| end if |
| end Sub |
| |
| Function CloseDoc( oDoc as Object ) |
| Dim oListener as Object |
| oListener = CreateUnoListener( "Events.closeListener_", "com.sun.star.util.XCloseListener" ) |
| oDoc.addCloseListener( oListener ) |
| |
| Events.ResetCloseListenerFlag() |
| oDoc.close( true ) |
| closeDoc = Events.HasCloseListenerBeenCalled() |
| |
| if ( Not Events.HasCloseListenerBeenCalled() ) Then |
| ' do this only if closing was not successful - otherwise, we'd get a DisposedException |
| oDoc.removeCloseListener( oListener ) |
| End If |
| End Function |
| </script:module> |