public void setBundleContext(BundleContext context){ this.context=context; initLayout(); myServiceTracker = new ServiceClassListener<ManagedService>( ManagedService.class, context, null); myServiceTracker.addPropertyChangeListener( myServiceChangeListener); myServiceTracker.start(); myServiceTracker2 = new ServiceClassListener<ServiceManager>( ServiceManager.class, context, null); myServiceTracker2.addPropertyChangeListener( myServiceChangeListener2); myServiceTracker2.start(); }
private void addService(ServiceReference ref){ T t = getService(ref); if(t == null){ return; } if(!myReferenceMap.containsKey(ref)){ myReferenceMap.put(ref,t); myReferences.add(ref); addService(t); firePropertyChange(PROP_SERVICE_ADDED, null, t); } }
private void removeService(ServiceReference ref){ T t = myReferenceMap.remove(ref); myReferences.remove(ref); if(t == null){ return; } removeService(t); myContext.ungetService(ref); firePropertyChange(PROP_SERVICE_REMOVED, null, t); }
myGroupTracker.start(); myInitializedFlag = true;
@Override public void serviceChanged(ServiceEvent se) { ServiceReference ref = se.getServiceReference(); switch(se.getType()){ case ServiceEvent.REGISTERED: addService(ref); break; case ServiceEvent.MODIFIED_ENDMATCH: case ServiceEvent.UNREGISTERING: removeService(ref); break; } }
public void start(){ try{ myContext.addServiceListener(this, myFilter); }catch(InvalidSyntaxException ex){ theLogger.log(Level.WARNING, "Could not register ServiceListener. " + "Invalid filter syntax.", ex); } myReferences = new ArrayList<ServiceReference>(); try{ ServiceReference[] refs = myContext.getServiceReferences(myClass.getName(), myFilter); if(refs == null || refs.length == 0){ return; } for(ServiceReference se : refs){ addService(se); } }catch(InvalidSyntaxException ex){ theLogger.log(Level.SEVERE, "There was an error fetching service references.", ex); } }
/** Creates new form JointTreePanel */ public RobotTreePanel() { initComponents(); BundleContext context = OSGiUtils.getBundleContext(Robot.class); if(context == null){ return; } myRobotTracker = new ServiceClassListener<Robot>(Robot.class, context, null) { @Override protected void addService(Robot t) { setRobot(); } @Override protected void removeService(Robot t) { setRobot(); } private void setRobot(){ Robot group = getTopService(); if(group == null){ return; }else if(group == myRobot){ return; } setModel(group); } }; myRobotTracker.start(); }
public void setBundleContext(BundleContext context){ this.context=context; initLayout(); myServiceTracker = new ServiceClassListener<ManagedService>( ManagedService.class, context, null); myServiceTracker.addPropertyChangeListener( myServiceChangeListener); myServiceTracker.start(); myServiceTracker2 = new ServiceClassListener<ServiceManager>( ServiceManager.class, context, null); myServiceTracker2.addPropertyChangeListener( myServiceChangeListener2); myServiceTracker2.start(); }