/** * Parses the serialized WiseML document and returns the {@link Node} instance with URN {@code * nodeID}. * * @param serializedWiseML the serialized WiseML document * @param nodeID the URN of the node to return * @return the {@link Node} instance with URN {@code nodeID} */ @SuppressWarnings("unused") public static Node getNode(final String serializedWiseML, final String nodeID) { Wiseml wiseml = deserialize(serializedWiseML); for (Setup.Node node : wiseml.getSetup().getNode()) { if (node.getId().equals(nodeID)) { return node; } } return null; }
/** * Reads out all nodes that are contained in the setup-part of the document. * * @param wiseml the WiseML document * @param types node types to include, e.g. "isense", "telosb" will include all iSense and all * TelosB nodes contained in the WiseML document * @return a List of {@link Node} instances */ @SuppressWarnings("unused") public static List<Node> getNodes(final Wiseml wiseml, final String... types) { List<String> nodeTypes = types == null ? null : Lists.newArrayList(types); List<Node> nodes = Lists.newArrayList(); for (Node node : wiseml.getSetup().getNode()) { if (types == null || types.length == 0) { nodes.add(node); } else { // if "containsIgnoreCase"... for (String nodeType : nodeTypes) { if (nodeType.equalsIgnoreCase(node.getNodeType())) { nodes.add(node); } } } } return nodes; }