@Override protected LinkedHashMap<String, Callable<? extends ChannelHandler>> getCustomChildChannelHandlers(MessageInput input) { final LinkedHashMap<String, Callable<? extends ChannelHandler>> finalChannelHandlers = new LinkedHashMap<>(super.getCustomChildChannelHandlers(input)); // Replace the "framer" channel handler inserted by the parent. finalChannelHandlers.replace("framer", () -> new SyslogTCPFramingRouterHandler(maxFrameLength, delimiter)); return finalChannelHandlers; }
@Override protected LinkedHashMap<String, Callable<? extends ChannelHandler>> getChannelHandlers(MessageInput input) { final LinkedHashMap<String, Callable<? extends ChannelHandler>> handlers = new LinkedHashMap<>(super.getChannelHandlers(input)); // Replace the default "codec-aggregator" handler with one that passes the remote address final RemoteAddressCodecAggregator aggregator = (RemoteAddressCodecAggregator) getAggregator(); handlers.replace("codec-aggregator", () -> new NetflowMessageAggregationHandler(aggregator, localRegistry)); handlers.remove("udp-datagram"); return handlers; }
@Override public synchronized boolean replace(Object key, Object oldValue, Object newValue) { return propertyMap.replace(key, oldValue, newValue); }
@Override public synchronized Object replace(Object key, Object value) { return propertyMap.replace(key, value); }
public ChildElementSorter(DependencySortOrder dependencySortOrder, List<Element> children) { Collection<String> childElementNames = dependencySortOrder.getChildElementNames(); childElementNames.forEach(name -> childElementTextMappedBySortedNames.put(name.toUpperCase(), "")); children.forEach(element -> childElementTextMappedBySortedNames.replace(element.getName().toUpperCase(), element.getText())); }