in src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProviderFactory.java [169:210]
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);
}