/**
  * {@inheritDoc}
  *
  * @see
  *     org.eclipse.acceleo.common.utils.IAcceleoCrossReferenceProvider#getInverseReferences(org.eclipse.emf.ecore.EObject)
  */
 public Set<EObject> getInverseReferences(EObject eObject) {
   final Set<EObject> result = Sets.newLinkedHashSet();
   for (EStructuralFeature.Setting setting : crossReferencer.getInverseReferences(eObject)) {
     result.add(setting.getEObject());
   }
   return result;
 }
 /** @generated */
 private static Collection getIncomingTypeModelFacetLinks_ArcToEvent_3002(
     hub.top.adaptiveSystem.Event target, Map crossReferences) {
   Collection result = new LinkedList();
   Collection settings = (Collection) crossReferences.get(target);
   for (Iterator it = settings.iterator(); it.hasNext(); ) {
     EStructuralFeature.Setting setting = (EStructuralFeature.Setting) it.next();
     if (setting.getEStructuralFeature()
             != hub.top.adaptiveSystem.AdaptiveSystemPackage.eINSTANCE.getArcToEvent_Destination()
         || false == setting.getEObject() instanceof hub.top.adaptiveSystem.ArcToEvent) {
       continue;
     }
     hub.top.adaptiveSystem.ArcToEvent link =
         (hub.top.adaptiveSystem.ArcToEvent) setting.getEObject();
     if (hub.top.adaptiveSystem.diagram.edit.parts.ArcToEventEditPart.VISUAL_ID
         != hub.top.adaptiveSystem.diagram.part.AdaptiveSystemVisualIDRegistry
             .getLinkWithClassVisualID(link)) {
       continue;
     }
     hub.top.adaptiveSystem.Condition src = link.getSource();
     result.add(
         new hub.top.adaptiveSystem.diagram.part.AdaptiveSystemLinkDescriptor(
             src,
             target,
             link,
             hub.top.adaptiveSystem.diagram.providers.AdaptiveSystemElementTypes.ArcToEvent_3002,
             hub.top.adaptiveSystem.diagram.edit.parts.ArcToEventEditPart.VISUAL_ID));
   }
   return result;
 }
  /**
   * Check that the {@code representation} is correctly removed/present including removed/prevent
   * from/in the Sirius CrossReferencer.
   *
   * @param target the semantic target
   * @param representation the representation to check
   * @param expected true if representation have to be found
   */
  private void checkRepresentation(
      EObject target, DRepresentation representation, boolean expected) {
    Collection<DRepresentation> representations = Lists.newArrayList();
    ECrossReferenceAdapter xref = session.getSemanticCrossReferencer();
    for (EStructuralFeature.Setting setting : xref.getInverseReferences(target)) {
      if (ViewpointPackage.Literals.DREPRESENTATION.isInstance(setting.getEObject())
          && setting.getEStructuralFeature()
              == ViewpointPackage.Literals.DSEMANTIC_DECORATOR__TARGET) {
        representations.add((DRepresentation) setting.getEObject());
      }
    }
    assertEquals(
        "Can "
            + (expected ? "not " : "")
            + "find "
            + DIAGRAM_NAME
            + " DRepresentation with sirius cross referencer",
        expected,
        representations.contains(representation));

    representations = DialectManager.INSTANCE.getRepresentations(target, session);
    assertEquals(
        "Can "
            + (expected ? "not " : "")
            + "find "
            + DIAGRAM_NAME
            + " DRepresentation with DialectManager.INSTANCE.getRepresentations",
        expected,
        representations.contains(representation));
  }
    UncontrolUpdate(
        EStructuralFeature.Setting setting,
        EObject originalObject,
        CDOID originalProxy,
        URI destinationURI,
        CDOID destinationProxy) {
      super(setting);
      this.originalObject = originalObject;
      this.originalProxy = originalProxy;
      this.destinationURI = destinationURI;
      this.destinationProxy = destinationProxy;

      EStructuralFeature feature = setting.getEStructuralFeature();
      InternalEObject owner = (InternalEObject) setting.getEObject();

      if (!feature.isMany()) {
        index = EStore.NO_INDEX;
      } else {
        // don't go directly to the store because it may have proxies.
        // Use the resolved view in the EObject, instead
        index = ((EList<?>) owner.eGet(feature)).indexOf(originalObject);
        if (index < 0) {
          Activator.log.error(
              "Setting does not include the object being replaced by a proxy.",
              null); //$NON-NLS-1$
        }
      }
    }
 /**
  * {@inheritDoc}
  *
  * @see
  *     org.eclipse.acceleo.common.utils.IAcceleoCrossReferenceProvider#getInverseReferences(org.eclipse.emf.ecore.EObject,
  *     org.eclipse.emf.ecore.EClassifier)
  */
 public Set<EObject> getInverseReferences(EObject eObject, EClassifier filter) {
   final Set<EObject> result = Sets.newLinkedHashSet();
   for (EStructuralFeature.Setting setting : crossReferencer.getInverseReferences(eObject)) {
     final EObject eObj = setting.getEObject();
     if (filter == null || filter.isInstance(eObj)) {
       result.add(eObj);
     }
   }
   return result;
 }
 /**
  * Extend the given addition group for the given element within the given scope so that GMF
  * elements are bound to their semantic elements
  *
  * @param group_p a non-null, modifiable collection
  * @param element_p a non-null element
  * @param scope_p a non-null scope
  */
 protected void extendGMFAdditionGroupSemanticTarget(
     Set<EObject> group_p, EObject element_p, IFeaturedModelScope scope_p) {
   ECrossReferenceAdapter crAdapter = ECrossReferenceAdapter.getCrossReferenceAdapter(element_p);
   if (crAdapter != null) {
     for (EStructuralFeature.Setting setting :
         crAdapter.getNonNavigableInverseReferences(element_p, false)) {
       if (setting.getEStructuralFeature() == NotationPackage.eINSTANCE.getView_Element())
         group_p.add(setting.getEObject());
     }
   }
 }
Example #7
0
  /** @generated NOT */
  public Operator getOperator() {
    Operator op = null;
    // get all references that point to this element
    Collection<EStructuralFeature.Setting> settings =
        EcoreUtil.UsageCrossReferencer.find(this, this.eContainer());
    // search the "roles" reference of an operator that points to this element
    for (EStructuralFeature.Setting setting : settings) {
      if (setting.getEStructuralFeature() == Sm_mmPackage.Literals.OPERATOR__ROLES) {
        op = (Operator) setting.getEObject();
        break;
      }
    }

    return op;
  }
    Update(EStructuralFeature.Setting setting) {
      this.setting = setting;

      InternalEObject owner = (InternalEObject) setting.getEObject();
      CDOObject cdoOwner = CDOUtil.getCDOObject(owner);

      InternalCDOView view = (InternalCDOView) cdoOwner.cdoView();
      store = view.getStore();
    }
 public boolean apply(EStructuralFeature.Setting input) {
   return ((ReferenceChange) input.getEObject()).getReference()
       == UMLPackage.Literals.GENERALIZATION__GENERALIZATION_SET;
 }