/************************************************************************** * TraceableLocator * * $Workfile$ * $Revision: 1.9 $ * $Date: 2005/10/05 07:39:36 $ * * Copyright (C) 2001 CERN - European Organization for Nuclear Research * All rights reserved. **************************************************************************/ package com.c2kernel.entity.agent; 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:36 $ * @version $Revision: 1.9 $ **************************************************************************/ public class ActiveLocator extends org.omg.PortableServer.ServantLocatorPOA { /************************************************************************** * **************************************************************************/ private org.omg.PortableServer.POA mParentPoa; /************************************************************************** * **************************************************************************/ public ActiveLocator( 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; Logger.msg(1,"==========================================================="); Logger.msg(1,"Agent called at "+new Timestamp( System.currentTimeMillis()) +": " + operation + "(" + syskey + ")." ); return Gateway.getCorbaServer().getAgent(syskey, mParentPoa); } catch (ObjectNotFoundException ex) { Logger.error("ObjectNotFoundException::ActiveLocator::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 ) { } }