@Override public void actionPerformed(ActionEvent e) { Mask selectedMask = getMaskForm().getSelectedMask(); final Mask mask = createNewMask(selectedMask.getImageType()); mask.setName("Copy_of_" + selectedMask.getName()); mask.setDescription(selectedMask.getDescription()); PropertyContainer selectedConfig = selectedMask.getImageConfig(); Property[] models = selectedConfig.getProperties(); for (Property model : models) { mask.getImageConfig().setValue(model.getDescriptor().getName(), model.getValue()); } getMaskForm().addMask(mask); }
private void copyMasks(Product sourceProduct, boolean rename, String pattern) { ProductNodeGroup<Mask> maskGroup = sourceProduct.getMaskGroup(); final Mask[] masks = maskGroup.toArray(new Mask[maskGroup.getNodeCount()]); for (Mask mask : masks) { Mask.ImageType imageType = mask.getImageType(); final Mask newmask = new Mask(mask.getName(), targetProduct.getSceneRasterWidth(), targetProduct.getSceneRasterHeight(), imageType); newmask.setDescription(mask.getDescription()); for (Property property : mask.getImageConfig().getProperties()) { newmask.getImageConfig().setValue(property.getDescriptor().getName(), property.getValue()); } if (rename) { newmask.setName(pattern.replace(SOURCE_NAME_REFERENCE, mask.getName())); for (final Band targetBand : targetProduct.getBands()) { RasterDataNode srcRDN = sourceRasterMap.get(targetBand); if (srcRDN != null) { newmask.updateExpression( BandArithmetic.createExternalName(srcRDN.getName()), BandArithmetic.createExternalName(targetBand.getName())); } } } targetProduct.getMaskGroup().add(newmask); } }
fireTableCellUpdated(rowIndex, columnIndex); } else if (column == IDX_NAME) { mask.setName((String) aValue); fireTableCellUpdated(rowIndex, columnIndex); } else if (column == IDX_TYPE) {