in src/main/java/org/apache/sling/discovery/impl/standalone/ProviderInfo.java [37:60]
public ProviderInfo(final PropertyProvider provider, final Map<String, Object> serviceProps) {
this.provider = provider;
final Object sr = serviceProps.get(Constants.SERVICE_RANKING);
if ( sr == null || !(sr instanceof Integer)) {
this.ranking = 0;
} else {
this.ranking = (Integer)sr;
}
this.serviceId = (Long)serviceProps.get(Constants.SERVICE_ID);
final Object namesObj = serviceProps.get(PropertyProvider.PROPERTY_PROPERTIES);
if ( namesObj instanceof String ) {
final String val = provider.getProperty((String)namesObj);
if ( val != null ) {
this.properties.put((String)namesObj, val);
}
} else if ( namesObj instanceof String[] ) {
for(final String name : (String[])namesObj ) {
final String val = provider.getProperty(name);
if ( val != null ) {
this.properties.put(name, val);
}
}
}
}