public void testCanRenameAndCanDeleteReferentialAttribute() {
    class findModelClassUsingName implements ClassQueryInterface_c {

      findModelClassUsingName(String aname) {
        name = aname;
      }

      private String name;

      public boolean evaluate(Object candidate) {
        ModelClass_c selected = (ModelClass_c) candidate;
        return selected.getName().equals(name);
      }
    }

    class findPackageUsingName implements ClassQueryInterface_c {
      findPackageUsingName(String aname) {
        name = aname;
      }

      private String name;

      public boolean evaluate(Object candidate) {
        Package_c selected = (Package_c) candidate;
        return selected.getName().equals(name);
      }
    }

    testClass =
        ModelClass_c.getOneO_OBJOnR8001(
            PackageableElement_c.getManyPE_PEsOnR8000(
                Package_c.PackageInstance(
                    modelRoot, new findPackageUsingName("CanRenameCanDelete Data"))),
            new findModelClassUsingName("Class D")); // $NON-NLS-1$ //$NON-NLS-2$
    Attribute_c attr =
        Attribute_c.getOneO_ATTROnR102(testClass, new findAttributeUsingName("id")); // $NON-NLS-1$

    assertFalse(attr.Canrename());
    assertFalse(attr.Candelete());

    Attribute_c attr_ren =
        Attribute_c.getOneO_ATTROnR102(
            testClass,
            new findAttributeUsingName("renamedRefId")); // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

    assertTrue(attr_ren.Canrename());
    assertFalse(attr_ren.Candelete());
  }
 public boolean evaluate(Object candidate) {
   ModelClass_c selected = (ModelClass_c) candidate;
   return selected.getName().equals(name);
 }
  public void onPageEntry() {
    Ooaofooa modelRoot =
        Selection.getModelRoot(
            (StructuredSelection)
                ((CommunicationClassEventFormalizeOnMSG_AMWizard) getWizard()).getSelection());

    // cache for previous user selections
    StateMachineEvent_c v_Message =
        ((CommunicationClassEventFormalizeOnMSG_AMWizard) getWizard()).v_Message;

    // cache for context
    AsynchronousMessage_c v_asyncMessage =
        ((CommunicationClassEventFormalizeOnMSG_AMWizard) getWizard()).v_asyncMessage;
    ClassParticipant_c v_cp = ((CommunicationClassEventFormalizeOnMSG_AMWizard) getWizard()).v_cp;

    if (((v_asyncMessage != null))) {

      if (((v_cp != null))) {

        Message_c v_message = Message_c.getOneMSG_MOnR1018(v_asyncMessage);

        InteractionParticipant_c v_participant = InteractionParticipant_c.getOneSQ_POnR930(v_cp);

        ModelClass_c v_mclass = ModelClass_c.getOneO_OBJOnR939(v_cp);

        if (((v_mclass != null))) {

          StateMachine_c v_stateMachine =
              StateMachine_c.getOneSM_SMOnR517(ClassStateMachine_c.getOneSM_ASMOnR519(v_mclass));

          ClassStateMachine_c v_asm = ClassStateMachine_c.getOneSM_ASMOnR519(v_mclass);

          InstanceStateMachine_c v_ism = InstanceStateMachine_c.getOneSM_ISMOnR518(v_mclass);

          java.util.UUID v_asmId = Gd_c.Null_unique_id();

          java.util.UUID v_ismId = Gd_c.Null_unique_id();

          if (((v_asm != null))) {

            v_asmId = v_asm.getSm_id();
          }

          if (((v_ism != null))) {

            v_ismId = v_ism.getSm_id();
          }

          StateMachineEvent_c v_evt =
              StateMachineEvent_c.getOneSM_EVTOnR1009(
                  EventMessage_c.getOneMSG_EOnR1019(v_asyncMessage));

          java.util.UUID v_existingId = Gd_c.Null_unique_id();

          if (((v_evt != null))) {

            v_existingId = v_evt.getSmevt_id();
          }

          StateMachine_c v_machines1 =
              (StateMachine_c)
                  modelRoot.getInstanceList(StateMachine_c.class).getGlobal(null, v_asmId);
          List<StateMachine_c> v_machinesList = new ArrayList<StateMachine_c>();
          if (v_machines1 != null) {
            v_machinesList.add(v_machines1);
          }
          StateMachine_c[] v_machines =
              v_machinesList.toArray(new StateMachine_c[v_machinesList.size()]);
          StateMachine_c v_machines2 =
              (StateMachine_c)
                  modelRoot.getInstanceList(StateMachine_c.class).getGlobal(null, v_ismId);
          if (v_machines2 != null) {
            v_machinesList.add(v_machines2);
          }
          v_machines = v_machinesList.toArray(new StateMachine_c[v_machinesList.size()]);

          if (((v_Message != null))) {}
        }
      }
    }
  }
  public boolean performFinish() {
    TransactionUtil.TransactionGroup transactionGroup = null;
    ModelRoot modelRoot = v_asyncMessage.getModelRoot();
    try {
      transactionGroup =
          TransactionUtil.startTransactionsOnSelectedModelRoots(
              "Instance Event Formalize"); //$NON-NLS-1$
      Message_c v_message = Message_c.getOneMSG_MOnR1018(v_asyncMessage);

      InteractionParticipant_c v_participant =
          InteractionParticipant_c.getOneSQ_POnR1007(v_message);

      Lifespan_c v_ls = Lifespan_c.getOneSQ_LSOnR930(v_participant);

      ClassInstanceParticipant_c v_cip =
          ClassInstanceParticipant_c.getOneSQ_CIPOnR930(
              InteractionParticipant_c.getOneSQ_POnR940(v_ls));

      ModelClass_c v_cipclass =
          (ModelClass_c)
              modelRoot.getInstanceList(ModelClass_c.class).getGlobal(null, Gd_c.Null_unique_id());

      if (((v_cip != null))) {

        v_cipclass = ModelClass_c.getOneO_OBJOnR934(v_cip);

      } else {

        v_cip =
            ClassInstanceParticipant_c.getOneSQ_CIPOnR930(
                InteractionParticipant_c.getOneSQ_POnR1007(v_message));

        if (((v_cip != null))) {

          Communication_c v_communication =
              Communication_c.getOneCOMM_COMMOnR1126(
                  ParticipantInCommunication_c.getOneCOMM_PICOnR1126(
                      InteractionParticipant_c.getOneSQ_POnR930(v_cip)));

          if (((v_communication != null))) {

            v_cipclass = ModelClass_c.getOneO_OBJOnR934(v_cip);
          }
        }
      }

      if (((v_cipclass != null))) {

        StateMachineEvent_c v_evt =
            StateMachineEvent_c.getOneSM_EVTOnR1009(
                EventMessage_c.getOneMSG_EOnR1019(v_asyncMessage));

        java.util.UUID v_existingId = Gd_c.Null_unique_id();

        if (((v_evt != null))) {

          v_existingId = v_evt.getSmevt_id();
        }

        StateMachine_c v_stateMachine =
            StateMachine_c.getOneSM_SMOnR517(InstanceStateMachine_c.getOneSM_ISMOnR518(v_cipclass));

        StateMachine_c[] v_machines =
            StateMachine_c.getManySM_SMsOnR517(
                InstanceStateMachine_c.getManySM_ISMsOnR518(
                    ModelClass_c.getManyO_OBJsOnR8001(
                        PackageableElement_c.getManyPE_PEsOnR8000(
                            Package_c.getManyEP_PKGsOnR1405(
                                SystemModel_c.getManyS_SYSsOnR1405(
                                    Package_c.getManyEP_PKGsOnR8000(
                                        PackageableElement_c.getManyPE_PEsOnR8001(
                                            v_cipclass))))))));

        if (((v_machines.length == 0))) {

          v_machines =
              StateMachine_c.getManySM_SMsOnR517(
                  InstanceStateMachine_c.getManySM_ISMsOnR518(
                      ModelClass_c.getManyO_OBJsOnR2(
                          Subsystem_c.getManyS_SSsOnR1(
                              Domain_c.getManyS_DOMsOnR1(
                                  Subsystem_c.getManyS_SSsOnR2(v_cipclass))))));
        }

        if (((v_Message != null))) {

          if (v_asyncMessage != null) {
            v_asyncMessage.Formalizewithevent(v_Message.getSmevt_id());
          } else {
            Throwable t = new Throwable();
            t.fillInStackTrace();
            CorePlugin.logError("Attempted to call an operation on a null instance.", t);
          }
        }
      }

      // catch all exceptions and cancel the transaction
    } catch (Exception e) {
      if (transactionGroup != null) TransactionUtil.cancelTransactions(transactionGroup, e);
      CorePlugin.logError("Transaction: Instance Event Formalize failed", e); // $NON-NLS-1$
      // return true so that the wizard will
      // close
      return true;
    }
    if (transactionGroup != null) TransactionUtil.endTransactions(transactionGroup);
    if (m_viewer != null) {
      if (m_viewer instanceof StructuredViewer) {
        ((StructuredViewer) m_viewer).refresh(v_asyncMessage);
      } else {
        m_viewer.refresh();
      }
    }
    return true;
  }
  public void onPageEntry() {
    Ooaofooa modelRoot =
        Selection.getModelRoot(
            (StructuredSelection)
                ((CommunicationInstanceEventFormalizeOnMSG_AMWizard) getWizard()).getSelection());

    // cache for previous user selections
    StateMachineEvent_c v_Message =
        ((CommunicationInstanceEventFormalizeOnMSG_AMWizard) getWizard()).v_Message;

    // cache for context
    AsynchronousMessage_c v_asyncMessage =
        ((CommunicationInstanceEventFormalizeOnMSG_AMWizard) getWizard()).v_asyncMessage;
    ClassInstanceParticipant_c v_cip =
        ((CommunicationInstanceEventFormalizeOnMSG_AMWizard) getWizard()).v_cip;

    if (((v_asyncMessage != null))) {

      if (((v_cip != null))) {

        Message_c v_message = Message_c.getOneMSG_MOnR1018(v_asyncMessage);

        InteractionParticipant_c v_participant = InteractionParticipant_c.getOneSQ_POnR930(v_cip);

        ModelClass_c v_mclass = ModelClass_c.getOneO_OBJOnR934(v_cip);

        if (((v_mclass != null))) {

          StateMachineEvent_c v_evt =
              StateMachineEvent_c.getOneSM_EVTOnR1009(
                  EventMessage_c.getOneMSG_EOnR1019(v_asyncMessage));

          java.util.UUID v_existingId = Gd_c.Null_unique_id();

          if (((v_evt != null))) {

            v_existingId = v_evt.getSmevt_id();
          }

          StateMachine_c v_stateMachine =
              StateMachine_c.getOneSM_SMOnR517(InstanceStateMachine_c.getOneSM_ISMOnR518(v_mclass));

          StateMachine_c[] v_machines =
              StateMachine_c.getManySM_SMsOnR517(
                  InstanceStateMachine_c.getManySM_ISMsOnR518(
                      ModelClass_c.getManyO_OBJsOnR8001(
                          PackageableElement_c.getManyPE_PEsOnR8000(
                              Package_c.getManyEP_PKGsOnR1405(
                                  SystemModel_c.getManyS_SYSsOnR1405(
                                      Package_c.getManyEP_PKGsOnR8000(
                                          PackageableElement_c.getManyPE_PEsOnR8001(
                                              v_mclass))))))));

          if (((v_machines.length == 0))) {

            v_machines =
                StateMachine_c.getManySM_SMsOnR517(
                    InstanceStateMachine_c.getManySM_ISMsOnR518(
                        ModelClass_c.getManyO_OBJsOnR2(
                            Subsystem_c.getManyS_SSsOnR1(
                                Domain_c.getManyS_DOMsOnR1(
                                    Subsystem_c.getManyS_SSsOnR2(v_mclass))))));
          }

          if (((v_Message != null))) {}
        }
      }
    }
  }