Clover coverage report - Replica - 1.0-Alpha
Coverage timestamp: Dom Fev 1 2004 17:00:58 WET
file stats: LOC: 102   Methods: 4
NCLOC: 49   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
ConnectCommand.java 0% 3,2% 25% 4,3%
coverage coverage
 1   
 /*
 2   
  * Replica is published under the terms
 3   
  * of the Apache Software License.
 4   
  */
 5   
 package replica.server.commands;
 6   
 
 7   
 import java.util.StringTokenizer;
 8   
 
 9   
 import replica.core.ApplicationCommand;
 10   
 import replica.core.ApplicationMessage;
 11   
 import replica.group.GroupManager;
 12   
 import replica.session.Session;
 13   
 
 14   
 /**
 15   
  * Connects a user to the server.
 16   
  * 
 17   
  * @author Pedro Costa
 18   
  * @author Helder Silva
 19   
  * @since 20/Jan/2004
 20   
  */
 21   
 public class ConnectCommand extends ApplicationCommand {
 22   
     
 23   
     GroupManager groupManager;
 24   
     
 25   
     /**
 26   
      * 
 27   
      */
 28  6
     public ConnectCommand() {
 29  6
         super();
 30   
     }
 31   
 
 32   
     /* (non-Javadoc)
 33   
      * @see replica.server.commands.ServerCommand#execute(replica.server.ServerCommandVO)
 34   
      */
 35  0
     public Object execute(ApplicationMessage arg) {
 36   
         
 37  0
         String receivedCommand = arg.getBody().toString();
 38   
         
 39  0
         StringTokenizer tokenizer = new StringTokenizer(receivedCommand);
 40   
         
 41  0
         tokenizer.nextToken();
 42   
         
 43  0
         String connectString = tokenizer.nextToken();
 44   
         
 45  0
         if( connectString == null )
 46  0
             return "Error connecting. No connect string provided in format user[/password][@database]";
 47   
         
 48  0
         tokenizer = new StringTokenizer( connectString, "@");
 49   
         
 50  0
         if( tokenizer.countTokens() < 1 )
 51  0
             return "Error connecting. Connect string must be in format user[/password][@database]";
 52   
             
 53  0
         String userAndPassword = tokenizer.nextToken();
 54   
         
 55  0
         String database = null;
 56   
         
 57  0
         if( tokenizer.countTokens() > 0 )
 58  0
             database = tokenizer.nextToken();
 59   
         
 60  0
         tokenizer = new StringTokenizer(userAndPassword, "/");
 61   
         
 62  0
         String user = tokenizer.nextToken();
 63  0
         String password = null;
 64   
         
 65  0
         if( tokenizer.countTokens() > 0 )
 66  0
             password = tokenizer.nextToken();
 67   
             
 68  0
         Session session = getSessionManager().getSession(arg.getSessionID());
 69   
         
 70  0
         getSessionManager().login(session, user, password);
 71   
         
 72  0
         if( database != null ){
 73  0
             session.putObject("DATABASE_NAME", database);
 74  0
             arg.putHeader("DATABASE_NAME", database);
 75   
         }
 76   
         
 77  0
         arg.putHeader("USER", user);
 78  0
         if( password != null )
 79  0
             arg.putHeader("PASSWORD", password);
 80   
         
 81   
         // replicate the session to the group members
 82  0
         getGroupManager().sendMessage( arg);
 83   
         
 84  0
         return "Connected.";
 85   
     }
 86   
 
 87   
     /**
 88   
      * @return
 89   
      */
 90  0
     public GroupManager getGroupManager() {
 91  0
         return groupManager;
 92   
     }
 93   
 
 94   
     /**
 95   
      * @param manager
 96   
      */
 97  0
     public void setGroupManager(GroupManager manager) {
 98  0
         groupManager = manager;
 99   
     }
 100   
 
 101   
 }
 102