private void recordFailedFilterDTO( ServiceReference<Filter> serviceReference, int failureReason) { FailedFilterDTO failedFilterDTO = new FailedFilterDTO(); failedFilterDTO.asyncSupported = BooleanPlus.from( serviceReference.getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_ASYNC_SUPPORTED), false); failedFilterDTO.dispatcher = StringPlus.from( serviceReference.getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_DISPATCHER)).toArray(new String[0]); failedFilterDTO.failureReason = failureReason; failedFilterDTO.initParams = ServiceProperties.parseInitParams( serviceReference, HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_INIT_PARAM_PREFIX); failedFilterDTO.name = (String)serviceReference.getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_NAME); failedFilterDTO.patterns = StringPlus.from( serviceReference.getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN)).toArray(new String[0]); failedFilterDTO.regexs = StringPlus.from( serviceReference.getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_REGEX)).toArray(new String[0]); failedFilterDTO.serviceId = (Long)serviceReference.getProperty(Constants.SERVICE_ID); failedFilterDTO.servletContextId = contextController.getServiceId(); failedFilterDTO.servletNames = StringPlus.from( serviceReference.getProperty(HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_SERVLET)).toArray(new String[0]); contextController.getHttpServiceRuntime().recordFailedFilterDTO(serviceReference, failedFilterDTO); }
} else if (dto instanceof FilterDTO) { FilterDTO filterDTO = ((FilterDTO) dto); FailedFilterDTO failedFilterDTO = new FailedFilterDTO(); failedFilterDTO.failureReason = failureReason; failedFilterDTO.serviceId = filterDTO.serviceId;
/** * Build a filter DTO from a filter info * @param info The filter info * @return A filter DTO */ public static @NotNull FilterDTO build(@NotNull final FilterInfo info, final int reason) { final FilterDTO filterDTO = (reason != -1 ? new FailedFilterDTO() : new FilterDTO()); filterDTO.asyncSupported = info.isAsyncSupported(); filterDTO.dispatcher = getNames(info.getDispatcher()); filterDTO.initParams = info.getInitParameters(); filterDTO.name = info.getName(); filterDTO.patterns = BuilderConstants.copyWithDefault(info.getPatterns(), BuilderConstants.EMPTY_STRING_ARRAY); filterDTO.regexs = BuilderConstants.copyWithDefault(info.getRegexs(), BuilderConstants.EMPTY_STRING_ARRAY); filterDTO.serviceId = info.getServiceId(); filterDTO.servletNames = BuilderConstants.copyWithDefault(info.getServletNames(), BuilderConstants.EMPTY_STRING_ARRAY); if ( reason != -1 ) { ((FailedFilterDTO)filterDTO).failureReason = reason; } return filterDTO; }
/** * Build a filter DTO from a filter info * @param info The filter info * @return A filter DTO */ public static @NotNull FilterDTO build(@NotNull final FilterInfo info, final int reason) { final FilterDTO filterDTO = (reason != -1 ? new FailedFilterDTO() : new FilterDTO()); filterDTO.asyncSupported = info.isAsyncSupported(); filterDTO.dispatcher = getNames(info.getDispatcher()); filterDTO.initParams = info.getInitParameters(); filterDTO.name = info.getName(); filterDTO.patterns = BuilderConstants.copyWithDefault(info.getPatterns(), BuilderConstants.EMPTY_STRING_ARRAY); filterDTO.regexs = BuilderConstants.copyWithDefault(info.getRegexs(), BuilderConstants.EMPTY_STRING_ARRAY); filterDTO.serviceId = info.getServiceId(); filterDTO.servletNames = BuilderConstants.copyWithDefault(info.getServletNames(), BuilderConstants.EMPTY_STRING_ARRAY); if ( reason != -1 ) { ((FailedFilterDTO)filterDTO).failureReason = reason; } return filterDTO; }
public static FailedFilterDTO clone(FailedFilterDTO original) { FailedFilterDTO clone = new FailedFilterDTO(); clone.asyncSupported = copy(original.asyncSupported); clone.dispatcher = copy(original.dispatcher); clone.failureReason = copy(original.failureReason); clone.initParams = copyStringMap(original.initParams); clone.name = copy(original.name); clone.patterns = copy(original.patterns); clone.regexs = copy(original.regexs); clone.serviceId = copy(original.serviceId); clone.servletContextId = copy(original.servletContextId); clone.servletNames = copy(original.servletNames); return clone; }