| Re: [ecf-dev] org.eclipse.ecf.presence.IFQID |
|
Hi Scott, I have tried out today both the IFQID and "on demand RemoteService" solution. Here are my findings: The IFQID works fine now with resources but there is still a problem left. If I log-in two users with the same username and password only one of them is created/displayed correctly with the resource. There is no IRosterEntry created for the second user. But in order to deal with both user/resource pairs and to handle remote services for both user/resource pairs actually two IRosterEntry-objects will be needed - or something similar. Maybe the IFQID method fqID.getResourceName() could return an Array of all resources for a user? But if it does, how can remote services be than distinguished for each user/resource pair? The remote service registration on demand doesn't work properly as well. I don't know why, but some services are registered properly others are not. If I log-in user A first and afterwards user B, some services of user A are registered properly to user B others are not. This is the way how I register remote services: public void registerRemoteService(String serviceName, Object impl, ID[] targetIDs) { if (targetIDs == null) { // register service to all user targetIDs = RosterUtil.getUserIDs(getRoster()); Assert.isNotNull(targetIDs); } Dictionary<String, ID[]> props = new Hashtable<String, ID[]>(); props.put(Constants.SERVICE_REGISTRATION_TARGETS, targetIDs); // register ECF remote service getRemoteServiceContainerAdapter().registerRemoteService( new String[] { serviceName }, impl, props); logger.info("Service Registered: " + serviceName); } Please let me know if I can help you to sort this things out. Thanks, Eugen Am 30.10.2008 um 16:19 schrieb Scott Lewis:
|