/************************************************************************** * TraceableLocator * * $Workfile$ * $Revision: 1.15 $ * $Date: 2005/10/05 07:39:37 $ * * Copyright (C) 2001 CERN - European Organization for Nuclear Research * All rights reserved. **************************************************************************/ package com.c2kernel.entity; import java.sql.Timestamp; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.process.Gateway; import com.c2kernel.utils.Logger; /************************************************************************** * * @author $Author: abranson $ $Date: 2005/10/05 07:39:37 $ * @version $Revision: 1.15 $ **************************************************************************/ public class TraceableLocator extends org.omg.PortableServer.ServantLocatorPOA { /************************************************************************** * **************************************************************************/ private org.omg.PortableServer.POA mParentPoa; /************************************************************************** * **************************************************************************/ public TraceableLocator( org.omg.PortableServer.POA poa ) { mParentPoa = poa; } /************************************************************************** * **************************************************************************/ public org.omg.PortableServer.Servant preinvoke( byte[] oid, org.omg.PortableServer.POA poa, String operation, org.omg.PortableServer.ServantLocatorPackage.CookieHolder cookie ) { try { int syskey = Integer.parseInt(new String(oid)); org.omg.PortableServer.Servant servant=null; Logger.msg(1,"==========================================================="); Logger.msg(1,"Item called at "+new Timestamp( System.currentTimeMillis()) +": " + operation + "(" + syskey + ")." ); return Gateway.getCorbaServer().getItem(syskey, mParentPoa); } catch (ObjectNotFoundException ex) { Logger.error("ObjectNotFoundException::TraceableLocator::preinvoke() " + ex.toString()); throw new org.omg.CORBA.OBJECT_NOT_EXIST(); } } /************************************************************************** * **************************************************************************/ public void postinvoke( byte[] oid, org.omg.PortableServer.POA poa, String operation, java.lang.Object the_cookie, org.omg.PortableServer.Servant the_servant ) { } }