Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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
                });
            }
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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);
        }