@Override public boolean isValid() { if (spsError != null) { wizard.putProperty( WizardDescriptor.PROP_ERROR_MESSAGE, "An error occurred during SPS communication"); return false; } final String choosenScenario = component.getSelectedScenario(); boolean valid = false; if (choosenScenario == null) { wizard.putProperty( WizardDescriptor.PROP_INFO_MESSAGE, NbBundle.getMessage( RainfallDownscalingWizardPanelScenarios.class, "RainfallDownscalingWizardPanelScenarios.isValid().selectScenario")); // NOI18N } else { wizard.putProperty(WizardDescriptor.PROP_INFO_MESSAGE, null); valid = true; } return valid; }
@Override public void readSettings(final Object settings) { wizard = (WizardDescriptor) settings; spsError = null; scenario = (String) wizard.getProperty(RainfallDownscalingWizardAction.PROP_SCENARIO); scenarios = new String[] {}; SudplanConcurrency.getSudplanGeneralPurposePool() .execute( new Runnable() { @Override public void run() { try { final DataHandler dh = DataHandlerCache.getInstance() .getSPSDataHandler( RainfallDownscalingModelManager.RF_SPS_LOOKUP, RainfallDownscalingModelManager.RF_SPS_URL); final Properties filter = new Properties(); filter.put( TimeSeries.PROCEDURE, RainfallDownscalingModelManager.RF_TS_DS_PROCEDURE); final Datapoint dp = dh.createDatapoint(filter, null, DataHandler.Access.READ); final InputDescriptor id = (InputDescriptor) dp.getProperties().get("jaxb_desc:climate_scenario"); // NOI18N final List<String> scenarioList = id.getDefinition() .getCommonData() .getCategory() .getConstraint() .getAllowedTokens() .getValueList() .get(0) .getValue(); scenarios = scenarioList.toArray(new String[scenarioList.size()]); } catch (final Exception ex) { LOG.error("error during sps communication", ex); // NOI18N spsError = ex; } finally { EventQueue.invokeLater( new Runnable() { @Override public void run() { component.init(); fireChangeEvent(); } }); } } }); component.init(); }
@Override public void storeSettings(final Object settings) { wizard = (WizardDescriptor) settings; wizard.putProperty( RainfallDownscalingWizardAction.PROP_SCENARIO, component.getSelectedScenario()); }