/*
  * (non-Javadoc)
  * @see project3.RMIServerInterface#ASK(java.lang.String, java.lang.String, java.lang.String)
  * ASK method checks with the replica that the command being requested with the key and value is legitimate and acceptable to the server.
  * If the value is not being modified for the key passed in, then reject.
  * Similarly, if the key doesn't exist in the replica, then ASK would reject for this replica.
  * Enforces consistency of data in the absence of failures.
  */
 @Override
 public String ASK(String command, String key, String value) {
   if (hash.containsKey(key)) {
     String existingVal = hash.get(key);
     if (command.toUpperCase().equals("PUT"))
       if (!existingVal.equals(value)) return "ACCEPT";
       else return "REJECT";
     else return "ACCEPT";
   } else {
     if (command.toUpperCase().equals("PUT")) return "ACCEPT";
     else return "REJECT";
   }
 }
  public String GET(String clientId, String key) {
    log.info(
        "Server at "
            + hostname
            + ":"
            + port
            + " "
            + "received [GET "
            + key
            + "] from client "
            + clientId);
    String response = "";

    if (hash.containsKey(key)) response = hash.get(key);
    else {
      response = "No key " + key + " matches db ";
      log.error(response);
    }
    return response;
  }