m_map.put( "work", work ); m_map.put( "temp", temp ); m_map.put( "uri", m_uri );
m_map.put( "work", work.toString() ); m_map.put( "temp", temp.toString() ); m_map.put( "uri", m_uri.toASCIIString() );
    ComponentHandler(       final ClassLoader classloader, final Logger logger,       final ComponentController control, final ComponentModel model )      throws RemoteException    {        super();                m_classloader = classloader;        m_logger = logger;        m_controller = control;        m_model = model;        m_path = model.getContextPath();        m_graph = model.getStateGraph();                String classname = model.getImplementationClassName();        try        {            m_class = control.loadComponentClass( classloader, classname );        }        catch( ControlException e )        {            final String error =               "Unable to load component class: "              + classname;            throw new HandlerRuntimeException( error, e );        }                try        {            m_type = control.loadType( m_class );        }        catch( ControlException e )        {            final String error =               "Unable to load component type: "              + classname;            throw new HandlerRuntimeException( error, e );        }                try        {            m_services = control.loadServiceClasses( this );        }        catch( ControlException e )        {            final String error =               "Unable to load a service class declared in component type: "              + classname;            throw new HandlerRuntimeException( error, e );        }                try        {            m_uri = new URI( "component:" + m_path );        }        catch( Throwable e )        {            final String error =               "Internal error while attempting to construct the component uri using the path ["               + m_path + "]";            throw new ControlRuntimeException( error, e );        }                String name = model.getName();        File work = control.getWorkDirectory( this );        File temp = control.getTempDirectory( this );        m_map.put( "name", name );        m_map.put( "path", m_path );        m_map.put( "work", work );        m_map.put( "temp", temp );        m_map.put( "uri", m_uri );                LifestylePolicy lifestyle = model.getLifestylePolicy();        if( lifestyle.equals( LifestylePolicy.SINGLETON ) )        {            m_holder = new SingletonHolder();        }        else if( lifestyle.equals( LifestylePolicy.TRANSIENT ) )        {            m_holder = new TransientHolder();        }        else if( lifestyle.equals( LifestylePolicy.THREAD ) )        {            m_holder = new ThreadHolder();        }        else        {            final String error =               "Unsuppported lifestyle policy: " + lifestyle;            throw new UnsupportedOperationException( error );        }                getLogger().debug( "component controller [" + this + "] established" );    }