Esempio n. 1
0
            /// <summary>
            ///     Update references to paragraphs
            /// </summary>
            /// <param name="obj"></param>
            /// <param name="visitSubNodes"></param>
            public override void visit(Generated.ReqRef obj, bool visitSubNodes)
            {
                ReqRef reqRef = (ReqRef)obj;

                if (UpdateGuid)
                {
                    Specification.Paragraph paragraph = reqRef.Paragraph;
                    if (paragraph != null)
                    {
                        // Updates the paragraph Guid
                        if (paragraph.Guid != reqRef.getId())
                        {
                            reqRef.setId(paragraph.getGuid());
                        }

                        // Updates the specification Guid
                        Specification.Specification specification =
                            EnclosingFinder <Specification.Specification> .find(paragraph);

                        if (specification.Guid != reqRef.getSpecId())
                        {
                            reqRef.setSpecId(specification.Guid);
                        }
                    }
                }

                base.visit(obj, visitSubNodes);
            }
Esempio n. 2
0
            public override void visit(Generated.Specification obj, bool visitSubNodes)
            {
                Specification.Specification specification = (Specification.Specification)obj;

                if (specification.allChapterRefs() != null)
                {
                    foreach (ChapterRef chapterRef in specification.allChapterRefs())
                    {
                        Chapter chapter = chapterRef.LoadChapter(LockFiles, AllowErrorsDuringLoad);
                        if (chapter != null)
                        {
                            specification.appendChapters(chapter);
                            chapter.ChapterRef = chapterRef;
                        }
                        else
                        {
                            ErrorsDuringLoad.Add(new ElementLog(ElementLog.LevelEnum.Error,
                                                                "Cannot load file " + chapterRef.FileName));
                        }
                    }
                    specification.allChapterRefs().Clear();
                }

                base.visit(obj, visitSubNodes);
            }
Esempio n. 3
0
            public override void visit(Generated.Specification obj, bool visitSubNodes)
            {
                base.visit(obj, visitSubNodes);

                Specification.Specification specification = (Specification.Specification)obj;

                if (_beforeSave)
                {
                    specification.ClearTempFiles();
                    specification.allChapterRefs().Clear();

                    if (specification.allChapters() != null)
                    {
                        foreach (Chapter chapter in specification.allChapters())
                        {
                            specification.appendChapterRefs(referenceChapter(specification, chapter));
                        }
                    }
                    specification.StoreInfo();
                }
                else
                {
                    specification.RestoreInfo();
                }
            }
Esempio n. 4
0
        public override Generated.Specification createSpecification()
        {
            Generated.Specification retVal = new Specification.Specification();

            _defaultValueSetter.SetDefaultValue(retVal);

            return(retVal);
        }
Esempio n. 5
0
        /// <summary>
        ///     Loads a specification and lock the file
        /// </summary>
        /// <param name="filePath">The name of the file which holds the dictionary data</param>
        /// <param name="dictionary">The dictionary for which the specification is loaded</param>
        /// <param name="lockFiles">Indicates that the files should be locked</param>
        /// <returns></returns>
        public static Specification.Specification LoadSpecification(String filePath, Dictionary dictionary,
                                                                    bool lockFiles)
        {
            Specification.Specification retVal = LoadFile <Specification.Specification>(filePath, dictionary, lockFiles);

            if (retVal == null)
            {
                throw new Exception("Cannot read file " + filePath);
            }

            return(retVal);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="originalFilePath"></param>
 /// <param name="newFilePath"></param>
 /// <param name="specifications"></param>
 public Importer(string originalFilePath, string newFilePath, Specification specifications)
 {
     OriginalFilePath = originalFilePath;
     NewFilePath = newFilePath;
     Specifications = specifications;
 }
        /// <summary>
        /// Performs the delta on the specification provided
        /// </summary>
        /// <param name="delta"></param>
        /// <param name="specifications"></param>
        private void PerformDelta(DataDictionary.Specification.Specification specifications)
        {
            foreach (Paragraph p in NewDocument.ChangedParagraphs)
            {
                DataDictionary.Specification.Paragraph par = specifications.FindParagraph(p.Id);

                if (par != null)
                {
                    par.Text = p.Text;
                    par.AddInfo("Paragraph has been changed");
                    par.setImplementationStatus(DataDictionary.Generated.acceptor.SPEC_IMPLEMENTED_ENUM.Impl_NewRevisionAvailable);
                    par.setReviewed(false);
                    foreach (DataDictionary.ReqRef reqRef in par.Implementations)
                    {
                        DataDictionary.ReqRelated reqRelated = reqRef.Model as DataDictionary.ReqRelated;
                        if (reqRelated != null)
                        {
                            reqRelated.setImplemented(false);
                            reqRelated.setVerified(false);
                        }
                    }
                }
                else
                {
                    AddError(specifications, p, "Cannot find paragraph " + p.Id + " for modification");
                }
            }

            foreach (Paragraph p in NewDocument.NewParagraphs)
            {
                DataDictionary.Specification.Paragraph par = specifications.FindParagraph(p.Id);

                if (par != null)
                {
                    AddError(specifications, p, "Paragraph " + p.Id + " already exists, whereas it has been detected as a new paragraph in the release");
                }
                else
                {
                    par = specifications.FindParagraph(p.Id, true);
                    if (par != null)
                    {
                        par.setText(p.Text);
                        par.AddInfo("New paragraph");
                    }
                    else
                    {
                        AddError(specifications, p, "Paragraph " + p.Id + " cannot be found in the specification");
                    }
                }
            }

            foreach (Paragraph p in NewDocument.RemovedParagraphs)
            {
                DataDictionary.Specification.Paragraph par = specifications.FindParagraph(p.Id);

                if (par != null)
                {
                    par.Text = "<Removed in current release>";
                    par.AddInfo("Paragraph has been removed");
                }
                else
                {
                    AddError(specifications, p, "Cannot find paragraph " + p.Id + " for removal");
                }
            }
        }
 /// <summary>
 /// Adds an importation error
 /// </summary>
 /// <param name="specifications"></param>
 /// <param name="p"></param>
 /// <param name="error"></param>
 private void AddError(DataDictionary.Specification.Specification specifications, Paragraph p, string error)
 {
     specifications.AddError(error);
     NewDocument.Errors.Add(new ImportationError(error, p));
 }
        public override Generated.Specification createSpecification()
        {
            Generated.Specification retVal = new Specification.Specification();

            _defaultValueSetter.SetDefaultValue(retVal);

            return retVal;
        }
Esempio n. 10
0
        /// <summary>
        /// Loads a specification and lock the file
        /// </summary>
        /// <param name="filePath">The name of the file which holds the dictionary data</param>
        /// <param name="dictionary">The dictionary for which the specification is loaded</param>
        /// <returns></returns>
        public static Specification.Specification loadSpecification(String filePath, Dictionary dictionary)
        {
            Specification.Specification retVal = DocumentLoader <Specification.Specification> .loadFile(filePath, dictionary);

            return(retVal);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aSpecification">The specification to be exported</param>
 public FunctionalBlockExporter(Specification aSpecification)
 {
     specification = aSpecification;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 public NotImplementedButImplementationExistsVisitor(Specification specification)
 {
     Implementations = new AllReferences();
     foreach (DataDictionary.Dictionary dictionary in EFSSystem.INSTANCE.Dictionaries)
     {
         Implementations.Initialize(dictionary);
     }
 }
 /// <summary>
 /// Constructor
 /// </summary>
 public ImplementedWithNoFunctionalTestVisitor(Specification specification)
 {
     FunctionalTests = new AllReferences();
     foreach (DataDictionary.Dictionary dictionary in EFSSystem.INSTANCE.Dictionaries)
     {
         FunctionalTests.Initialize(dictionary);
     }
 }