예제 #1
0
  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);
    }
  }
예제 #2
0
 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);
 }
예제 #3
0
 public Metadata putElement(MetadataElement element) {
   jsonObject.put(element.getName(), element.getJsonObject());
   return this;
 }