Examples of RequestHelper


Examples of com.uploadcare.api.RequestHelper

     * @param pollingInterval Progress polling interval in ms
     * @return An Uploadcare file
     * @throws UploadFailureException
     */
    public File upload(int pollingInterval) throws UploadFailureException {
        RequestHelper requestHelper = client.getRequestHelper();
        URI uploadUrl = Urls.uploadFromUrl(sourceUrl, client.getPublicKey());
        String token = requestHelper.executeQuery(new HttpGet(uploadUrl), false, UploadFromUrlData.class).token;
        URI statusUrl = Urls.uploadFromUrlStatus(token);
        while (true) {
            sleep(pollingInterval);
            HttpGet request = new HttpGet(statusUrl);
            UploadFromUrlStatusData data = requestHelper.executeQuery(request, false, UploadFromUrlStatusData.class);
            if (data.status.equals("success")) {
                return client.getFile(data.fileId);
            } else if (data.status.equals("error") || data.status.equals("failed")) {
                throw new UploadFailureException();
            }
View Full Code Here

Examples of org.displaytag.util.RequestHelper

        // set the table model to perform in memory local sorting
        this.tableModel.setLocalSort(this.localSort && (this.paginatedList == null));

        HttpServletRequest request = (HttpServletRequest) this.pageContext.getRequest();
        RequestHelper requestHelper = rhf.getRequestHelperInstance(this.pageContext);

        initHref(requestHelper);

        Integer pageNumberParameter = getFromRequestOrSession(request, requestHelper, TableTagParameters.PARAMETER_PAGE);
        this.pageNumber = (pageNumberParameter == null) ? 1 : pageNumberParameter.intValue();

        int sortColumn = -1;
        if (!this.tableModel.isLocalSort())
        {
            // our sort column parameter may be a string, check that first
            String sortColumnName = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));

            // if usename is not null, sortColumnName is the name, if not is the column index
            String usename = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORTUSINGNAME));

            if (sortColumnName == null)
            {
                this.tableModel.setSortedColumnNumber(this.defaultSortedColumn);
            }
            else
            {
                if (usename != null)
                {

                    this.tableModel.setSortedColumnName(sortColumnName); // its a string, set as string
                }
                else if (NumberUtils.isNumber(sortColumnName))
                {
                    sortColumn = Integer.parseInt(sortColumnName);
                    this.tableModel.setSortedColumnNumber(sortColumn); // its an int set as normal
                }
            }
        }
        else if (this.paginatedList == null)
        {
            Integer sortColumnParameter = getFromRequestOrSession(
                request,
                requestHelper,
                TableTagParameters.PARAMETER_SORT);
            sortColumn = (sortColumnParameter == null) ? this.defaultSortedColumn : sortColumnParameter.intValue();
            this.tableModel.setSortedColumnNumber(sortColumn);
        }
        else
        {
            sortColumn = defaultSortedColumn;
        }

        // default value
        boolean finalSortFull = this.properties.getSortFullList();

        // user value for this single table
        if (this.sortFullTable != null)
        {
            finalSortFull = this.sortFullTable.booleanValue();
        }

        // if a partial list is used and sort="list" is specified, assume the partial list is already sorted
        if (!this.partialList || !finalSortFull)
        {
            this.tableModel.setSortFullTable(finalSortFull);
        }

        if (this.paginatedList == null)
        {
            SortOrderEnum paramOrder = SortOrderEnum.fromCode(getFromRequestOrSession(
                request,
                requestHelper,
                TableTagParameters.PARAMETER_ORDER));

            // if no order parameter is set use default
            if (paramOrder == null)
            {
                paramOrder = this.defaultSortOrder;
            }

            boolean order = SortOrderEnum.DESCENDING != paramOrder;
            this.tableModel.setSortOrderAscending(order);
        }
        else
        {
            SortOrderEnum direction = paginatedList.getSortDirection();
            this.tableModel.setSortOrderAscending(direction == SortOrderEnum.ASCENDING);
        }

        Integer exportTypeParameter = requestHelper
            .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_EXPORTTYPE));

        this.currentMediaType = ObjectUtils.defaultIfNull(
            MediaTypeEnum.fromCode(exportTypeParameter),
            MediaTypeEnum.HTML);
View Full Code Here

Examples of org.displaytag.util.RequestHelper

        }

        // set the table model to perform in memory local sorting
        this.tableModel.setLocalSort(this.localSort && (this.paginatedList == null));

        RequestHelper requestHelper = rhf.getRequestHelperInstance(this.pageContext);

        initHref(requestHelper);

        Integer pageNumberParameter = requestHelper.getIntParameter(encodeParameter(TableTagParameters.PARAMETER_PAGE));
        this.pageNumber = (pageNumberParameter == null) ? 1 : pageNumberParameter.intValue();

        int sortColumn = -1;
        if (!this.tableModel.isLocalSort())
        {
            // our sort column parameter may be a string, check that first
            String sortColumnName = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));

            // if usename is not null, sortColumnName is the name, if not is the column index
            String usename = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORTUSINGNAME));

            if (sortColumnName == null)
            {
                this.tableModel.setSortedColumnNumber(this.defaultSortedColumn);
            }
            else
            {
                if (usename != null)
                {

                    this.tableModel.setSortedColumnName(sortColumnName); // its a string, set as string
                }
                else if (NumberUtils.isNumber(sortColumnName))
                {
                    sortColumn = Integer.parseInt(sortColumnName);
                    this.tableModel.setSortedColumnNumber(sortColumn); // its an int set as normal
                }
            }
        }
        else if (this.paginatedList == null)
        {
            Integer sortColumnParameter = requestHelper
                .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));
            sortColumn = (sortColumnParameter == null) ? this.defaultSortedColumn : sortColumnParameter.intValue();
            this.tableModel.setSortedColumnNumber(sortColumn);
        }
        else
        {
            sortColumn = defaultSortedColumn;
        }

        // default value
        boolean finalSortFull = this.properties.getSortFullList();

        // user value for this single table
        if (this.sortFullTable != null)
        {
            finalSortFull = this.sortFullTable.booleanValue();
        }

        // if a partial list is used and sort="list" is specified, assume the partial list is already sorted
        if (!this.partialList || !finalSortFull)
        {
            this.tableModel.setSortFullTable(finalSortFull);
        }

        if (this.paginatedList == null)
        {
            SortOrderEnum paramOrder = SortOrderEnum.fromCode(requestHelper
                .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_ORDER)));

            // if no order parameter is set use default
            if (paramOrder == null)
            {
                paramOrder = this.defaultSortOrder;
            }

            boolean order = SortOrderEnum.DESCENDING != paramOrder;
            this.tableModel.setSortOrderAscending(order);
        }
        else
        {
            SortOrderEnum direction = paginatedList.getSortDirection();
            this.tableModel.setSortOrderAscending(direction == SortOrderEnum.ASCENDING);
        }

        Integer exportTypeParameter = requestHelper
            .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_EXPORTTYPE));

        this.currentMediaType = (MediaTypeEnum) ObjectUtils.defaultIfNull(
            MediaTypeEnum.fromCode(exportTypeParameter),
            MediaTypeEnum.HTML);
View Full Code Here

Examples of org.displaytag.util.RequestHelper

    private void initParameters() throws ObjectLookupException
    {
        // @todo exception handling
        RequestHelperFactory rhf = this.properties.getRequestHelperFactoryInstance();

        RequestHelper requestHelper = rhf.getRequestHelperInstance(this.pageContext);

        initHref(requestHelper);

        Integer pageNumberParameter = requestHelper.getIntParameter(encodeParameter(TableTagParameters.PARAMETER_PAGE));
        this.pageNumber = (pageNumberParameter == null) ? 1 : pageNumberParameter.intValue();

        Integer sortColumnParameter = requestHelper.getIntParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));
        int sortColumn = (sortColumnParameter == null) ? this.defaultSortedColumn : sortColumnParameter.intValue();
        this.tableModel.setSortedColumnNumber(sortColumn);

        // default value
        boolean finalSortFull = this.properties.getSortFullList();

        // user value for this single table
        if (this.sortFullTable != null)
        {
            finalSortFull = this.sortFullTable.booleanValue();
        }

        this.tableModel.setSortFullTable(finalSortFull);

        SortOrderEnum paramOrder = SortOrderEnum.fromIntegerCode(requestHelper
            .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_ORDER)));

        // if no order parameter is set use default
        if (paramOrder == null)
        {
            paramOrder = this.defaultSortOrder;
        }

        boolean order = SortOrderEnum.DESCENDING != paramOrder;
        this.tableModel.setSortOrderAscending(order);

        // if the behaviour is sort full page we need to go back to page one if sort of order is changed
        if (finalSortFull && (sortColumn != -1))
        {

            // save actual sort to href
            this.baseHref.addParameter(encodeParameter(TableTagParameters.PARAMETER_PREVIOUSSORT), sortColumn);
            this.baseHref.addParameter(encodeParameter(TableTagParameters.PARAMETER_PREVIOUSORDER), paramOrder);

            // read previous sort from request
            Integer previousSortColumnParameter = requestHelper
                .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));
            this.previousSortedColumn = (previousSortColumnParameter == null) ? -1 : previousSortColumnParameter
                .intValue();

            SortOrderEnum previousParamOrder = SortOrderEnum.fromIntegerCode(requestHelper
                .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_PREVIOUSORDER)));

            this.previousOrder = SortOrderEnum.DESCENDING != previousParamOrder;

        }

        Integer exportTypeParameter = requestHelper
            .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_EXPORTTYPE));
        this.currentMediaType = MediaTypeEnum.fromIntegerCode(exportTypeParameter);
        if (this.currentMediaType == null)
        {
            this.currentMediaType = MediaTypeEnum.HTML;
View Full Code Here

Examples of org.displaytag.util.RequestHelper

        return pageContext.getRequest().getParameter( PRINT_PARAMETER_NAME ) != null;
    }

   
    public int doStartTag() throws JspException {
        RequestHelper helper = new DefaultRequestHelper((HttpServletRequest) pageContext.getRequest(),
                                                        (HttpServletResponse) pageContext.getResponse());
        Href basehref = helper.getHref();
        Href href = new Href("");
        href.setParameterMap(basehref.getParameterMap());
        href.addParameter(PrintLinkTag.PRINT_PARAMETER_NAME,"");
        setHref(href.toString());
        return super.doStartTag();
View Full Code Here

Examples of org.displaytag.util.RequestHelper

        }

        // set the table model to perform in memory local sorting
        this.tableModel.setLocalSort(this.localSort && (this.paginatedList == null));

        RequestHelper requestHelper = rhf.getRequestHelperInstance(this.pageContext);

        initHref(requestHelper);

        Integer pageNumberParameter = requestHelper.getIntParameter(encodeParameter(TableTagParameters.PARAMETER_PAGE));
        this.pageNumber = (pageNumberParameter == null) ? 1 : pageNumberParameter.intValue();

        int sortColumn = -1;
        if (!this.tableModel.isLocalSort())
        {
            // our sort column parameter may be a string, check that first
            String sortColumnName = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));

            // if usename is not null, sortColumnName is the name, if not is the column index
            String usename = requestHelper.getParameter(encodeParameter(TableTagParameters.PARAMETER_SORTUSINGNAME));

            if (sortColumnName == null)
            {
                this.tableModel.setSortedColumnNumber(this.defaultSortedColumn);
            }
            else
            {
                if (usename != null)
                {

                    this.tableModel.setSortedColumnName(sortColumnName); // its a string, set as string
                }
                else if (NumberUtils.isNumber(sortColumnName))
                {
                    sortColumn = Integer.parseInt(sortColumnName);
                    this.tableModel.setSortedColumnNumber(sortColumn); // its an int set as normal
                }
            }
        }
        else if (this.paginatedList == null)
        {
            Integer sortColumnParameter = requestHelper
                .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_SORT));
            sortColumn = (sortColumnParameter == null) ? this.defaultSortedColumn : sortColumnParameter.intValue();
            this.tableModel.setSortedColumnNumber(sortColumn);
        }
        else
        {
            sortColumn = defaultSortedColumn;
        }

        // default value
        boolean finalSortFull = this.properties.getSortFullList();

        // user value for this single table
        if (this.sortFullTable != null)
        {
            finalSortFull = this.sortFullTable.booleanValue();
        }

        // if a partial list is used and sort="list" is specified, assume the partial list is already sorted
        if (!this.partialList || !finalSortFull)
        {
            this.tableModel.setSortFullTable(finalSortFull);
        }

        if (this.paginatedList == null)
        {
            SortOrderEnum paramOrder = SortOrderEnum.fromCode(requestHelper
                .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_ORDER)));

            // if no order parameter is set use default
            if (paramOrder == null)
            {
                paramOrder = this.defaultSortOrder;
            }

            boolean order = SortOrderEnum.DESCENDING != paramOrder;
            this.tableModel.setSortOrderAscending(order);
        }
        else
        {
            SortOrderEnum direction = paginatedList.getSortDirection();
            this.tableModel.setSortOrderAscending(direction == SortOrderEnum.ASCENDING);
        }

        Integer exportTypeParameter = requestHelper
            .getIntParameter(encodeParameter(TableTagParameters.PARAMETER_EXPORTTYPE));

        this.currentMediaType = (MediaTypeEnum) ObjectUtils.defaultIfNull(
            MediaTypeEnum.fromCode(exportTypeParameter),
            MediaTypeEnum.HTML);
View Full Code Here

Examples of org.ejbca.ui.web.RequestHelper

                                newuser.getTokenType(), newuser.getHardTokenIssuerId(), newuser.getCAId());
    } catch (Exception e) {
      throw new ServletException("Error adding user: ", e);
    }

    RequestHelper helper = new RequestHelper(admin, debug);
    try {
        if (type == 1) {
              byte[] certs = helper.nsCertRequest(signSession, reqBytes, username, password);
              RequestHelper.sendNewCertToNSClient(certs, response);
        }
        if (type == 2) {
              byte[] b64cert=helper.pkcs10CertRequest(signSession, reqBytes, username, password, RequestHelper.ENCODED_PKCS7);
              debug.ieCertFix(b64cert);
              RequestHelper.sendNewCertToIEClient(b64cert, response.getOutputStream(), getServletContext(), getInitParameter("responseTemplate"), classid);
        }
    } catch (ObjectNotFoundException oe) {
        log.debug("Non existens username!");
View Full Code Here

Examples of org.ejbca.ui.web.RequestHelper

        keyalg = keyalgstring;
      }

      Admin administrator = new Admin(Admin.TYPE_PUBLIC_WEB_USER, request.getRemoteAddr());

      RequestHelper helper = new RequestHelper(administrator, debug);

      log.info(intres.getLocalizedMessage("certreq.receivedcertreq", username, request.getRemoteAddr()));
      debug.print("Username: " + username);

      // Check user
      int tokentype = SecConst.TOKEN_SOFT_BROWSERGEN;

      usekeyrecovery = globalConfigurationSession.getCachedGlobalConfiguration(administrator).getEnableKeyRecovery();

      UserDataVO data = userAdminSession.findUser(administrator, username);

      if (data == null) {
        throw new ObjectNotFoundException();
      }

      boolean savekeys = data.getKeyRecoverable() && usekeyrecovery &&  (data.getStatus() != UserDataConstants.STATUS_KEYRECOVERY);
      boolean loadkeys = (data.getStatus() == UserDataConstants.STATUS_KEYRECOVERY) && usekeyrecovery;

      int endEntityProfileId = data.getEndEntityProfileId();
      int certificateProfileId = data.getCertificateProfileId();
      EndEntityProfile endEntityProfile = endEntityProfileSession.getEndEntityProfile(administrator, endEntityProfileId);
      boolean reusecertificate = endEntityProfile.getReUseKeyRecoveredCertificate();
      // Set a new certificate profile, if we have requested one specific
      if (StringUtils.isNotEmpty(certprofile)) {
        boolean clearpwd = StringUtils.isNotEmpty(data.getPassword());
        int id = certificateProfileSession.getCertificateProfileId(administrator, certprofile);
        // Change the value if there exists a certprofile with the requested name, and it is not the same as
        // the one already registered to be used by default
        if ( (id > 0) ) {
          if (id != certificateProfileId) {
            // Check if it is in allowed profiles in the entity profile
            Collection c = endEntityProfile.getAvailableCertificateProfileIds();
            if (c.contains(String.valueOf(id))) {
              data.setCertificateProfileId(id);
              // This admin can be the public web user, which may not be allowed to change status,
              // this is a bit ugly, but what can a man do...
              Admin tempadmin = Admin.getInternalAdmin();
              userAdminSession.changeUser(tempadmin, data, clearpwd);                                 
            } else {
              String defaultCertificateProfileName = certificateProfileSession.getCertificateProfileName(administrator, certificateProfileId);
              log.info(intres.getLocalizedMessage("certreq.badcertprofile", certprofile, defaultCertificateProfileName));
            }
          }
        } else {
          String defaultCertificateProfileName = certificateProfileSession.getCertificateProfileName(administrator, certificateProfileId);
          log.info(intres.getLocalizedMessage("certreq.nosuchcertprofile", certprofile, defaultCertificateProfileName));
        }
      }

      // get users Token Type.
      tokentype = data.getTokenType();
      GenerateToken tgen = new GenerateToken(authenticationSession, userAdminSession, caAdminSession, keyRecoverySession, signSession);
      if(tokentype == SecConst.TOKEN_SOFT_P12){
        KeyStore ks = tgen.generateOrKeyRecoverToken(administrator, username, password, data.getCAId(), keylength, keyalg, false, loadkeys, savekeys, reusecertificate, endEntityProfileId);
        if (StringUtils.equals(openvpn, "on")) {               
          sendOpenVPNToken(ks, username, password, response);
        } else {
          sendP12Token(ks, username, password, response);
        }
      }
      if(tokentype == SecConst.TOKEN_SOFT_JKS){
        KeyStore ks = tgen.generateOrKeyRecoverToken(administrator, username, password, data.getCAId(), keylength, keyalg, true, loadkeys, savekeys, reusecertificate, endEntityProfileId);
        sendJKSToken(ks, username, password, response);
      }
      if(tokentype == SecConst.TOKEN_SOFT_PEM){
        KeyStore ks = tgen.generateOrKeyRecoverToken(administrator, username, password, data.getCAId(), keylength, keyalg, false, loadkeys, savekeys, reusecertificate, endEntityProfileId);
        sendPEMTokens(ks, username, password, response);
      }
      if(tokentype == SecConst.TOKEN_SOFT_BROWSERGEN){

        // first check if it is a Firefox request,
        if (getParameter("keygen") != null) {
          byte[] reqBytes=getParameter("keygen").getBytes();
          if ((reqBytes != null) && (reqBytes.length>0)) {
            log.debug("Received NS request: "+new String(reqBytes));
            byte[] certs = helper.nsCertRequest(signSession, reqBytes, username, password);
            RequestHelper.sendNewCertToNSClient(certs, response);
          } else {
            throw new SignRequestException("No request bytes received.");
          }
        } else if ( getParameter("iidPkcs10") != null && !getParameter("iidPkcs10").equals("")) {
          // NetID iid?
          byte[] reqBytes = getParameter("iidPkcs10").getBytes();
          if ((reqBytes != null) && (reqBytes.length>0)) {
            log.debug("Received iidPkcs10 request: "+new String(reqBytes));
            byte[] b64cert=helper.pkcs10CertRequest(signSession, reqBytes, username, password, RequestHelper.ENCODED_CERTIFICATE, false);
            response.setContentType("text/html");
            RequestHelper.sendNewCertToIidClient(b64cert, request, response.getOutputStream(), servletContext, servletConfig.getInitParameter("responseIidTemplate"),classid);
          } else {
            throw new SignRequestException("No request bytes received.");
          }
        } else if ( (getParameter("pkcs10") != null) || (getParameter("PKCS10") != null) ) {
          // if not firefox, check if it's IE
          byte[] reqBytes = getParameter("pkcs10").getBytes();
          if (reqBytes == null) {
            reqBytes=getParameter("PKCS10").getBytes();
          }
          if ((reqBytes != null) && (reqBytes.length>0)) {
            log.debug("Received IE request: "+new String(reqBytes));
            byte[] b64cert=helper.pkcs10CertRequest(signSession, reqBytes, username, password, RequestHelper.ENCODED_PKCS7);
            debug.ieCertFix(b64cert);
            RequestHelper.sendNewCertToIEClient(b64cert, response.getOutputStream(), servletContext, servletConfig.getInitParameter("responseTemplate"),classid);
          } else {
            throw new SignRequestException("No request bytes received.");
          }
        } else if ( ((getParameter("pkcs10req") != null) || (getParameter("pkcs10file") != null)) && resulttype != 0) {
          byte[] reqBytes = null;
          String pkcs10req = getParameter("pkcs10req");
          if (StringUtils.isEmpty(pkcs10req)) {
            // did we upload a file instead?
            log.debug("No pasted request received, checking for uploaded file.");
            pkcs10req = getParameter("pkcs10file");
            if (StringUtils.isNotEmpty(pkcs10req)) {
              // The uploaded file has been converted to a base64 encoded string
              reqBytes = Base64.decode(pkcs10req.getBytes());

            }
          } else {
            reqBytes=pkcs10req.getBytes(); // The pasted request                 
          }

          if ((reqBytes != null) && (reqBytes.length>0)) {
            pkcs10Req(response, username, password, resulttype, signSession, helper, reqBytes);
          } else {
            throw new SignRequestException("No request bytes received.");
          }
        } else if ( ((getParameter("cvcreq") != null) || (getParameter("cvcreqfile") != null)) && resulttype != 0) {
          // It's a CVC certificate request (EAC ePassports)
          byte[] reqBytes = null;
          String req = getParameter("cvcreq");
          if (StringUtils.isEmpty(req)) {
            // did we upload a file instead?
            log.debug("No pasted request received, checking for uploaded file.");
            req = getParameter("cvcreqfile");
            if (StringUtils.isNotEmpty(req)) {
              // The uploaded file has been converted to a base64 encoded string
              reqBytes = Base64.decode(req.getBytes());

            }
          } else {
            reqBytes=req.getBytes(); // The pasted request                 
          }

          if ((reqBytes != null) && (reqBytes.length>0)) {
            log.debug("Received CVC request: "+new String(reqBytes));
            byte[] b64cert=helper.cvcCertRequest(signSession, reqBytes, username, password);
            CVCertificate cvccert = (CVCertificate) CertificateParser.parseCVCObject(Base64.decode(b64cert));
            String filename = "";
            CAReferenceField carf = cvccert.getCertificateBody().getAuthorityReference();
            if (carf != null) {
              String car = carf.getConcatenated();
View Full Code Here

Examples of org.persvr.remote.RequestHelper

    HttpServletResponse response = event.getHttpServletResponse();
   
    if (event.getEventType() == CometEvent.EventType.BEGIN) {
      request.setAttribute("org.persvr.tomcatcomet", true);
      // need to call this to get the user registered
      new RequestHelper(request,response); // must register this connection
      event.setTimeout(COMET_TIMEOUT);
      // don't do anything yet, wait until read
      doPost(request,event.getHttpServletResponse());

    }     
View Full Code Here

Examples of org.persvr.remote.RequestHelper

    }
  }
  @Override
  protected void service(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    final RequestHelper requestHelper = new RequestHelper((HttpServletRequest)request,(HttpServletResponse)response);
    if (jettyServlet != null) {
      // use the Jetty Bayeux implementation if available
      jettyServlet.service(request, response);
      return;
    }
    response.setContentType("application/json");
    Object json = JSON.parse(request.getParameter("message"));
      Client eventStream = null;
      if (json instanceof HashMap) {
        List array = new ArrayList();
        array.add(json);
        json = array;
      }
      List array = (List) json;
      boolean respondImmediately = false;
      for (int i = 0;i < array.size(); i++) {
        Map obj = (Map) array.get(i);
        String channel = (String) obj.get("channel");
        String clientId = (String) requestHelper.getRequest().getSession().getAttribute("clientId");
        if (clientId != null) {
          obj.put("clientId", clientId);
          eventStream = (Client) request.getSession().getAttribute(clientId);
        }
        obj.remove("ext");
        if (channel.startsWith("/meta")) {
          obj.put("successful", true);
          if (channel.equals("/meta/handshake")) {
            obj.put("authSuccessful", true);
            clientId = Math.random() + "";
            request.getSession().setAttribute(clientId,eventStream = new Client(clientId));
            eventStream.connectionId = clientId;
            requestHelper.getRequest().getSession().setAttribute("clientId", clientId);
            obj.put("clientId", clientId);
            Map advice = new HashMap();
            advice.put("reconnect", "retry");
            obj.put("advice", advice);
            List connectionTypes = new ArrayList();
            connectionTypes.add("rest-channels");
            obj.put("supportedConnectionTypes", connectionTypes);
            respondImmediately = true;
          }
          else if (channel.equals("/meta/connect")) {
            obj.put("error","");
            Map advice = new HashMap();
            advice.put("reconnect", "retry");
            obj.put("advice", advice);
          }
          else if (channel.equals("/meta/disconnect")) {
            respondImmediately = true;
          }
          else if (channel.equals("/meta/subscribe")) {
            //TODO: Need to implement this copying from PersevereFilter
          }
          else if (channel.equals("/meta/unsubscribe")) {
            //TODO: Need to implement this
          }
          else
            throw new RuntimeException("Unknown meta channel");
        }
        else {
          // publish event
          List target = (List) Client.getCurrentObjectResponse().requestData(channel, false);
          Object appendingItem = requestHelper.convertJsonStringToObject(obj.get("instances").toString());
          target.add(appendingItem);
        }
      }
      ServletOutputStream outStream = response.getOutputStream();
      if (respondImmediately) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.