/**
   * {@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 Service service = (Service) elt;
      final ServicePropertiesEditionPart servicePart = (ServicePropertiesEditionPart) editingPart;
      // init values
      if (isAccessible(SoaViewsRepository.Service.Properties.synchronization)) {
        servicePart.initSynchronization(
            EEFUtils.choiceOfValues(service, SoaPackage.eINSTANCE.getService_Synchronization()),
            service.getSynchronization());
      }
      if (isAccessible(SoaViewsRepository.Service.Properties.kind)) {
        servicePart.initKind(
            EEFUtils.choiceOfValues(service, SoaPackage.eINSTANCE.getService_Kind()),
            service.getKind());
      }
      if (isAccessible(SoaViewsRepository.Service.Properties.name))
        servicePart.setName(
            EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, service.getName()));

      if (isAccessible(SoaViewsRepository.Service.Properties.description))
        servicePart.setDescription(
            EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, service.getDescription()));
      // init filters

      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }
  /**
   * {@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 Binding binding = (Binding) elt;
      final BindingPropertiesEditionPart bindingPart = (BindingPropertiesEditionPart) editingPart;
      // init values
      if (isAccessible(SoaViewsRepository.Binding.Properties.technology)) {
        bindingPart.initTechnology(
            EEFUtils.choiceOfValues(binding, SoaPackage.eINSTANCE.getBinding_Technology()),
            binding.getTechnology());
      }
      if (isAccessible(SoaViewsRepository.Binding.Properties.description))
        bindingPart.setDescription(
            EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, binding.getDescription()));
      // init filters

      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }
  /**
   * {@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)
   * @generated
   */
  public void initPart(Object key, int kind, EObject elt, ResourceSet allResource) {
    setInitializing(true);
    if (editingPart != null && key == partKey) {
      editingPart.setContext(elt, allResource);

      final Stereotype stereotype = (Stereotype) elt;
      final GeneralPropertiesEditionPart generalPart = (GeneralPropertiesEditionPart) editingPart;
      // init values
      if (isAccessible(UmlViewsRepository.General.name))
        generalPart.setName(
            EEFConverterUtil.convertToString(TypesPackage.Literals.STRING, stereotype.getName()));

      if (isAccessible(UmlViewsRepository.General.visibility)) {
        generalPart.initVisibility(
            EEFUtils.choiceOfValues(stereotype, UMLPackage.eINSTANCE.getNamedElement_Visibility()),
            stereotype.getVisibility());
      }
      generalPart.setAbstract_(stereotype.isAbstract());

      generalPart.setLeaf(stereotype.isLeaf());

      // FIXME NO VALID CASE INTO template public updater(editionElement : PropertiesEditionElement,
      // view : View, pec : PropertiesEditionComponent) in widgetControl.mtl module, with the values
      // : icon, General, Stereotype.
      generalPart.setActive(stereotype.isActive());

      // init filters

      // FIXME NO VALID CASE INTO template public filterUpdater(editionElement :
      // PropertiesEditionElement, view : View, pec : PropertiesEditionComponent) in
      // widgetControl.mtl module, with the values : icon, General, Stereotype.

      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }
  /**
   * {@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 Reference reference = (Reference) elt;
      final ReferencePropertiesEditionPart referencePart =
          (ReferencePropertiesEditionPart) editingPart;
      // init values
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.name))
        referencePart.setName(
            EEFConverterUtil.convertToString(EcorePackage.Literals.ESTRING, reference.getName()));

      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.referencedType)) {
        // init part
        referencedTypeSettings =
            new EObjectFlatComboSettings(
                reference, EnvironmentPackage.eINSTANCE.getReference_ReferencedType());
        referencePart.initReferencedType(referencedTypeSettings);
        // set the button mode
        referencePart.setReferencedTypeButtonMode(ButtonsModeEnum.BROWSE);
      }
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.multiplicity)) {
        referencePart.initMultiplicity(
            EEFUtils.choiceOfValues(
                reference, EnvironmentPackage.eINSTANCE.getProperty_Multiplicity()),
            reference.getMultiplicity());
      }
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.isComposite)) {
        referencePart.setIsComposite(reference.isIsComposite());
      }
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.navigable)) {
        referencePart.setNavigable(reference.isNavigable());
      }
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.oppositeOf)) {
        // init part
        oppositeOfSettings =
            new EObjectFlatComboSettings(
                reference, EnvironmentPackage.eINSTANCE.getReference_OppositeOf());
        referencePart.initOppositeOf(oppositeOfSettings);
        // set the button mode
        referencePart.setOppositeOfButtonMode(ButtonsModeEnum.BROWSE);
      }
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.identifier)) {
        referencePart.setIdentifier(reference.isIsIdentifier());
      }
      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.description))
        referencePart.setDescription(
            EcoreUtil.convertToString(EcorePackage.Literals.ESTRING, reference.getDescription()));
      // init filters

      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.referencedType)) {
        referencePart.addFilterToReferencedType(
            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 StructuredType);
              }
            });
        // Start of user code for additional businessfilters for referencedType
        // End of user code
      }

      if (isAccessible(EnvironmentViewsRepository.Reference.Properties.oppositeOf)) {
        referencePart.addFilterToOppositeOf(
            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 String && element.equals(""))
                    || (element instanceof Reference); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for oppositeOf
        // End of user code
      }

      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }
  /**
   * {@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 Consistency consistency = (Consistency) elt;
      final ConsistencyPropertiesEditionPart basePart =
          (ConsistencyPropertiesEditionPart) editingPart;
      // init values
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.id))
        basePart.setId(
            EEFConverterUtil.convertToString(SACMPackage.Literals.STRING, consistency.getId()));

      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.timing)) {
        timingSettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Timing());
        basePart.initTiming(timingSettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.custody)) {
        custodySettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Custody());
        basePart.initCustody(custodySettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.provenance)) {
        provenanceSettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Provenance());
        basePart.initProvenance(provenanceSettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.event)) {
        eventSettings =
            new ReferencesTableSettings(
                consistency, EvidencePackage.eINSTANCE.getEvidenceElement_Event());
        basePart.initEvent(eventSettings);
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.value)) {
        basePart.initValue(
            EEFUtils.choiceOfValues(consistency, EvidencePackage.eINSTANCE.getConsistency_Value()),
            consistency.getValue());
      }
      // init filters

      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.timing)) {
        basePart.addFilterToTiming(
            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 String && element.equals(""))
                    || (element instanceof TimingProperty); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for timing
        // End of user code
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.custody)) {
        basePart.addFilterToCustody(
            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 String && element.equals(""))
                    || (element instanceof CustodyProperty); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for custody
        // End of user code
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.provenance)) {
        basePart.addFilterToProvenance(
            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 String && element.equals(""))
                    || (element instanceof Provenance); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for provenance
        // End of user code
      }
      if (isAccessible(EvidenceViewsRepository.Consistency.Properties.event)) {
        basePart.addFilterToEvent(
            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 String && element.equals(""))
                    || (element instanceof EvidenceEvent); // $NON-NLS-1$
              }
            });
        // Start of user code for additional businessfilters for event
        // End of user code
      }

      // init values for referenced views

      // init filters for referenced views

    }
    setInitializing(false);
  }