@Test public void recursiveMarker() throws Throwable { LoggingEvent event = createMinimalEvent(); Marker marker = new Marker("marker"); Marker markerTwo1 = new Marker("markerTwo1"); Marker markerTwo2 = new Marker("markerTwo2"); Marker markerThree = new Marker("markerThree"); marker.add(markerTwo1); marker.add(markerTwo2); markerTwo2.add(markerThree); markerThree.add(markerTwo1); event.setMarker(marker); check(event); }
private static Set<String> collectMarkerNames(Marker marker, Set<String> collectedMarkerNames) { if(collectedMarkerNames == null) { collectedMarkerNames = new HashSet<>(); } if(!collectedMarkerNames.contains(marker.getName())) { collectedMarkerNames.add(marker.getName()); if(marker.hasReferences()) { for(Map.Entry<String, Marker> current : marker.getReferences().entrySet()) { Marker child = current.getValue(); if(!collectedMarkerNames.contains(child.getName())) { collectMarkerNames(child, collectedMarkerNames); } } } } return collectedMarkerNames; }
public boolean contains(Marker other) { if(other == null) { throw new IllegalArgumentException("Other cannot be null"); } if(this.name.equals(other.name)) { // see comment in c'tor return true; } if(hasReferences()) { Set<String> collectedMarkers = collectMarkerNames(this, null); return collectedMarkers.contains(other.getName()); } return false; }
public boolean contains(String name) { if(name == null) { return false; // as documented in Marker interface. } if(this.name.equals(name)) { return true; } if(hasReferences()) { return collectMarkerNames().contains(name); } return false; }
protected void recursiveToString(StringBuilder result, Map<String, Marker> processedMarkers, Marker marker) if(processedMarkers.containsKey(marker.getName())) result.append("Marker[ref=").append(marker.getName()); processedMarkers.put(marker.getName(), marker); result.append("Marker[name=").append(marker.getName()); if(marker.hasReferences()) Map<String, Marker> children = marker.getReferences(); boolean first = true; for(Map.Entry<String, Marker> current : children.entrySet())
public void remove(Marker marker) { if(references != null) { references.remove(marker.getName()); } }
@Test public void singleMarker() throws Throwable { LoggingEvent event = createMinimalEvent(); Marker marker = new Marker("marker"); event.setMarker(marker); check(event); }
public Set<String> collectMarkerNames() { return collectMarkerNames(this, null); }
if(checkString(marker.getName())) if(!processedMarkers.contains(marker.getName())) processedMarkers.add(marker.getName()); if(marker.hasReferences()) Map<String, Marker> children = marker.getReferences();
@Test public void childMarker() throws Throwable { LoggingEvent event = createMinimalEvent(); Marker marker = new Marker("marker"); Marker markerTwo1 = new Marker("markerTwo1"); Marker markerTwo2 = new Marker("markerTwo2"); marker.add(markerTwo1); marker.add(markerTwo2); event.setMarker(marker); check(event); }
private void writeMarkerNode(XMLStreamWriter writer, String prefix, Marker marker, List<String> handledMarkers) throws XMLStreamException String markerName = marker.getName(); if(handledMarkers.contains(markerName)) boolean hasChildren = marker.hasReferences(); if(hasChildren) if(hasChildren) Map<String, Marker> children = marker.getReferences(); for(Map.Entry<String, Marker> current : children.entrySet())
private Marker initMarkerRecursive(org.apache.logging.log4j.Marker origMarker, Map<String, Marker> markers) { if(origMarker == null) { return null; } String name = origMarker.getName(); if(markers.containsKey(name)) { return markers.get(name); } Marker newMarker = new Marker(name); markers.put(name, newMarker); org.apache.logging.log4j.Marker[] parents = origMarker.getParents(); if(parents != null) { for (org.apache.logging.log4j.Marker current : parents) { newMarker.add(initMarkerRecursive(current, markers)); } } return newMarker; }
private Marker initMarkerRecursive(org.slf4j.Marker origMarker, Map<String, Marker> markers) { if(origMarker == null) { return null; } String name = origMarker.getName(); if(markers.containsKey(name)) { return markers.get(name); } Marker newMarker = new Marker(name); markers.put(name, newMarker); if(origMarker.hasReferences()) { Iterator iter = origMarker.iterator(); while(iter.hasNext()) { org.slf4j.Marker current = (org.slf4j.Marker) iter.next(); newMarker.add(initMarkerRecursive(current, markers)); } } return newMarker; } }
private Marker initMarkerRecursive(org.slf4j.Marker origMarker, Map<String, Marker> markers) { if(origMarker == null) { return null; } String name = origMarker.getName(); if(markers.containsKey(name)) { return markers.get(name); } Marker newMarker = new Marker(name); markers.put(name, newMarker); if(origMarker.hasReferences()) { Iterator iter = origMarker.iterator(); while(iter.hasNext()) { org.slf4j.Marker current = (org.slf4j.Marker) iter.next(); newMarker.add(initMarkerRecursive(current, markers)); } } return newMarker; }
event.setNdc(ndc); Marker marker = new Marker("marker"); Marker markerTwo1 = new Marker("markerTwo1"); Marker markerTwo2 = new Marker("markerTwo2"); Marker markerThree = new Marker("markerThree"); marker.add(markerTwo1); marker.add(markerTwo2); markerTwo2.add(markerThree); markerThree.add(markerTwo1); event.setMarker(marker);