Kaydet (Commit) 44092802 authored tarafından Noel Grandin's avatar Noel Grandin Kaydeden (comit) Michael Stahl

Java cleanup, remove dead code and fix

Remove jurt/demo code, because it doesn't compile anymore, and according
to S.Bergmann, it doesn't test anything that isn't already tested
elsewhere.

Change-Id: I775eb1681d77800abc8f8d399c43de20d8721e82
üst f50ea409
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
package com.sun.star.demo;
import com.sun.star.bridge.XBridge;
import com.sun.star.bridge.XBridgeFactory;
import com.sun.star.bridge.XInstanceProvider;
import com.sun.star.comp.servicemanager.ServiceManager;
import com.sun.star.connection.XAcceptor;
import com.sun.star.connection.XConnection;
import com.sun.star.uno.UnoRuntime;
public class DemoServer {
static String neededServices[] = new String[] {
"com.sun.star.comp.servicemanager.ServiceManager",
"com.sun.star.comp.loader.JavaLoader",
"com.sun.star.comp.connections.Acceptor",
"com.sun.star.comp.bridgefactory.BridgeFactory"
};
static class InstanceProvider implements XInstanceProvider {
public Object getInstance( /*IN*/String sInstanceName ) throws com.sun.star.container.NoSuchElementException, com.sun.star.uno.RuntimeException {
System.err.println("##### " + getClass().getName() + ".getInstance:" + sInstanceName);
return null;
}
}
static public void main(String args[]) throws Exception {
if(args.length != 1) {
System.err.println("usage : SCalc uno:connection;protocol;objectName");
System.exit(-1);
}
String conDcp = null;
String protDcp = null;
String rootOid = null;
String dcp = args[0];
if(dcp.indexOf(';') == -1) {// use old style
conDcp = dcp;
protDcp = "iiop";
rootOid = "classic_uno";
}
else { // new style
int index = dcp.indexOf(':');
String url = dcp.substring(0, index).trim();
dcp = dcp.substring(index + 1).trim();
index = dcp.indexOf(';');
conDcp = dcp.substring(0, index).trim();
dcp = dcp.substring(index + 1).trim();
index = dcp.indexOf(';');
protDcp = dcp.substring(0, index).trim();
dcp = dcp.substring(index + 1).trim();
rootOid = dcp.trim().trim();
}
ServiceManager serviceManager = new ServiceManager();
serviceManager.addFactories(neededServices);
XAcceptor xAcceptor = UnoRuntime.queryInterface(XAcceptor.class, serviceManager.createInstance("com.sun.star.connection.Acceptor"));
System.err.println("waiting for connect...");
XConnection xConnection = xAcceptor.accept(conDcp);
XBridgeFactory xBridgeFactory = UnoRuntime.queryInterface(XBridgeFactory.class, serviceManager.createInstance("com.sun.star.bridge.BridgeFactory"));
XBridge xBridge = xBridgeFactory.createBridge(conDcp + ";" + protDcp, protDcp, xConnection, new InstanceProvider());
}
}
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
package com.sun.star.demo;
import java.io.IOException;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.PropertyState;
import com.sun.star.bridge.XUnoUrlResolver;
import com.sun.star.io.BufferSizeExceededException;
import com.sun.star.io.NotConnectedException;
import com.sun.star.io.XInputStream;
import com.sun.star.io.XOutputStream;
import com.sun.star.frame.XComponentLoader;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.lang.XServiceInfo;
import com.sun.star.text.XSimpleText;
import com.sun.star.text.XText;
import com.sun.star.text.XTextCursor;
import com.sun.star.text.XTextDocument;
import com.sun.star.text.XTextRange;
import com.sun.star.uno.IBridge;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XInterface;
import com.sun.star.uno.XNamingService;
public class TestOffice {
static void testPipe(XMultiServiceFactory rSmgr) throws com.sun.star.uno.Exception {
XOutputStream rOut = (XOutputStream) rSmgr.createInstance("com.sun.star.io.Pipe");
{
byte bytes[] = new byte[10];
bytes[0] = 42;
rOut.writeBytes(bytes);
}
{
byte bytes[][] = new byte[1][];
XInputStream rIn = UnoRuntime.queryInterface(XInputStream.class, rOut);
if(rIn.available() != 10)
System.err.println("wrong bytes available\n");
if(rIn.readBytes(bytes, 10) != 10)
System.err.println("wrong bytes read\n");
if(42 != bytes[0][0])
System.err.println("wrong element in sequence\n");
}
}
static void testWriter(XComponent rCmp) throws IOException {
XTextDocument rTextDoc = UnoRuntime.queryInterface(XTextDocument.class, rCmp);
XText rText = UnoRuntime.queryInterface(XText.class, rTextDoc.getText());
XTextCursor rCursor = UnoRuntime.queryInterface(XTextCursor.class, rText.createTextCursor());
XTextRange rRange = UnoRuntime.queryInterface(XTextRange.class, rCursor);
byte pcText[] = new byte[1024];
pcText[0] = 0;
System.err.println("pleast type any text\n");
while(true) {
System.in.read(pcText);
String string = new String(pcText);
if(string.equals("end")) break;
string += " ";
rText.insertString(rRange , string, false);
}
}
static void testDocument(XMultiServiceFactory rSmgr) throws com.sun.star.uno.Exception, IOException {
XComponentLoader rLoader = UnoRuntime.queryInterface(XComponentLoader.class, rSmgr.createInstance("com.sun.star.frame.Desktop"));
String urls[] = new String[] {
"private:factory/swriter",
"private:factory/scalc",
"private:factory/sdraw",
"http://www.heise.de",
};
String docu[] = new String[] {
"a new writer document ...\n",
"a new calc document ...\n",
"a new draw document ...\n",
"www.heise.de\n",
};
for(int i = 0; i < urls.length; ++ i) {
System.err.println("press any key to open " + docu[i]);
System.in.read();
while(System.in.available() > 0)
System.in.read();
XComponent rComponent = rLoader.loadComponentFromURL(urls[i], "_blank", 0, new PropertyValue[0]);
// testWriter(rComponent);
System.err.println("press any key to close the document");
System.in.read();
while(System.in.available() > 0)
System.in.read();
rComponent.dispose();
}
}
static void doSomething(Object r) throws com.sun.star.uno.Exception, IOException {
XNamingService rName = UnoRuntime.queryInterface(XNamingService.class, r);
if(rName != null) {
System.err.println("got the remote naming service !");
Object rXsmgr = rName.getRegisteredObject("StarOffice.ServiceManager");
XMultiServiceFactory rSmgr = UnoRuntime.queryInterface(XMultiServiceFactory.class, rXsmgr);
if(rSmgr != null) {
System.err.println("got the remote service manager !");
// testPipe(rSmgr);
testDocument(rSmgr);
}
}
}
static String neededServices[] = new String[] {
"com.sun.star.comp.servicemanager.ServiceManager",
"com.sun.star.comp.loader.JavaLoader",
"com.sun.star.comp.connections.Connector",
"com.sun.star.comp.bridgefactory.BridgeFactory",
"com.sun.star.comp.urlresolver.UrlResolver"
};
public static void main(String argv[]) throws Exception {
if(argv.length != 1) {
System.err.println("usage : testoffice uno:connection;protocol;objectName");
System.exit(-1);
}
com.sun.star.comp.servicemanager.ServiceManager smgr = new com.sun.star.comp.servicemanager.ServiceManager();
smgr.addFactories(neededServices);
Object resolver = smgr.createInstance("com.sun.star.bridge.UnoUrlResolver" );
XUnoUrlResolver resolver_xUnoUrlResolver = UnoRuntime.queryInterface(XUnoUrlResolver.class, resolver);
Object rInitialObject = resolver_xUnoUrlResolver.resolve(argv[0]);
if(rInitialObject != null) {
System.err.println("got the remote object");
doSomething(rInitialObject);
}
}
}
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
# 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 .
#
PRJ=..$/..$/..$/..$/..
PRJNAME := jurt
PACKAGE := com$/sun$/star$/demo
TARGET := com_sun_star_demo
RDB=$(SOLARBINDIR)$/applicat.rdb
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
#Files --------------------------------------------------------
JARFILES = unoil.jar ridl.jar
GENJAVACLASSFILES =
JAVACLASSFILES= \
$(CLASSDIR)$/$(PACKAGE)$/DemoServer.class \
$(CLASSDIR)$/$(PACKAGE)$/TestOffice.class
TYPES={$(subst,.class, $(subst,$/,. $(subst,$(CLASSDIR)$/,-T $(GENJAVACLASSFILES))))}
GENJAVAFILES = {$(subst,.class,.java $(subst,$/class, $(GENJAVACLASSFILES)))}
JAVAFILES= $(subst,$(CLASSDIR)$/$(PACKAGE)$/, $(subst,.class,.java $(JAVACLASSFILES))) $(GENJAVAFILES)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment