in src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProviderFactory.java [167:206]
private String getPrefix(final ServiceReference<Servlet> ref) {
Object value = ref.getProperty(SLING_SERVLET_PREFIX);
if ( value == null ) {
if ( this.servletRoot != null ) {
return this.servletRoot;
}
value = this.servletRootIndex;
}
int index = -1;
if ( value instanceof Number ) {
index = ((Number)value).intValue();
} else {
String s = value.toString();
if ( !s.startsWith("/") ) {
boolean isNumber = false;
try {
index = Integer.valueOf(s);
isNumber = true;
} catch (NumberFormatException nfe) {
// ignore
}
if ( !isNumber ) {
if (log.isDebugEnabled()) {
log.debug("getPrefix({}): Configuration property is ignored {}",
getServiceReferenceInfo(ref), value);
}
if ( this.servletRoot != null ) {
return this.servletRoot;
}
index = this.servletRootIndex;
}
} else {
return s;
}
}
if ( index == -1 || index >= this.searchPath.size() ) {
index = this.searchPath.size() - 1;
}
return this.searchPath.get(index);
}