@Override public void actionPerformed(ActionEvent event) { String parameterXml; try { DomElement domElement = parameterSupport.toDomElement(); parameterXml = domElement.toXml(); } catch (Exception e) { Debug.trace(e); Dialogs.showError(TITLE, "Failed to convert parameters to XML." + e.getMessage()); return; } JTextArea textArea = new JTextArea(parameterXml); textArea.setEditable(false); JScrollPane textAreaScrollPane = new JScrollPane(textArea); textAreaScrollPane.setPreferredSize(new Dimension(360, 360)); showInformationDialog(getOperatorName() + " Parameters", textAreaScrollPane); }
@Override public void actionPerformed(ActionEvent event) { String parameterXml; try { DomElement domElement = parameterSupport.toDomElement(); parameterXml = domElement.toXml(); } catch (Exception e) { Debug.trace(e); JOptionPane.showMessageDialog(UIUtils.getRootWindow(parentComponent), "Failed to convert parameters to XML.", TITLE, JOptionPane.ERROR_MESSAGE); return; } JTextArea textArea = new JTextArea(parameterXml); textArea.setEditable(false); JScrollPane textAreaScrollPane = new JScrollPane(textArea); textAreaScrollPane.setPreferredSize(new Dimension(360, 360)); showInformationDialog(getOperatorName() + " Parameters", textAreaScrollPane); }
public String convertObjectToXml(Object object) throws ConversionException { DefaultDomConverter domConverter = new DefaultDomConverter(object.getClass(), parameterDescriptorFactory); DomElement parametersDom = new XppDomElement(parameterElementName); domConverter.convertValueToDom(object, parametersDom); return parametersDom.toXml(); }
@Override public Object convertDomToValue(DomElement parentElement, Object value) throws ConversionException, ValidationException { final DomElement child = parentElement.getChild(0); SLDParser s = new SLDParser(CommonFactoryFinder.getStyleFactory(null), new StringReader(child.toXml())); final Style[] styles = s.readXML(); return styles[0]; }
@Override public Object convertDomToValue(DomElement parentElement, Object value) throws ConversionException, ValidationException { final DomElement child = parentElement.getChild(0); SLDParser s = new SLDParser(CommonFactoryFinder.getStyleFactory(null), new StringReader(child.toXml())); final Style[] styles = s.readXML(); return styles[0]; }
@Override public void actionPerformed(ActionEvent event) { JFileChooser fileChooser = new JFileChooser(); final FileNameExtensionFilter parameterFileFilter = createParameterFileFilter(); fileChooser.addChoosableFileFilter(parameterFileFilter); fileChooser.setFileFilter(parameterFileFilter); fileChooser.setDialogTitle(TITLE); fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); applyCurrentDirectory(fileChooser); int response = fileChooser.showDialog(parentComponent, "Save"); if (JFileChooser.APPROVE_OPTION == response) { try { preserveCurrentDirectory(fileChooser); File selectedFile = fileChooser.getSelectedFile(); selectedFile = FileUtils.ensureExtension(selectedFile, "." + parameterFileFilter.getExtensions()[0]); String xmlString = parameterSupport.toDomElement().toXml(); writeToFile(xmlString, selectedFile); } catch (Exception e) { Debug.trace(e); JOptionPane.showMessageDialog(parentComponent, "Could not save parameters.\n" + e.getMessage(), TITLE, JOptionPane.ERROR_MESSAGE); } } }
@Override public void actionPerformed(ActionEvent event) { JFileChooser fileChooser = new JFileChooser(); final FileNameExtensionFilter parameterFileFilter = createParameterFileFilter(); fileChooser.addChoosableFileFilter(parameterFileFilter); fileChooser.setFileFilter(parameterFileFilter); fileChooser.setDialogTitle(TITLE); fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); applyCurrentDirectory(fileChooser); int response = fileChooser.showDialog(parentComponent, "Save"); if (JFileChooser.APPROVE_OPTION == response) { try { preserveCurrentDirectory(fileChooser); File selectedFile = fileChooser.getSelectedFile(); selectedFile = FileUtils.ensureExtension(selectedFile, "." + parameterFileFilter.getExtensions()[0]); DomElement domElement = parameterSupport.toDomElement(); escapeXmlElements(domElement); String xmlString = domElement.toXml(); writeToFile(xmlString, selectedFile); } catch (Exception e) { Debug.trace(e); Dialogs.showError(TITLE, "Could not load parameters.\n" + e.getMessage()); } } }
private static void appendXmlUsage(StringBuilder usageText, OperatorDescriptor operatorDescriptor) { final DomElement graphElem = new XppDomElement("graph"); graphElem.setAttribute("id", "someGraphId"); final DomElement versionElem = graphElem.createChild("version"); versionElem.setValue("1.0"); final DomElement nodeElem = graphElem.createChild("node"); nodeElem.setAttribute("id", "someNodeId"); final DomElement operatorElem = nodeElem.createChild("operator"); operatorElem.setValue(operatorDescriptor.getAlias()); DomElement sourcesElem = nodeElem.createChild("sources"); for (SourceProductDescriptor sourceProduct : operatorDescriptor.getSourceProductDescriptors()) { convertSourceProductFieldToDom(sourceProduct, sourcesElem); } if (operatorDescriptor.getSourceProductsDescriptor() != null) { String name = getName(operatorDescriptor.getSourceProductsDescriptor()); final DomElement child = sourcesElem.createChild(name); child.setValue(String.format("${%s}", name)); } DomElement parametersElem = nodeElem.createChild("parameters"); for (ParameterDescriptor parameter : operatorDescriptor.getParameterDescriptors()) { if (!parameter.isDeprecated()) { convertParameterFieldToDom(parameter, parametersElem); } } final StringTokenizer st = new StringTokenizer(graphElem.toXml().replace('\r', ' '), "\n"); while (st.hasMoreElements()) { appendLine(usageText, " ", st.nextToken()); } }
@Test public void testPersistency() throws ValidationException, ConversionException, MalformedURLException { final WmsLayerType wmsLayerType = LayerTypeRegistry.getLayerType(WmsLayerType.class); final PropertySet configuration = wmsLayerType.createLayerConfig(null); configuration.setValue(WmsLayerType.PROPERTY_NAME_STYLE_NAME, "FancyStyle"); configuration.setValue(WmsLayerType.PROPERTY_NAME_URL, new URL("http://www.mapserver.org")); configuration.setValue(WmsLayerType.PROPERTY_NAME_CRS_ENVELOPE, new CRSEnvelope("EPSG:4324", -10, 20, 15, 50)); configuration.setValue(WmsLayerType.PROPERTY_NAME_IMAGE_SIZE, new Dimension(200, 300)); configuration.setValue(WmsLayerType.PROPERTY_NAME_LAYER_INDEX, 12); configuration.setValue(WmsLayerType.PROPERTY_NAME_RASTER, band); final DomElement originalDomElement = new DefaultDomElement("configuration"); final SessionDomConverter domConverter = new SessionDomConverter(productManager); // domConverter.convertValueToDom(configuration, originalDomElement); // For debug purposes System.out.println(originalDomElement.toXml()); // final PropertyContainer restoredConfiguration = (PropertyContainer) domConverter.convertDomToValue(originalDomElement, wmsLayerType.createLayerConfig(null)); compareConfigurations(configuration, restoredConfiguration); }