2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
22 import lib
.TestParameters
;
23 import util
.PropertyName
;
27 * This class is printing to a <CODE>LogWriter</CODE>. This could be useful if a UNO-API
28 * function runs longer than time out. To avoid the assumption of death application
29 * a simple string is logged for 100 times of time out.</br>
31 * logger = new LoggingThread((LogWriter)log, tParam);
33 * oObj.longRunningFunction();
37 public class LoggingThread
extends Thread
{
39 private final TestParameters param
;
40 private final LogWriter log
;
41 private boolean finished
= false;
42 private final boolean debug
;
44 public LoggingThread(LogWriter log
, TestParameters tParam
) {
47 this.debug
= tParam
.getBool(PropertyName
.DEBUG_IS_ACTIVE
);
52 final int timeOut
= param
.getInt(PropertyName
.TIME_OUT
) / 2;
55 if (debug
) log
.println("TimeOutLogger: " + utils
.getDateTime() + " start");
56 while (!finished
&& count
< 200) {
58 if (debug
) log
.println("TimeOutLogger: "+utils
.getDateTime() + count
);
63 } catch (InterruptedException ex
) {
66 if (debug
) log
.println("TimeOutLogger: " + utils
.getDateTime() + " finished");
70 * finished the LoggingThread
72 public void finish() {
77 if (debug
) log
.println("TimeOutLogger: " + utils
.getDateTime() + " try to finish ");
78 util
.utils
.pause(1000);