Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] how to implement message notification popups

Hi all,

I am a GSoC participant working on integrating gtalk with ecf. As part of the work, I am planning on showing email notifications to users (as well as some server messages like going off the record) in a notification popup. I searched the way its done currently in the messagesView and figured out that NotificationMessagePopup is used. but however its not possible to use it outside the presence.ui package since its private. In addition to that I found quite a lot of references to a bug related to the notification popup. Does anyone know how I should move forward in implementing this functionality. (How can i show a notification in a popup using the current eclipse framework).

Regards
--
Nuwan Samarasekera
Dept of Computer Science and Engineering,
University of Moratuwa.


2009/5/26 <ecf-dev-request@xxxxxxxxxxx>
Send ecf-dev mailing list submissions to
       ecf-dev@xxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
       https://dev.eclipse.org/mailman/listinfo/ecf-dev
or, via email, send a message with subject or body 'help' to
       ecf-dev-request@xxxxxxxxxxx

You can reach the person managing the list at
       ecf-dev-owner@xxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of ecf-dev digest..."


Today's Topics:

  1. Re: Re: ecf-dev Digest, Vol 45, Issue 35 (Scott Lewis)
  2. RE: File based RFC119 discovery? (Juergen.Schumacher@xxxxxxxxxxx)
  3. Re: File based RFC119 discovery? (Markus Alexander Kuppe)
  4. RE: File based RFC119 discovery? (Juergen.Schumacher@xxxxxxxxxxx)


----------------------------------------------------------------------

Message: 1
Date: Mon, 25 May 2009 13:25:08 -0700
From: Scott Lewis <slewis@xxxxxxxxxxxxxxxxx>
Subject: Re: [ecf-dev] Re: ecf-dev Digest, Vol 45, Issue 35
To: "Eclipse Communication Framework (ECF) developer mailing list."
       <ecf-dev@xxxxxxxxxxx>
Message-ID: <4A1AFEA4.9070307@xxxxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hi Roshan,

roshan joseph wrote:
> Hi Scott,
>  All the test cases are working for me now. I have done a cvs update
> and now the test packages are getting executed without assertion
> errors. Thanks once again for helping me with the test cases.
>
> But when I compare the results with what I have on my console with
> that of yours, still I get the remote interface as different.
> e.g:
> <mine>
>  hostRegistered
>  serviceReference=*org.eclipse.ecf.tests.osgi.services.distribution.TestServiceInterface1*}
>
> Do you think still I have an old code base?
>

The TestServiceInterface1 and 2 classes are used for the
ServicePublication tests...so you should see some tests with this
service interface and others with the IConcatService service interface.


> Though all test cases are getting executed succesfully...
>
> WIth respect to the test cases for activemq what I see is you are
> creating an
> ActiveMQJMSServerContainer then registering the remote services. Does
> the container type name makes any difference? In the test case I see
> it as 'ecf.jms.activemq.tcp.server'
> but the ECF documentation talks about the conatiner name as
> 'ecf.jms.activemq.tcp.manager'.
>

I suppose the container type should probably be
ecf.jms.activemq.tcp.manager...not only to match the documentation, but
that is what it is :).  Please open a bug to that effect and I will make
the necessary change to the the activemq plugin.xml (and test code).


>
> Do we have to use IRemoteAdapters for making this test case work?
>
> Also the listeners are registered initially before running the test
> case. Are they essential for testing using the RFC 119 transaparent
> way of accessing remote service?
>

No.   They are there to aid in debugging..and to test the use of the
listeners registered in the service registry.

Thanks,

Scott


>
> I am not sure whether the questions I have added make sense or not?
> but looking forward to your response.
>
> Thanks again for aptiently answering my queries...
>
> Regards
> Roshan
>
> --- On *Mon, 5/25/09, ecf-dev-request@xxxxxxxxxxx
> /<ecf-dev-request@xxxxxxxxxxx>/* wrote:
>
>
>     Hi Roshan,
>
>
>     Thanks for helping with the testing of the activemq provider. I'm
>     going to step through your log and identify where/how it's
>     diverging from mine for the
>     ActiveMQServiceRegisterTest.testGetProxy (I think all the test
>     cases are seeing the same thing, so focusing on this one is
>     reasonable).
>
>     First, the exception that starts with
>
>
>     [log;+0530 2009.05.21
>     20:41:23:469;ERROR;org.eclipse.ecf;org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf;code=4;message=getSupportedIntents;severity4;exception=java.lang.ArrayStoreException;children=[]]]
>     java.lang.ArrayStoreException
>     at java.lang.System.arraycopy(Native Method)
>     at java.util.Arrays.copyOf(Unknown Source)
>     at java.util.ArrayList.toArray(Unknown Source)
>     at
>     org.eclipse.ecf.internal.provider.jms.activemq.ActiveMQJMSServerContainerInstantiator.getSupportedIntents(ActiveMQJMSServerContainerInstantiator.java:71)
>     ...
>
>
>     Was a small bug in the getSupportedIntents implementation. It's
>     now fixed and released to HEAD. So you shouldn't see it again.
>
>     This warning:
>
>
>     WARNING: path isn't a valid local location for TcpTransport to use
>     java.lang.NumberFormatException: For input string: "/exampleTopic"
>     at java.lang.NumberFormatException.forInputString(Unknown Source)
>     at java.lang.Integer.parseInt(Unknown Source)
>     at java.lang.Integer.parseInt(Unknown Source)
>     at
>     org.apache.activemq.transport.tcp.TcpTransportFactory.createTransport(TcpTransportFactory.java:125)
>     ...
>
>     I've reported to ActiveMQ with this bug:
>     https://issues.apache.org/activemq/browse/AMQ-2256
>     It's not fatal, however, as the NumberFormatException is simply
>     caught and logged as a warning within ActiveMQ. Until ActiveMQ
>     fixes it I think we're just going to have to live with it.
>
>     Now, we get to the main difference.  You have this output:
>
>
>     hostRegistered
>     serviceReference={org.eclipse.ecf.tests.osgi.services.distribution.TestServiceInterface1}={osgi.remote.interfaces=[*],
>     foo=bar, ecf.rsvc.cid=JMSID[tcp://localhost:61616/exampleTopic],
>     service.id=120}
>     remoteServiceContainer=RemoteServiceContainer
>     [containerID=JMSID[tcp://localhost:61616/exampleTopic],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSServerContainer@1ce08c7,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@27de24]
>     remoteRegistration=RemoteServiceRegistrationImpl[remoteServiceID=org.eclipse.ecf.remoteservice.RemoteServiceID[containerID=JMSID[tcp://localhost:61616/exampleTopic];containerRelativeID=0];containerID=JMSID[tcp://localhost:61616/exampleTopic];serviceid=0;serviceranking=0;classes=[org.eclipse.ecf.tests.osgi.services.distribution.TestServiceInterface1];state=0;properties={ecf.rsvc.id=0,
>     foo=bar}]
>
>     <scott> This indicates that the remote service was registered with
>     the ActiveMQJMSServerContainer. This is fine/looks correct.
>
>     proxyRetrievingRemoteServiceReferences
>     endpointDescription=ServiceEndpointDescriptionImpl[;providedinterfaces=[org.eclipse.ecf.tests.osgi.services.distribution.TestServiceInterface1];location=null;serviceid=ServiceID[type=ServiceTypeID[typeName=_osgiservices._tcp.default._iana];location=osgiservices://192.168.2.100:61616;full=_osgiservices._tcp.default._iana@osgiservices://192.168.2.100:61616];osgiEndpointID=null;ecfEndpointID=JMSID[jms:tcp://localhost:61616/exampleTopic];ecfTargetID=null;ecfFilter=null;props={ecf.rsvc.ns=ecf.namespace.generic.remoteservice,
>     osgi.remote.service.interfaces=org.eclipse.ecf.tests.osgi.services.distribution.TestServiceInterface1,
>     ecf.sp.cns=ecf.namespace.jmsid, ecf.rsvc.id=0,
>     ecf.sp.cid=[B@6946d2, foo=bar}]
>     remoteServiceContainer=RemoteServiceContainer
>     [containerID=GUID[9Q0rlDD3OfhdZFTi0KGHbQZ7rX4=],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSClientContainer@1a3a52c,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@a65760]
>
>     <scott>this indicates that you have received a discovery
>     notification (good), and that the proxy lookup has begun. But at
>     this point you then get the failure...as indicated by the TRACE
>     and the log entry:
>
>     (TRACE)[05/21/09;20:41:37:545]TRACING
>     org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl#handleDiscoveredServiceAvailable(getRemoteServiceReferences
>     result is empty. containerHelper=RemoteServiceContainer
>     [containerID=GUID[9Q0rlDD3OfhdZFTi0KGHbQZ7rX4=],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSClientContainer@1a3a52c,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@a65760]remoteReferences=null)
>
>
>     [log;+0530 2009.05.21
>     20:41:37:545;ERROR;org.eclipse.ecf.osgi.services.distribution;org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.osgi.services.distribution;code=4;message=org.eclipse.ecf.internal.osgi.services.distribution.DiscoveredServiceTrackerImpl:handleDiscoveredServiceAvailable:getRemoteServiceReferences
>     result is empty. containerHelper=RemoteServiceContainer
>     [containerID=GUID[9Q0rlDD3OfhdZFTi0KGHbQZ7rX4=],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSClientContainer@1a3a52c,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@a65760]remoteReferences=null;severity4;exception=null;children=[]]]
>
>     <scott> the crucial information here is that
>     remoteReferences=null...that is, the lookup via
>     getRemoteServicesReference did not find an remote references. This
>     is puzzeling as here is the output from my own local runs:
>
>     hostRegistered
>     serviceReference={org.eclipse.ecf.tests.remoteservice.IConcatService}={osgi.remote.interfaces=[*],
>     ecf.rsvc.cid=JMSID[tcp://localhost:61616/exampleTopic],
>     service.id=128}
>     remoteServiceContainer=RemoteServiceContainer
>     [containerID=JMSID[tcp://localhost:61616/exampleTopic],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSServerContainer@143b93b,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@1d3e3f3]
>     remoteRegistration=RemoteServiceRegistrationImpl[remoteServiceID=org.eclipse.ecf.remoteservice.RemoteServiceID[containerID=JMSID[tcp://localhost:61616/exampleTopic];containerRelativeID=0];containerID=JMSID[tcp://localhost:61616/exampleTopic];serviceid=0;serviceranking=0;classes=[org.eclipse.ecf.tests.remoteservice.IConcatService];state=0;properties={ecf.rsvc.id=0}]
>
>     <scott> indicates service
>      registered
>
>
>     proxyRetrievingRemoteServiceReferences
>     endpointDescription=ServiceEndpointDescriptionImpl[;providedinterfaces=[org.eclipse.ecf.tests.remoteservice.IConcatService];location=null;serviceid=ServiceID[type=ServiceTypeID[typeName=_osgiservices._tcp.default._iana];location=osgiservices://192.168.1.101:61616;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.101:61616];osgiEndpointID=null;ecfEndpointID=JMSID[tcp://localhost:61616/exampleTopic];ecfTargetID=null;ecfFilter=null;props={ecf.rsvc.ns=ecf.namespace.generic.remoteservice,
>     osgi.remote.service.interfaces=org.eclipse.ecf.tests.remoteservice.IConcatService,
>     ecf.sp.cns=ecf.namespace.jmsid, ecf.rsvc.id=[B@d63b5b,
>     ecf.sp.cid=[B@d300ed}]
>     remoteServiceContainer=RemoteServiceContainer
>     [containerID=GUID[4yl/AwIGzkdF0+OHUOuPeYwkGrU=],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSClientContainer@6a5afc,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@5f39b0]
>
>     <scott> indicates remote service discovered, and proxy is being looked up
>
>
>     proxyRegistering
>     endpointDescription=ServiceEndpointDescriptionImpl[;providedinterfaces=[org.eclipse.ecf.tests.remoteservice.IConcatService];location=null;serviceid=ServiceID[type=ServiceTypeID[typeName=_osgiservices._tcp.default._iana];location=osgiservices://192.168.1.101:61616;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.101:61616];osgiEndpointID=null;ecfEndpointID=JMSID[tcp://localhost:61616/exampleTopic];ecfTargetID=null;ecfFilter=null;props={ecf.rsvc.ns=ecf.namespace.generic.remoteservice,
>     osgi.remote.service.interfaces=org.eclipse.ecf.tests.remoteservice.IConcatService,
>     ecf.sp.cns=ecf.namespace.jmsid, ecf.rsvc.id=[B@d63b5b,
>     ecf.sp.cid=[B@d300ed}]
>     remoteServiceContainer=RemoteServiceContainer
>     [containerID=GUID[4yl/AwIGzkdF0+OHUOuPeYwkGrU=],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSClientContainer@6a5afc,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@5f39b0]
>     remoteServiceReference=RemoteServiceReferenceImpl[class=org.eclipse.ecf.tests.remoteservice.IConcatService;registration=RemoteServiceRegistrationImpl[remoteServiceID=org.eclipse.ecf.remoteservice.RemoteServiceID[containerID=JMSID[tcp://localhost:61616/exampleTopic];containerRelativeID=0];containerID=JMSID[tcp://localhost:61616/exampleTopic];serviceid=0;serviceranking=0;classes=[org.eclipse.ecf.tests.remoteservice.IConcatService];state=0;properties={ecf.rsvc.id=0}]]
>
>     <scott> indicates remote reference *was* successfully retrieved
>     and that the proxy is being registered locally
>
>     proxyRegistered
>     endpointDescription=ServiceEndpointDescriptionImpl[;providedinterfaces=[org.eclipse.ecf.tests.remoteservice.IConcatService];location=null;serviceid=ServiceID[type=ServiceTypeID[typeName=_osgiservices._tcp.default._iana];location=osgiservices://192.168.1.101:61616;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.101:61616];osgiEndpointID=null;ecfEndpointID=JMSID[tcp://localhost:61616/exampleTopic];ecfTargetID=null;ecfFilter=null;props={ecf.rsvc.ns=ecf.namespace.generic.remoteservice,
>     osgi.remote.service.interfaces=org.eclipse.ecf.tests.remoteservice.IConcatService,
>     ecf.sp.cns=ecf.namespace.jmsid, ecf.rsvc.id=[B@d63b5b,
>     ecf.sp.cid=[B@d300ed}]
>     remoteServiceContainer=RemoteServiceContainer
>     [containerID=GUID[4yl/AwIGzkdF0+OHUOuPeYwkGrU=],
>     container=org.eclipse.ecf.provider.jms.activemq.container.ActiveMQJMSClientContainer@6a5afc,
>     containerAdapter=org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject@5f39b0]
>     remoteServiceReference=RemoteServiceReferenceImpl[class=org.eclipse.ecf.tests.remoteservice.IConcatService;registration=RemoteServiceRegistrationImpl[remoteServiceID=org.eclipse.ecf.remoteservice.RemoteServiceID[containerID=JMSID[tcp://localhost:61616/exampleTopic];containerRelativeID=0];containerID=JMSID[tcp://localhost:61616/exampleTopic];serviceid=0;serviceranking=0;classes=[org.eclipse.ecf.tests.remoteservice.IConcatService];state=0;properties={ecf.rsvc.id=0}]]
>     proxyServiceRegistration={org.eclipse.ecf.tests.remoteservice.IConcatService}={osgi.remote=org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceImpl@433359,
>     service.id=130}
>
>     <scott> indicates that the remote reference was used to create
>     proxy and registered in local service registry.
>
>     Obviously this is different from what you are seeing...mine is
>     finding the remote service reference, using it to create the proxy
>     and registering the proxy. The only important difference in your
>     output for hostRegistered and
>     proxyRetrievingRemoteServiceReferences is the presence of the
>     service property: 'foo=bar' in yours. Are you using the latest
>     versions of all the test classes/plugins? I don't believe this
>     should actually make a difference for this problem...but I suppose
>     it's possible that this is triggering some bug in our code. So I
>     think the next step is to do these things:
>
>     1) Remove the 'foo=bar' property, update all code to latest and
>     rerun test.
>     2) turn on tracing in this bundle:
>     org.eclipse.ecf.provider.remoteservice and rerun this test:
>     ActiveMQServiceRegisterTest
>     3) run this junit plugin test also:
>     org.eclipse.ecf.tests.provider.jms.activemq.remoteservice.ActiveMQRemoteServiceTest
>     and see if it produces similar failures. Hopefully it will, but
>     either way it will be informative.
>
>     Thanksinadvance,
>
>
>     Scott
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> ecf-dev mailing list
> ecf-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ecf-dev
>



------------------------------

Message: 2
Date: Tue, 26 May 2009 09:57:39 +0200
From: <Juergen.Schumacher@xxxxxxxxxxx>
Subject: RE: [ecf-dev] File based RFC119 discovery?
To: <ecf-dev@xxxxxxxxxxx>
Message-ID:
       <653C8E101491144F9B644FFA6652F5E50134EE00@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain;       charset="iso-8859-1"

> > Therefore my question: Is this already supposed to work? If yes: any
> > idea what's missing in my setup?
>
> It used to work around EclipseCon. Since, we have done a couple of
> refactorings which might have caused the glue between ECF and SEN's
> (outstanding) file based discovery contribution to break. Please file a
> bug report with the full stacktrace and a few steps how to reproduce or
> even better attach a test case if possible and I will get to it. :-)

Here's we are: https://bugs.eclipse.org/bugs/show_bug.cgi?id=277803
My test bundles are attached, and include launch configurations that should
reproduce the error.

BTW, there is another NPE in my *server* bundle, when I do not activate any
service discovery provider (or only the local provider, but neither jSLP nor JmDNS):

java.lang.NullPointerException
       at org.eclipse.ecf.internal.osgi.services.discovery.ServicePublicationHandler.handleServicePublication(ServicePublicationHandler.java:257)
       at org.eclipse.ecf.internal.osgi.services.discovery.ServicePublicationHandler.addingService(ServicePublicationHandler.java:159)
       at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
       at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
       at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)

Is this ok? Or should I file another issue?

Cheers,
Juergen.



------------------------------

Message: 3
Date: Tue, 26 May 2009 10:38:22 +0200
From: Markus Alexander Kuppe <ecf-dev_eclipse.org@lemmster.de>
Subject: Re: [ecf-dev] File based RFC119 discovery?
To: "Eclipse Communication Framework (ECF) developer mailing list."
       <ecf-dev@xxxxxxxxxxx>
Message-ID: <4A1BAA7E.5030600@xxxxxxxxxxx>
Content-Type: text/plain; charset=ISO-8859-1

Juergen.Schumacher@xxxxxxxxxxx wrote:
> BTW, there is another NPE in my *server* bundle, when I do not activate any
> service discovery provider (or only the local provider, but neither jSLP nor JmDNS):
>
> java.lang.NullPointerException
>       at org.eclipse.ecf.internal.osgi.services.discovery.ServicePublicationHandler.handleServicePublication(ServicePublicationHandler.java:257)
>       at org.eclipse.ecf.internal.osgi.services.discovery.ServicePublicationHandler.addingService(ServicePublicationHandler.java:159)
>       at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
>       at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
>       at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)
>
> Is this ok? Or should I file another issue?

Yep, please file another bug.

Thanks
Markus



------------------------------

Message: 4
Date: Tue, 26 May 2009 10:58:09 +0200
From: <Juergen.Schumacher@xxxxxxxxxxx>
Subject: RE: [ecf-dev] File based RFC119 discovery?
To: <ecf-dev@xxxxxxxxxxx>
Message-ID:
       <653C8E101491144F9B644FFA6652F5E50134EEB8@xxxxxxxxxxxxxxxxxxxxxxxxx>
Content-Type: text/plain;       charset="iso-8859-1"

> > Is this ok? Or should I file another issue?
>
> Yep, please file another bug.

Done: https://bugs.eclipse.org/bugs/show_bug.cgi?id=277813

Thanks,
Juergen.


------------------------------

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev


End of ecf-dev Digest, Vol 46, Issue 29
***************************************



--
/\/uw/\n S/\m

Back to the top