private void writeMetadataElement(int locationID, MetadataElement element) throws IOException { int groupID = createH5G(locationID, element.getName()); try { for (int i = 0; i < element.getNumAttributes(); i++) { MetadataAttribute attribute = element.getAttributeAt(i); writeMetadataAttribute(groupID, attribute); } for (int i = 0; i < element.getNumElements(); i++) { MetadataElement subElement = element.getElementAt(i); writeMetadataElement(groupID, subElement); } } catch (IOException e) { throw e; } finally { closeH5G(groupID); } }
private ProductNodeSubsetPane createAnnotationSubsetPane() { final MetadataElement metadataRoot = product.getMetadataRoot(); final MetadataElement[] metadataElements = metadataRoot.getElements(); final String[] metaNodes; if (metadataElements.length == 0) { return null; } // metadata elements must be added to includeAlways list // to ensure that they are selected if isIgnoreMetada is set to false if (givenProductSubsetDef != null && !givenProductSubsetDef.isIgnoreMetadata()) { metaNodes = new String[metadataElements.length]; for (int i = 0; i < metadataElements.length; i++) { final MetadataElement metadataElement = metadataElements[i]; metaNodes[i] = metadataElement.getName(); } } else { metaNodes = new String[0]; } final String[] includeNodes = StringUtils.addToArray(metaNodes, Product.HISTORY_ROOT_NAME); return new ProductNodeSubsetPane(metadataElements, includeNodes, true); }
public Metadata putElement(MetadataElement element) { jsonObject.put(element.getName(), element.getJsonObject()); return this; }