class ControllerMappings {


    private static Map<String, IGTVGController> controllersByURL;


    static {
        controllersByURL = new HashMap<String, IGTVGController>();
        controllersByURL.put("/", new HomeController());
        controllersByURL.put("/product/list", new ProductListController());
        controllersByURL.put("/product/comments", new ProductCommentsController());
        controllersByURL.put("/order/list", new OrderListController());
        controllersByURL.put("/order/details", new OrderDetailsController());
        controllersByURL.put("/subscribe", new SubscribeController());
        controllersByURL.put("/userprofile", new UserProfileController());
    }
    

    
    public static IGTVGController resolveControllerForRequest(final IWebRequest request) {
        final String path = getRequestPath(request);
        return controllersByURL.get(path);
    }


    // Path within application might contain the ";jsessionid" fragment due to URL rewriting
    private static String getRequestPath(final IWebRequest request) {<FILL_FUNCTION_BODY>}


    private ControllerMappings() {
        super();
    }


}


        String requestPath = request.getPathWithinApplication();

        final int fragmentIndex = requestPath.indexOf(';');
        if (fragmentIndex != -1) {
            requestPath = requestPath.substring(0, fragmentIndex);
        }

        return requestPath;

    
<no_super_class>