ssl.addPropertyChangeListener(new RequirementListener(dependencyName)); myDependencyTrackers.put(dependencyName, ssl); myDependencyDescMap.put(dependencyName,
public DynamixelTracker(final OpenServoControlLoop osLoop){ BundleContext context = OSGiUtils.getBundleContext(ServoController.class); myTracker = new SingleServiceListener<ServoController>( ServoController.class, context, OSGiUtils.createFilter(ServoController.PROP_VERSION, DynamixelController.VERSION.toString())); myTracker.addPropertyChangeListener(SingleServiceListener.PROP_SERVICE_TRACKED, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { DynamixelController controller = (DynamixelController)evt.getNewValue(); if(controller == null){ throw new IllegalArgumentException(); } DynamixelControlLoop loop = controller.getControlLoop(); if(loop == null){ throw new IllegalArgumentException(); } loop.setOpenServoLoop(osLoop); } }); myTracker.start(); }