in src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java [103:125]
private void defineNamespacePrefixes(final Bundle bundle, final Session session, final List<NamespaceEntry> entries)
throws RepositoryException {
for(final NamespaceEntry entry : entries) {
// the namespace prefixing is a little bit tricky:
String mappedPrefix = null;
// first, we check if the namespace is registered with a prefix
try {
mappedPrefix = session.getNamespacePrefix(entry.namespace);
} catch (final NamespaceException ne) {
try {
session.getWorkspace().getNamespaceRegistry().registerNamespace(entry.prefix, entry.namespace);
} catch (final NamespaceException ne2) {
logger.warn("Unable to register namespace {}:{} from bundle {} : {}",
new Object[] {entry.prefix, entry.namespace, entry.prefix, getBundleIdentifier(bundle), ne2.getMessage()});
}
}
if ( mappedPrefix != null && !mappedPrefix.equals(entry.prefix ) ) {
logger.warn("Namespace for {} is already registered with prefix {}. Ignoring prefix {} from bundle {}",
new Object[] {entry.namespace, mappedPrefix, entry.prefix, getBundleIdentifier(bundle)});
}
}
}