Examples of CNSSubscription


Examples of com.comcast.cns.model.CNSSubscription

        logger.error("event=cns_get_subscription_attributes error_code=InvalidParameters subscription_arn=" + subscriptionArn + " user_id=" + userId);
      throw new CMBException(CNSErrorCodes.CNS_InvalidParameter,"missing parameters");
     
     
      CNSSubscriptionAttributes attr = PersistenceFactory.getCNSAttributePersistence().getSubscriptionAttributes(subscriptionArn);
      CNSSubscription sub = PersistenceFactory.getSubscriptionPersistence().getSubscription(subscriptionArn);
      String out = CNSAttributePopulator.getGetSubscriptionAttributesResponse(sub, attr);

      logger.debug("event=cns_get_subscription_attributes subscription_arn=" + subscriptionArn + " user_id=" + userId);
     
        writeResponse(out, response);
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

       
      String topicArn = request.getParameter("TopicArn");
     
      if (topicArn == null && request.getParameter("SubscriptionArn") != null) {
       
        CNSSubscription subscription = PersistenceFactory.getSubscriptionPersistence().getSubscription(request.getParameter("SubscriptionArn"));
       
        if (subscription != null) {
          topicArn = subscription.getTopicArn();
        }
      }
     
      if (user.getUserId().equals(Util.getUserIdFromTopicArn(topicArn))) {
      return true;
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

      if (!subProtocol.isValidEnpoint(endpoint)) {
        logger.error("event=cns_subscribe error_code=InvalidParameters problem=invalidEndpoint user_id="+userId+ " topic_arn=" + topicArn +" endpoint=" + endpoint + " protocol=" + protocol);
      throw new CMBException(CNSErrorCodes.CNS_InvalidParameter,"request parameter does not comply with the associated constraints.");
      }
     
      CNSSubscription sub = PersistenceFactory.getSubscriptionPersistence().subscribe(endpoint, subProtocol, topicArn, userId);
      String subscriptionArn = null;
     
      if (sub.isConfirmed()) {
        subscriptionArn = sub.getArn();
      } else {
        subscriptionArn = "pending confirmation";
        String messageId = UUID.randomUUID().toString();
        String json =  Util.generateConfirmationJson(topicArn, sub.getToken(), messageId);
        String ownerUserId = PersistenceFactory.getTopicPersistence().getTopic(topicArn).getUserId();
        User topicOwner = PersistenceFactory.getUserPersistence().getUserById(ownerUserId);      
       
        try {
          CNSMessage message = new CNSMessage();
          message.setMessage(json);
          message.setSubscriptionArn(sub.getArn());
          message.setTopicArn(topicArn);
          message.setUserId(topicOwner.getUserId());
          message.setMessageType(CNSMessageType.SubscriptionConfirmation);
          message.setTimestamp(new Date());
          CommunicationUtils.sendMessage(topicOwner, subProtocol, endpoint, message, messageId, topicArn, sub.getArn(), false);
        } catch (Exception ex) {
          PersistenceFactory.getSubscriptionPersistence().unsubscribe(sub.getArn());
          if (ex instanceof CMBException) {
            throw new CMBException(CNSErrorCodes.CNS_InvalidParameter, "Invalid parameter: " + ex.getMessage());
          } else {
            throw new CMBException(CNSErrorCodes.CNS_InvalidParameter, "Invalid parameter: Unreachable endpoint " + endpoint);
          }
        }
       
        logger.info("event=cns_subscribe_confirmation_request_sent endpoint=" + endpoint + " protocol=" + protocol + " user_id=" + userId + " topic_arn=" + topicArn + " token=" + sub.getToken());
      }
     
      String out = CNSSubscriptionPopulator.getSubscribeResponse(subscriptionArn);     
        writeResponse(out, response);
    return true;
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

        authenticateOnUnsubscribe = (authOnUnsubscribeStr.equals("true"));
      }
    }
     
      logger.debug("event=cns_confirm_subscription token=" + token + " topicArn=" + topicArn);
      CNSSubscription sub = PersistenceFactory.getSubscriptionPersistence().confirmSubscription(authenticateOnUnsubscribe, token, topicArn);
      String out = CNSSubscriptionPopulator.getConfirmSubscriptionResponse(sub);
        writeResponse(out, response);
    return true;
  }
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

      }

      for (CNSSubscription s : subscriptions) {

        if (!s.isConfirmed()) {
          CNSSubscription confirmedSubscription = subscriptionHandler.confirmSubscription(false, s.getToken(), topicArn);
          confirmedSubscriptions.add(confirmedSubscription);
        }
      }

      round++;
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

            } else {
                //get from Cassandra               
                ICNSSubscriptionPersistence subscriptionPersistence = PersistenceFactory.getSubscriptionPersistence();
                for (int i = idx; i < idx + count ; i++) {
                    String subArn = arr[i];
                    CNSSubscription sub = subscriptionPersistence.getSubscription(subArn);
                  //TODO: store raw delivery flag as part of the subscription for better performance
                    if (sub == null) {
                        logger.warn("event=subscription_info_not_found arn=" + subArn + " topic_arn=" + topicArn);
                    } else {
                        infos.add(new CNSCachedEndpointSubscriptionInfo(sub.getProtocol(), sub.getEndpoint(), sub.getArn(), sub.getRawMessageDelivery()));
                    }
                }               
            }
            return infos;
        }
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

      }
     
      // if "ignore subscription override" is checked, get effective delivery policy from topic delivery policy, otherwise
      // get effective delivery policy from subscription delivery policy
     
      CNSSubscription subscription = PersistenceFactory.getSubscriptionPersistence().getSubscription(subscriptionArn);
     
      if (subscription == null) {
        throw new SubscriberNotFoundException("Subscription not found. arn=" + subscriptionArn);
      }
     
      CNSTopicAttributes topicAttributes = getTopicAttributes(subscription.getTopicArn());
     
      if (topicAttributes != null) {
       
        CNSTopicDeliveryPolicy topicEffectiveDeliveryPolicy = topicAttributes.getEffectiveDeliveryPolicy();
       
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

  @Override
  public CNSSubscription subscribe(String endpoint, CnsSubscriptionProtocol protocol, String topicArn, String userId) throws Exception {
   
    // subscription is unique by protocol + endpoint + topic

    final CNSSubscription subscription = new CNSSubscription(endpoint, protocol, topicArn, userId);

    CNSTopic t = PersistenceFactory.getTopicPersistence().getTopic(topicArn);
   
    if (t == null) {
      throw new TopicNotFoundException("Resource not found.");
    }
   
    // check if queue exists for cqs endpoints

    if (protocol.equals(CnsSubscriptionProtocol.cqs)) {
     
      CQSQueue queue = PersistenceFactory.getQueuePersistence().getQueue(com.comcast.cqs.util.Util.getRelativeQueueUrlForArn(endpoint));
     
      if (queue == null) {
        throw new CMBException(CMBErrorCodes.NotFound, "Queue with arn " + endpoint + " does not exist.");
      }
    }
   
    subscription.setArn(Util.generateCnsTopicSubscriptionArn(topicArn, protocol, endpoint));
 
    // attempt to delete existing subscription
   
    /*Composite superColumnName = new Composite(subscription.getEndpoint(), subscription.getProtocol().name());
   
    HSuperColumn<Composite, String, String> superCol = readColumnFromSuperColumnFamily(columnFamilySubscriptions, subscription.getTopicArn(), superColumnName, new StringSerializer(), new CompositeSerializer(), StringSerializer.get(), StringSerializer.get(), CMBProperties.getInstance().getReadConsistencyLevel());
   
    if (superCol != null) {
      CNSSubscription exisitingSub = extractSubscriptionFromSuperColumn(superCol, topicArn);
            deleteIndexes(exisitingSub.getArn(), exisitingSub.getUserId(), exisitingSub.getToken());
      deleteSuperColumn(subscriptionsTemplate, exisitingSub.getTopicArn(), superColumnName);
    }*/ 
   
    // then set confirmation stuff and update cassandra
   
    CNSSubscription retrievedSubscription = getSubscription(subscription.getArn());
   
    if (!CMBProperties.getInstance().getCNSRequireSubscriptionConfirmation()) {

      subscription.setConfirmed(true);
      subscription.setConfirmDate(new Date());
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

        String endpoint = getEndpointAndProtoIndexValEndpoint(colName);
        CmbComposite columnName = cassandraHandler.getCmbComposite(endpoint, protocol.name());
        CmbColumn<CmbComposite, String> column = cassandraHandler.readColumn(AbstractDurablePersistence.CNS_KEYSPACE, columnFamilySubscriptions, Util.getCnsTopicArn(arn), columnName, CMB_SERIALIZER.STRING_SERIALIZER, CMB_SERIALIZER.COMPOSITE_SERIALIZER, CMB_SERIALIZER.STRING_SERIALIZER);
       
        if (column != null) {
            CNSSubscription s = extractSubscriptionFromColumn(column, Util.getCnsTopicArn(arn));
            s.checkIsValid();
              return s;
        }       
    }
   
    return null;
View Full Code Here

Examples of com.comcast.cns.model.CNSSubscription

  }

  private static CNSSubscription extractSubscriptionFromColumn(CmbColumn<CmbComposite, String> column, String topicArn) throws JSONException {
   
    JSONObject json = new JSONObject(column.getValue());
      CNSSubscription s = new CNSSubscription(json.getString("subArn"));
     
      s.setEndpoint(json.getString("endPoint"));
      s.setUserId(json.getString("userId"));
     
      if (json.has("confirmDate")) {
        s.setConfirmDate(new Date(json.getLong("confirmDate")));
      }
     
        if (json.has("requestDate")) {
          s.setRequestDate(new Date(json.getLong("requestDate")));
        }
       
        if (json.has("protocol")) {
          s.setProtocol(CnsSubscriptionProtocol.valueOf(json.getString("protocol")));
        }
       
        if (json.has("isConfirmed")) {
          s.setConfirmed(json.getBoolean("isConfirmed"));
        }
       
        s.setToken(json.getString("token"));
       
        if (json.has("authenticateOnSubscribe")) {
          s.setAuthenticateOnUnsubscribe(json.getBoolean("authenticateOnSubscribe"));
        }
       
        if (json.has("rawMessageDelivery")) {
          s.setRawMessageDelivery(json.getBoolean("rawMessageDelivery"));
        }
       
        s.setTopicArn(topicArn);
       
        return s;
  }
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.