in rsa/src/main/java/org/apache/aries/rsa/core/RemoteServiceAdminCore.java [625:651]
static void overlayProperties(Map<String, Object> serviceProperties,
Map<String, Object> additionalProperties) {
Map<String, String> keysLowerCase = new HashMap<>();
for (String key : serviceProperties.keySet()) {
keysLowerCase.put(key.toLowerCase(), key);
}
for (Map.Entry<String, Object> e : additionalProperties.entrySet()) {
String key = e.getKey();
String lowerKey = key.toLowerCase();
if (org.osgi.framework.Constants.SERVICE_ID.toLowerCase().equals(lowerKey)
|| org.osgi.framework.Constants.OBJECTCLASS.toLowerCase().equals(lowerKey)) {
// objectClass and service.id must not be overwritten
LOG.info("exportService called with additional properties map that contained illegal key: {}," +
" the key is ignored", key);
} else {
String origKey = keysLowerCase.get(lowerKey);
if (origKey != null) {
LOG.debug("Overwriting property [{}] with value [{}]", origKey, e.getValue());
} else {
origKey = key;
keysLowerCase.put(lowerKey, origKey);
}
serviceProperties.put(origKey, e.getValue());
}
}
}