/**
   * {@inheritDoc}
   *
   * @see
   *     org.eclipse.emf.eef.runtime.impl.components.StandardPropertiesEditionComponent#updatePart(org.eclipse.emf.common.notify.Notification)
   */
  public void updatePart(Notification msg) {
    if (editingPart.isVisible()) {
      TransitionPropertiesEditionPart transitionPart =
          (TransitionPropertiesEditionPart) editingPart;
      if (EnvironmentPackage.eINSTANCE.getObeoDSMObject_Description().equals(msg.getFeature())
          && transitionPart != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.description)) {
        if (msg.getNewValue() != null) {
          transitionPart.setDescription(
              EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, msg.getNewValue()));
        } else {
          transitionPart.setDescription("");
        }
      }
      if (EnvironmentPackage.eINSTANCE.getObeoDSMObject_Keywords().equals(msg.getFeature())
          && transitionPart != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.keywords)) {
        transitionPart.setKeywords((EList<?>) msg.getNewValue());
      }

      if (StateMachinePackage.eINSTANCE.getTransition_Guard().equals(msg.getFeature())
          && transitionPart != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.guard)) {
        if (msg.getNewValue() != null) {
          transitionPart.setGuard(
              EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, msg.getNewValue()));
        } else {
          transitionPart.setGuard("");
        }
      }
      if (StateMachinePackage.eINSTANCE.getTransition_From().equals(msg.getFeature())
          && transitionPart != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.from))
        transitionPart.setFrom((EObject) msg.getNewValue());
      if (StateMachinePackage.eINSTANCE.getTransition_To().equals(msg.getFeature())
          && transitionPart != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.to))
        transitionPart.setTo((EObject) msg.getNewValue());
    }
  }
  /**
   * {@inheritDoc}
   *
   * @see
   *     org.eclipse.emf.eef.runtime.api.component.IPropertiesEditionComponent#initPart(java.lang.Object,
   *     int, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.resource.ResourceSet)
   */
  public void initPart(Object key, int kind, EObject elt, ResourceSet allResource) {
    setInitializing(true);
    if (editingPart != null && key == partKey) {
      editingPart.setContext(elt, allResource);
      final Transition transition = (Transition) elt;
      final TransitionPropertiesEditionPart transitionPart =
          (TransitionPropertiesEditionPart) editingPart;
      // init values
      if (transition.getDescription() != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.description))
        transitionPart.setDescription(
            EEFConverterUtil.convertToString(
                EcorePackage.Literals.ESTRING, transition.getDescription()));

      if (transition.getKeywords() != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.keywords))
        transitionPart.setKeywords(transition.getKeywords());

      if (transition.getGuard() != null
          && isAccessible(StatemachineViewsRepository.Transition.Properties.guard))
        transitionPart.setGuard(
            EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, transition.getGuard()));

      if (isAccessible(StatemachineViewsRepository.Transition.Properties.from)) {
        // init part
        fromSettings =
            new EObjectFlatComboSettings(
                transition, StateMachinePackage.eINSTANCE.getTransition_From());
        transitionPart.initFrom(fromSettings);
        // set the button mode
        transitionPart.setFromButtonMode(ButtonsModeEnum.BROWSE);
      }
      if (isAccessible(StatemachineViewsRepository.Transition.Properties.to)) {
        // init part
        toSettings =
            new EObjectFlatComboSettings(
                transition, StateMachinePackage.eINSTANCE.getTransition_To());
        transitionPart.initTo(toSettings);
        // set the button mode
        transitionPart.setToButtonMode(ButtonsModeEnum.BROWSE);
      }
      // init filters

      if (isAccessible(StatemachineViewsRepository.Transition.Properties.from)) {
        transitionPart.addFilterToFrom(
            new ViewerFilter() {

              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              public boolean select(Viewer viewer, Object parentElement, Object element) {
                return (element instanceof AbstractState);
              }
            });
        // Start of user code for additional businessfilters for from
        // End of user code
      }
      if (isAccessible(StatemachineViewsRepository.Transition.Properties.to)) {
        transitionPart.addFilterToTo(
            new ViewerFilter() {

              /**
               * {@inheritDoc}
               *
               * @see
               *     org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
               *     java.lang.Object, java.lang.Object)
               */
              public boolean select(Viewer viewer, Object parentElement, Object element) {
                return (element instanceof AbstractState);
              }
            });
        // Start of user code for additional businessfilters for to
        // End of user code
      }
      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }