Initial revision of Uno Accessibility API test tool.
This commit is contained in:
parent
b0fafac7bc
commit
479166e460
2 changed files with 110 additions and 0 deletions
5
toolkit/test/accessibility/MessageInterface.java
Executable file
5
toolkit/test/accessibility/MessageInterface.java
Executable file
|
@ -0,0 +1,5 @@
|
|||
interface MessageInterface
|
||||
{
|
||||
void message (String text);
|
||||
}
|
||||
|
105
toolkit/test/accessibility/OfficeConnection.java
Executable file
105
toolkit/test/accessibility/OfficeConnection.java
Executable file
|
@ -0,0 +1,105 @@
|
|||
// base classes
|
||||
import com.sun.star.uno.UnoRuntime;
|
||||
|
||||
// factory for creating components
|
||||
import com.sun.star.beans.PropertyValue;
|
||||
import com.sun.star.bridge.XUnoUrlResolver;
|
||||
import com.sun.star.frame.XComponentLoader;
|
||||
import com.sun.star.frame.XDesktop;
|
||||
import com.sun.star.frame.XModel;
|
||||
import com.sun.star.lang.XMultiServiceFactory;
|
||||
import com.sun.star.uno.XInterface;
|
||||
|
||||
// Exceptions
|
||||
import com.sun.star.uno.RuntimeException;
|
||||
|
||||
|
||||
/** @descr This class establishes a connection to a StarOffice application.
|
||||
*/
|
||||
public class OfficeConnection
|
||||
{
|
||||
public OfficeConnection (Print p, int nPortNumber)
|
||||
{
|
||||
mnDefaultPort = nPortNumber;
|
||||
print = p;
|
||||
connect ();
|
||||
}
|
||||
|
||||
/** @descr Return the service manager that represents the connected
|
||||
StarOffice application
|
||||
*/
|
||||
public XMultiServiceFactory getServiceManager ()
|
||||
{
|
||||
if ( ! mbInitialized)
|
||||
connect ();
|
||||
return maServiceManager;
|
||||
}
|
||||
|
||||
/** @descr Return a flag that indicates if the constructor has been able to
|
||||
establish a valid connection.
|
||||
*/
|
||||
public boolean connectionIsValid ()
|
||||
{
|
||||
return getServiceManager() != null;
|
||||
}
|
||||
|
||||
/** @descr Connect to a already running StarOffice application.
|
||||
*/
|
||||
private void connect ()
|
||||
{
|
||||
connect (msDefaultHost, mnDefaultPort);
|
||||
}
|
||||
|
||||
private void connect (String hostname)
|
||||
{
|
||||
connect (hostname, mnDefaultPort);
|
||||
}
|
||||
|
||||
/** @descr Connect to a already running StarOffice application that has
|
||||
been started with a command line argument like
|
||||
"-accept=socket,host=localhost,port=5678;urp;"
|
||||
*/
|
||||
private void connect (String hostname, int portnumber)
|
||||
{
|
||||
mbInitialized = true;
|
||||
|
||||
// connect to a running office and get the ServiceManager
|
||||
try
|
||||
{
|
||||
// Set up connection string.
|
||||
String sConnectString = "uno:socket,host=" + hostname + ",port=" + portnumber
|
||||
+ ";urp;StarOffice.ServiceManager";
|
||||
|
||||
// Create a URL Resolver.
|
||||
XMultiServiceFactory aLocalServiceManager =
|
||||
com.sun.star.comp.helper.Bootstrap.createSimpleServiceManager();
|
||||
XUnoUrlResolver aURLResolver = (XUnoUrlResolver) UnoRuntime.queryInterface (
|
||||
XUnoUrlResolver.class,
|
||||
aLocalServiceManager.createInstance ("com.sun.star.bridge.UnoUrlResolver")
|
||||
);
|
||||
|
||||
maServiceManager = (XMultiServiceFactory) UnoRuntime.queryInterface (
|
||||
XMultiServiceFactory.class,
|
||||
aURLResolver.resolve (sConnectString)
|
||||
);
|
||||
}
|
||||
|
||||
catch (Exception e)
|
||||
{
|
||||
print.println ("Could not connect: " + e);
|
||||
print.println ("Please start OpenOffice/StarOffice with "
|
||||
+ "\"-accept=socket,host=localhost,port=5678;urp;\"");
|
||||
}
|
||||
}
|
||||
|
||||
private int mnDefaultPort = 5678;
|
||||
private final String msDefaultHost = "localhost";
|
||||
private XMultiServiceFactory maServiceManager = null;
|
||||
|
||||
/** A value of true just indicates that it has been tried to establish a connection,
|
||||
not that that has been successfull.
|
||||
*/
|
||||
private boolean mbInitialized = false;
|
||||
|
||||
private Print print;
|
||||
}
|
Loading…
Reference in a new issue