[PATCH] Java cleanup, use generics in calls to UnoRuntime#queryInter...
Noel Grandin (via Code Review)
gerrit at gerrit.libreoffice.org
Wed Apr 17 06:11:12 PDT 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3433
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/33/3433/1
Java cleanup, use generics in calls to UnoRuntime#queryInterface
A handful of places wrap the call to queryInterface. With a little
generics love, we can reduce the casting required.
Change-Id: I9efca2afb1b23fad2359af24e1c273aea96e45fe
---
M forms/qa/integration/forms/DocumentHelper.java
M forms/qa/integration/forms/DocumentViewHelper.java
M forms/qa/integration/forms/FormComponent.java
M forms/qa/integration/forms/ListSelection.java
M forms/qa/integration/forms/MasterDetailForms.java
M forms/qa/integration/forms/TestCase.java
M odk/examples/DevelopersGuide/OfficeDev/ContextMenuInterceptor.java
M odk/examples/DevelopersGuide/OfficeDev/OfficeConnect.java
8 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/forms/qa/integration/forms/DocumentHelper.java b/forms/qa/integration/forms/DocumentHelper.java
index a26434b..a5a44be 100644
--- a/forms/qa/integration/forms/DocumentHelper.java
+++ b/forms/qa/integration/forms/DocumentHelper.java
@@ -133,12 +133,12 @@
/* ------------------------------------------------------------------ */
public boolean isModified()
{
- XModifiable modify = (XModifiable)query( XModifiable.class );
+ XModifiable modify = query( XModifiable.class );
return modify.isModified();
}
/* ------------------------------------------------------------------ */
- public Object query( Class aInterfaceClass )
+ public <T> T query( Class<T> aInterfaceClass )
{
return UnoRuntime.queryInterface( aInterfaceClass, m_documentComponent );
}
diff --git a/forms/qa/integration/forms/DocumentViewHelper.java b/forms/qa/integration/forms/DocumentViewHelper.java
index 66d8f0b..76a03d0 100644
--- a/forms/qa/integration/forms/DocumentViewHelper.java
+++ b/forms/qa/integration/forms/DocumentViewHelper.java
@@ -73,7 +73,7 @@
@param aInterfaceClass
the class of the interface which shall be returned
*/
- public Object query( Class aInterfaceClass )
+ public <T> T query( Class<T> aInterfaceClass )
{
return UnoRuntime.queryInterface( aInterfaceClass, m_controller );
}
@@ -92,7 +92,7 @@
XDispatch xReturn = null;
// go get the current view
- XController xController = (XController)query( XController.class );
+ XController xController = query( XController.class );
// go get the dispatch provider of it's frame
XDispatchProvider xProvider = UnoRuntime.queryInterface(
XDispatchProvider.class, xController.getFrame() );
@@ -147,7 +147,7 @@
public XControl getControl( XControlModel xModel ) throws com.sun.star.uno.Exception
{
// the current view of the document
- XControlAccess xCtrlAcc = (XControlAccess)query( XControlAccess.class );
+ XControlAccess xCtrlAcc = query( XControlAccess.class );
// delegate the task of looking for the control
return xCtrlAcc.getControl( xModel );
}
@@ -160,7 +160,7 @@
}
/* ------------------------------------------------------------------ */
- public Object getControl( Object aModel, Class aInterfaceClass ) throws com.sun.star.uno.Exception
+ public <T> T getControl( Object aModel, Class<T> aInterfaceClass ) throws com.sun.star.uno.Exception
{
XControlModel xModel = UnoRuntime.queryInterface( XControlModel.class, aModel );
return UnoRuntime.queryInterface( aInterfaceClass, getControl( xModel ) );
@@ -171,7 +171,7 @@
*/
public XFormController getFormController( XForm _form )
{
- XFormLayerAccess formLayerAccess = (XFormLayerAccess)query( XFormLayerAccess.class );
+ XFormLayerAccess formLayerAccess = query( XFormLayerAccess.class );
return formLayerAccess.getFormController( _form );
}
diff --git a/forms/qa/integration/forms/FormComponent.java b/forms/qa/integration/forms/FormComponent.java
index f19ceea..d6ea10d 100644
--- a/forms/qa/integration/forms/FormComponent.java
+++ b/forms/qa/integration/forms/FormComponent.java
@@ -79,7 +79,7 @@
@param aInterfaceClass
the class of the interface which shall be returned
*/
- public Object query( Class aInterfaceClass )
+ public <T> T query( Class<T> aInterfaceClass )
{
return UnoRuntime.queryInterface( aInterfaceClass, m_component );
}
diff --git a/forms/qa/integration/forms/ListSelection.java b/forms/qa/integration/forms/ListSelection.java
index 5d080cb..64fef48 100644
--- a/forms/qa/integration/forms/ListSelection.java
+++ b/forms/qa/integration/forms/ListSelection.java
@@ -96,7 +96,7 @@
for ( int i = 0; i < runs; ++i )
{
// obtain the active sheet
- XSpreadsheetView view = (XSpreadsheetView)m_document.getCurrentView().query( XSpreadsheetView.class );
+ XSpreadsheetView view = m_document.getCurrentView().query( XSpreadsheetView.class );
XSpreadsheet activeSheet = view.getActiveSheet();
// Accessibility access to the list box control in this sheet
@@ -259,7 +259,7 @@
try
{
- XStorable storable = (XStorable)m_document.query( XStorable.class );
+ XStorable storable = m_document.query( XStorable.class );
java.io.File testFile = java.io.File.createTempFile( getTestObjectName(),".ods");
storable.storeAsURL( testFile.getAbsoluteFile().toURI().toURL().toString(), new com.sun.star.beans.PropertyValue[]{} );
testFile.deleteOnExit();
@@ -277,7 +277,7 @@
XDrawPageSupplier suppPage = UnoRuntime.queryInterface(
XDrawPageSupplier.class, sheet );
FormComponent formsRoot = new FormComponent( suppPage.getDrawPage() );
- XControlModel listBoxModel = (XControlModel)formsRoot.getByIndex( 0 ).
+ XControlModel listBoxModel = formsRoot.getByIndex( 0 ).
getByName( "ListBox" ).query( XControlModel.class );
return listBoxModel;
}
diff --git a/forms/qa/integration/forms/MasterDetailForms.java b/forms/qa/integration/forms/MasterDetailForms.java
index d55263b..dd2a09e 100644
--- a/forms/qa/integration/forms/MasterDetailForms.java
+++ b/forms/qa/integration/forms/MasterDetailForms.java
@@ -288,7 +288,7 @@
assureEquals( "#i105235#: default value in sub form not working (not propagated to column model)", defaultValue, actualValue );
// However, checking the column model's value alone is not enough - we need to ensure it is properly
// propagated to the control.
- XGridFieldDataSupplier gridData = (XGridFieldDataSupplier)subDocument.getCurrentView().getControl(
+ XGridFieldDataSupplier gridData = subDocument.getCurrentView().getControl(
gridControlModel, XGridFieldDataSupplier.class );
actualValue = (String)(gridData.queryFieldData( 0, Type.STRING )[1]);
assureEquals( "#i105235#: default value in sub form not working (not propagated to column)", defaultValue, actualValue );
diff --git a/forms/qa/integration/forms/TestCase.java b/forms/qa/integration/forms/TestCase.java
index 54f5b1f..85e1d16 100644
--- a/forms/qa/integration/forms/TestCase.java
+++ b/forms/qa/integration/forms/TestCase.java
@@ -62,7 +62,7 @@
if ( m_document != null )
{
// first, set the document to "unmodified"
- XModifiable docModify = (XModifiable)m_document.query( XModifiable.class );
+ XModifiable docModify = m_document.query( XModifiable.class );
docModify.setModified( false );
m_document.getCurrentView().dispatch( ".uno:CloseDoc" );
@@ -87,7 +87,7 @@
// close our document
if ( m_document != null )
{
- XCloseable closeDoc = (XCloseable)m_document.query( XCloseable.class );
+ XCloseable closeDoc = m_document.query( XCloseable.class );
closeDoc.close( true );
}
}
diff --git a/odk/examples/DevelopersGuide/OfficeDev/ContextMenuInterceptor.java b/odk/examples/DevelopersGuide/OfficeDev/ContextMenuInterceptor.java
index 67d0331..608ad19 100644
--- a/odk/examples/DevelopersGuide/OfficeDev/ContextMenuInterceptor.java
+++ b/odk/examples/DevelopersGuide/OfficeDev/ContextMenuInterceptor.java
@@ -52,8 +52,8 @@
OfficeConnect aConnect = OfficeConnect.createConnection();
com.sun.star.frame.XDesktop xDesktop =
- (com.sun.star.frame.XDesktop)aConnect.createRemoteInstance(
- com.sun.star.frame.XDesktop.class,"com.sun.star.frame.Desktop");
+ aConnect.createRemoteInstance(
+ com.sun.star.frame.XDesktop.class,"com.sun.star.frame.Desktop");
// create a new test document
com.sun.star.frame.XComponentLoader xCompLoader =
diff --git a/odk/examples/DevelopersGuide/OfficeDev/OfficeConnect.java b/odk/examples/DevelopersGuide/OfficeDev/OfficeConnect.java
index 1efa20c..47bf1bb 100644
--- a/odk/examples/DevelopersGuide/OfficeDev/OfficeConnect.java
+++ b/odk/examples/DevelopersGuide/OfficeDev/OfficeConnect.java
@@ -107,9 +107,9 @@
* @param sServiceSpecifier name of service which should be created
* @return Description of the Returned Value
*/
- public Object createRemoteInstance(Class aType, String sServiceSpecifier)
+ public <T> T createRemoteInstance(Class<T> aType, String sServiceSpecifier)
{
- Object aResult = null;
+ T aResult = null;
try
{
aResult = UnoRuntime.queryInterface(
@@ -136,9 +136,9 @@
* @param sServiceSpecifier Description of Parameter
* @return Description of the Returned Value
*/
- public Object createRemoteInstanceWithArguments(Class aType, String sServiceSpecifier, Any[] lArguments)
+ public <T> T createRemoteInstanceWithArguments(Class<T> aType, String sServiceSpecifier, Any[] lArguments)
{
- Object aResult = null;
+ T aResult = null;
try
{
aResult = UnoRuntime.queryInterface(
--
To view, visit https://gerrit.libreoffice.org/3433
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9efca2afb1b23fad2359af24e1c273aea96e45fe
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Noel Grandin <noelgrandin at gmail.com>
More information about the LibreOffice
mailing list