On Wed, Jun 8, 2011 at 2:24 PM, Amila Suriarachchi <[email protected]> wrote:
> > > On Wed, Jun 8, 2011 at 12:41 PM, Prabath Siriwardena <[email protected]>wrote: > >> DSS team, please verify this locally after reverting... >> >> +1. > > The real problem is like this, > > if user1 creates a subscription then can user2 renew this subscription or > unsubscribe? > > Currently it can be done and DSS works because of that. > > So in order to properly fix this issue we need think what is the user in > the context of DSS, who is the system user (is he an admin), what is the > definition of admin role etc .. which we don't have clear answers. > > +1, It would be better if we can fix this on trunk for the next release, with having clear idea on allowed operations on a subscription for the available users in the system. Thanks Shammi > thanks, > Amila. > > > > >> Thanks & regards, >> -Prabath >> >> On Wed, Jun 8, 2011 at 12:36 PM, Shammi Jayasinghe <[email protected]> >> wrote: >> > >> > >> > >> > >> > On Wed, Jun 8, 2011 at 12:16 PM, Shammi Jayasinghe <[email protected]> >> wrote: >> >> >> >> Hi Dinusha, >> >> >> >> We are validating the user when unsubscribing and renewing a >> >> subscription. In that case we only allow to do those operations >> >> only for the users bellow; >> >> >> > Hi , >> > >> > Introduction of the following condition has caused this break and with >> DS, >> > this check will not be working fine since they can alter the owner of >> the >> > subscription by setting a property. So i am removing this condition. >> and >> > reverting the commit. >> > >> >> >> >> 1. User who created the subscriptions (Owner of the subscription) >> >> 2. User who is in admin role >> >> >> > >> > Thanks >> > >> > Shammi >> >> >> >> So any other person will not be able to Unsubscribe or Renew existing >> >> subscriptions. >> >> >> >> Here in your case : "wso2.system.user " is not neither the owner of the >> >> subscription nor in admin role. >> >> >> >> That has prevented this unsubscription . >> >> >> >> You can overcome this situation by adding admin role to this user. >> >> >> >> Thanks >> >> Shammi >> >> >> >> On Wed, Jun 8, 2011 at 11:58 AM, Dinusha Senanayaka <[email protected]> >> >> wrote: >> >>> >> >>> Hi, >> >>> >> >>> In DSS RC-7 pack event feature has broken. This works fine earlier. >> >>> In DSS we use following method to clear the subscriptions when data >> >>> service get deployed. >> >>> >> >>> private void clearDataServicesEventSubscriptions( >> >>> EventBroker eventBroker) throws DataServiceFault { >> >>> try { >> >>> String owner; >> >>> for (Subscription subs : >> >>> eventBroker.getAllSubscriptions(null)) { >> >>> owner = subs.getOwner(); >> >>> if (owner != null && owner.equals(this.getName())) { >> >>> eventBroker.unsubscribe(subs.getId()); >> >>> } >> >>> } >> >>> } catch (EventBrokerException e) { >> >>> throw new DataServiceFault(e); >> >>> } >> >>> } >> >>> >> >>> >> >>> Now we are getting following error when Event data service get >> deployed, >> >>> >> >>> DS Code: UNKNOWN_ERROR >> >>> Nested Exception:- >> >>> org.wso2.carbon.event.core.exception.EventBrokerException: User >> >>> wso2.system.user does not own subscription >> >>> a412ddbc401c84592bcbb6df51baf8f158f2b0febd025f83 >> >>> >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.engine.DataService.clearDataServicesEventSubscriptions(DataService.java:414) >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.engine.DataService.initEventing(DataService.java:422) >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.engine.DataService.setEventBroker(DataService.java:694) >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.internal.DataServicesDSComponent.notifyEventServiceListeners(DataServicesDSComponent.java:200) >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.internal.DataServicesDSComponent.doEventRealmInitiliased(DataServicesDSComponent.java:194) >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.internal.DataServicesDSComponent.setRealmService(DataServicesDSComponent.java:122) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >>> at >> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >>> at java.lang.reflect.Method.invoke(Method.java:597) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:374) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:411) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:210) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:328) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) >> >>> at >> >>> >> org.wso2.carbon.event.core.internal.builder.EventBrokerBuilderDS.activate(EventBrokerBuilderDS.java:69) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >>> at >> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >>> at java.lang.reflect.Method.invoke(Method.java:597) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) >> >>> at >> >>> >> org.wso2.carbon.qpid.internal.QpidServiceComponent.activate(QpidServiceComponent.java:134) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >>> at >> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >>> at java.lang.reflect.Method.invoke(Method.java:597) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) >> >>> at >> >>> >> org.wso2.carbon.discovery.DiscoveryComponent.activate(DiscoveryComponent.java:81) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >>> at >> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >>> at java.lang.reflect.Method.invoke(Method.java:597) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) >> >>> at >> >>> >> org.wso2.carbon.core.services.internal.CarbonServicesServiceComponent.activate(CarbonServicesServiceComponent.java:72) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >>> at >> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >>> at java.lang.reflect.Method.invoke(Method.java:597) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) >> >>> at >> >>> >> org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:192) >> >>> at >> >>> >> org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.activate(StartupFinalizerServiceComponent.java:89) >> >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> >>> at >> >>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> >>> at >> >>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> >>> at java.lang.reflect.Method.invoke(Method.java:597) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) >> >>> at >> >>> >> org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) >> >>> at >> >>> >> org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) >> >>> at >> >>> >> org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:461) >> >>> at >> >>> >> org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:264) >> >>> at >> >>> >> org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:117) >> >>> at >> >>> >> org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:916) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) >> >>> at >> >>> >> org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330) >> >>> Caused by: org.wso2.carbon.event.core.exception.EventBrokerException: >> >>> User wso2.system.user does not own subscription >> >>> a412ddbc401c84592bcbb6df51baf8f158f2b0febd025f83 >> >>> at >> >>> >> org.wso2.carbon.event.core.internal.subscription.registry.RegistrySubscriptionManager.unSubscribe(RegistrySubscriptionManager.java:305) >> >>> at >> >>> >> org.wso2.carbon.event.core.internal.CarbonEventBroker.unsubscribe(CarbonEventBroker.java:135) >> >>> at >> >>> >> org.wso2.carbon.dataservices.core.engine.DataService.clearDataServicesEventSubscriptions(DataService.java:410) >> >>> ... 144 more >> >>> >> >>> Seems like this is happening when calling unsubscribe() method in >> >>> EventBroker. >> >>> Any idea on this? >> >>> >> >>> Regards, >> >>> Dinusha. >> >>> >> >>> _______________________________________________ >> >>> Carbon-dev mailing list >> >>> [email protected] >> >>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> >>> >> >> >> >> >> >> >> >> -- >> >> Best Regards, >> >> >> >> Shammi Jayasinghe >> >> Senior Software Engineer; WSO2, Inc.; http://wso2.com, >> >> mobile: +94 71 4493085 >> >> >> >> >> > >> > >> > >> > -- >> > Best Regards, >> > >> > Shammi Jayasinghe >> > Senior Software Engineer; WSO2, Inc.; http://wso2.com, >> > mobile: +94 71 4493085 >> > >> > >> > >> > _______________________________________________ >> > Carbon-dev mailing list >> > [email protected] >> > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> > >> > >> >> >> >> -- >> Thanks & Regards, >> Prabath >> >> http://blog.facilelogin.com >> http://RampartFAQ.com >> _______________________________________________ >> Carbon-dev mailing list >> [email protected] >> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >> > > > _______________________________________________ > Carbon-dev mailing list > [email protected] > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- Best Regards,* Shammi Jayasinghe* Senior Software Engineer; WSO2, Inc.; http://wso2.com, mobile: +94 71 4493085
_______________________________________________ Carbon-dev mailing list [email protected] http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
