@Override public List<Reference> adapt(Descriptor a) { return registry.findAll(a); }}).adapt(desc); pn.addListener(listener);
@Override public OSGiCertificate register(RegistrationRequest request) { String[] classNames = request.getClassNames(); Dictionary props = null; if(request.getProperties() != null){ props = new Hashtable(request.getProperties()); } Object item = request.getItem(); ServiceRegistration reg = myContext.registerService(classNames, item, props); return reg == null ? null : new OSGiCertificate(reg); }
@Override public void modify(Certificate cert, Modification request) { if(!(cert instanceof OSGiCertificate)){ return; } Dictionary props = null; if(request.getProperties() != null){ props = new Hashtable<String,String>(request.getProperties()); } ((OSGiCertificate)cert).setProperties(props); }
/** * Converts a descriptor into an OSGi filter string. * @param a the descriptor * @return an OSGi filter string */ public static String getFullFilter(Descriptor a) { Set<String> keys = a.getPropertyKeys(); List<String> conditions = new ArrayList<String>(keys.size()); for(String key : a.getPropertyKeys()){ String val = a.getProperty(key); String condition = format(key, val); conditions.add(condition); } conditions.add(format(Constants.OBJECTCLASS, a.getClassName())); String filter; if(conditions.size() > 1) { filter = combine(conditions); } else if(conditions.size() == 1) { filter = conditions.get(0); } else { filter = null; } return filter; }
/** * Creates an OSGi filter string from a descriptor's properties. * @param a the descriptor * @return an OSGi filter string */ public static String getPropertiesFilter(Descriptor a) { Set<String> keys = a.getPropertyKeys(); List<String> conditions = new ArrayList<String>(keys.size()); for(String key : a.getPropertyKeys()){ String val = a.getProperty(key); String condition = format(key, val); conditions.add(condition); } String filter; if(conditions.size() > 1) { filter = combine(conditions); } else if(conditions.size() == 1) { filter = conditions.get(0); } else { filter = null; } return filter; } /**
private ServiceReference[] find(Descriptor a) { String className = a.getClassName(); String filter = OSGiRegistryUtil.getPropertiesFilter(a); try{ return myContext.getServiceReferences(className, filter); }catch(InvalidSyntaxException ex){ theLogger.log(Level.SEVERE, "Invalid LDAP filter: " + filter, ex); return null; } }
public void updateDisplay(Boolean status){ updateStatus(status); if(myDependency == null){ lblName.setText("--"); lblFilter.setText("--"); lblType.setText("--"); return; } String name = myDependency.getDependencyName(); Descriptor desc = myDependency.getDescriptor(); String type = desc.getClassName(); Properties props = new Properties(); for(String key: desc.getPropertyKeys()){ props.put(key, desc.getProperty(key)); } String filter = OSGiUtils.createServiceFilter(props); name = name == null ? "--" : name; type = type == null ? "--" : type; filter = filter == null ? "--" : filter; lblName.setText(name); lblFilter.setText(filter); lblType.setText(type); }
for(String s : sb.getDescriptor().getPropertyKeys()){ for(String f : myFilters){ Pattern p = Pattern.compile( for(ServiceBinding sb: thals.getDependencies().keySet()){ Descriptor desc = sb.getDescriptor(); for(String key : desc.getPropertyKeys()){ for(String f : myFilters){ String s = desc.getProperty(key); Pattern p = Pattern.compile( ".*" + f + ".*", Properties props = new Properties(); Descriptor desc = sb.getDescriptor(); for(String key: desc.getPropertyKeys()){ props.put(key, desc.getProperty(key));
/** * Returns an Adapter for finding a single reference. * @param registry the Registry * @return Adapter for finding a single reference */ public static Reference findSingle(Registry registry, Descriptor desc) { final List<Reference> find = registry.findAll(desc); if(find == null || find.isEmpty()){ return null; } return find.get(0); }
public void updateDisplay(Boolean status){ updateStatus(status, null); if(myDependency == null){ lblName.setText("--"); lblFilter.setText("--"); lblType.setText("--"); return; } String name = myDependency.getDependencyName(); Descriptor desc = myDependency.getDescriptor(); String type = desc.getClassName(); Properties props = new Properties(); for(String key: desc.getPropertyKeys()){ props.put(key, desc.getProperty(key)); } String filter = OSGiUtils.createServiceFilter(props); name = name == null ? "--" : name; type = type == null ? "--" : type; filter = filter == null ? "--" : filter; lblName.setText(name); lblFilter.setText(filter); lblType.setText(type); }
for(String s : sb.getDescriptor().getPropertyKeys()){ for(String f : myFilters){ Pattern p = Pattern.compile( for(ServiceBinding sb: thals.getDependencies().keySet()){ Descriptor desc = sb.getDescriptor(); for(String key : desc.getPropertyKeys()){ for(String f : myFilters){ String s = desc.getProperty(key); Pattern p = Pattern.compile( ".*" + f + ".*", Properties props = new Properties(); Descriptor desc = sb.getDescriptor(); for(String key: desc.getPropertyKeys()){ props.put(key, desc.getProperty(key));
/** * Returns an Adapter for finding all references. * @param registry the Registry * @param max the maximum number of parameters * @return Adapter for finding all references. */ public static List<Reference> findCount( Registry registry, Descriptor desc, final int max) { final List<Reference> find = registry.findAll(desc); if(find == null || find.size() <= max){ return find; } return find.subList(0, max); }