/*

 * Name21Servlet.java - a sample servlet for "member.name" version 2.1.

 * John Neffenger <john@volano.com>

 */



package COM.volano;

import  java.io.*;

import  java.net.*;

import  java.util.*;

import  javax.servlet.*;

import  javax.servlet.http.*;



/**

 * This servlet checks whether a name is reserved by a member using the new 2.1

 * format of the "member.name" script.

 *

 * @version 08 May 1998

 * @author  John Neffenger

 */



public class Name21Servlet extends Access21Servlet {



  /**

   * Called when an HTTP GET request is received for this servlet.

   *

   * @param req encapsulates the request to the servlet.

   * @param res encapsulates the response from the servlet.

   * @exception javax.servlet.ServletException if a servlet error occurs.

   * @exception java.io.IOException if an I/O error occurs.

   */



  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

    res.setContentType("text/plain");

    ServletOutputStream out = res.getOutputStream();

    String name = req.getParameter("name");

    if (name == null || name.length() == 0) {

      out.println(ERROR);		// No name given

      out.println("Missing \"name\" parameter");

    }

    else {



      // Here is where you would do a lookup in the real database.  We simply

      // access the in-memory database as an example here.



      String memberName = URLEncoder.encode(name.toLowerCase());

      if (database.containsKey(memberName))

        out.println(TRUE);	// Name is taken by a member

      else

        out.println(FALSE);	// Name is not taken by a member

    }

  }

}

