Package org.apache.synapse.eventing

Examples of org.apache.synapse.eventing.SynapseSubscription


     *
     * @param mc The MessageContext from which to create the SynapseSubscription
     * @return The SynapseSubscription
     */
    public static SynapseSubscription createUnSubscribeMessage(MessageContext mc) {
        SynapseSubscription subscription = new SynapseSubscription();
        OMElement elem = mc.getEnvelope().getHeader().getFirstChildWithName(IDENTIFIER);
        String id = elem.getText();
        subscription.setId(id);
        subscription.setAddressUrl(mc.getTo().getAddress());
        return subscription;
    }
View Full Code Here


     *
     * @param mc MessageContext from which to create the SynapseSubscription
     * @return The SynapseSubscription
     */
    public static SynapseSubscription createRenewSubscribeMessage(MessageContext mc) {
        SynapseSubscription subscription = new SynapseSubscription();
        OMElement elem = mc.getEnvelope().getHeader().getFirstChildWithName(IDENTIFIER);
        String id = elem.getText();
        subscription.setId(id);
        subscription.setAddressUrl(mc.getTo().getAddress());
        OMElement renewElem = mc.getEnvelope().getBody().getFirstChildWithName(RENEW);
        if (renewElem != null) {
            OMElement expiryElem = renewElem.getFirstChildWithName(EXPIRES);
            if (expiryElem != null) {
                if (!(expiryElem.getText().startsWith("*"))) {
                    Calendar calendarExpires = null;
                    try {
                        if (expiryElem.getText().startsWith("P")) {
                            calendarExpires = ConverterUtil.convertToDuration(expiryElem.getText())
                                    .getAsCalendar();
                        } else {
                            calendarExpires = ConverterUtil.convertToDateTime(expiryElem.getText());
                        }
                    } catch (Exception e) {
                        setExpirationFault(subscription);
                    }
                    Calendar calendarNow = Calendar.getInstance();
                    if ((isValidDate(expiryElem.getText(), calendarExpires)) &&
                            (calendarNow.before(calendarExpires))) {
                        subscription.setExpires(calendarExpires);
                    } else {
                        setExpirationFault(subscription);
                    }

                    subscription.setExpires(calendarExpires);
                } else {
                    setExpirationFault(subscription);
                }
            } else {
                setExpirationFault(subscription);
View Full Code Here

     *
     * @param mc The MessageContext from which to extract the SynapseSubscription
     * @return The SynapseSubscription
     */
    public static SynapseSubscription createGetStatusMessage(MessageContext mc) {
        SynapseSubscription subscription = new SynapseSubscription();
        subscription.setAddressUrl(mc.getTo().getAddress());
        OMElement elem = mc.getEnvelope().getHeader().getFirstChildWithName(IDENTIFIER);
        String id = elem.getText();
        subscription.setId(id);
        return subscription;
    }
View Full Code Here

    private static void createStaticSubscriptions(OMElement elem,
                                                  SynapseEventSource synapseEventSource)
            throws EventException {
        for (Iterator iterator = elem.getChildrenWithName(SUBSCRIPTION_QNAME);
             iterator.hasNext();) {
            SynapseSubscription synapseSubscription = new SynapseSubscription();
            OMElement elmSubscription = (OMElement) iterator.next();
            synapseSubscription.setId(elmSubscription.getAttribute(ID_QNAME).getAttributeValue());
            //process the filter
            OMElement elmFilter = elmSubscription.getFirstChildWithName(FILTER_QNAME);
            OMAttribute dialectAttr = elmFilter.getAttribute(FILTER_DIALECT_QNAME);
            if (dialectAttr != null && dialectAttr.getAttributeValue() != null) {

                    OMAttribute sourceAttr = elmFilter.getAttribute(FILTER_SOURCE_QNAME);
                    if (sourceAttr != null) {
                        synapseSubscription.setFilterDialect(dialectAttr.getAttributeValue());
                        synapseSubscription.setFilterValue(sourceAttr.getAttributeValue());
                    } else {
                        handleException(
                                "Error in creating static subscription. Filter source not defined");
                    }            
            } else {
                handleException(
                        "Error in creating static subscription. Filter dialect not defined");
            }
            OMElement elmEndpoint = elmSubscription.getFirstChildWithName(ENDPOINT_QNAME);
            if (elmEndpoint != null) {
                OMElement elmAddress = elmEndpoint.getFirstChildWithName(ADDRESS_QNAME);
                if (elmAddress != null) {
                    OMAttribute uriAttr = elmAddress.getAttribute(EP_URI_QNAME);
                    if (uriAttr != null) {
                        synapseSubscription.setEndpointUrl(uriAttr.getAttributeValue());
                        synapseSubscription.setAddressUrl(uriAttr.getAttributeValue());
                    } else {
                        handleException("Error in creating static subscription. URI not defined");
                    }
                } else {
                    handleException("Error in creating static subscription. Address not defined");
                }

            } else {
                handleException("Error in creating static subscription. Endpoint not defined");
            }
            OMElement elmExpires = elmSubscription.getFirstChildWithName(EXPIRES_QNAME);
            if (elmExpires != null) {
                try {
                    if (elmExpires.getText().startsWith("P")) {
                        synapseSubscription.setExpires(ConverterUtil
                                .convertToDuration(elmExpires.getText()).getAsCalendar());
                    } else {
                        synapseSubscription
                                .setExpires(ConverterUtil.convertToDateTime(elmExpires.getText()));
                    }
                } catch (Exception e) {
                    handleException("Error in creating static subscription. invalid date format",
                            e);
                }
            } else {
                synapseSubscription.setExpires(null);
            }

            synapseSubscription.setStaticEntry(true);
            synapseEventSource.getSubscriptionManager().subscribe(synapseSubscription);
        }
    }
View Full Code Here

    private static void createStaticSubscriptions(OMElement elem,
                                                  SynapseEventSource synapseEventSource)
            throws EventException {
        for (Iterator iterator = elem.getChildrenWithName(SUBSCRIPTION_QNAME);
             iterator.hasNext();) {
            SynapseSubscription synapseSubscription = new SynapseSubscription();
            OMElement elmSubscription = (OMElement) iterator.next();
            synapseSubscription.setId(elmSubscription.getAttribute(ID_QNAME).getAttributeValue());
            //process the filter
            OMElement elmFilter = elmSubscription.getFirstChildWithName(FILTER_QNAME);
            OMAttribute dialectAttr = elmFilter.getAttribute(FILTER_DIALECT_QNAME);
            if (dialectAttr != null && dialectAttr.getAttributeValue() != null) {

                    OMAttribute sourceAttr = elmFilter.getAttribute(FILTER_SOURCE_QNAME);
                    if (sourceAttr != null) {
                        synapseSubscription.setFilterDialect(dialectAttr.getAttributeValue());
                        synapseSubscription.setFilterValue(sourceAttr.getAttributeValue());
                    } else {
                        handleException(
                                "Error in creating static subscription. Filter source not defined");
                    }            
            } else {
                handleException(
                        "Error in creating static subscription. Filter dialect not defined");
            }
            OMElement elmEndpoint = elmSubscription.getFirstChildWithName(ENDPOINT_QNAME);
            if (elmEndpoint != null) {
                OMElement elmAddress = elmEndpoint.getFirstChildWithName(ADDRESS_QNAME);
                if (elmAddress != null) {
                    OMAttribute uriAttr = elmAddress.getAttribute(EP_URI_QNAME);
                    if (uriAttr != null) {
                        synapseSubscription.setEndpointUrl(uriAttr.getAttributeValue());
                        synapseSubscription.setAddressUrl(uriAttr.getAttributeValue());
                    } else {
                        handleException("Error in creating static subscription. URI not defined");
                    }
                } else {
                    handleException("Error in creating static subscription. Address not defined");
                }

            } else {
                handleException("Error in creating static subscription. Endpoint not defined");
            }
            OMElement elmExpires = elmSubscription.getFirstChildWithName(EXPIRES_QNAME);
            if (elmExpires != null) {
                try {
                    if (elmExpires.getText().startsWith("P")) {
                        synapseSubscription.setExpires(ConverterUtil
                                .convertToDuration(elmExpires.getText()).getAsCalendar());
                    } else {
                        synapseSubscription
                                .setExpires(ConverterUtil.convertToDateTime(elmExpires.getText()));
                    }
                } catch (Exception e) {
                    handleException("Error in creating static subscription. invalid date format",
                            e);
                }
            } else {
                synapseSubscription.setExpires(null);
            }

            synapseSubscription.setStaticEntry(true);
            synapseEventSource.getSubscriptionManager().subscribe(synapseSubscription);
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.synapse.eventing.SynapseSubscription

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.