blob: bdf0652103cb6810e388aafff4152a5ba5fe36d6 [file] [log] [blame]
/**************************************************************
*
* 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.
*
*************************************************************/
package ifc.task;
/**
* <code>com.sun.star.task.XInteractionHandler</code> interface testing.
* This test needs the following object relations :
* <ul>
* <li> <code>'XInteractionHandler.Request'</code>
* (of type <code>com.sun.star.task.XInteractionRequest</code>):
* this interface implementation is handler specific and is
* passed as argument to method <code>handle</code>. </li>
* <ul> <p>
* Test is <b> NOT </b> multithread compilant. <p>
* @see com.sun.star.task.XInteractionHandler
*/
import lib.MultiMethodTest;
import lib.Status;
import com.sun.star.task.XInteractionHandler;
import com.sun.star.task.XInteractionRequest;
/**
* <code>com.sun.star.task.XInteractionHandler</code> interface testing.
* This test needs the following object relations :
* <ul>
* <li> <code>'XInteractionHandler.Request'</code>
* (of type <code>com.sun.star.task.XInteractionRequest</code>):
* this interface implementation is handler specific and is
* passed as argument to method <code>handle</code>. </li>
* <ul> <p>
* Test is <b> NOT </b> multithread compilant. <p>
* @see com.sun.star.task.XInteractionHandler
*/
public class _XInteractionHandler extends MultiMethodTest {
// oObj filled by MultiMethodTest
public XInteractionHandler oObj = null ;
private XInteractionRequest request = null ;
/**
* Retrieves an object relation. <p>
* @throws StatusException If the relation is not found.
*/
public void before() {
request = (XInteractionRequest)
tEnv.getObjRelation("XInteractionHandler.Request") ;
//if (request == null)
// throw new StatusException(Status.failed("Reelation not found")) ;
}
/**
* Sinse this test is interactive (dialog window can't be
* disposed using API) it is skipped. <p>
* Always has <b>SKIPPED.OK</b> status .
*/
public void _handle() {
/*
final XMultiServiceFactory msf = (XMultiServiceFactory)tParam.getMSF() ;
SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF() );
XComponent textDoc = null ;
try {
textDoc = SOF.createTextDoc( null );
} catch (com.sun.star.uno.Exception e) {
log.println("Can't create Document") ;
tRes.tested("handle()", false) ;
return ;
}
final XComponent fTextDoc = textDoc ;
final XModel xModelDoc = (XModel)
UnoRuntime.queryInterface(XModel.class, textDoc);
Thread thr = new Thread( new Runnable() {
public void run() {
try {
Thread.sleep(1000) ;
} catch (InterruptedException e ) {}
//fTextDoc.dispose() ;
XFrame docFr = xModelDoc.getCurrentController().getFrame() ;
docFr.dispose() ;
///*
try {
Object dsk = msf.createInstance
("com.sun.star.frame.Desktop");
XFrame xDsk = (XFrame)
UnoRuntime.queryInterface(XFrame.class, dsk) ;
XFrame fr = xDsk.findFrame("_top", 55) ;
XWindow win = fr.getContainerWindow() ;
String name = null ;
if (fr != null) {
name = fr.getName() ;
docFr.dispose() ;
}
} catch (com.sun.star.uno.Exception e) {
e.printStackTrace();
} //
}
}) ;
thr.start() ;
oObj.handle(request) ;
try {
thr.join(500) ;
} catch (InterruptedException e ) {}
*/
tRes.tested("handle()", Status.skipped(true)) ;
}
}