KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > ccm > logservice > LogInternalImpl


1 // ====================================================================
2
//
3
// ECM: The Extensible Container Model
4
// Copyright (C) 2004 THALES
5
// Contact: openccm-ecm@objectweb.org
6
//
7
// This library is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU Lesser General Public
9
// License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or any later version.
11
//
12
// This library is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// Lesser General Public License for more details.
16
//
17
// You should have received a copy of the GNU Lesser General Public
18
// License along with this library; if not, write to the Free Software
19
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20
// USA
21
//
22
// Initial developer(s): Mathieu Vadet.
23
// Initial Funding: IST COACH European project (IST-2001-34445)
24
// http://www.ist-coach.org
25
//
26
// ====================================================================
27

28
29
30 package org.objectweb.ccm.logservice;
31
32 import org.objectweb.corba.runtime.*;
33 import org.objectweb.corba.logservice.*;
34
35 /**
36  ** <p>Implementation of the <tt>LogInternal</tt> internal interface of the ECM log service.</p>
37  **/

38 public class LogInternalImpl
39 extends org.omg.CORBA.LocalObject JavaDoc
40 implements LogInternal
41 {
42     //
43
private LogServer _server;
44
45     public
46     LogInternalImpl(LogServer server)
47     {
48         _server = server;
49     }
50
51     //
52
// IDL:org/objectweb/ccm/logservice/LogInternal:1.0
53
//
54

55     final public void
56     log_event(LogEvent evt)
57     {
58         new LogEventWorker(_server, evt).start();
59     }
60
61     final public void
62     log_events(LogEvent[] evts)
63     {
64         new LogEventWorker(_server, evts).start();
65     }
66 }
67
68 //
69
// internal class used to send log events in separate threads
70
//
71
class LogEventWorker
72 extends java.lang.Thread JavaDoc
73 {
74     //
75
private LogServer _server;
76     private LogEvent[] _events;
77
78     public
79     LogEventWorker(LogServer server,
80                    LogEvent evt)
81     {
82         _server = server;
83         _events = new LogEvent[1];
84         _events[0] = evt;
85     }
86
87     public
88     LogEventWorker(LogServer server,
89                    LogEvent[] evts)
90     {
91         _server = server;
92         _events = evts;
93     }
94
95     //
96
// java.lang.Thread
97
//
98

99     final public void
100     run()
101     {
102         _server.log_events(_events);
103     }
104 }
105
Popular Tags