Package org.w3c.tools.resources

Examples of org.w3c.tools.resources.ProtocolException


    return reply;
      }
  }
  // Create a lookup state, and a lookup result:

  ProtocolException error = null;
  LookupState   ls = null;
  LookupResult  lr = null;
  // Run the lookup algorithm of root resource:
  // catch exception to get error (FIXME)
  try {
      lr = new LookupResult(root.getResourceReference());
      ls = new LookupState(request);

      if ( root.lookup(ls, lr) ) {
    if (lr.hasReply())
        return lr.getReply();
      }
  } catch (ProtocolException ex) {
      error = ex;
  } catch (Exception ex) {
      /*
       * We have a problem here, the error can be a configuration
       * or resource/extension problem, and it should be a
       * 5xx error, or it is a client side error and it should be
       * a 4xx error, ex, try with "Authorization:" and it fails.
       * For now we will reply with a 400, but with a FIXME
       */
      Reply err = request.makeReply(HTTP.BAD_REQUEST);
      err.setContent("<html><head><title>Bad Request</title></head>\n"
         + "<body><p>The server was not able to "
         + "understand this request</p></body></html>");
      error = new ProtocolException(err);
  }
  // Let the target resource perform the method
  ResourceReference  target = lr.getTarget();
  Reply              reply  = null;

  ResourceFilter filters[]  = lr.getFilters();
  int            infilter   = 0;

  if (error == null) {
      //call the ingoing filters:
      try {
    // temporary target resource !!! WARNING
    request.setTargetResource(target);
    if ( filters != null ) {
        for ( ; infilter < filters.length ; infilter++ ) {
      if ( filters[infilter] == null )
          continue;
      reply = (Reply)filters[infilter].
                                     ingoingFilter(request,
                     filters,
                     infilter);
      if ( reply != null ) {
          return reply;
      }
        }
    }
      } catch (ProtocolException ex) {
    error = ex;
      }
      //perform the request:
      if ((error == null) && (target != null)) {
    request.setFilters(filters, infilter);
    request.setTargetResource(target);
    try {
        FramedResource res = (FramedResource)target.lock();
        reply = (Reply) res.perform(request);
        if (reply == null) {
      reply = request.makeReply(HTTP.NOT_FOUND);
      if (uri_error) {
          reply.setContent("<html><head><title>Not Found" +
               "</title></head>\n"+
               "<body><h1>Invalid" +
               " URL</h1><p>The URL <b>"+
               request.getURL()+
               "</b> that you requested is not" +
               " available "+
               " for this protocol.</body>\n"
               +"</html>");
      } else {
          reply.setContent("<html><head><title>Not Found" +
               "</title></head>\n"+
               "<body><h1>Invalid" +
               " URL</h1><p>The URL" +
               "</b> that you requested is not" +
               " available "+
               " for this protocol.</body>\n"
               +"</html>");
      }
      reply.setContentType(org.w3c.www.mime.MimeType.
               TEXT_HTML);
        }
    } catch (InvalidResourceException ex) {
        //FIXME
        reply = request.makeReply(HTTP.NOT_FOUND);
        if (uri_error) {
      reply.setContent("<html><head><title>Not"+
           " Found</title>"+
           "</head><body><b>The URL <b>"+
           request.getURL()+
           "</b> that you requested is not " +
           "available, "+
           " probably deleted.</body></html>");
        } else {
      reply.setContent("<html><head><title>Not"+
           " Found</title>"+
           "</head><body><b>The URL"+
           " that you requested is not " +
           "available, "+
           " probably deleted.</body></html>");
        }
        reply.setContentType(org.w3c.www.mime.MimeType.TEXT_HTML);
    } finally {
        target.unlock();
    }
      } else {
    reply = request.makeReply(HTTP.NOT_FOUND);
    if (uri_error) {
        reply.setContent("<html><head>\n"+
             "<title>Not Found</title></head>"+
             "<body><h1>Invalid URL</h1><p>The URL"+
             " <b>"+ request.getURL()+
             "</b> that you requested is not"+
             " available "+
             " on that server.</body></html>");
    } else {
        reply.setContent("<html><head>\n"+
             "<title>Not Found</title></head>"+
             "<body><h1>Invalid URL</h1><p>The URL"+
             " that you requested is not"+
             " available "+
             " on that server.</body></html>");
    }
    reply.setContentType(org.w3c.www.mime.MimeType.TEXT_HTML);
      }
  }
  // call the outgoing filters:
  if ((reply == null) || (reply.getStatus() != HTTP.DONE)) {
      if ( error == null ) {
    for (int i = infilter ; --i >= 0 ; ) {
        if ( filters[i] == null )
      continue;
        Reply fr = (Reply)filters[i].outgoingFilter(request,
                reply,
                filters,
                i);
        if ( fr != null )
      return fr;
    }
      } else {
    // Make sure we always invoke appropriate filters:
    if (filters != null) {
        for (int i = filters.length ; --i >= 0 ; ) {
      if ( filters[i] == null ) {
          continue;
      }
      Reply fr = (Reply)filters[i].exceptionFilter(request,
                 error,
                 filters,
                 i);
      if ( fr != null ){
          return fr;
      }
        }
    }
    reply = (Reply)error.getReply() ;
    if (reply == null) {
        reply = request.makeReply(HTTP.INTERNAL_SERVER_ERROR);
        if (uri_error) {
      reply.setContent("<html><head>\n"+
           "<title>Server Error</title>"+
View Full Code Here


    return reply;
      }
  }
  // Create a lookup state, and a lookup result:

  ProtocolException error = null;
  LookupState   ls = null;
  LookupResult  lr = null;
  // Run the lookup algorithm of root resource:
  // catch exception to get error (FIXME)
  try {
      lr = new LookupResult(root.getResourceReference());
      ls = new LookupState(request);

      if ( root.lookup(ls, lr) ) {
    if (lr.hasReply())
        return lr.getReply();
      }
  } catch (ProtocolException ex) {
      error = ex;
  } catch (Exception ex) {
      /*
       * We have a problem here, the error can be a configuration
       * or resource/extension problem, and it should be a
       * 5xx error, or it is a client side error and it should be
       * a 4xx error, ex, try with "Authorization:" and it fails.
       * For now we will reply with a 400, but with a FIXME
       */
      Reply err = request.makeReply(HTTP.BAD_REQUEST);
      err.setContent("<html><head><title>Bad Request</title></head>\n"
         + "<body><p>The server was not able to "
         + "understand this request</p></body></html>");
      error = new ProtocolException(err);
  }
  // Let the target resource perform the method
  ResourceReference  target = lr.getTarget();
  Reply              reply  = null;

  ResourceFilter filters[]  = lr.getFilters();
  int            infilter   = 0;

  if (error == null) {
      //call the ingoing filters:
      try {
    // temporary target resource !!! WARNING
    request.setTargetResource(target);
    if ( filters != null ) {
        for ( ; infilter < filters.length ; infilter++ ) {
      if ( filters[infilter] == null )
          continue;
      reply = (Reply)filters[infilter].
                                     ingoingFilter(request,
                     filters,
                     infilter);
      if ( reply != null ) {
          return reply;
      }
        }
    }
      } catch (ProtocolException ex) {
    error = ex;
      }
      //perform the request:
      if ((error == null) && (target != null)) {
    request.setFilters(filters, infilter);
    request.setTargetResource(target);
    try {
        FramedResource res = (FramedResource)target.lock();
        reply = (Reply) res.perform(request);
        if (reply == null) {
      reply = request.makeReply(HTTP.NOT_FOUND);
      if (uri_error) {
          reply.setContent("<html><head><title>Not Found" +
               "</title></head>\n"+
               "<body><h1>Invalid" +
               " URL</h1><p>The URL <b>"+
               request.getURL()+
               "</b> that you requested is not" +
               " available "+
               " for this protocol.</body>\n"
               +"</html>");
      } else {
          reply.setContent("<html><head><title>Not Found" +
               "</title></head>\n"+
               "<body><h1>Invalid" +
               " URL</h1><p>The URL" +
               "</b> that you requested is not" +
               " available "+
               " for this protocol.</body>\n"
               +"</html>");
      }
      reply.setContentType(org.w3c.www.mime.MimeType.
               TEXT_HTML);
        }
    } catch (InvalidResourceException ex) {
        //FIXME
        reply = request.makeReply(HTTP.NOT_FOUND);
        if (uri_error) {
      reply.setContent("<html><head><title>Not"+
           " Found</title>"+
           "</head><body><b>The URL <b>"+
           request.getURL()+
           "</b> that you requested is not " +
           "available, "+
           " probably deleted.</body></html>");
        } else {
      reply.setContent("<html><head><title>Not"+
           " Found</title>"+
           "</head><body><b>The URL"+
           " that you requested is not " +
           "available, "+
           " probably deleted.</body></html>");
        }
        reply.setContentType(org.w3c.www.mime.MimeType.TEXT_HTML);
    } finally {
        target.unlock();
    }
      } else {
    reply = request.makeReply(HTTP.NOT_FOUND);
    if (uri_error) {
        reply.setContent("<html><head>\n"+
             "<title>Not Found</title></head>"+
             "<body><h1>Invalid URL</h1><p>The URL"+
             " <b>"+ request.getURL()+
             "</b> that you requested is not"+
             " available "+
             " on that server.</body></html>");
    } else {
        reply.setContent("<html><head>\n"+
             "<title>Not Found</title></head>"+
             "<body><h1>Invalid URL</h1><p>The URL"+
             " that you requested is not"+
             " available "+
             " on that server.</body></html>");
    }
    reply.setContentType(org.w3c.www.mime.MimeType.TEXT_HTML);
      }
  }
  // call the outgoing filters:
  if ((reply == null) || (reply.getStatus() != HTTP.DONE)) {
      if ( error == null ) {
    for (int i = infilter ; --i >= 0 ; ) {
        if ( filters[i] == null )
      continue;
        Reply fr = (Reply)filters[i].outgoingFilter(request,
                reply,
                filters,
                i);
        if ( fr != null )
      return fr;
    }
      } else {
    // Make sure we always invoke appropriate filters:
    if (filters != null) {
        for (int i = filters.length ; --i >= 0 ; ) {
      if ( filters[i] == null ) {
          continue;
      }
      Reply fr = (Reply)filters[i].exceptionFilter(request,
                 error,
                 filters,
                 i);
      if ( fr != null ){
          return fr;
      }
        }
    }
    reply = (Reply)error.getReply() ;
    if (reply == null) {
        reply = request.makeReply(HTTP.INTERNAL_SERVER_ERROR);
        if (uri_error) {
      reply.setContent("<html><head>\n"+
           "<title>Server Error</title>"+
View Full Code Here

TOP

Related Classes of org.w3c.tools.resources.ProtocolException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.