@Override public void computeTile(Band targetBand, Tile targetTile, ProgressMonitor pm) throws OperatorException { try { final SubsetInfo subsetInfo = bandMap.get(targetBand); if(subsetInfo == null) return; subsetInfo.productWriter.writeProductNodes(subsetInfo.subsetProduct, subsetInfo.file); final Rectangle trgRect = subsetInfo.subsetBuilder.getSubsetDef().getRegion(); if (!subsetInfo.written) { writeTile(subsetInfo, trgRect); } } catch (Exception e) { if (e instanceof OperatorException) { throw (OperatorException) e; } else { throw new OperatorException(e); } } }
def.addNodeName("longitude"); def.addNodeName(Product.HISTORY_ROOT_NAME); resultProduct = ProductSubsetBuilder.createProductSubset(sourceProduct, sourceProductOwner, def, prodName, prodDesc); resultProduct = ProductSubsetBuilder.createProductSubset(sourceProduct, sourceProductOwner, subsetDef, prodName, prodDesc); } else { resultProduct = ProductSubsetBuilder.createProductSubset(sourceProduct, sourceProductOwner, null, prodName, prodDesc);
subsetInfo[n].subsetBuilder = new ProductSubsetBuilder(); subsetInfo[n].product = subsetInfo[n].subsetBuilder.readProductNodes(sourceProduct, subsetDef); subsetInfo[n].file = new File(file.getParentFile(), createName(file, n + 1));
subsetReader = new ProductSubsetBuilder(); final ProductSubsetDef subsetDef = new ProductSubsetDef();
final ProductSubsetBuilder subsetReader = new ProductSubsetBuilder(); final ProductSubsetDef subsetDef = new ProductSubsetDef(); subsetDef.addNodeNames(masterProduct.getTiePointGridNames()); targetProduct = subsetReader.readProductNodes(masterProduct, subsetDef); final Band[] bands = targetProduct.getBands(); for (Band b : bands) {
subsetInfo.subsetBuilder = new ProductSubsetBuilder(); subsetInfo.subsetProduct = subsetInfo.subsetBuilder.readProductNodes(sourceProduct, subsetDef); subsetInfo.file = new File(targetFolder, productName);
@Override public void computeTile(Band targetBand, Tile targetTile, ProgressMonitor pm) throws OperatorException { try { synchronized (this) { if (!productFileWritten) { for (SubsetInfo info : subsetInfo) { info.productWriter.writeProductNodes(info.product, info.file); } productFileWritten = true; } } final Rectangle rect = targetTile.getRectangle(); for (SubsetInfo info : subsetInfo) { final Rectangle trgRect = info.subsetBuilder.getSubsetDef().getRegion(); if (rect.intersects(trgRect)) { writeTile(info, targetBand.getName(), trgRect); } } markTileDone(targetBand, targetTile); } catch (Exception e) { if (e instanceof OperatorException) { throw (OperatorException) e; } else { throw new OperatorException(e); } } }