Author: cmarcum
Date: Sun Feb 14 14:59:52 2016
New Revision: 1730346
URL: http://svn.apache.org/viewvc?rev=1730346&view=rev
Log:
#i126770#
added getComponentLoader and getSpreadsheetDocument methods
added bootstrap connector for testing
added a local maven repo until connector is available for download
Added:
openoffice/devtools/guno-extension/trunk/src/test/groovy/org/
openoffice/devtools/guno-extension/trunk/src/test/groovy/org/openoffice/
openoffice/devtools/guno-extension/trunk/src/test/groovy/org/openoffice/guno/
Modified:
openoffice/devtools/guno-extension/trunk/ (props changed)
openoffice/devtools/guno-extension/trunk/build.gradle
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
Propchange: openoffice/devtools/guno-extension/trunk/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Feb 14 14:59:52 2016
@@ -0,0 +1,2 @@
+build
+.nb-gradle
Modified: openoffice/devtools/guno-extension/trunk/build.gradle
URL:
http://svn.apache.org/viewvc/openoffice/devtools/guno-extension/trunk/build.gradle?rev=1730346&r1=1730345&r2=1730346&view=diff
==============================================================================
--- openoffice/devtools/guno-extension/trunk/build.gradle (original)
+++ openoffice/devtools/guno-extension/trunk/build.gradle Sun Feb 14 14:59:52
2016
@@ -3,6 +3,7 @@ apply plugin: "application"
repositories {
mavenCentral()
+ mavenLocal()
}
@@ -16,7 +17,7 @@ dependencies {
compile "org.openoffice:jurt:4.1.2"
testCompile 'org.spockframework:spock-core:0.7-groovy-2.0'
-
+ testCompile 'net.codebuilders:bootstrapconnector:0.1.0'
}
groovydoc {
Modified:
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
URL:
http://svn.apache.org/viewvc/openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy?rev=1730346&r1=1730345&r2=1730346&view=diff
==============================================================================
---
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
(original)
+++
openoffice/devtools/guno-extension/trunk/src/main/groovy/org/openoffice/guno/SpreadsheetExtension.groovy
Sun Feb 14 14:59:52 2016
@@ -26,7 +26,10 @@ import com.sun.star.beans.XPropertySet
import com.sun.star.container.XEnumeration
import com.sun.star.container.XEnumerationAccess
import com.sun.star.container.XIndexAccess
+import com.sun.star.frame.XComponentLoader
+import com.sun.star.lang.XComponent
import com.sun.star.lang.XMultiServiceFactory
+import com.sun.star.lang.XMultiComponentFactory
import com.sun.star.sheet.XCellAddressable
import com.sun.star.sheet.XCellRangesQuery
import com.sun.star.sheet.XSheetCellRangeContainer
@@ -38,38 +41,80 @@ import com.sun.star.table.CellAddress
import com.sun.star.table.CellVertJustify
import com.sun.star.table.XCell
import com.sun.star.uno.UnoRuntime
+import com.sun.star.uno.XComponentContext
+
/**
*
- * @author Carl Marcum
- *
+ * @author Carl Marcum - CodeBuilders.net
+ *
*/
class SpreadsheetExtension {
+ /** Returns the component loader
+ @return XComponentLoader interface */
+ static XComponentLoader getComponentLoader(final XComponentContext self) {
+
+ XMultiComponentFactory mxRemoteServiceManager = null
+ XComponentLoader aLoader = null
+
+ try {
+ mxRemoteServiceManager = self.getServiceManager()
+ aLoader = UnoRuntime.queryInterface(
+ XComponentLoader.class,
mxRemoteServiceManager.createInstanceWithContext(
+ "com.sun.star.frame.Desktop", self))
+
+ } catch (Exception ex) {
+ System.err.println("Error: caught exception in
getComponentLoader()!\nException Message = "
+ + ex.getMessage())
+ ex.printStackTrace()
+ }
+ return aLoader
+ }
+
+ /** Returns the spreadsheet document with the specified index component
context
+ @param mxRemoteContext the remote context.
+ @return XSpreadsheetDocument interface of the spreadsheet document. */
+ static XSpreadsheetDocument getSpreadsheetDocument(final XComponent self,
XComponentContext mxRemoteContext) {
+
+ XSpreadsheetDocument xSpreadsheetDocument = null
+
+ try {
+
+ xSpreadsheetDocument = UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class, self)
+ } catch (Exception ex) {
+ System.err.println("Error: caught exception in
getSpreadsheetDocument()!\nException Message = "
+ + ex.getMessage())
+ ex.printStackTrace()
+ }
+ return xSpreadsheetDocument
+ }
+
/** Returns the spreadsheet with the specified index (0-based).
- @param nIndex The index of the sheet.
- @return XSpreadsheet interface of the sheet. */
+ @param nIndex The index of the sheet.
+ @return XSpreadsheet interface of the sheet. */
static XSpreadsheet getSheetByIndex(final XSpreadsheetDocument self,
Integer nIndex) {
// Collection of sheets
XSpreadsheets xSheets = self.getSheets()
XSpreadsheet xSheet = null
try {
XIndexAccess xSheetsIA = UnoRuntime.queryInterface(
- XIndexAccess.class, xSheets )
+ XIndexAccess.class, xSheets)
xSheet = UnoRuntime.queryInterface(
- XSpreadsheet.class, xSheetsIA.getByIndex(nIndex))
+ XSpreadsheet.class, xSheetsIA.getByIndex(nIndex))
} catch (Exception ex) {
- System.err.println( "Error: caught exception in
getSpreadsheet()!\nException Message = "
- + ex.getMessage())
+ System.err.println("Error: caught exception in
getSpreadsheet()!\nException Message = "
+ + ex.getMessage())
ex.printStackTrace()
}
return xSheet
-
+
}
-
+
/** Returns the spreadsheet with the specified name.
- @param name The name of the sheet.
- @return XSpreadsheet interface of the sheet. */
+ @param name The name of the sheet.
+ @return XSpreadsheet interface of the sheet. */
static XSpreadsheet getSheetByName(final XSpreadsheetDocument self, String
name) {
// Collection of sheets
XSpreadsheets xSheets = self.getSheets()
@@ -78,35 +123,35 @@ class SpreadsheetExtension {
Object sheet = xSheets.getByName(name)
// removed cast from right side
xSpreadsheet = UnoRuntime.queryInterface(XSpreadsheet.class, sheet)
- } catch(Exception e){
+ } catch (Exception e) {
System.err.println(" Exception " + e)
e.printStackTrace(System.err)
return xSpreadsheet
- }
-
+ }
+
}
-
+
/** Returns a sheet cell range container.
- @return XSheetCellRangeContainer a sheet cell range container of the
sheet. */
+ @return XSheetCellRangeContainer a sheet cell range container of the
sheet. */
static XSheetCellRangeContainer getRangeContainer(final
XSpreadsheetDocument self) {
XMultiServiceFactory xDocFactory = UnoRuntime.queryInterface(
- XMultiServiceFactory.class, self)
+ XMultiServiceFactory.class, self)
XSheetCellRangeContainer result = UnoRuntime.queryInterface(
- XSheetCellRangeContainer.class,
xDocFactory.createInstance("com.sun.star.sheet.SheetCellRanges"))
+ XSheetCellRangeContainer.class,
xDocFactory.createInstance("com.sun.star.sheet.SheetCellRanges"))
return result
}
-
+
/** Returns the cell ranges matching the specified type.
- @param type a combination of CellFlags flags.
- @return Object all cells of the current cell range(s) with the specified
content type(s). */
+ @param type a combination of CellFlags flags.
+ @return Object all cells of the current cell range(s) with the specified
content type(s). */
static XSheetCellRanges getCellRanges(final XSpreadsheet self, Object
type) {
XCellRangesQuery xCellQuery =
UnoRuntime.queryInterface(XCellRangesQuery.class, self)
- XSheetCellRanges result = xCellQuery.queryContentCells((short)type)
+ XSheetCellRanges result = xCellQuery.queryContentCells((short) type)
return result
}
-
+
/** Returns a list of XCells contained in the range.
- @return List<XCell> list of XCells contained in the range. */
+ @return List < XCell > list of XCells contained in the range. */
static List<XCell> getCellList(final XSheetCellRanges self) {
def result = []
XEnumerationAccess xFormulas = self.cells
@@ -118,9 +163,9 @@ class SpreadsheetExtension {
}
return result
}
-
+
/** Returns a list of XCells contained in the range container.
- @return List<XCell> list of XCells contained in the range container. */
+ @return List < XCell > list of XCells contained in the range container.
*/
static List<XCell> getCellList(final XSheetCellRangeContainer self) {
def result = []
XEnumerationAccess xFormulas = self.cells
@@ -132,54 +177,53 @@ class SpreadsheetExtension {
}
return result
}
-
+
/** Sets the specified property with the value.
- @param prop The name of the property to set.
- @param value The value to set. */
+ @param prop The name of the property to set.
+ @param value The value to set. */
static void setPropertyValue(final XCell self, String prop, Object value) {
XPropertySet xCellProps = UnoRuntime.queryInterface(
- XPropertySet.class, self)
+ XPropertySet.class, self)
xCellProps.setPropertyValue(prop, value)
}
-
+
/** Returns the value of the property.
- @param prop The name of the property to get.
- @return Object value of a type detemined by the property. */
+ @param prop The name of the property to get.
+ @return Object value of a type detemined by the property. */
static Object getPropertyValue(final XCell self, String prop) {
XPropertySet xCellProps = UnoRuntime.queryInterface(
- XPropertySet.class, self)
+ XPropertySet.class, self)
Object result = xCellProps.getPropertyValue(prop)
return result
}
-
+
/** Sets the CellStyle property with the value.
- @param value The value to set. */
+ @param value The value to set. */
static void setCellStyle(final XCell self, Object value) {
self.setPropertyValue("CellStyle", value)
}
-
+
/** Sets the VertJustify property with the value.
- @param value The value to set. */
+ @param value The value to set. */
static void setVertJustify(final XCell self, Object value) {
self.setPropertyValue("VertJustify", value)
}
-
+
/** Returns the value of the VertJustify property.
- @return Integer value of a type detemined by the property. */
+ @return Integer value of a type detemined by the property. */
static Integer getVertJustify(final XCell self) {
- int result = self.getPropertyValue("VertJustify").value
+ int result = self.getPropertyValue("VertJustify").value
return result
}
-
+
/** Returns the cell address of the cell.
- @return CellAddress the cell address within the spreadsheet document */
+ @return CellAddress the cell address within the spreadsheet document */
static CellAddress getAddress(final XCell self) {
XCellAddressable xCellAddressable =
UnoRuntime.queryInterface(XCellAddressable.class, self)
CellAddress result = xCellAddressable.getCellAddress()
return result
}
-
-
-
+
+
}