@Override public boolean matches(Node n) { return clazz.isAssignableFrom(n.getClass()) && n.getNodeName().equals(name); }
public String debugName() { return "[" + getClass().getSimpleName() + ":" + getNodeName() + "]"; }
public String debugName() { return "[" + getClass().getSimpleName() + ":" + getNodeName() + "]"; }
@Override public boolean matches(Node n) { return clazz.isAssignableFrom(n.getClass()) && n.getNodeName().equals(name); }
@JsonIgnore public String getNameToClass(Class<?> clazz) { String name = getNodeName(); if (parent == null || clazz.isAssignableFrom(parent.getClass())) { return name; } else { return parent.getNameToRoot() + "." + name; } }
@JsonIgnore public String getNameToClass(Class<?> clazz) { String name = getNodeName(); if (parent == null || clazz.isAssignableFrom(parent.getClass())) { return name; } else { return parent.getNameToRoot() + "." + name; } }
private Map<String, Object> serializedNonNodeFields() { List<Field> fields = Arrays.stream(this.getClass().getDeclaredFields()).filter(f -> { return (!(Node.class.isAssignableFrom(f.getType()) || List.class.isAssignableFrom(f.getType()) || Map.class.isAssignableFrom(f.getType()) || f.getAnnotation(JsonIgnore.class) != null)); }).collect(Collectors.toList()); Map<String, Object> res = new HashMap<>(); for (Field field : fields) { field.setAccessible(true); try { res.put(field.getName(), field.get(this)); } catch (IllegalAccessException e) { throw new RuntimeException( "Failed to read field " + field.getName() + " in node " + getNodeName()); } field.setAccessible(false); } return res; }
public void stageLocalFiles(Path outputPath) { if (!GlobalApplicationOptions.getInstance().isUseRemoteDaemon()) { return; } localFiles().forEach(f -> { try { f.setAccessible(true); String fContent = (String) f.get(this); if (fContent != null) { CRC32 crc = new CRC32(); crc.update(fContent.getBytes()); String fPath = Paths .get(outputPath.toAbsolutePath().toString(), Long.toHexString(crc.getValue())) .toString(); FileUtils.writeStringToFile(new File(fPath), fContent); f.set(this, fPath); } } catch (IllegalAccessException | IOException e) { throw new RuntimeException("Failed to get local files for node " + this.getNodeName(), e); } finally { f.setAccessible(false); } }); }
public void stageLocalFiles(Path outputPath) { if (!GlobalApplicationOptions.getInstance().isUseRemoteDaemon()) { return; } localFiles().forEach(f -> { try { f.setAccessible(true); String fContent = (String) f.get(this); if (fContent != null) { CRC32 crc = new CRC32(); crc.update(fContent.getBytes()); String fPath = Paths .get(outputPath.toAbsolutePath().toString(), Long.toHexString(crc.getValue())) .toString(); FileUtils.writeStringToFile(new File(fPath), fContent); f.set(this, fPath); } } catch (IllegalAccessException | IOException e) { throw new RuntimeException("Failed to get local files for node " + this.getNodeName(), e); } finally { f.setAccessible(false); } }); }
@Override public NodeIterator getChildren() { List<Node> nodes = new ArrayList<Node>(); NodeIterator children = NodeIteratorFactory.makeReflectiveIterator(this); Node child = children.getNext(); while (child != null) { if (!child.getNodeName().equals("oracle") && !child.getNodeName().equals("oraclebmcs")) { nodes.add(child); } child = children.getNext(); } nodes.add(OraclePersistentStore.mergeOracleBMCSPersistentStore(oracle, oraclebmcs)); return NodeIteratorFactory.makeListIterator(nodes); }
@Override public NodeIterator getChildren() { List<Node> nodes = new ArrayList<Node>(); NodeIterator children = NodeIteratorFactory.makeReflectiveIterator(this); Node child = children.getNext(); while (child != null) { if (!child.getNodeName().equals("oracle") && !child.getNodeName().equals("oraclebmcs")) { nodes.add(child); } child = children.getNext(); } nodes.add(OracleProvider.mergeOracleBMCSProvider(oracle, oraclebmcs)); return NodeIteratorFactory.makeListIterator(nodes); }
@Override public NodeIterator getChildren() { List<Node> nodes = new ArrayList<Node>(); NodeIterator children = NodeIteratorFactory.makeReflectiveIterator(this); Node child = children.getNext(); while (child != null) { if (!child.getNodeName().equals("oracle") && !child.getNodeName().equals("oraclebmcs")) { nodes.add(child); } child = children.getNext(); } nodes.add(OracleProvider.mergeOracleBMCSProvider(oracle, oraclebmcs)); return NodeIteratorFactory.makeListIterator(nodes); }
@Override public NodeIterator getChildren() { List<Node> nodes = new ArrayList<Node>(); NodeIterator children = NodeIteratorFactory.makeReflectiveIterator(this); Node child = children.getNext(); while (child != null) { if (!child.getNodeName().equals("oracle") && !child.getNodeName().equals("oraclebmcs")) { nodes.add(child); } child = children.getNext(); } nodes.add(OraclePersistentStore.mergeOracleBMCSPersistentStore(oracle, oraclebmcs)); return NodeIteratorFactory.makeListIterator(nodes); }
private Map<String, Node> serializedNodeFields() { Map<String, Node> res = new HashMap<>(); NodeIterator iterator = this.getChildren(); Node next = iterator.getNext(); while (next != null) { res.put(next.getNodeName(), next); next = iterator.getNext(); } return res; }
private Map<String, Node> serializedNodeFields() { Map<String, Node> res = new HashMap<>(); NodeIterator iterator = this.getChildren(); Node next = iterator.getNext(); while (next != null) { res.put(next.getNodeName(), next); next = iterator.getNext(); } return res; }
/** * @param node is the node whose children we want to find. * @param filter is the filter to lookup by. * @return the children of the input node matching the filter. */ private List<Node> getMatchingNodes(Node node, NodeFilter filter) { log.trace("Checking for leaf nodes of node " + node.getNodeName()); List<Node> result = new ArrayList<>(); NodeIterator children = node.getChildren(); Node recurse = children.getNext(filter); while (recurse != null) { result.addAll(getMatchingNodes(recurse, filter)); recurse = children.getNext(filter); } // If we have visited this node, it must have matched the filter. result.add(node); return result; }
/** * @param node is the node whose children we want to find. * @param filter is the filter to lookup by. * @return the children of the input node matching the filter. */ private List<Node> getMatchingNodes(Node node, NodeFilter filter) { log.trace("Checking for leaf nodes of node " + node.getNodeName()); List<Node> result = new ArrayList<>(); NodeIterator children = node.getChildren(); Node recurse = children.getNext(filter); while (recurse != null) { result.addAll(getMatchingNodes(recurse, filter)); recurse = children.getNext(filter); } // If we have visited this node, it must have matched the filter. result.add(node); return result; }
private void recursiveValidate(ConfigProblemSetBuilder psBuilder, Node node, NodeFilter filter) { int runCount = validatorCollection.runAllValidators(psBuilder, node); log.info("Ran " + runCount + " validators for node \"" + node.getNodeName() + "\" with class \"" + node.getClass().getSimpleName() + "\""); NodeIterator children = node.getChildren(); Node recurse = children.getNext(filter); while (recurse != null) { recursiveValidate(psBuilder, recurse, filter); recurse = children.getNext(filter); } } }
private void recursiveValidate(ConfigProblemSetBuilder psBuilder, Node node, NodeFilter filter) { int runCount = validatorCollection.runAllValidators(psBuilder, node); log.info("Ran " + runCount + " validators for node \"" + node.getNodeName() + "\" with class \"" + node.getClass().getSimpleName() + "\""); NodeIterator children = node.getChildren(); Node recurse = children.getNext(filter); while (recurse != null) { recursiveValidate(psBuilder, recurse, filter); recurse = children.getNext(filter); } } }
public static String format(Node node) { AnsiStoryBuilder resultBuilder = new AnsiStoryBuilder(); AnsiParagraphBuilder paragraph = resultBuilder.addParagraph(); paragraph.addSnippet(node.getNodeName().toUpperCase()).addStyle(AnsiStyle.BOLD); resultBuilder.addNewline(); paragraph = resultBuilder.addParagraph(); paragraph.addSnippet(node.toString()); return resultBuilder.toString(); }