in src/main/java/org/apache/sling/jcr/base/internal/loader/Loader.java [192:221]
private void registerNamespaces(final Bundle bundle) throws RepositoryException {
final String definition = bundle.getHeaders().get(NAMESPACES_BUNDLE_HEADER);
if ( definition != null ) {
logger.debug("registerNamespaces: Bundle {} tries to register: {}",
getBundleIdentifier(bundle), definition);
final StringTokenizer st = new StringTokenizer(definition, ",");
final List<NamespaceEntry>entries = new ArrayList<NamespaceEntry>();
while ( st.hasMoreTokens() ) {
final String token = st.nextToken().trim();
int pos = token.indexOf('=');
if ( pos == -1 ) {
logger.warn("registerNamespaces: Bundle {} has an invalid namespace manifest header entry: {}",
getBundleIdentifier(bundle), token);
} else {
final String prefix = token.substring(0, pos).trim();
final String namespace = token.substring(pos+1).trim();
entries.add(new NamespaceEntry(prefix, namespace));
}
}
if ( entries.size() > 0 ) {
final Session session = this.getSession();
try {
this.defineNamespacePrefixes(bundle, session, entries);
} finally {
this.ungetSession(session);
}
}
}
}