private Element createXmlElement(final String version) { final List<Element> contentList = new ArrayList<Element>(16); contentList.add(createElement(DimapProductConstants.TAG_BAND_INDEX, "1")); contentList.add(createElement(DimapProductConstants.TAG_BAND_NAME, "filtered_coffee")); contentList.add(createElement(DimapProductConstants.TAG_BAND_DESCRIPTION, "with milk & sugar")); final String typeString = ProductData.getTypeString(_source.getGeophysicalDataType()); contentList.add(createElement(DimapProductConstants.TAG_DATA_TYPE, typeString)); contentList.add(createElement(DimapProductConstants.TAG_PHYSICAL_UNIT, "l")); contentList.add(createElement(DimapProductConstants.TAG_SOLAR_FLUX, "0.0")); contentList.add(createElement(DimapProductConstants.TAG_BAND_WAVELEN, "0.0")); contentList.add(createElement(DimapProductConstants.TAG_BANDWIDTH, "0.0")); contentList.add(createElement(DimapProductConstants.TAG_SCALING_FACTOR, "1.0")); contentList.add(createElement(DimapProductConstants.TAG_SCALING_OFFSET, "0.0")); contentList.add(createElement(DimapProductConstants.TAG_SCALING_LOG_10, "false")); contentList.add(createElement(DimapProductConstants.TAG_NO_DATA_VALUE_USED, "true")); contentList.add( createElement( DimapProductConstants.TAG_NO_DATA_VALUE, String.valueOf(_source.getGeophysicalNoDataValue()))); final List<Element> filterBandInfoList = new ArrayList<Element>(5); filterBandInfoList.add(createElement(DimapProductConstants.TAG_FILTER_SOURCE, "anyBand")); filterBandInfoList.add( createElement( DimapProductConstants.TAG_FILTER_OPERATOR_CLASS_NAME, "org.esa.beam.framework.datamodel.GeneralFilterBand$Mean")); final Element filterBandInfo = new Element(DimapProductConstants.TAG_FILTER_BAND_INFO); filterBandInfo.setAttribute( GeneralFilterBandPersistable.ATTRIBUTE_BAND_TYPE, GeneralFilterBandPersistable.GENERAL_FILTER_BAND_TYPE); if (GeneralFilterBandPersistable.VERSION_1_1.equals(version)) { filterBandInfoList.add(createElement(DimapProductConstants.TAG_FILTER_SUB_WINDOW_SIZE, "5")); filterBandInfo.setAttribute( GeneralFilterBandPersistable.ATTRIBUTE_VERSION, GeneralFilterBandPersistable.VERSION_1_1); } else { // Version 1.0 filterBandInfoList.add(createElement(DimapProductConstants.TAG_FILTER_SUB_WINDOW_WIDTH, "5")); filterBandInfoList.add( createElement(DimapProductConstants.TAG_FILTER_SUB_WINDOW_HEIGHT, "2")); } filterBandInfo.addContent(filterBandInfoList); contentList.add(filterBandInfo); final Element root = new Element(DimapProductConstants.TAG_SPECTRAL_BAND_INFO); root.setContent(contentList); return root; }