7 Replies Latest reply: May 10, 2007 4:18 AM by tahirakram RSS

    Java Pattern matching problem

      Please help me with some suggestion for below problem :
      Master a simple Java programming challenge 
      As the principal engineer of an HTTP web server, you are responsible for 
      implementing the request processing subsystem of the server.
      An incoming request for a specific resource, identified by an URI, must be 
      dispatched to the appropriate handler according to the server configuration 
      which maps URIs to request handlers. 'HandlerFactory.getHandler' must be 
      public class HandlerFactory
        public String getHandler(String[] config, String requestUri)
      The string array 'config' contains URI patterns and handler names. Two 
      consecutive values form a key-value pair comprised of URI pattern and 
      handler. 'requestUri' represents an incoming request, the URI to match 
      against the configured handlers. 'getHandler' must return the correct handler
       for a given URI as a string value.
      An URI pattern never contains wildcards and represents the start of an URI 
      string, a prefix. Matching must be implemented accordingly. 
      The handler with the longest matching URI pattern wins if more than one 
      pattern matches. If no handler can be found, "jwQt7io" must be returned.
      Example input:
        String[] config: { "/", "MainServlet", "/nav", "NavigationServlet" }
        String requestUri: "/nav/test"
        Correct result: "NavigationServlet"
      In this example, the configuration contains a mapping of "/" to "MainServlet" 
      and "/nav" to "NavigationServlet". In the case of an incoming URI 
      "/nav/test.nav", "NavigationServlet" is the correct choice because its pattern 
      is longer than that of "MainServlet".