
package de.ivu.elect.presentation.anschrift.form;

import static java.util.Objects.nonNull;

import de.ivu.elect.business.anschrift.entity.Anschrift;
import de.ivu.elect.business.anschrift.entity.AnschriftProperties.OrtsteilProperty;
import de.ivu.elect.jee.presentation.dynamicform.Property;

public class AnschriftOrtsteilAutoUpdateProperty extends OrtsteilProperty {

  public AnschriftOrtsteilAutoUpdateProperty(Anschrift anschrift) {
    super(anschrift);
  }

  @Override
  public void onObservedPropertyValueChanged(Property observedProperty) {
    if (observedProperty instanceof AnschriftPlzAutoCompleteProperty) {
      AnschriftPlzAutoCompleteOption anschriftPlzAutoCompleteOption = ((AnschriftPlzAutoCompleteProperty) observedProperty).getValue();

      if (nonNull(anschriftPlzAutoCompleteOption) && anschriftPlzAutoCompleteOption.hasOrtsteilname()) {
        setValue(anschriftPlzAutoCompleteOption.getOrtsteilname());
      }

      setVisibleOnPageLoad(observedProperty.isVisible()); // Quick-Fix für ELECTKOM-92
    }
  }
}
