LandsatLevel2Metadata extends XmlMetadata { @Override public String[] getRasterFileNames() { ArrayList<String> fileNamesArray = new ArrayList<>(); MetadataElement[] bandElements = getRootElement().getElement("bands").getElements(); for (MetadataElement bandElement : bandElements) { String name = bandElement.getAttribute("file_name").getData().toString(); fileNamesArray.add(name); } return fileNamesArray.toArray(new String[fileNamesArray.size()]); } LandsatLevel2Metadata(String name); @Override String getFileName(); @Override String getProductName(); String getProductDescription(); @Override String getFormatName(); @Override String getMetadataProfile(); @Override int getRasterWidth(); @Override int getRasterHeight(); @Override String[] getRasterFileNames(); @Override ProductData.UTC getProductStartTime(); @Override ProductData.UTC getProductEndTime(); @Override ProductData.UTC getCenterTime(); @Override int getNumBands(); Point2D.Double getUpperLeft(); String getBandName(String filename); double getScalingFactor(String filename); double getScalingOffset(String filename); float getWavelength(String filename); float getBandwidth(String filename); String getBandDescription(String filename); boolean isReflectanceBand(String filename); boolean isSaturationBand(String filename); boolean isAerosolBand(String filename); boolean isQualityBand(String filename); boolean isAtmosBand(String filename); boolean isCloudBand(String filename); String getSatellite(); String getInstrument(); FlagCoding createSaturationFlagCoding(String bandName);  }
@Test public void testRasterFileNames() throws Exception { String[] name = metadata.getRasterFileNames(); assertEquals(name.length,10); }