public ArrayList<String> getBandNames() { ArrayList<String> bands = new ArrayList<>(17); MetadataElement bandGlobalListElement = getRootElement().getElement("Product_Characteristics").getElement("Band_Global_List"); for (int j = 0; j < bandGlobalListElement.getNumAttributes(); j++) { if (bandGlobalListElement.getAttributeAt(j).getName().equals("BAND_ID")) { bands.add(bandGlobalListElement.getAttributeAt(j).getData().getElemString()); } } return bands; }
public ArrayList<String> getBandNames(String resolutionId) { ArrayList<String> bands = new ArrayList<>(13); MetadataElement bandGroupListElement = getRootElement().getElement("Product_Characteristics").getElement("Band_Group_List"); for (int i = 0; i < bandGroupListElement.getNumElements(); i++) { MetadataElement element = bandGroupListElement.getElementAt(i); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { MetadataElement bandListElement = element.getElement("Band_List"); for (int j = 0; j < bandListElement.getNumAttributes(); j++) { if (bandListElement.getAttributeAt(j).getName().equals("BAND_ID")) { bands.add(bandListElement.getAttributeAt(j).getData().getElemString()); } } } } return bands; }
private void updateMetadata(Product product) { final MetadataElement graphElement = product.getMetadataRoot().getElement("Processing_Graph"); for (MetadataElement nodeElement : graphElement.getElements()) { if (getSpi().getOperatorAlias().equals(nodeElement.getAttributeString("operator"))) { final MetadataElement sourcesElement = nodeElement.getElement("sources"); for (int i = 0; i < this.sourceProducts.length; i++) { final String oldIndex = String.valueOf(i + 1); final String newIndex = String.valueOf(sourcesElement.getNumAttributes() + i + 1); final Product sourceProduct = this.sourceProducts[i]; final String attributeName = getSourceProductId(sourceProduct).replaceFirst(oldIndex, newIndex); final File location = sourceProduct.getFileLocation(); final ProductData attributeValue; if (location == null) { attributeValue = ProductData.createInstance(product.toString()); } else { attributeValue = ProductData.createInstance(location.getPath()); } final MetadataAttribute attribute = new MetadataAttribute(attributeName, attributeValue, true); sourcesElement.addAttribute(attribute); } } } }
if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { MetadataElement bandListElement = element.getElement("Band_List"); for (int j = 0; j < bandListElement.getNumAttributes(); j++) { if (bandListElement.getAttributeAt(j).getName().equals("BAND_ID")) { bands.add(bandListElement.getAttributeAt(j).getData().getElemString()); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { MetadataElement bandListElement = element.getElement("Band_List"); for (int j = 0; j < bandListElement.getNumAttributes(); j++) { if (bandListElement.getAttributeAt(j).getName().equals("BAND_ID")) { bandStrings[index] = bandListElement.getAttributeAt(j).getData().getElemString();
private void addAttributes(final MetadataElement elem, final Group newGroup) { final Map<String, Integer> dupeCntAtrib = new HashMap<>(); for (int i = 0; i < elem.getNumAttributes(); i++) { final MetadataAttribute attrib = elem.getAttributeAt(i); final String name = attrib.getName(); boolean lastDupe = true; for (int j = i + 1; j < elem.getNumAttributes(); j++) { final MetadataAttribute dupeAtrib = elem.getAttributeAt(j); if (dupeAtrib.getName().equals(name)) {
@Override public void actionPerformed(final ActionEvent event) { final PromptDialog dlg = new PromptDialog("Search Metadata", "Value", "", PromptDialog.TYPE.TEXTFIELD); dlg.show(); if (dlg.IsOK()) { try { final String value = dlg.getValue("Value").toUpperCase(); final MetadataElement resultElem = new MetadataElement("Search result (" + value + ')'); final boolean isModified = product.isModified(); final MetadataElement root = product.getMetadataRoot(); resultElem.setOwner(product); searchMetadataValue(resultElem, root, value); product.setModified(isModified); if (resultElem.getNumElements() > 0 || resultElem.getNumAttributes() > 0) { SearchMetadataAction.openMetadataWindow(resultElem); } else { // no attributes found Dialogs.showError("Search Metadata", value + " not found in the Metadata"); } } catch (Exception ex) { Dialogs.showError(ex.getMessage()); } } }
@Override public void actionPerformed(final ActionEvent event) { final PromptDialog dlg = new PromptDialog("Search Metadata", "Item Name", "", PromptDialog.TYPE.TEXTFIELD); dlg.show(); if (dlg.IsOK()) { try { final String tag = dlg.getValue("Item Name").toUpperCase(); final MetadataElement resultElem = new MetadataElement("Search result (" + tag + ')'); final boolean isModified = product.isModified(); final MetadataElement root = product.getMetadataRoot(); resultElem.setOwner(product); searchMetadata(resultElem, root, tag); product.setModified(isModified); if (resultElem.getNumElements() > 0 || resultElem.getNumAttributes() > 0) { openMetadataWindow(resultElem); } else { // no attributes found Dialogs.showError("Search Metadata", tag + " not found in the Metadata"); } } catch (Exception ex) { Dialogs.showError(ex.getMessage()); } } }
public synchronized ArrayList<MuscateMask> getMasks() { if (masks == null) { masks = new ArrayList<>(13); MetadataElement maskListElement = getRootElement().getElement("Product_Organisation").getElement("Muscate_Product").getElement("Mask_List"); for(int i=0 ; i< maskListElement.getNumElements(); i++) { MuscateMask muscateMask = new MuscateMask(); MetadataElement imageElement = maskListElement.getElementAt(i); MetadataElement propertiesElement = imageElement.getElement("Mask_Properties"); muscateMask.nature = propertiesElement.getAttribute("NATURE").getData().getElemString(); muscateMask.encoding = propertiesElement.getAttribute("ENCODING").getData().getElemString(); muscateMask.endianness = propertiesElement.getAttribute("ENDIANNESS").getData().getElemString(); muscateMask.format = propertiesElement.getAttribute("FORMAT").getData().getElemString(); MetadataElement fileListElement = imageElement.getElement("Mask_File_List"); int numMasks = fileListElement.getNumAttributes(); for (int j = 0 ; j < numMasks ; j++) { String path = fileListElement.getAttributeAt(j).getData().getElemString(); muscateMask.addMuscateMaskFile(path); } masks.add(muscateMask); } } return masks; }
public synchronized ArrayList<MuscateImage> getImages() { if (images == null) { images = new ArrayList<>(13); MetadataElement imageListElement = getRootElement().getElement("Product_Organisation").getElement("Muscate_Product").getElement("Image_List"); for (int i = 0; i < imageListElement.getNumElements(); i++) { MuscateImage muscateImage = new MuscateImage(); MetadataElement imageElement = imageListElement.getElementAt(i); MetadataElement propertiesElement = imageElement.getElement("Image_Properties"); muscateImage.nature = propertiesElement.getAttribute("NATURE").getData().getElemString(); muscateImage.compression = propertiesElement.getAttribute("COMPRESSION").getData().getElemString(); muscateImage.encoding = propertiesElement.getAttribute("ENCODING").getData().getElemString(); muscateImage.endianness = propertiesElement.getAttribute("ENDIANNESS").getData().getElemString(); muscateImage.format = propertiesElement.getAttribute("FORMAT").getData().getElemString(); MetadataElement fileListElement = imageElement.getElement("Image_File_List"); int numImages = fileListElement.getNumAttributes(); for (int j = 0; j < numImages; j++) { String path = fileListElement.getAttributeAt(j).getData().getElemString(); muscateImage.addMuscateImageFile(path); } images.add(muscateImage); } } return images; }