Package com.webobjects.appserver

Examples of com.webobjects.appserver.WOResponse


    }

    @Override
    public WOResponse handleRequest(WORequest request) {
        WOContext context = WOApplication.application().createContextForRequest(request);
        WOResponse response = WOApplication.application().createResponseInContext(context);

        String requestPath = request.requestHandlerPath();
        if ("heat".equals(requestPath)) {
            PFHeatMap.setHeatEnabled(!PFHeatMap.isHeatEnabled());
            response.appendContentString("<script>window.close();</script>");
        } else {
            String id = request.stringFormValueForKey("id");
            PFStatsNode stats = PFProfiler.statsWithID(id);
            response.appendContentString("<html><body>");
            response.appendContentString("<pre style=\"color: grey\">");
            if (stats == null) {
                response.appendContentString("Unknown stats id #" + stats);
            } else {
                String filter = request.stringFormValueForKey("filter");
                Set<String> filters = null;
                if (filter != null) {
                    filters = new HashSet<String>();
                    NSArray filterNamesArray = NSArray.componentsSeparatedByString(filter, ",");
                    Enumeration filterNamesEnum = filterNamesArray.objectEnumerator();
                    while (filterNamesEnum.hasMoreElements()) {
                        Object filterName = filterNamesEnum.nextElement();
                        filters.add((String) filterName);
                    }
                }
                float minimumPercentage = 0.0f;
                String minimumPercentageStr = request.stringFormValueForKey("min");
                if (minimumPercentageStr != null) {
                    minimumPercentage = Float.parseFloat(minimumPercentageStr);
                }
                boolean tree = "tree".equals(requestPath);
                PFStatsChecker.checkForErrors(stats);
                appendNodesStatsToResponse(stats, response, context, minimumPercentage, filters, new HashSet<PFStatsNode>(), tree);
            }
            response.appendContentString("</pre>");
            response.appendContentString("</body></html>");
        }
        return response;
    }
View Full Code Here


   * @return a new Ajax response
   */
  public static AjaxResponse createResponse(WORequest request, WOContext context) {
    AjaxResponse response = null;
    if (context != null && context.response() != null) {
      WOResponse existingResponse = context.response();
      if (existingResponse instanceof AjaxResponse) {
        response = (AjaxResponse) existingResponse;
      }
      else {
        response = new AjaxResponse(request, context);
        response.setHeaders(existingResponse.headers());
        response.setUserInfo(existingResponse.userInfo());
        response.appendContentString(existingResponse.contentString());
      }
    }
    if (response == null) {
      response = new AjaxResponse(request, context);
      response.setHeader("text/plain; charset=utf-8", "content-type");
View Full Code Here

    return result;
  }

  @Override
  public WOActionResults handleRequest(WORequest request, WOContext context) {
    WOResponse response = AjaxUtils.createResponse(request, context);
    return response;
  }
View Full Code Here

    WOComponent component = context.component();
    WOActionResults results = (WOActionResults) valueForBinding("action", component);
    if (results == null) {
      String script = (String) valueForBinding("onClickServer", component);
      if (script != null) {
        WOResponse response = AjaxUtils.createResponse(request, context);
        AjaxUtils.appendScriptHeader(response);
        response.appendContentString(script);
        AjaxUtils.appendScriptFooter(response);
        results = response;
      }
    }
    return results;
View Full Code Here

            NSLog.debug.appendln("!@#$!@#$ displayWotaskdInfoClicked creates a WOHTTPConnection");
        WotaskdInfoPage aPage = (WotaskdInfoPage) pageWithName("WotaskdInfoPage");
        WORequest aRequest = new WORequest(MObject._POST, "/", MObject._HTTP1, siteConfig().passwordDictionary(), null,
                null);

        WOResponse aResponse = null;

        try {
            WOHTTPConnection anHTTPConnection = new WOHTTPConnection(currentHost.name(), theApplication
                    .lifebeatDestinationPort());
            anHTTPConnection.setReceiveTimeout(10000);

            if (anHTTPConnection.sendRequest(aRequest)) {
                aResponse = anHTTPConnection.readResponse();
            }
        } catch (Throwable localException) {
            NSLog._conditionallyLogPrivateException(localException);
        }
        if (aResponse == null) {
            aPage.wotaskdText = "Failed to get response from wotaskd " + currentHost.name() + ": "
                    + WOApplication.application().lifebeatDestinationPort();
        } else {
            aPage.wotaskdText = aResponse.contentString();
        }
        return aPage;
    }
View Full Code Here

    setAllowsConcurrentRequestHandling(true);
  }
 
  @Override
  public WOResponse handlePageRestorationErrorInContext(WOContext context) {
    WOResponse response;
    if (context != null && AjaxUtils.isAjaxRequest(context.request())) {
      ERXRedirect redirect = pageWithName(ERXRedirect.class, context);
      redirect.setDirectActionName("backtrackError");
      response = redirect.generateResponse();
    } else {
View Full Code Here

    return response;
  }

  @Override
  public WOResponse handleException(Exception exception, WOContext context) {
    WOResponse response;
    if (context != null && AjaxUtils.isAjaxRequest(context.request())) {
      ERXRedirect redirect = pageWithName(ERXRedirect.class, context);
      redirect.setDirectActionName("error");
      response = redirect.generateResponse();
    } else {
View Full Code Here

    return response;
  }

  @Override
  public WOResponse handleSessionRestorationErrorInContext(WOContext context) {
    WOResponse response;
    if (context != null && AjaxUtils.isAjaxRequest(context.request())) {
      ERXRedirect redirect = pageWithName(ERXRedirect.class, context);
      redirect.setDirectActionName("sessionExpired");
      response = redirect.generateResponse();
    } else {
View Full Code Here

  public WOResponse handleRequest(WORequest request) {
    WOApplication application = WOApplication.application();
    application.awake();
    try {
      WOContext context = application.createContextForRequest(request);
      WOResponse response = application.createResponseInContext(context);

      String uploadIdentifier = null;
      String uploadFileName = null;
      InputStream uploadInputStream = null;
      long streamLength = -1L;

      try {
        String sessionIdKey = WOApplication.application().sessionIdKey();
        String sessionId = request.cookieValueForKey(sessionIdKey);
        WOMultipartIterator multipartIterator = request.multipartIterator();
        if (multipartIterator == null) {
          response.appendContentString("Already Consumed!");
        }
        else {
          WOMultipartIterator.WOFormData formData = null;
          while ((formData = multipartIterator.nextFormData()) != null) {
            String name = formData.name();
            if (sessionIdKey.equals(name)) {
              sessionId = formData.formValue();
            }
            else if ("id".equals(name)) {
              uploadIdentifier = formData.formValue();
            }
            else if (formData.isFileUpload()) {
              uploadFileName = request.stringFormValueForKey(name + ".filename");
              streamLength = multipartIterator.contentLengthRemaining();
              uploadInputStream = formData.formDataInputStream();
              break;
            }
          }
          context._setRequestSessionID(sessionId);
          WOSession session = null;
          if (context._requestSessionID() != null) {
            session = WOApplication.application().restoreSessionWithID(sessionId, context);
          }
          if (session == null) {
            throw new Exception("No valid session!");
          }
          File tempFile = File.createTempFile("AjaxFileUpload", ".tmp", _tempFileFolder);
          tempFile.deleteOnExit();
          AjaxUploadProgress progress = new AjaxUploadProgress(uploadIdentifier, tempFile, uploadFileName, streamLength);
          try {
            AjaxProgressBar.registerProgress(session, progress);
          }
          finally {
            if (context._requestSessionID() != null) {
              WOApplication.application().saveSessionForContext(context);
            }
          }

          if (formData != null) {
            NSArray<String> contentType = (NSArray<String>)formData.headers().valueForKey("content-type");
            if (contentType != null) {
              progress.setContentType(contentType.objectAtIndex(0));
            }
          }
         
          try {
            if (_maxUploadSize >= 0L && streamLength > _maxUploadSize) {
              IOException e = new IOException("You attempted to upload a file larger than the maximum allowed size of " + new ERXUnitAwareDecimalFormat(ERXUnitAwareDecimalFormat.BYTE).format(_maxUploadSize) + ".");
              progress.setFailure(e);
              progress.dispose();
              throw e;
            }
            FileOutputStream fos = new FileOutputStream(progress.tempFile());
            try {
              progress.copyAndTrack(uploadInputStream, fos, _maxUploadSize);
            }
            finally {
              fos.flush();
              fos.close();
            }
            if (!progress.isCanceled() && !progress.shouldReset()) {
              downloadFinished(progress);
            }
          }
          finally {
            progress.setDone(true);
          }
        }
      }
      catch (Throwable t) {
        log.error("Upload failed",t);
        response.appendContentString("Failed: " + t.getMessage());
      }
      finally {
        if (uploadInputStream != null) {
          try {
            uploadInputStream.close();
View Full Code Here

    // String inputString = request.contentString();

    String fieldValue = context.request().stringFormValueForKey(fieldName);
    setValueForBinding(fieldValue, "value");

    WOResponse response = AjaxUtils.createResponse(request, context);
    response.appendContentString("<ul>");

    int maxItems = maxItems();
    int itemsCount = 0;
    Object values = valueForBinding("list");
    WOElement child = _childTemplate();
    boolean hasItem = hasBinding("item");
    if (values instanceof NSArray) {
      for(@SuppressWarnings("unchecked")
      Enumeration<Object> valueEnum = ((NSArray<Object>)values).objectEnumerator(); valueEnum.hasMoreElements() && itemsCount++ < maxItems;) {
        appendItemToResponse(valueEnum.nextElement(), child, hasItem, response, context);
      }
    }
    else if (values instanceof List) {
      for(@SuppressWarnings("unchecked")
      Iterator<Object> iter = ((List<Object>)values).iterator(); iter.hasNext() && itemsCount++ < maxItems;) {
        appendItemToResponse(iter.next(), child, hasItem, response, context);
      }
    }
    response.appendContentString("</ul>");
    return response;

  }
View Full Code Here

TOP

Related Classes of com.webobjects.appserver.WOResponse

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.