Package com.draagon.timers

Examples of com.draagon.timers.MethodTimer


    }

    public void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException
    {
        MethodTimer mt = new MethodTimer( this, "service" );

        WIIServletRequest wiireq = getRequest( request, this );
        WIIServletResponse wiires = getResponse( response );

        // Set the device (Use the default device)
        wiireq.setDevice( new HtmlDevice() );

        // Get the URL path to determine the external system
        String path = request.getPathInfo();
        if ( path == null ) path = "";

        if ( path.startsWith( "/info" ))
        {
          wiireq.getDevice().returnMessage( wiireq, wiires, "Running", "Draagon Web Integrator running..." );
          return;
        }
        if ( path.startsWith( "/wii/" ))
        {
            if ( !loadUser( wiireq, wiires ) ) return;

            path = path.substring( 5 );
            serviceInternalRequest( wiireq, wiires, path );
        }
        else
        {
            // Get the external system domain
            WIISite site = getSite( extract( path ));

            if ( site != null )
            {
              wiireq.setSite( site );

              if ( !loadUser( wiireq, wiires ) ) return;
              serviceExternalSystem( wiireq, wiires );
            }
            else
            {
              wiireq.getDevice().returnError( wiireq, wiires, "Invalid Site", "The specified external system does not exist in the wii.properties file [" + path + "]" );
              return;
            }
        }

        mt.done();
    }
View Full Code Here


      try
      {
        WIIKernel wii = getKernel();

        MethodTimer mt = new MethodTimer( wii, "serviceExternal" );
        wii.serviceExternal( osreq, osres );
        mt.done();
      }
      catch( WIIException e )
      {
        ex = e;
      }
View Full Code Here

            return;
          }

          WIIKernel wii = getKernel();

          MethodTimer mt = new MethodTimer( wii, "serviceInternal" );

          //////////////////////////////////////////////////////////////
          // Add the framing

          // Determine the frame type
          String frametype = WIITemplate.THICK;

          String frame = req.getParameter( "WII_Frame" );

          if ( log.isDebugEnabled() )
            log.debug( "(serviceInternalRequest) WII_Frame param: [" + frame + "]" );

          if ( frame != null && frame.compareToIgnoreCase( "thick" ) == 0 )
            frametype = WIITemplate.THICK;
          else if ( frame != null && frame.compareToIgnoreCase( "thin" ) == 0 )
            frametype = WIITemplate.THIN;
          else if ( frame != null && frame.compareToIgnoreCase( "none" ) == 0 )
            frametype = WIITemplate.THIN;   // Yes, force it to thin!

          if ( log.isDebugEnabled() )
            log.debug( "(serviceInternalRequest) Frame type used: " + frametype );

          res.setContentType( "text/html" );

          if ( req.getTemplate() != null )
          {
            req.getTemplate().setFrameMode( frametype );
            req.getTemplate().addHeader( res );
          }
          //////////////////////////////////////////////////////////////

          wii.serviceInternal( req, res, is );

          //////////////////////////////////////////////////////////////
          // Add the framing

          if ( req.getTemplate() != null )
          {
            req.getTemplate().addFooter( res );
          }

          //////////////////////////////////////////////////////////////

          mt.done();
      }
      catch( Exception e )
      {
        req.logError( "Error processing internal request", e );
View Full Code Here

      req.setAttribute( "wii.response", res );
      req.setAttribute( "internal.service", is );

      if ( is.canAccess( req.getUser() ))
      {
        MethodTimer mt = new MethodTimer( is, "service" );
        is.service( req, res );
        mt.done();
      }
      else
      {
        String name = req.getUser().get( WIIUser.WII_USERNAME );
View Full Code Here

      WIIConnector connector = null;

      List<NameValuePair> reqHeaders = req.getRequestHeaders();

//       MethodTimer mt = new MethodTimer( "com.draagon.wii.WIIKernel.processParameters" );
      MethodTimer mt = new MethodTimer ( this, "processReqParams" );

      // Get all the request parameters
      for(WIIRequestHeaders f : req.getWIIRequestHeaders() ) {
       
        // System.out.println( "getHeadereters: " + f.getClass().getName() );
        f.processRequestHeaders( req, reqHeaders );

        if ( log.isDebugEnabled() )
          log.debug( "(serviceExternal) Request Header class: " + f.getClass().getName() );
      }
      mt.done();

      // Get the connector module
      connector = req.getWIIConnector();

      if ( log.isDebugEnabled() )
        log.debug( "(serviceExternal) Connector class: " + connector.getClass().getName() );

      // Connect to the external system and retrieve the input stream
      //mt = new MethodTimer( "com.draagon.wii.WIIKernel.connector.doRequest" );
      mt = new MethodTimer( connector, "doRequest" ) ;

      is = connector.doRequest( req, reqHeaders );
      req.setExternalInputStream( is );

      mt.done();

      // Get the HTTP response headers
      //mt = new MethodTimer( "com.draagon.wii.WIIKernel.connector.getResponse" );
      mt = new MethodTimer( this, "getResponse" );
      List<NameValuePair> retHeaders = connector.getResponseHeaders();
      mt.done();

      // Set the default for text/html
      String content = connector.getContentType();
      req.setExternalContentType( content );
      if ( log.isDebugEnabled() )
        log.debug( "(serviceExternal) Content Type: " + content );

      // Set the default for text/html
      int code = connector.getStatusCode();
      req.setExternalStatusCode( code );
      if ( log.isDebugEnabled() )
        log.debug( "(serviceExternal) Status Code: " + code );

      // Handle all the response headers
      mt = new MethodTimer ( this, "processResHeaders" );
      for( WIIResponseHeaders f : req.getWIIResponseHeaders() )
      {
        if ( log.isDebugEnabled() )
          log.debug( "(serviceExternal) Response Header class: " + f.getClass().getName() );

        f.processResponseHeaders( req, res, retHeaders );
      }
      mt.done();

      // Set the response headers
      setHeaders( req, res, retHeaders );

      // Add the header
      if ( log.isDebugEnabled() )
        log.debug( "(serviceExternal) Adding header" );

      if ( req.getTemplate() != null )
      {
        MethodTimer mt4 = new MethodTimer( req, "addHeader" );
        req.getTemplate().addHeader( res );
        res.flush();
        mt4.done();
      }

      // Process the data
      processData( req, res );
      // Flush the processed data
      res.flush();

      // Add the footer
      if ( log.isDebugEnabled() )
        log.debug( "(serviceExternal) Adding footer" );

      if ( req.getTemplate() != null )
      {
        // Add the footer
        MethodTimer mt4 = new MethodTimer( req, "addFooter" );
        req.getTemplate().addFooter( res );
        res.flush();
        mt4.done();
      }

      if ( log.isDebugEnabled() )
        log.debug( "(serviceExternal) Closing streams" );
View Full Code Here

    if ( log.isDebugEnabled() )
      log.debug("(processData) Processing data with stream: " + stream.getClass().getName() );

    // Process the actual data
    MethodTimer mt = new MethodTimer( stream, "process" );
    stream.process( res );
    mt.done();

    if ( log.isDebugEnabled() )
      log.debug( "(processData) Data processing completed" );
  }
View Full Code Here

  protected void service( WIIResponse res, String in )
    throws IOException
  {
    PrintWriter pw = res.getWriter();
    MethodTimer mt = new MethodTimer( this, "service" );

    try {
        // fis = new FileInputStream( xmlin);

        in = "<?xml version=\"1.0\"?>\n" + in;

        //org.apache.xerces.parsers.DOMParser parser = new org.apache.xerces.parsers.DOMParser();
        DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        // Parser parser = new Parser( "wii" );
        // parser.setDTDHandler( null );
        Document doc = null;

        try
        {
          InputStream is = new ByteArrayInputStream( in.getBytes("UTF-8"));
          doc = parser.parse( is );
        }
        catch( Exception e )
        {
          String msg = "Parsing errors [" + in + "]";
          getRequest().logError( "(parse) " + msg, e );
          mRequest.getDevice().writeError( mRequest, pw, "SERVICE ERROR", msg );
        }

        if ( doc == null )
        {
          String msg = "Document is null [" + in + "]";
          // System.err.println("(parse) " + msg );
          getRequest().logError( "(parse) " + msg, null );
          mRequest.getDevice().writeError( mRequest, pw, "SERVICE ERROR", msg );
        }
        else
        {
          if ( doc.getDocumentElement().getNodeName().equals( "wii" ))
          {
            for( Node kvchild = doc.getDocumentElement().getFirstChild();
                 kvchild != null;
                 kvchild = kvchild.getNextSibling())
            {
              String service = kvchild.getNodeName();

              if ( service.equals( "noparse" ))
                mNoParse = true;
              else if ( kvchild instanceof Element )
                callService( service, in, kvchild, res );
            }
          }
          else if ( doc.getDocumentElement().getNodeName().startsWith( "wii:" ))
          {
            String name = doc.getDocumentElement().getNodeName();
            String service = name.substring( 4, name.length() );

            // System.out.println( "service: " + service );

            if ( service.equals( "noparse" ))
              mNoParse = true;
            else
              callService( service, in, doc.getDocumentElement(), res );
          }
          else
          {
            String msg = "Service Parse Error [" + in + "], unknown node [" + doc.getNodeName() + "]";
            getRequest().logError( "(WIIServiceStream.parse) " + msg, null );

            mt.done();
            mRequest.getDevice().writeError( mRequest, pw, "SERVICE ERROR", msg );
          }
        }
    }
    catch( Exception e )
    {
      String msg = "Service Parse Error [" + in + "]";
      getRequest().logError( "(WIIServiceStream.parse) " + msg, e );

      mt.done();
      mRequest.getDevice().writeError( mRequest, pw, "SERVICE ERROR", msg );
    }

    mt.done();
  }
View Full Code Here

    }
    else
    {
      try
      {
        MethodTimer mt = new MethodTimer( osf, "process" );
        osf.process( node, res );
        mt.done();
      }
      catch( Exception e )
      {
        String msg = "Service Parse Error [" + xml + "]";
        getRequest().logError( "(callService) " + msg, e );
View Full Code Here

TOP

Related Classes of com.draagon.timers.MethodTimer

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.