internal override CommandBase.OperationResult UndoOperation() { PSMGeneralization psmGeneralization = Project.TranslateComponent <PSMGeneralization>(generalizationGuid); PSMClass oldClass = Project.TranslateComponent <PSMClass>(oldClassGuid); PSMClass newClass = oldClass.GeneralizationAsSpecific.General; newClass.GeneralizationsAsGeneral.Remove(psmGeneralization); psmGeneralization.General = oldClass; oldClass.GeneralizationsAsGeneral.Insert(psmGeneralization, index); return(OperationResult.OK); }
internal override CommandBase.OperationResult UndoOperation() { PSMGeneralization psmGeneralization = Project.TranslateComponent <PSMGeneralization>(generalizationGuid); PSMClass generalClass = Project.TranslateComponent <PSMClass>(generalClassGuid); PSMClass specialClass = Project.TranslateComponent <PSMClass>(specialClassGuid); specialClass.GeneralizationsAsGeneral.Remove(psmGeneralization); psmGeneralization.General = generalClass; generalClass.GeneralizationsAsGeneral.Insert(psmGeneralization, index); return(OperationResult.OK); }
internal override CommandBase.OperationResult UndoOperation() { PSMGeneralization g = Project.TranslateComponent <PSMGeneralization>(GeneralizationGuid); PSMSchema s = Project.TranslateComponent <PSMSchema>(schemaGuid); g.General.GeneralizationsAsGeneral.Remove(g); g.Specific.GeneralizationAsSpecific = null; s.PSMGeneralizations.Remove(g); Project.mappingDictionary.Remove(g); return(OperationResult.OK); }
internal override void CommandOperation() { PSMGeneralization g = Project.TranslateComponent <PSMGeneralization>(deletedGeneralizationGuid); Report = new CommandReport(CommandReports.PSM_component_deleted, g); specificClass = g.Specific; generalClass = g.General; g.Specific.GeneralizationAsSpecific = null; index = g.General.GeneralizationsAsGeneral.Remove(g); Project.TranslateComponent <PSMSchema>(schemaGuid).PSMGeneralizations.Remove(g); Project.mappingDictionary.Remove(deletedGeneralizationGuid); }
internal override void GenerateSubCommands() { PSMGeneralization generalization = Project.TranslateComponent <PSMGeneralization>(GeneralizationGuid); PSMClass oldclass = generalization.General; PSMClass newclass = Project.TranslateComponent <PSMClass>(PSMClassGuid); List <PSMGeneralization> path = oldclass.GetGeneralizationPathTo(newclass); for (int i = 0; i < path.Count; i++) { Commands.Add(new acmdGeneralizePSMGeneralization(Controller, generalization) { Propagate = Propagate }); } }
internal override void CommandOperation() { PSMGeneralization psmGeneralization = Project.TranslateComponent <PSMGeneralization>(generalizationGuid); PSMClass generalClass = psmGeneralization.General; generalClassGuid = generalClass; PSMClass specialClass = Project.TranslateComponent <PSMClass>(specialClassGuid); index = generalClass.GeneralizationsAsGeneral.IndexOf(psmGeneralization); Report = new CommandReport("{0} specialized from {1} to {2}.", psmGeneralization, generalClass, specialClass); generalClass.GeneralizationsAsGeneral.Remove(psmGeneralization); psmGeneralization.General = specialClass; specialClass.GeneralizationsAsGeneral.Add(psmGeneralization); }
internal override void CommandOperation() { PSMGeneralization psmGeneralization = Project.TranslateComponent <PSMGeneralization>(generalizationGuid); PSMClass oldClass = psmGeneralization.General; oldClassGuid = oldClass; PSMClass newClass = oldClass.GeneralizationAsSpecific.General; index = oldClass.GeneralizationsAsGeneral.IndexOf(psmGeneralization); Report = new CommandReport("{0} generalized from {1} to {2}.", psmGeneralization, oldClass, newClass); oldClass.GeneralizationsAsGeneral.Remove(psmGeneralization); psmGeneralization.General = newClass; newClass.GeneralizationsAsGeneral.Add(psmGeneralization); }
public override bool CanExecute() { if (generalizationGuid == Guid.Empty || specialClassGuid == Guid.Empty) { ErrorDescription = CommandErrors.CMDERR_INPUT_TYPE_MISMATCH; return(false); } PSMGeneralization pimGeneralization = Project.TranslateComponent <PSMGeneralization>(generalizationGuid); PSMClass oldclass = pimGeneralization.General; PSMClass newclass = Project.TranslateComponent <PSMClass>(specialClassGuid); if (newclass.GeneralizationAsSpecific == null || newclass.GeneralizationAsSpecific.General != oldclass) { ErrorDescription = CommandErrors.CMDERR_INVALID_SPECIALIZATION; return(false); } return(true); }
public override bool CanExecute() { if (generalizationGuid == Guid.Empty) { ErrorDescription = CommandErrors.CMDERR_INPUT_TYPE_MISMATCH; return(false); } PSMGeneralization generalization = Project.TranslateComponent <PSMGeneralization>(generalizationGuid); PSMClass oldclass = generalization.General; PSMClass newclass = oldclass.GeneralizationAsSpecific == null ? null : oldclass.GeneralizationAsSpecific.General; if (newclass == null) { ErrorDescription = CommandErrors.CMDERR_NO_GENERALIZATION; return(false); } return(true); }
public override bool CanExecute() { if (GeneralizationGuid == Guid.Empty || PSMClassGuid == Guid.Empty) { ErrorDescription = CommandErrors.CMDERR_INPUT_TYPE_MISMATCH; return(false); } PSMGeneralization generalization = Project.TranslateComponent <PSMGeneralization>(GeneralizationGuid); PSMClass oldclass = generalization.General; PSMClass newclass = Project.TranslateComponent <PSMClass>(PSMClassGuid); if (!oldclass.GetGeneralClasses().Contains(newclass)) { ErrorDescription = CommandErrors.CMDERR_CLASS_NOT_GENERAL; return(false); } return(true); }