/** * Closes this tracker */ public void close(){ nameTracker.close(); nameTracker = null; } /**
/** * Getter for the map with the names and the {@link ServiceReference} of the * chain with the highest priority for that name. * @return the map with the names and {@link ServiceReference}s of all * currently active and tracked chains */ public Map<String,ServiceReference> getActiveChainReferences(){ return nameTracker.getActive(); } /*
@Override public Set<String> getActiveEngineNames(){ return nameTracker.getNames(); } /**
nameTracker.close(); //try to close the current ServiceTracker this.nameTracker = new NameBasedServiceTrackingState(context, Chain.class.getName(), PROPERTY_NAME,customiser); } else { this.nameTracker = new NameBasedServiceTrackingState(context, context.createFilter(filterString.toString()), PROPERTY_NAME, customiser); } catch (InvalidSyntaxException e) {
public EnhancementEngine getEngine(ServiceReference engineReference){ return (EnhancementEngine)nameTracker.getService(engineReference); } /**
public ServiceReference getReference(String name){ Map<String,List<ServiceReference>> state = getState(); List<ServiceReference> refs = state.get(name); return refs == null ? null : refs.get(0); } }
@Override public boolean isEngine(String name) { if(name == null || name.isEmpty()){ throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty"); } return nameTracker.getReference(name) != null; } /*
/** * Starts tracking based on the configuration parsed in the constructor */ public void open(){ nameTracker.open(); } /**
@Override public List<ServiceReference> getReferences(String name) throws IllegalArgumentException { if(name == null || name.isEmpty()){ throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty"); } if(trackedEngines.isEmpty() || trackedEngines.contains(name)){ List<ServiceReference> refs = nameTracker.getReferences(name); if(refs == null){ refs = Collections.emptyList(); } return refs; } else { throw new IllegalArgumentException("The Engine with the parsed name '"+ name+"' is not tracked (tracked: "+trackedEngines+")!"); } } /*
ServiceReference[] serviceRefs = getServiceReferences(); if(serviceRefs != null){ for(ServiceReference ref : serviceRefs){
nameTracker.close(); //try to close the existing service tracker instance this.nameTracker = new NameBasedServiceTrackingState(context, EnhancementEngine.class.getName(), PROPERTY_NAME, customiser); } else { StringBuilder filterString = new StringBuilder(); this.nameTracker = new NameBasedServiceTrackingState(context, context.createFilter(filterString.toString()), PROPERTY_NAME, customiser); } catch (InvalidSyntaxException e) {
public EnhancementEngine getEngine(ServiceReference engineReference){ return (EnhancementEngine)nameTracker.getService(engineReference); } /**
public List<ServiceReference> getReferences(String name){ Map<String,List<ServiceReference>> state = getState(); List<ServiceReference> refs = state.get(name); return refs == null ? null : Collections.unmodifiableList(refs); } public ServiceReference getReference(String name){
@Override public boolean isEngine(String name) { if(name == null || name.isEmpty()){ throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty"); } return nameTracker.getReference(name) != null; } /*
/** * Starts tracking based on the configuration parsed in the constructor */ public void open(){ nameTracker.open(); } /**
@Override public List<ServiceReference> getReferences(String name) throws IllegalArgumentException { if(name == null || name.isEmpty()){ throw new IllegalArgumentException("The parsed name MUST NOT be NULL or empty"); } if(trackedEngines.isEmpty() || trackedEngines.contains(name)){ List<ServiceReference> refs = nameTracker.getReferences(name); if(refs == null){ refs = Collections.emptyList(); } return refs; } else { throw new IllegalArgumentException("The Engine with the parsed name '"+ name+"' is not tracked (tracked: "+trackedEngines+")!"); } } /*
ServiceReference[] serviceRefs = getServiceReferences(); if(serviceRefs != null){ for(ServiceReference ref : serviceRefs){
nameTracker.close(); //try to close the existing service tracker instance this.nameTracker = new NameBasedServiceTrackingState(context, EnhancementEngine.class.getName(), PROPERTY_NAME, customiser); } else { StringBuilder filterString = new StringBuilder(); this.nameTracker = new NameBasedServiceTrackingState(context, context.createFilter(filterString.toString()), PROPERTY_NAME, customiser); } catch (InvalidSyntaxException e) {
public Chain getChain(ServiceReference chainReference){ return (Chain)nameTracker.getService(chainReference); }
public List<ServiceReference> getReferences(String name){ Map<String,List<ServiceReference>> state = getState(); List<ServiceReference> refs = state.get(name); return refs == null ? null : Collections.unmodifiableList(refs); } public ServiceReference getReference(String name){