public static Mask create(String name, String description, int width, int height, String expression, Color color, double transparency) { final Mask mask = new Mask(name, width, height, BandMathsType.INSTANCE); if (description != null) { mask.setDescription(description); } mask.setImageColor(color); mask.setImageTransparency(transparency); BandMathsType.setExpression(mask, expression); return mask; }
@Override public void handleRename(Mask mask, String oldExternalName, String newExternalName) { String oldExpression = getExpression(mask); final String newExpression = StringUtils.replaceWord(oldExpression, oldExternalName, newExternalName); setExpression(mask, newExpression); super.handleRename(mask, oldExternalName, newExternalName); }
@Test public void testRenameBand() { Product product = new Product("t", "d", 1, 1); Band band = product.addBand("b", ProductData.TYPE_INT8); Mask mask = new Mask("m", 1, 1, Mask.BandMathsType.INSTANCE); Mask.BandMathsType.setExpression(mask, "b == 2"); product.getMaskGroup().add(mask); String expression = Mask.BandMathsType.getExpression(mask); assertEquals("b == 2", expression); band.setName("c"); expression = Mask.BandMathsType.getExpression(mask); assertEquals("c == 2", expression); }