in http/inventoryprinter/src/main/java/org/apache/felix/http/inventoryprinter/impl/HttpInventoryPrinter.java [158:399]
private void printConfiguration(final PrintWriter pw) {
final RuntimeDTO dto = this.runtime.getRuntimeDTO();
pw.println("HTTP Service Details");
pw.println("====================");
pw.println();
pw.println("Runtime Properties");
pw.println("------------------");
for(final Map.Entry<String, Object> prop : dto.serviceDTO.properties.entrySet()) {
pw.print(prop.getKey());
pw.print(" : ");
pw.println(getValueAsString(prop.getValue()));
}
pw.println();
if (dto.preprocessorDTOs.length > 0) {
pw.println("Preprocessors");
pw.println("-------------");
for(final PreprocessorDTO pp : dto.preprocessorDTOs) {
printServiceIdAndRanking(pw, this.getServiceReference(pp.serviceId), pp.serviceId);
pw.println();
}
pw.println();
}
for(final ServletContextDTO ctxDto : dto.servletContextDTOs ) {
pw.print("Servlet Context ");
pw.println(ctxDto.name);
pw.println("-----------------------------------------------");
pw.print("Path : ");
pw.println(getContextPath(ctxDto.contextPath));
printServiceIdAndRanking(pw, this.getServiceReference(ctxDto.serviceId), ctxDto.serviceId);
pw.println();
if ( ctxDto.servletDTOs.length > 0 ) {
pw.println("Servlets");
for (final ServletDTO servlet : ctxDto.servletDTOs) {
pw.print("Patterns : ");
pw.println(getValueAsString(servlet.patterns));
pw.print("Name : ");
pw.println(servlet.name);
pw.print("async : ");
pw.println(String.valueOf(servlet.asyncSupported));
printServiceIdAndRanking(pw, this.getServiceReference(servlet.serviceId), servlet.serviceId);
pw.println();
}
pw.println();
}
if ( ctxDto.filterDTOs.length > 0 ) {
pw.println("Filters");
for (final FilterDTO filter : ctxDto.filterDTOs) {
final List<String> patterns = new ArrayList<>();
patterns.addAll(Arrays.asList(filter.patterns));
patterns.addAll(Arrays.asList(filter.regexs));
for(final String name : filter.servletNames) {
patterns.add("Servlet : " + name);
}
Collections.sort(patterns);
pw.print("Patterns : ");
pw.println(patterns);
pw.print("Name : ");
pw.println(filter.name);
pw.print("async : ");
pw.println(String.valueOf(filter.asyncSupported));
pw.print("dispatcher : ");
pw.println(getValueAsString(filter.dispatcher));
printServiceIdAndRanking(pw, this.getServiceReference(filter.serviceId), filter.serviceId);
pw.println();
}
pw.println();
}
if ( ctxDto.resourceDTOs.length > 0 ) {
pw.println("Resources");
for (final ResourceDTO rsrc : ctxDto.resourceDTOs) {
pw.print("Patterns : ");
pw.println(getValueAsString(rsrc.patterns));
pw.print("Prefix : ");
pw.println(rsrc.prefix);
printServiceIdAndRanking(pw, this.getServiceReference(rsrc.serviceId), rsrc.serviceId);
pw.println();
}
pw.println();
}
if ( ctxDto.errorPageDTOs.length > 0 ) {
pw.println("Error Pages");
for (final ErrorPageDTO ep : ctxDto.errorPageDTOs) {
final List<String> patterns = new ArrayList<>();
for(final long p : ep.errorCodes) {
patterns.add(String.valueOf(p));
}
for(final String p : ep.exceptions) {
patterns.add(p);
}
pw.print("Patterns : ");
pw.println(patterns);
pw.print("Name : ");
pw.println(ep.name);
pw.print("async : ");
pw.println(String.valueOf(ep.asyncSupported));
printServiceIdAndRanking(pw, this.getServiceReference(ep.serviceId), ep.serviceId);
pw.println();
}
pw.println();
}
if ( ctxDto.listenerDTOs.length > 0 ) {
pw.println("Listeners");
for (final ListenerDTO ep : ctxDto.listenerDTOs) {
pw.print("Types : ");
pw.println(getValueAsString(ep.types));
printServiceIdAndRanking(pw, this.getServiceReference(ep.serviceId), ep.serviceId);
pw.println();
}
pw.println();
}
pw.println();
}
if (dto.failedPreprocessorDTOs.length > 0) {
pw.println("Failed Preprocessors");
pw.println("--------------------");
for(final FailedPreprocessorDTO pp : dto.failedPreprocessorDTOs) {
printServiceIdAndRanking(pw, this.getServiceReference(pp.serviceId), pp.serviceId);
pw.print("Reason : ");
pw.println(getErrorText(pp.failureReason));
pw.println();
}
pw.println();
}
if ( dto.failedServletContextDTOs.length > 0 ) {
for(final FailedServletContextDTO ctxDto : dto.failedServletContextDTOs ) {
pw.print("Failed Servlet Context ");
pw.println(ctxDto.name);
pw.println("-----------------------------------------------");
pw.print("Reason : ");
pw.println(getErrorText(ctxDto.failureReason));
pw.print("Path : ");
pw.println(getContextPath(ctxDto.contextPath));
printServiceIdAndRanking(pw, this.getServiceReference(ctxDto.serviceId), ctxDto.serviceId);
pw.println();
}
}
if ( dto.failedServletDTOs.length > 0 ) {
pw.println("Failed Servlets");
for (final FailedServletDTO servlet : dto.failedServletDTOs) {
pw.print("Patterns : ");
pw.println(getValueAsString(servlet.patterns));
pw.print("Reason : ");
pw.println(getErrorText(servlet.failureReason));
pw.print("Name : ");
pw.println(servlet.name);
pw.print("async : ");
pw.println(String.valueOf(servlet.asyncSupported));
printServiceIdAndRanking(pw, this.getServiceReference(servlet.serviceId), servlet.serviceId);
pw.println();
}
pw.println();
}
if ( dto.failedFilterDTOs.length > 0 ) {
pw.println("Failed Filters");
for (final FailedFilterDTO filter : dto.failedFilterDTOs) {
final List<String> patterns = new ArrayList<>();
patterns.addAll(Arrays.asList(filter.patterns));
patterns.addAll(Arrays.asList(filter.regexs));
for(final String name : filter.servletNames) {
patterns.add("Servlet : " + name);
}
Collections.sort(patterns);
pw.print("Patterns : ");
pw.println(patterns);
pw.print("Reason : ");
pw.println(getErrorText(filter.failureReason));
pw.print("Name : ");
pw.println(filter.name);
pw.print("async : ");
pw.println(String.valueOf(filter.asyncSupported));
pw.print("dispatcher : ");
pw.println(getValueAsString(filter.dispatcher));
printServiceIdAndRanking(pw, this.getServiceReference(filter.serviceId), filter.serviceId);
pw.println();
}
pw.println();
}
if ( dto.failedResourceDTOs.length > 0 ) {
pw.println("Failed Resources");
for (final FailedResourceDTO rsrc : dto.failedResourceDTOs) {
pw.print("Patterns : ");
pw.println(getValueAsString(rsrc.patterns));
pw.print("Reason : ");
pw.println(getErrorText(rsrc.failureReason));
pw.print("Prefix : ");
pw.println(rsrc.prefix);
printServiceIdAndRanking(pw, this.getServiceReference(rsrc.serviceId), rsrc.serviceId);
pw.println();
}
pw.println();
}
if ( dto.failedErrorPageDTOs.length > 0 ) {
pw.println("Failed Error Pages");
for (final FailedErrorPageDTO ep : dto.failedErrorPageDTOs) {
final List<String> patterns = new ArrayList<>();
for(final long p : ep.errorCodes) {
patterns.add(String.valueOf(p));
}
for(final String p : ep.exceptions) {
patterns.add(p);
}
pw.print("Patterns : ");
pw.println(patterns);
pw.print("Reason : ");
pw.println(getErrorText(ep.failureReason));
pw.print("Name : ");
pw.println(ep.name);
pw.print("async : ");
pw.println(String.valueOf(ep.asyncSupported));
printServiceIdAndRanking(pw, this.getServiceReference(ep.serviceId), ep.serviceId);
pw.println();
}
pw.println();
}
if ( dto.failedListenerDTOs.length > 0 ) {
pw.println("Failed Listeners");
for (final FailedListenerDTO ep : dto.failedListenerDTOs) {
pw.print("Types : ");
pw.println(getValueAsString(ep.types));
pw.print("Reason : ");
pw.println(getErrorText(ep.failureReason));
printServiceIdAndRanking(pw, this.getServiceReference(ep.serviceId), ep.serviceId);
pw.println();
}
pw.println();
}
pw.println();
}