Package org.wso2.event

Examples of org.wso2.event.Subscription


    ((CarbonEventBroker)brokerInstance).registerSubscriptionManager(new InMemorySubscriptionManager());
    CarbonNotificationManager notifyManager = new CarbonNotificationManager();
    notifyManager.init(new HashMap<String, String>());
    ((CarbonEventBroker)brokerInstance).registerNotificationManager(notifyManager);
   
    Subscription subscription = new Subscription();
    String topic = "testTopic";
    subscription.setFilterDesc(new EventFilterDesc(null, topic));
   
   
   
    EventDispatcher dispatcher = new EventDispatcher<Object>() {
      public boolean onMatchingEvent(Event<Object> event,
View Full Code Here


        if (!isEnabled(mc, ENABLE_UNSUBSCRIBE)) {
            log.warn("Unsubscribe operation is disabled");
            return;
        }
        UnSubscribeCommandBuilder builder = new UnSubscribeCommandBuilder(mc);
        Subscription subscription = builder.toSubscription(mc.getEnvelope());
        if (mc.getTo() != null) {
            subscription.setAddressUrl(mc.getTo().getAddress());
        }
        if (log.isDebugEnabled()) {
            log.debug("UnSubscribe response recived for Subscription ID : " +
                    subscription.getId());
        }
        if (getBrokerService().unsubscribe(subscription.getId())) {
            if (log.isDebugEnabled()) {
                log.debug("Sending UnSubscribe responce for Subscription ID : " +
                        subscription.getId());
            }
            SOAPEnvelope soapEnvelope = builder.fromSubscription(subscription);
            dispatchResponse(soapEnvelope, CommandBuilderConstants.WSE_UNSUBSCRIBE_RESPONSE, mc, false);
        } else {
            log.debug("UnSubscription failed, sending fault repsponse");
View Full Code Here

        if (!isEnabled(mc, ENABLE_GET_STATUS)) {
            log.warn("Get Status operation is disabled");
            return;
        }
        GetStatusCommandBuilder builder = new GetStatusCommandBuilder(mc);
        Subscription subscription = builder.toSubscription(mc.getEnvelope());
        if (mc.getTo() != null) {
            subscription.setAddressUrl(mc.getTo().getAddress());
        }
        if (log.isDebugEnabled()) {
            log.debug("GetStatus request recived for Subscription ID : " +
                    subscription.getId());
        }
        subscription = getBrokerService().getSubscriptionManager().getSubscription(subscription.getId());
        if (subscription != null) {
            String loggedInUser = EventBrokerUtils.getLoggedInUserName();
            if(!loggedInUser.equals("admin") && !loggedInUser.equals(subscription.getOwner())){
                throw new EventException("User "+ loggedInUser + " does not own subscription "+ subscription.getId());
            }
            if (log.isDebugEnabled()) {
                log.debug("Sending GetStatus responce for Subscription ID : " +
                        subscription.getId());
            }
            SOAPEnvelope soapEnvelope = builder.fromSubscription(subscription);
            dispatchResponse(soapEnvelope, CommandBuilderConstants.WSE_GET_STATUS_RESPONSE, mc, false);
        } else {
            log.debug("GetStatus failed, sending fault response");
View Full Code Here

        if (!isEnabled(mc, ENABLE_RENEW)) {
            log.warn("Renew operation is disabled");
            return;
        }
        RenewCommandBuilder builder = new RenewCommandBuilder(mc);
        Subscription subscription = null;
        try {
            subscription = builder.toSubscription(mc.getEnvelope());
            if (mc.getTo() != null) {
                subscription.setAddressUrl(mc.getTo().getAddress());
            }
        } catch (InvalidExpirationTimeException e) {
            if (log.isDebugEnabled()) {
                log.debug(e.getMessage());
            }
            SOAPEnvelope soapEnvelope = BuilderUtils.genFaultResponse(
                    CommandBuilderConstants.WSE_FAULT_CODE_RECEIVER, "InvalidExpirationTime",
                    e.getMessage(), "", mc.isSOAP11());
            dispatchResponse(soapEnvelope, CommandBuilderConstants.WSA_FAULT, mc, true);
        }

        if (subscription != null && subscription.getId() != null) {
            if (log.isDebugEnabled()) {
                log.debug("Renew request recived for Subscription ID : " +
                        subscription.getId());
            }
           
            String loggedInUser = EventBrokerUtils.getLoggedInUserName();
            if(!loggedInUser.equals("admin") && !loggedInUser.equals(subscription.getOwner())){
                throw new EventException("User "+ loggedInUser + " does not own subscription "+ subscription.getId());
            }
           
            if (getBrokerService().getSubscriptionManager().renew(subscription)) {
                if (log.isDebugEnabled()) {
                    log.debug("Sending Renew response for Subscription ID : " +
                            subscription.getId());
                }
                SOAPEnvelope soapEnvelope =
                        builder.fromSubscription(subscription);
                dispatchResponse(soapEnvelope, CommandBuilderConstants.WSE_RENEW_RESPONSE, mc, false);
            } else {
View Full Code Here

        InvalidExpirationTimeException {
        if (envelope == null) {
            log.error("No SOAP envelope was provided.");
            throw new BuilderException("No SOAP envelope was provided.");
        }
        Subscription subscription = new Subscription();
        OMElement elem = null;
        if (envelope.getHeader() != null) {
            elem = envelope.getHeader().getFirstChildWithName(IDENTIFIER);
        }
        if (elem == null) {
            log.error(
                    "Subscription Identifier is required as a header of the subscription message.");
            throw new InvalidMessageException(
                    "Subscription Identifier is required as a header of the subscription message.");
        }
        String id = elem.getText().trim();
        subscription.setId(id);
       
        OMElement renewElem = envelope.getBody().getFirstChildWithName(RENEW);
        if (renewElem != null) {
            OMElement expiryElem = renewElem.getFirstChildWithName(EXPIRES);
            if (expiryElem != null) {
                Calendar calendarExpires;
                try {
                    String expiryText = expiryElem.getText().trim();
                    if (expiryText.startsWith("P")) {
                        calendarExpires = ConverterUtil.convertToDuration(expiryText)
                                .getAsCalendar();
                    } else {
                        calendarExpires = ConverterUtil.convertToDateTime(expiryText);
                    }
                } catch (Exception e) {
                    log.error("Error converting the expiration date", e);
                    throw new InvalidExpirationTimeException(
                            "Error converting the expiration date", e);
                }
                Calendar calendarNow = Calendar.getInstance();
                if (calendarNow.before(calendarExpires)) {
                    subscription.setExpires(calendarExpires);
                } else {
                    log.error("The expiration time has passed");
                    throw new InvalidExpirationTimeException("The expiration time has passed");
                }

                subscription.setExpires(calendarExpires);
            } else {
                log.error("The expiration time was not given");
                throw new InvalidExpirationTimeException("The expiration time was not given");
            }
        }
View Full Code Here

        OMElement response = fac.createOMElement("getSubscriptionsResponse",wseexns);
       
        int addedCount = 0;
       
        for(int i = startIndex; i< Math.min(subscriptions.size(), startIndex+ maxResultCount); i++){
            Subscription subscription = subscriptions.get(i);
            OMElement subsciptionEle = fac.createOMElement("subscriptionDetail", wseexns, response);
            //fac.createOMElement("dialect", wseexns,subsciptionEle).setText("");
            fac.createOMElement("subscriptionId", wseexns,subsciptionEle).setText(subscription.getId());
            fac.createOMElement("isPersistant", wseexns,subsciptionEle).setText(String.valueOf(subscription.isPersistant()));
            fac.createOMElement("eventSinkAddress", wseexns,subsciptionEle).setText(subscription.getEndpointUrl());
            if(subscription.getExpires() != null){
                //Time time = new Ti
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(subscription.getExpires().getTimeInMillis());
                fac.createOMElement("subscriptionEndingTime", wseexns,subsciptionEle).setText(ConverterUtil.convertToString(calendar));   
            }
            fac.createOMElement("topic", wseexns,subsciptionEle).setText(subscription.getFilterDesc().getFilterValue());
            if(subscription.getCreatedTime() != null){
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(subscription.getCreatedTime().getTime());
                fac.createOMElement("createdTime", wseexns,subsciptionEle)
                    .setText(ConverterUtil.convertToString(calendar));
            }
            addedCount++;
        }
View Full Code Here

                    Collection subs = (Collection) registry.get(subscriptionsCollection);
                    String[] subsPaths = (String[]) subs.getContent();
                    for (String subsPath : subsPaths) {
                        Resource resource = registry.get(subsPath);
                        String id = resource.getId();
                        Subscription sub = new Subscription();
                        if (EPR_TYPE.equals(resource.getMediaType())) {
                            sub = regStorageToSubscription(resource);
                        }
                        // check for expiration
                        Calendar current =
                                Calendar.getInstance(); //Get current date and time
                        if (sub.getExpires() != null) {
                            if (current.before(sub.getExpires())) {
                                // add only valid subscriptions by checking the expiration
                                subscriptions.add(sub);
                            }
                        } else {
                            // If a expiration dosen't exisits treat it as a never expire subscription, valid till unsubscribe
View Full Code Here

        }
    }

    public static Subscription createSubscription(String endpoint, String filterDialect,
                                                  String topic) throws InvalidMessageException {
        Subscription subscription = new Subscription();
        subscription.setDeliveryMode(CommandBuilderConstants.WSE_DEFAULT_DELIVERY_MODE);
        if (endpoint == null) {
            throw new InvalidMessageException("Endpoint not found in the subscription request");
        }
        subscription.setEndpointUrl(endpoint.trim());
        subscription.setAddressUrl(endpoint);
        if (topic == null) {
            throw new InvalidMessageException("Error in creating subscription. Topic not defined");
        }
       
        subscription.setFilterDesc(new EventFilterDesc(filterDialect,topic));
        return subscription;
    }
View Full Code Here

public class CarbonSubscriptionTest extends TestCase {

    protected final String DELIVERY_MODE = "http://tempuri.org/2009/11/eventing/DeliveryModes/Test";

    public void testConstruction() throws Exception {
      Subscription subscription = new Subscription();

        assertNotNull("The subscription object is null", subscription);
        assertNotNull("The subscription id is null", subscription.getId());
        assertNotNull("The delivery mode is null", subscription.getDeliveryMode());

        assertEquals("Invalid default delivery mode",
                CommandBuilderConstants.WSE_DEFAULT_DELIVERY_MODE, subscription.getDeliveryMode());

        assertNotNull("No subscription data found", subscription.getSubscriptionData());
    }
View Full Code Here

    public void testSOAP12EnvelopeToSubscription() throws Exception {
        MessageContext mc = CommandBuilderTestUtils.getMCWithSOAP12Envelope();
        RenewCommandBuilder builder = new RenewCommandBuilder(mc);

        Subscription subscription = builder.toSubscription(
                CommandBuilderTestUtils.payloadToSOAP12Envelope(REQUEST_PAYLOAD_SOAP12));

        assertNotNull("The subscription object is null", subscription);
        assertEquals("Invalid subscription id", "uuid:22e8a584-0d18-4228-b2a8-3716fa2097fa",
                subscription.getId());
        assertEquals("Invalid expiration time", 2034968820000L,
                subscription.getExpires().getTimeInMillis() +
                TimeZone.getTimeZone("GMT-08:00").getOffset(0));

        Exception expected = null;
        try {
            builder.toSubscription(
View Full Code Here

TOP

Related Classes of org.wso2.event.Subscription

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.