001         package com.croftsoft.apps.chat.client;
002    
003         import com.croftsoft.core.lang.NullArgumentException;
004         import com.croftsoft.core.security.Authentication;
005         import com.croftsoft.core.util.queue.Queue;
006    
007         import com.croftsoft.apps.chat.request.CreateModelRequest;
008         import com.croftsoft.apps.chat.request.ViewRequest;
009         import com.croftsoft.apps.chat.response.CreateUserResponse;
010    
011         /*********************************************************************
012         * Processes a CreateUserResponse.
013         *
014         * @version
015         *   2003-06-20
016         * @since
017         *   2003-06-11
018         * @author
019         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
020         *********************************************************************/
021    
022         public final class  CreateUserConsumer
023           extends AbstractConsumer
024         //////////////////////////////////////////////////////////////////////
025         //////////////////////////////////////////////////////////////////////
026         {
027    
028         private final Queue               requestQueue;
029    
030         private final CreateModelRequest  createModelRequest;
031    
032         //////////////////////////////////////////////////////////////////////
033         //////////////////////////////////////////////////////////////////////
034    
035         public  CreateUserConsumer (
036           Queue           requestQueue,
037           Authentication  authentication,
038           String          avatarType,
039           double          x,
040           double          y )
041         //////////////////////////////////////////////////////////////////////
042         {
043           NullArgumentException.check ( this.requestQueue = requestQueue );
044    
045           NullArgumentException.check ( authentication );
046    
047           createModelRequest = new CreateModelRequest (
048             authentication,
049             avatarType,
050             x,
051             y );
052         }
053    
054         //////////////////////////////////////////////////////////////////////
055         //////////////////////////////////////////////////////////////////////
056    
057         public void  consume ( Object  o )
058         //////////////////////////////////////////////////////////////////////
059         {
060           CreateUserResponse  createUserResponse = ( CreateUserResponse ) o;
061    
062           if ( createUserResponse.isDenied ( ) )
063           {
064             throw new RuntimeException ( "CreateUserRequest denied" );
065           }
066           else
067           {
068             requestQueue.replace ( createModelRequest );
069           }
070         }
071    
072         //////////////////////////////////////////////////////////////////////
073         //////////////////////////////////////////////////////////////////////
074         }