/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.cids.custom.switchon.wizards.panels;
import org.apache.log4j.Logger;
import org.openide.WizardDescriptor;
import org.openide.util.NbBundle;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Date;
import de.cismet.cids.custom.switchon.wizards.GenericAbstractWizardPanel;
import de.cismet.cids.custom.switchon.wizards.MetaDataWizardAction;
import de.cismet.cids.custom.switchon.wizards.NameProvider;
import de.cismet.cids.dynamics.CidsBean;
/**
* DOCUMENT ME!
*
* @author Gilles Baatz
* @version $Revision$, $Date$
*/
public class TemporalInformationPanel extends GenericAbstractWizardPanel<TemporalInformationVisualPanel>
implements NameProvider,
PropertyChangeListener {
//~ Static fields/initializers ---------------------------------------------
private static final Logger LOG = Logger.getLogger(TemporalInformationPanel.class);
//~ Constructors -----------------------------------------------------------
/**
* Creates a new TemporalInformationPanel object.
*/
public TemporalInformationPanel() {
super(TemporalInformationVisualPanel.class);
setGeneralInformation(org.openide.util.NbBundle.getMessage(
TemporalInformationVisualPanel.class,
"TemporalInformationVisualPanel.infoBoxPanel.generalInformation")); // NOI18N
}
//~ Methods ----------------------------------------------------------------
@Override
protected void read(final WizardDescriptor wizard) {
final CidsBean resource = (CidsBean)wizard.getProperty(MetaDataWizardAction.PROP_RESOURCE_BEAN);
getComponent().setCidsBean(resource);
resource.addPropertyChangeListener(this);
}
@Override
protected void store(final WizardDescriptor wizard) {
final CidsBean resource = getComponent().getCidsBean();
resource.removePropertyChangeListener(this);
getComponent().dispose();
}
@Override
public String getName() {
return NbBundle.getMessage(TemporalInformationPanel.class, "TemporalInformationPanel.name");
}
@Override
public void propertyChange(final PropertyChangeEvent evt) {
changeSupport.fireChange();
}
@Override
public boolean isValid() {
final CidsBean resource = getComponent().getCidsBean();
final Date fromDate = (Date)resource.getProperty("fromdate"); // NOI18N
final Date toDate = (Date)resource.getProperty("todate"); // NOI18N
boolean valid = false;
if (fromDate == null) {
showWarning(org.openide.util.NbBundle.getMessage(
TemporalInformationPanel.class,
"TemporalInformationPanel.isValid().missingFromDate"));
} else if ((toDate != null) && fromDate.after(toDate)) {
showWarning(org.openide.util.NbBundle.getMessage(
TemporalInformationPanel.class,
"TemporalInformationPanel.isValid().FromDateAfterToDate"));
} else {
valid = true;
showGeneralInformation();
}
return valid;
}
}