You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-commits@ws.apache.org by ip...@apache.org on 2005/07/22 01:36:24 UTC

svn commit: r220208 - /webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java

Author: ips
Date: Thu Jul 21 16:36:22 2005
New Revision: 220208

URL: http://svn.apache.org/viewcvs?rev=220208&view=rev
Log:
...

Modified:
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java?rev=220208&r1=220207&r2=220208&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java Thu Jul 21 16:36:22 2005
@@ -1,5 +1,5 @@
 /*=============================================================================*
- *  Copyright 2004 The Apache Software Foundation
+ *  Copyright 2004-2005 The Apache Software Foundation
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -23,6 +23,7 @@
 import org.apache.ws.Soap1_1Constants;
 import org.apache.ws.addressing.EndpointReference;
 import org.apache.ws.addressing.XmlBeansEndpointReference;
+import org.apache.ws.resource.IllegalResourceTypeException;
 import org.apache.ws.resource.JndiConstants;
 import org.apache.ws.resource.PropertiesResource;
 import org.apache.ws.resource.Resource;
@@ -62,7 +63,7 @@
 import java.util.Map;
 
 /**
- * TODO: update these Javadocs
+ * TODO: Update these Javadocs
  * <p/>
  * LOG-DONE An implementation of the <code>ResourceHome</code> interface. This implementation was designed to work with
  * resources that implement the {@link PersistentResource PersistenceCallback} interface as well as memory resident
@@ -110,7 +111,7 @@
 {
 
     private static final int DEFAULT_SWEEPER_DELAY = 60000;
-    private static final Log LOG = LogFactory.getLog(AbstractResourceHome.class);
+    private static final Log LOG = LogFactory.getLog( AbstractResourceHome.class );
     public static final Messages MSG = MessagesImpl.getInstance();
 
     /**
@@ -139,25 +140,23 @@
     private Sweeper m_sweeper;
     private boolean m_initialized;
     private Class m_resourceClass;
-    private Class m_serviceClass;
     private List m_creationListeners = new ArrayList();
     private List m_destructionListeners = new ArrayList();
 
     /**
-     * Initializes this home. Should be called <em>after</em> setters have been called on
-     * all bean properties.
+     * Initializes this home. Should be called <em>after</em> setters have been called on all bean properties.
      *
      * @throws Exception on error
      */
     public void init() throws Exception
     {
-        synchronized (this)
+        synchronized ( this )
         {
-            if (m_initialized)
+            if ( m_initialized )
             {
                 return;
             }
-            LOG.debug(MSG.getMessage(Keys.INIT_HOME));
+            LOG.debug( MSG.getMessage( Keys.INIT_HOME ) );
             Class resourceClass = getResourceClass();
 
             //todo sjc is it gone ips??
@@ -170,11 +169,11 @@
             Context initialContext = new InitialContext();
             m_resources = getResourceMap();
             m_lockManager = new LockManager();
-            if (ScheduledResourceTerminationResource.class.isAssignableFrom(getResourceClass()))
+            if ( ScheduledResourceTerminationResource.class.isAssignableFrom( getResourceClass() ) )
             {
-                initSweeper(initialContext);
+                initSweeper( initialContext );
             }
-            initCachePolicy(new InitialContext());
+            initCachePolicy( new InitialContext() );
             m_initialized = true;
         }
     }
@@ -184,7 +183,7 @@
      *
      * @param jndiLocation DOCUMENT_ME
      */
-    public void setCacheLocation(String jndiLocation)
+    public void setCacheLocation( String jndiLocation )
     {
         m_cacheLocation = jndiLocation;
     }
@@ -204,7 +203,7 @@
      *
      * @param resourceClass DOCUMENT_ME
      */
-    public void setResourceClassName(String resourceClass)
+    public void setResourceClassName( String resourceClass )
     {
         m_resourceClassName = resourceClass;
     }
@@ -222,59 +221,9 @@
     /**
      * DOCUMENT_ME
      *
-     * @param keyClass DOCUMENT_ME
-     */
-    public void setResourceKeyClassName(String keyClass)
-    {
-        m_resourceKeyClassName = keyClass;
-    }
-
-    /**
-     * DOCUMENT_ME
-     *
-     * @return DOCUMENT_ME
-     */
-    public String getResourceKeyClassName()
-    {
-        return m_resourceKeyClassName;
-    }
-
-    /**
-     * DOCUMENT_ME
-     *
-     * @param keyName DOCUMENT_ME
-     */
-    public void setResourceKeyName(String keyName)
-    {
-        m_resourceKeyName = keyName;
-    }
-
-    /**
-     * DOCUMENT_ME
-     *
-     * @return DOCUMENT_ME
-     */
-    public String getResourceKeyName()
-    {
-        return m_resourceKeyName;
-    }
-
-    /**
-     * DOCUMENT_ME
-     *
-     * @param serviceClass DOCUMENT_ME
-     */
-    public void setServiceClass(String serviceClass)
-    {
-        m_serviceClassName = serviceClass;
-    }
-
-    /**
-     * DOCUMENT_ME
-     *
      * @param className DOCUMENT_ME
      */
-    public void setServiceClassName(String className)
+    public void setServiceClassName( String className )
     {
         m_serviceClassName = className;
     }
@@ -294,7 +243,7 @@
      *
      * @param delay DOCUMENT_ME
      */
-    public void setSweeperDelay(long delay)
+    public void setSweeperDelay( long delay )
     {
         m_sweeperDelay = delay;
     }
@@ -314,7 +263,7 @@
      *
      * @param targetNamespace DOCUMENT_ME
      */
-    public void setWsdlTargetNamespace(String targetNamespace)
+    public void setWsdlTargetNamespace( String targetNamespace )
     {
         m_wsdlTargetNamespace = targetNamespace;
     }
@@ -332,67 +281,60 @@
     /**
      * @see ResourceHome#find(Object)
      */
-    public Resource find(Object resourceId)
+    public Resource find( Object resourceId )
             throws
             ResourceUnknownException,
             ResourceException
     {
-        LOG.debug(MSG.getMessage(Keys.FINDING_RESOURCE_WITH_KEY, String.valueOf(resourceId)));
+        LOG.debug( MSG.getMessage( Keys.FINDING_RESOURCE_WITH_KEY, String.valueOf( resourceId ) ) );
         Resource resource = null;
-
-            synchronized (getResourceMap())
-            {
-               // Lock lock = acquireLock(resourceId);
-
-           //     try
-            //    {
-                    resource = get(resourceId);
-                    if (m_cache != null)
-                    {
-                        m_cache.update(resource);
-                    }
-            //    }
-            //    finally
-            //    {
-           //         lock.release();
-            //    }
-            }
-
-
+        synchronized ( m_resources )
+        {
+            //Lock lock = acquireLock( resourceId );
+            //try
+            //{
+            resource = get( resourceId );
+            updateCache( resource );
+            //}
+            //finally
+            //{
+            //    lock.release();
+            //}
+        }
         return resource;
     }
 
     /**
      * @see ResourceHome#remove(Object)
      */
-    public void remove(Object resourceId)
+    public void remove( Object resourceId )
             throws ResourceUnknownException, ResourceException
     {
         Resource resource = null;
-        Lock lock = acquireLock(resourceId);
+        Lock lock = acquireLock( resourceId );
         try
         {
-            resource = get(resourceId);
+            resource = get( resourceId );
 
             try
             {
                 resource.destroy();
             }
-            catch (RuntimeException re)
+            catch ( RuntimeException re )
             {
-                throw new ResourceException(MSG.getMessage(Keys.FAILED_TO_DESTROY_RESOURCE, resource, re));
+                throw new ResourceException( MSG.getMessage( Keys.FAILED_TO_DESTROY_RESOURCE, resource, re ) );
             }
 
-            Resource removedResource = (Resource) m_resources.remove(getNonNullKey(resourceId));
-            if (removedResource instanceof PropertiesResource)
+            Resource removedResource = (Resource) m_resources.remove( getNonNullKey( resourceId ) );
+            if ( removedResource instanceof PropertiesResource )
             {
-                notifyResourceDeletedListeners(removedResource);
+                notifyResourceDeletedListeners( removedResource );
             }
-            LOG.debug(MSG.getMessage(Keys.REMOVED_RESOURCE_WITH_KEY, resource.getClass().getName(),
-                                     String.valueOf(resourceId)));
-            if (m_cache != null)
+            LOG.debug( MSG.getMessage( Keys.REMOVED_RESOURCE_WITH_KEY, resource.getClass().getName(),
+                    String.valueOf( resourceId ) ) );
+            if ( m_cache != null )
             {
-                m_cache.remove(resource);
+                m_cache.remove( resource );
             }
         }
         finally
@@ -402,36 +344,45 @@
 
     }
 
-    private Lock acquireLock(Object resourceId)
+    private Lock acquireLock( Object resourceId )
             throws ResourceException
     {
-        Lock lock = m_lockManager.getLock(getNonNullKey(resourceId));
+        Lock lock = m_lockManager.getLock( getNonNullKey( resourceId ) );
         try
         {
             lock.acquire();
         }
-        catch (InterruptedException ie)
+        catch ( InterruptedException ie )
         {
-            throw new ResourceException(ie);
+            throw new ResourceException( ie );
         }
         return lock;
     }
 
     /**
-     * DOCUMENT_ME
-     *
-     * @param id       DOCUMENT_ME
-     * @param resource DOCUMENT_ME
+     * @see ResourceHome#add(org.apache.ws.resource.Resource)
      */
-    protected void add(Object id,
-                       Resource resource)
+    public boolean add( Resource resource ) throws IllegalResourceTypeException
     {
-        // TODO: why do we need add() in addition to addResource()?
-        addResource(id, resource);
-        if (m_cache != null)
+        boolean resourceWasAdded = false;
+        if ( !m_resourceClass.isAssignableFrom( resource.getClass() ) )
+        {
+            throw new IllegalResourceTypeException( "This home only supports resources of type " + m_resourceClassName );
+        }
+        synchronized ( m_resources )
         {
-            m_cache.update(resource);
+            Object key = getNonNullKey( resource.getID() );
+            if ( !m_resources.containsKey( key ) )
+            {
+                LOG.debug( MSG.getMessage( Keys.ADDING_RESOURCE_WITH_ID, resource.getID(), getClass().getName() ) );
+                m_resources.put( key, resource );
+                scheduleSweeperTask();
+                notifyResourceCreatedListeners( resource );
+                updateCache( resource );
+                resourceWasAdded = true;
+            }
         }
+        return resourceWasAdded;
     }
 
     /**
@@ -442,32 +393,34 @@
      * getEndpointReference and then use a setter on their resource impl.
      *
      * @param id the resource identifier
+     *
      * @return a resource of the type associated with this home
+     *
      * @throws ResourceException
      * @throws IllegalStateException
      */
-    protected Resource createInstance(Object id)
+    protected Resource createInstance( Object id )
             throws ResourceException
     {
-        LOG.debug(MSG.getMessage(Keys.CREATING_INSTANCE_WITH_KEY, String.valueOf(id)));
+        LOG.debug( MSG.getMessage( Keys.CREATING_INSTANCE_WITH_KEY, String.valueOf( id ) ) );
         Resource resource;
         try
         {
             resource = (Resource) getResourceClass().newInstance();
         }
-        catch (Exception e)
+        catch ( Exception e )
         {
-            throw new ResourceException(e);
+            throw new ResourceException( e );
         }
-        resource.setID(id);
+        resource.setID( id );
         try
         {
-            LOG.debug(MSG.getMessage(Keys.INIT_RESOURCE_LIFECYCLE_INSTANCE, resource.getClass().getName()));
+            LOG.debug( MSG.getMessage( Keys.INIT_RESOURCE_LIFECYCLE_INSTANCE, resource.getClass().getName() ) );
             resource.init();
         }
-        catch (RuntimeException re)
+        catch ( RuntimeException re )
         {
-            throw new ResourceException(MSG.getMessage(Keys.FAILED_TO_INIT_RESOURCE, resource, re), re);
+            throw new ResourceException( MSG.getMessage( Keys.FAILED_TO_INIT_RESOURCE, resource, re ), re );
         }
         return resource;
     }
@@ -476,104 +429,108 @@
      * DOCUMENT_ME
      *
      * @param id DOCUMENT_ME
+     *
      * @return DOCUMENT_ME
+     *
      * @throws ResourceException DOCUMENT_ME
      */
-    protected Resource createNewInstanceAndLoad(Object id)
+    protected Resource createNewInstanceAndLoad( Object id )
             throws ResourceException
     {
-        Resource resource = createInstance(id);
-        LOG.debug(MSG.getMessage(Keys.LOADING_RESOURCE_FROM_PERSISTENCE, String.valueOf(id)));
+        Resource resource = createInstance( id );
+        LOG.debug( MSG.getMessage( Keys.LOADING_RESOURCE_FROM_PERSISTENCE, String.valueOf( id ) ) );
         //todo sjc is it gone ips?? ( (PersistentResource) resource ).load( id );
-        if (ResourceSweeper.isExpired(resource))
+        if ( ResourceSweeper.isExpired( resource ) )
         {
-            throw new ResourceUnknownException(getNonNullKey(id), getServicePortName());
+            throw new ResourceUnknownException( getNonNullKey( id ), getServicePortName() );
         }
         return resource;
     }
 
+    private void scheduleSweeperTask()
+    {
+        if ( m_sweeper != null )
+        {
+            m_sweeper.schedule();
+        }
+    }
+
+    private void updateCache( Resource resource )
+    {
+        if ( m_cache != null )
+        {
+            m_cache.update( resource );
+        }
+    }
+
     private Class getResourceClass()
             throws ResourceException
     {
-        if (m_resourceClass == null)
+        if ( m_resourceClass == null )
         {
-            if (m_resourceClassName == null)
+            if ( m_resourceClassName == null )
             {
-                throw new IllegalStateException(MSG.getMessage(Keys.RESOURCE_CLASSNAME_NULL));
+                throw new IllegalStateException( MSG.getMessage( Keys.RESOURCE_CLASSNAME_NULL ) );
             }
             try
             {
-                m_resourceClass = Class.forName(m_resourceClassName);
+                m_resourceClass = Class.forName( m_resourceClassName );
             }
-            catch (ClassNotFoundException cnfe)
+            catch ( ClassNotFoundException cnfe )
             {
-                throw new ResourceException(MSG.getMessage(Keys.RESOURCE_CLASS_NOT_FOUND, m_resourceClassName));
+                throw new ResourceException( MSG.getMessage( Keys.RESOURCE_CLASS_NOT_FOUND, m_resourceClassName ) );
             }
-            if (!Resource.class.isAssignableFrom(m_resourceClass))
+            if ( !Resource.class.isAssignableFrom( m_resourceClass ) )
             {
-                throw new ResourceException("Specified resource class '" + m_resourceClassName + "' does not implement the " +
-                                            Resource.class.getName() +
-                                            " interface.");
+                throw new ResourceException( "Specified resource class '" + m_resourceClassName +
+                        "' does not implement the " +
+                        Resource.class.getName() +
+                        " interface." );
             }
         }
         return m_resourceClass;
     }
 
-    private void addResource(Object id,
-                             Resource resource)
-    {
-        LOG.debug(MSG.getMessage(Keys.ADDING_RESOURCE_FOR_KEY, String.valueOf(id)));
-        m_resources.put(getNonNullKey(id), resource);
-        // schedule sweeper task if needed
-        if (m_sweeper != null)
-        {
-            m_sweeper.schedule();
-        }
-        notifyResourceCreatedListeners(resource);
-    }
-
-    private Resource get(Object resourceId)
+    private Resource get( Object resourceId )
             throws ResourceException
     {
-        LOG.debug(MSG.getMessage(Keys.GET_RESOURCE_FOR_KEY, String.valueOf(resourceId)));
-        Object key = getNonNullKey(resourceId);
-        Resource resource = (Resource) m_resources.get(key);
-        if (resource == null)
+        LOG.debug( MSG.getMessage( Keys.GETTING_RESOURCE_WITH_ID, resourceId, getClass().getName() ) );
+        Resource resource = (Resource) m_resources.get( getNonNullKey( resourceId ) );
+        if ( resource == null )
         {
-            if (!m_resourceIsPersistent)
+            if ( !m_resourceIsPersistent )
             {
-                throw new ResourceUnknownException(key, getServicePortName());
+                throw new ResourceUnknownException( resourceId, getServicePortName() );
             }
-            addResource(key, createNewInstanceAndLoad(resourceId));
+            add( createNewInstanceAndLoad( resourceId ) );
         }
         return resource;
     }
 
-    Object getNonNullKey(Object obj)
+    Object getNonNullKey( Object obj )
     {
         return obj != null ? obj : new Object();
     }
 
-    protected void initCachePolicy(Context initialContext)
+    protected void initCachePolicy( Context initialContext )
             throws NamingException
     {
-        if (m_cacheLocation != null)
+        if ( m_cacheLocation != null )
         {
-            m_cache = (Cache) JNDIUtils.lookup(initialContext, m_cacheLocation, Cache.class);
+            m_cache = (Cache) JNDIUtils.lookup( initialContext, m_cacheLocation, Cache.class );
         }
     }
 
-    protected abstract Map getResourceMap();
+    protected abstract Map getResourceMap() throws NamingException;
 
-
-    private void initSweeper(Context initialContext)
+    private void initSweeper( Context initialContext )
             throws NamingException
     {
-        LOG.debug(MSG.getMessage(Keys.TIMER_LOOKUP_WITH_JNDI_NAME, JndiConstants.KEY_NAME_DEFAULT_TIMER));
-        TimerManager timerManager = (TimerManager) initialContext.lookup(JndiConstants.KEY_NAME_DEFAULT_TIMER);
+        LOG.debug( MSG.getMessage( Keys.TIMER_LOOKUP_WITH_JNDI_NAME, JndiConstants.KEY_NAME_DEFAULT_TIMER ) );
+        TimerManager timerManager = (TimerManager) initialContext.lookup( JndiConstants.KEY_NAME_DEFAULT_TIMER );
 
         // TimerManager timerManager = new TimerManagerImpl();
-        m_sweeper = new Sweeper(this, m_resources, timerManager, m_sweeperDelay);
+        m_sweeper = new Sweeper( this, m_resources, timerManager, m_sweeperDelay );
     }
 
     /**
@@ -596,12 +553,12 @@
          * @param timerManager DOCUMENT_ME
          * @param delay        DOCUMENT_ME
          */
-        public Sweeper(ResourceHome home,
-                       Map resources,
-                       TimerManager timerManager,
-                       long delay)
+        public Sweeper( ResourceHome home,
+                        Map resources,
+                        TimerManager timerManager,
+                        long delay )
         {
-            super(home, resources);
+            super( home, resources );
             m_timerManager = timerManager;
             m_delay = delay;
         }
@@ -611,11 +568,11 @@
          *
          * @param timer DOCUMENT_ME
          */
-        public void timerExpired(Timer timer)
+        public void timerExpired( Timer timer )
         {
-            super.timerExpired(timer);
+            super.timerExpired( timer );
             cancel();
-            if (!m_resources.isEmpty())
+            if ( !m_resources.isEmpty() )
             {
                 schedule();
             }
@@ -626,10 +583,10 @@
          */
         synchronized void schedule()
         {
-            if (m_timer == null)
+            if ( m_timer == null )
             {
-                LOG.debug(MSG.getMessage(Keys.SCHEDULE_RESOURCE_SWEEPER));
-                m_timer = m_timerManager.schedule(this, m_delay);
+                LOG.debug( MSG.getMessage( Keys.SCHEDULE_RESOURCE_SWEEPER ) );
+                m_timer = m_timerManager.schedule( this, m_delay );
             }
         }
 
@@ -638,9 +595,9 @@
          */
         private synchronized void cancel()
         {
-            if (m_timer != null)
+            if ( m_timer != null )
             {
-                LOG.debug(MSG.getMessage(Keys.CANCEL_RESOURCE_SWEEPER));
+                LOG.debug( MSG.getMessage( Keys.CANCEL_RESOURCE_SWEEPER ) );
                 m_timer = null;
             }
         }
@@ -651,9 +608,9 @@
      *
      * @param listener
      */
-    public void addResourceCreationListener(ResourceCreationListener listener)
+    public void addResourceCreationListener( ResourceCreationListener listener )
     {
-        m_creationListeners.add(listener);
+        m_creationListeners.add( listener );
     }
 
     /**
@@ -661,31 +618,33 @@
      *
      * @param listener
      */
-    public void addResourceDestructionListener(ResourceDestructionListener listener)
+    public void addResourceDestructionListener( ResourceDestructionListener listener )
     {
-        m_destructionListeners.add(listener);
+        m_destructionListeners.add( listener );
     }
 
     /**
      * Removes a listener for ResourceCreationEvents
      *
      * @param listener
+     *
      * @return true if the listener was removed, else false
      */
-    public boolean removeResourceCreationListener(ResourceCreationListener listener)
+    public boolean removeResourceCreationListener( ResourceCreationListener listener )
     {
-        return m_creationListeners.remove(listener);
+        return m_creationListeners.remove( listener );
     }
 
     /**
      * Removes a listener for ResourceDestructionEvents
      *
      * @param listener
+     *
      * @return true if the listener was removed, else false
      */
-    public boolean removeResourceDestructionListener(ResourceDestructionListener listener)
+    public boolean removeResourceDestructionListener( ResourceDestructionListener listener )
     {
-        return m_destructionListeners.remove(listener);
+        return m_destructionListeners.remove( listener );
     }
 
     /**
@@ -693,12 +652,12 @@
      *
      * @param resource The Resource which was created
      */
-    private void notifyResourceCreatedListeners(Resource resource)
+    private void notifyResourceCreatedListeners( Resource resource )
     {
-        for (int i = 0; i < m_creationListeners.size(); i++)
+        for ( int i = 0; i < m_creationListeners.size(); i++ )
         {
-            ResourceCreationListener resourceCreationListener = (ResourceCreationListener) m_creationListeners.get(i);
-            resourceCreationListener.creationOccurred(new ResourceCreationEvent(resource));
+            ResourceCreationListener resourceCreationListener = (ResourceCreationListener) m_creationListeners.get( i );
+            resourceCreationListener.creationOccurred( new ResourceCreationEvent( resource ) );
         }
     }
 
@@ -707,13 +666,14 @@
      *
      * @param resource The EndpointReference for the Resource which was created
      */
-    private void notifyResourceDeletedListeners(Resource resource)
+    private void notifyResourceDeletedListeners( Resource resource )
     {
-        for (int i = 0; i < m_destructionListeners.size(); i++)
+        for ( int i = 0; i < m_destructionListeners.size(); i++ )
         {
-            ResourceDestructionListener resourceDestructionListener = (ResourceDestructionListener) m_destructionListeners.get(i);
-            ResourceDestructionEvent event = new ResourceDestructionEvent(resource);
-            resourceDestructionListener.destructionOccurred(event);
+            ResourceDestructionListener resourceDestructionListener = (ResourceDestructionListener) m_destructionListeners.get(
+                    i );
+            ResourceDestructionEvent event = new ResourceDestructionEvent( resource );
+            resourceDestructionListener.destructionOccurred( event );
         }
     }
 
@@ -726,17 +686,19 @@
      * @param endpointAddress the endpoint url for the service
      * @param resourceId      the resource identifier, or null if the resource is a singleton
      * @param wsAddressingURI the namespace URI of the preferred WS-Addressing version
+     *
      * @return an EndpointReference (EPR) for the resource
      */
-    public EndpointReference getEndpointReference(String endpointAddress, Object resourceId, String wsAddressingURI)
+    public EndpointReference getEndpointReference( String endpointAddress, Object resourceId, String wsAddressingURI )
     {
-        XmlBeansEndpointReference xmlBeansEndpointReference = new XmlBeansEndpointReference(endpointAddress,
-                                                                                            wsAddressingURI);
-        xmlBeansEndpointReference.setResourceIdentifierReferenceParameterName(getResourceIdentifierReferenceParameterQName());
-        xmlBeansEndpointReference.setResourceIdentifier(resourceId);
-        xmlBeansEndpointReference.setPortTypeQName(getPortType());
-        xmlBeansEndpointReference.setServicePortName(getServicePortName());
-        xmlBeansEndpointReference.setServiceQName(getServiceName());
+        XmlBeansEndpointReference xmlBeansEndpointReference = new XmlBeansEndpointReference( endpointAddress,
+                wsAddressingURI );
+        xmlBeansEndpointReference.setResourceIdentifierReferenceParameterName(
+                getResourceIdentifierReferenceParameterQName() );
+        xmlBeansEndpointReference.setResourceIdentifier( resourceId );
+        xmlBeansEndpointReference.setPortTypeQName( getPortType() );
+        xmlBeansEndpointReference.setServicePortName( getServicePortName() );
+        xmlBeansEndpointReference.setServiceQName( getServiceName() );
         return xmlBeansEndpointReference;
     }
 
@@ -756,61 +718,66 @@
         return m_resourceIdRefParamName.toString();
     }
 
-    public void setResourceIdentifierReferenceParameterName(String name)
+    public void setResourceIdentifierReferenceParameterName( String name )
     {
-        m_resourceIdRefParamName = QName.valueOf(name);
+        m_resourceIdRefParamName = QName.valueOf( name );
     }
 
-    public Object extractResourceIdentifier(ResourceContext context)
+    public Object extractResourceIdentifier( ResourceContext context )
     {
-        if (getResourceIdentifierReferenceParameterName() == null)
+        if ( getResourceIdentifierReferenceParameterName() == null )
         {
             return null;
         }
         try
         {
             SOAPHeader soapHeader = context.getSOAPMessage().getSOAPHeader();
-            Iterator resourceIdElemsIter = soapHeader.getChildElements(NameUtils.toName(getResourceIdentifierReferenceParameterQName()));
-            if (!resourceIdElemsIter.hasNext())
-            {
-                throw new FaultException(Soap1_1Constants.FAULT_CLIENT,
-                                         "The expected resource identifier reference parameter named " + getResourceIdentifierReferenceParameterName() + " was not found in the SOAP header.");
+            Iterator resourceIdElemsIter = soapHeader.getChildElements(
+                    NameUtils.toName( getResourceIdentifierReferenceParameterQName() ) );
+            if ( !resourceIdElemsIter.hasNext() )
+            {
+                throw new FaultException( Soap1_1Constants.FAULT_CLIENT,
+                        "The expected resource identifier reference parameter named " +
+                        getResourceIdentifierReferenceParameterName() +
+                        " was not found in the SOAP header." );
             }
             SOAPHeaderElement resourceIdElem = (SOAPHeaderElement) resourceIdElemsIter.next();
-            if (resourceIdElemsIter.hasNext())
+            if ( resourceIdElemsIter.hasNext() )
             {
-                throw new FaultException(Soap1_1Constants.FAULT_CLIENT,
-                                         "More than one resource identifier reference parameter named " + getResourceIdentifierReferenceParameterName() + " was found in the SOAP header. Exactly one is expected.");
+                throw new FaultException( Soap1_1Constants.FAULT_CLIENT,
+                        "More than one resource identifier reference parameter named " +
+                        getResourceIdentifierReferenceParameterName() +
+                        " was found in the SOAP header. Exactly one is expected." );
             }
             return resourceIdElem.getValue();
         }
-        catch (SOAPException soape)
+        catch ( SOAPException soape )
         {
-            throw new JAXRPCException(soape);
+            throw new JAXRPCException( soape );
         }
     }
 
     /**
-     * Creates a synschronized map for storing {@link Resource}s. If the resource is persistent,
-     * a {@link ReferenceMap} is used, otherwise a {@link HashMap} is used. Provided for the
-     * convenience of subclasses, which are responsible for creating a map of resources and
-     * maintaining a static reference to that map.
+     * Creates a synschronized map for storing {@link Resource}s. If the resource is persistent, a {@link ReferenceMap}
+     * is used, otherwise a {@link HashMap} is used. Provided for the convenience of subclasses, which are responsible
+     * for creating a map of resources and maintaining a static reference to that map.
      *
      * @param isPersistent if the resource is persistent
+     *
      * @return a synschronized map for storing {@link Resource}s
      */
-    protected static Map createResourceMap(boolean isPersistent)
+    protected static Map createResourceMap( boolean isPersistent )
     {
         Map resourceMap;
-        if (isPersistent)
+        if ( isPersistent )
         {
-            resourceMap = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT, true);
+            resourceMap = new ReferenceMap( ReferenceMap.HARD, ReferenceMap.SOFT, true );
         }
         else
         {
             resourceMap = new HashMap();
         }
-        return Collections.synchronizedMap(resourceMap);
+        return Collections.synchronizedMap( resourceMap );
     }
 
 }