@Test public void testSetGetDirectory() { final File directory = new File("Gallien"); model.setProductDir(directory); assertEquals(directory, model.getProductDir()); model.setProductName("Obelix"); assertEquals(new File("Gallien", "Obelix.dim"), model.getProductFile()); // other format model.setFormatName(writerPlugIn.getFormatNames()[0]); assertEquals(new File("Gallien", "Obelix.x"), model.getProductFile()); }
private void updateTargetProductName(Product selectedProduct) { final TargetProductSelectorModel selectorModel = targetProductSelector.getModel(); if (selectedProduct != null) { final String productName = MessageFormat.format("{0}_" + targetProductSuffix, selectedProduct.getName()); selectorModel.setProductName(productName); } else if (selectorModel.getProductName() == null) { selectorModel.setProductName(targetProductSuffix); } }
@Override public void updateParameters() { if (targetProductSelector.getModel().getProductName() != null) { paramMap.put("divisionBy", divisionBy.getSelectedItem()); paramMap.put("numberOfTiles", numberOfTiles.getSelectedItem()); paramMap.put("pixelSizeX", Integer.parseInt(pixelSizeX.getText())); paramMap.put("pixelSizeY", Integer.parseInt(pixelSizeY.getText())); paramMap.put("file", targetProductSelector.getModel().getProductFile()); paramMap.put("formatName", targetProductSelector.getModel().getFormatName()); } }
private void updateUIState() { if (model.isSaveToFileSelected()) { if (!alwaysWriteOutput) { openInAppCheckBox.setEnabled(model.canReadOutputFormat()); formatNameComboBox.setEnabled(true); } else { formatNameComboBox.setEnabled(true); } productDirLabel.setEnabled(true); productDirTextField.setEnabled(true); productDirChooserButton.setEnabled(true); } else { if (!alwaysWriteOutput) { openInAppCheckBox.setEnabled(true); formatNameComboBox.setEnabled(false); } else { formatNameComboBox.setEnabled(false); } productDirLabel.setEnabled(false); productDirTextField.setEnabled(false); productDirChooserButton.setEnabled(false); } }
protected boolean canApply() { final String productName = targetProductSelector.getModel().getProductName(); if (productName == null || productName.isEmpty()) { showErrorDialog("Please specify a target product name."); if (targetProductSelector.getModel().isOpenInAppSelected()) { final Product existingProduct = appContext.getProductManager().getProduct(productName); if (existingProduct != null) { if (targetProductSelector.getModel().isSaveToFileSelected()) { File productFile = targetProductSelector.getModel().getProductFile(); if (productFile.exists()) { String message = MessageFormat.format(
public void setTargetProductName(final String name) { if (targetProductSelector != null) { final TargetProductSelectorModel targetProductSelectorModel = targetProductSelector.getModel(); targetProductSelectorModel.setProductName(name + getTargetProductNameSuffix()); } }
if(model.getProductName()==null) { model.setProductName(targetProduct.getName()); WriteOp writeOp = new WriteOp(targetProduct, model.getProductFile(), model.getFormatName()); writeOp.setDeleteOutputOnFailure(true); writeOp.setWriteEntireTileRows(true);
private void updateTargetProductFields() { TargetProductSelectorModel model = targetProductSelector.getModel(); Property property = propertySet.getProperty(ToolAdapterConstants.TOOL_TARGET_PRODUCT_FILE); model.setSaveToFileSelected(false); if (!operatorDescriptor.isHandlingOutputName()) { Object value = property.getValue(); fileExtension = FileUtils.getExtension(file); model.setProductName(productName); model.setProductName("Output Product"); if (property != null) { property.setValue(null);
@Override protected Product doInBackground(ProgressMonitor pm) throws Exception { pm.beginTask("Running...", this.model.isOpenInAppSelected() ? 100 : 95); if (this.model.isSaveToFileSelected()) { File targetFile = this.model.getProductFile(); String formatName = this.model.getFormatName(); GPF.writeProduct(operatorTargetProduct, targetFile, formatName, false, false, ProgressMonitor.NULL);
@Test public void testGetFileName() { model.setProductName("Obelix"); assertEquals("Obelix", model.getProductName()); assertEquals("Obelix.dim", model.getProductFileName()); // other format model.setFormatName(writerPlugIn.getFormatNames()[0]); assertEquals("Obelix.x", model.getProductFileName()); model.setProductName("Idefix.dim"); assertEquals("Idefix.dim.x", model.getProductFileName()); model.setProductName("Idefix.x"); assertEquals("Idefix.x", model.getProductFileName()); }
@Override public void propertyChange(PropertyChangeEvent evt) { final Product product = (Product) evt.getNewValue(); final TargetProductSelectorModel selectorModel = targetProductSelector.getModel(); if (product != null) { final String formatName = product.getProductReader().getReaderPlugIn().getFormatNames()[0]; final ProductIOPlugInManager ioPlugInManager = ProductIOPlugInManager.getInstance(); final Iterator<ProductWriterPlugIn> writerIterator = ioPlugInManager.getWriterPlugIns(formatName); if (writerIterator.hasNext()) { selectorModel.setFormatName(formatName); } else { final String errMsg = "Cannot write to update product."; final String iseMsg = String.format("No product writer found for format '%s'", formatName); appContext.handleError(errMsg, new IllegalStateException(iseMsg)); } final File fileLocation = product.getFileLocation(); final String fileName = FileUtils.getFilenameWithoutExtension(fileLocation); final File fileDir = fileLocation.getParentFile(); selectorModel.setProductName(fileName); selectorModel.setProductDir(fileDir); } else { selectorModel.setFormatName(ProductIO.DEFAULT_FORMAT_NAME); selectorModel.setProductName("mosaic"); String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final PropertyMap prefs = appContext.getPreferences(); String saveDir = prefs.getPropertyString(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); selectorModel.setProductDir(new File(saveDir)); } } }
@Override public UIValidation validateParameters() { final String productName = targetProductSelector.getModel().getProductName(); if (productName == null || productName.isEmpty()) return new UIValidation(UIValidation.State.ERROR, "productName not specified"); final File file = targetProductSelector.getModel().getProductFile(); if (file == null) return new UIValidation(UIValidation.State.ERROR, "Target file not specified"); final String productDir = targetProductSelector.getModel().getProductDir().getAbsolutePath(); SnapApp.getDefault().getPreferences().put(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, productDir); return new UIValidation(UIValidation.State.OK, ""); }
@Override protected Product doInBackground(ProgressMonitor pm) throws Exception { final TargetProductSelectorModel model = getTargetProductSelector().getModel(); pm.beginTask("Writing...", model.isOpenInAppSelected() ? 100 : 95); saveTime = 0L; Product product = null; WriteOp writeOp = new WriteOp(targetProduct, model.getProductFile(), model.getFormatName()); writeOp.setDeleteOutputOnFailure(true); writeOp.setWriteEntireTileRows(true); if (model.isOpenInAppSelected()) { File targetFile = model.getProductFile(); if (!targetFile.exists()) targetFile = targetProduct.getFileLocation();
/** * Gets the target (destination) product file * * @return The target product file */ public File getTargetProductFile() { return targetProductSelector.getModel().getProductFile(); }
@Test public void testSelections() { assertTrue(model.isSaveToFileSelected()); assertTrue(model.isOpenInAppSelected()); model.setOpenInAppSelected(false); assertFalse(model.isOpenInAppSelected()); assertTrue(model.isSaveToFileSelected()); model.setSaveToFileSelected(false); assertFalse(model.isSaveToFileSelected()); assertTrue(model.isOpenInAppSelected()); model.setOpenInAppSelected(false); assertFalse(model.isOpenInAppSelected()); assertTrue(model.isSaveToFileSelected()); }
File outputDir = outputFile.getParentFile(); if (outputDir != null) { getTargetProductSelector().getModel().setProductDir(outputDir); getTargetProductSelector().getModel().setProductName(FileUtils.getFilenameWithoutExtension(outputFile));
@Override public void initParameters() { assert (paramMap != null); String fileName = getDefaultFileName(); String format = "BEAM-DIMAP"; final Object formatValue = paramMap.get(FORMAT_PARAMETER); if (formatValue != null) { format = (String) formatValue; } if (fileName != null) { targetProductSelector.getProductNameTextField().setText(fileName); targetProductSelector.getModel().setProductName(fileName); targetProductSelector.getModel().setFormatName(format); } }
productDirDescriptor.setDisplayName("target product directory"); setOpenInAppSelected(true); setSaveToFileSelected(true); setFormatName(ProductIO.DEFAULT_FORMAT_NAME); } else { setFormatName(formatNames[0]); boolean changesToDeselected = !(Boolean) evt.getNewValue(); if (changesToDeselected) { setOpenInAppSelected(true); } else if (!canReadOutputFormat()) { setOpenInAppSelected(false); boolean changesToDeselected = !(Boolean) evt.getNewValue(); if (changesToDeselected) { setSaveToFileSelected(true); if (!canReadOutputFormat()) { setOpenInAppSelected(false);
@Override public void actionPerformed(ActionEvent event) { Window windowAncestor = null; if (event.getSource() instanceof JComponent) { JComponent eventSource = (JComponent) event.getSource(); windowAncestor = SwingUtilities.getWindowAncestor(eventSource); } final JFileChooser chooser = FileChooserFactory.getInstance().createDirChooser(model.getProductDir()); chooser.setDialogTitle("Select Target Directory"); if (chooser.showDialog(windowAncestor, APPROVE_BUTTON_TEXT) == JFileChooser.APPROVE_OPTION) { final File selectedDir = chooser.getSelectedFile(); if (selectedDir != null) { model.setProductDir(selectedDir); } else { model.setProductDir(new File(".")); } } } }
@Override protected void done() { try { final Product targetProduct = get(); if (this.model.isSaveToFileSelected() && this.model.isOpenInAppSelected()) { this.productManager.addProduct(targetProduct); showSaveAndOpenInAppInfo(this.totalTime); } else if (this.model.isOpenInAppSelected()) { this.productManager.addProduct(targetProduct); showOpenInAppInfo(); } else { showSaveInfo(this.totalTime); } } catch (InterruptedException e) { // ignore } catch (ExecutionException e) { handleProcessingError(e.getCause()); } catch (Throwable t) { handleProcessingError(t); } } }