package nl.fontys.sofa.limo.view.wizard.event; import javax.swing.event.ChangeListener; import nl.fontys.sofa.limo.domain.component.event.Event; import nl.fontys.sofa.limo.validation.BeanValidator; import nl.fontys.sofa.limo.validation.ValidationException; import nl.fontys.sofa.limo.view.util.LIMOResourceBundle; import org.openide.WizardDescriptor; import org.openide.WizardValidationException; import org.openide.util.HelpCtx; /** * Wizard which uses the NameDescriptionProbabilityPanel to enter name, * description and probability. * * @author Sven Mäurer */ public class NameDescriptionProbabilityWizard implements WizardDescriptor.Panel<WizardDescriptor>, WizardDescriptor.ValidatingPanel<WizardDescriptor> { private NameDescriptionProbabilityPanel component; private Event event; private final BeanValidator validator = BeanValidator.getInstance(); @Override public NameDescriptionProbabilityPanel getComponent() { if (component == null) { component = new NameDescriptionProbabilityPanel(); } return component; } @Override public HelpCtx getHelp() { return HelpCtx.DEFAULT_HELP; } @Override public boolean isValid() { return true; } @Override public void addChangeListener(ChangeListener l) { } @Override public void removeChangeListener(ChangeListener l) { } /** * Get data of event to edit or copy from. * * @param wiz the WizardDescriptor. */ @Override public void readSettings(WizardDescriptor wiz) { event = (Event) wiz.getProperty("event"); getComponent().updateEvent(event); } /** * Set data entered in the panel in the WizardDescriptor. * * @param wiz the WizardDescriptor. */ @Override public void storeSettings(WizardDescriptor wiz) { event.setName(getComponent().getNameInput()); event.setDescription(getComponent().getDescriptionInput()); event.setProbability(getComponent().getProbability()); } @Override public void validate() throws WizardValidationException { Event eventCopy = new Event(this.event); eventCopy.setName(component.getNameInput()); try { validator.validate(eventCopy); } catch (ValidationException ex) { throw new WizardValidationException(null, LIMOResourceBundle.getString("VALUE_NOT_SET", LIMOResourceBundle.getString("NAME")), null); } } }