コード例 #1
0
ファイル: Noark5TestHelper.cs プロジェクト: veridit/arkade5
        public static bool PeriodSeparationIsSharp(Archive archive)
        {
            bool inboundSeparationIsSharp;
            bool outboundSeparationIsSharp;

            addml archiveExtraction = GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, archive);

            try
            {
                dataObject archiveExtractionElement = archiveExtraction.dataset[0].dataObjects.dataObject[0];
                property   infoElement           = archiveExtractionElement.properties[0];
                property   additionalInfoElement = infoElement.properties[1];
                property   periodProperty        =
                    additionalInfoElement.properties.FirstOrDefault(p => p.name == "periode");

                property inboundSeparationProperty  = periodProperty.properties[0];
                property outboundSeparationProperty = periodProperty.properties[1];

                inboundSeparationIsSharp  = inboundSeparationProperty.value.Equals("skarp");
                outboundSeparationIsSharp = outboundSeparationProperty.value.Equals("skarp");
            }
            catch
            {
                string exceptionMessage = string.Format(Resources.ExceptionMessages.PeriodSeparationParseError, ArkadeConstants.ArkivuttrekkXmlFileName);

                throw new ArkadeException(exceptionMessage);
            }

            return(inboundSeparationIsSharp && outboundSeparationIsSharp);
        }
コード例 #2
0
ファイル: Noark5TestHelper.cs プロジェクト: veridit/arkade5
        public static bool FileIsDescribed(string fileName, Archive archive)
        {
            addml archiveExtraction = GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, archive);

            try
            {
                dataObject archiveExtractionElement = archiveExtraction.dataset[0].dataObjects.dataObject[0];

                dataObject fileElement = archiveExtractionElement.dataObjects.dataObject.FirstOrDefault(
                    d => d.name == Path.GetFileNameWithoutExtension(fileName)
                    );

                return(fileElement != null);
            }
            catch
            {
                string exceptionMessage = string.Format(
                    Resources.ExceptionMessages.FileDescriptionParseError,
                    fileName,
                    ArkadeConstants.ArkivuttrekkXmlFileName
                    );

                throw new ArkadeException(exceptionMessage);
            }
        }
コード例 #3
0
        public AddmlInfo(addml addml, FileInfo addmlFile)
        {
            Assert.AssertNotNull(Resources.AddmlMessages.Addml, addml);
            Assert.AssertNotNull(Resources.AddmlMessages.AddmlFile, addmlFile);

            Addml     = addml;
            AddmlFile = addmlFile;
        }
コード例 #4
0
        public ArchiveStartAndEndDateControl(Archive archive)
        {
            _registrationCreationDates = new SortedSet <DateTime>();

            _filesNotFound      = new List <string>();
            _headPublicJournal  = GetJournalHead(ArkadeConstants.PublicJournalXmlFileName, archive);
            _headRunningJournal = GetJournalHead(ArkadeConstants.RunningJournalXmlFileName, archive);
            _archiveExtraction  = GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, archive);
        }
コード例 #5
0
 public ArchiveDetails(Archive archive)
 {
     try
     {
         _addml = SerializeUtil.DeserializeFromFile <addml>(archive.AddmlXmlUnit.File);
     }
     catch (Exception exception)
     {
         throw new ArkadeException($"Error reading addml xml: {exception.Message}");
     }
 }
コード例 #6
0
        public void ShouldTransformFromNoarkihToAddml()
        {
            string noark4Xml = TestUtil.ReadFromFileInTestDataDir("noark4\\NOARKIH.XML");

            string noark3Xml = NoarkihToAddmlTransformer.Transform(noark4Xml);

            addml addml = AddmlUtil.ReadFromString(noark3Xml);

            addml.Should().NotBeNull();

            addml.dataset[0].flatFiles.flatFile.Length.Should().Be(67);
            addml.dataset[0].flatFiles.flatFileDefinitions.Length.Should().Be(67);
        }
コード例 #7
0
        private int GetDocumentedNumberOfFolders()
        {
            addml addml = Noark5TestHelper.GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, _archive);

            string numberOfFolders = addml.dataset[0].dataObjects.dataObject[0]
                                     .dataObjects.dataObject[0].properties.FirstOrDefault(
                p => p.name == "info").properties.Where(
                p => p.name == "numberOfOccurrences").FirstOrDefault(
                p => p.value.Equals("mappe")).properties.FirstOrDefault(
                p => p.name.Equals("value"))
                                     .value;

            return(int.Parse(numberOfFolders));
        }
コード例 #8
0
        private int GetDocumentedNumberOfFolders()
        {
            addml addml = SerializeUtil.DeserializeFromFile <addml>(_archive.AddmlXmlUnit.File);

            string numberOfFolders = addml.dataset[0].dataObjects.dataObject[0]
                                     .dataObjects.dataObject[0].properties.FirstOrDefault(
                p => p.name == "info").properties.Where(
                p => p.name == "numberOfOccurrences").FirstOrDefault(
                p => p.value.Equals("mappe")).properties.FirstOrDefault(
                p => p.name.Equals("value"))
                                     .value;

            return(int.Parse(numberOfFolders));
        }
コード例 #9
0
ファイル: AddmlUtil.cs プロジェクト: reftel/arkade5
        public static AddmlInfo ReadFromFile(string fileName)
        {
            string addmlXsd = ResourceUtil.ReadResource(ArkadeConstants.AddmlXsdResource);

            try
            {
                string fileContent = File.ReadAllText(fileName);
                addml  addml       = ReadFromString(fileContent);

                Validate(fileContent, addmlXsd);

                return(new AddmlInfo(addml, new FileInfo(fileName)));
            }
            catch (FileNotFoundException e)
            {
                throw new ArkadeException(string.Format(Resources.ExceptionMessages.FileNotFound, fileName), e);
            }
            catch (Exception e)
            {
                throw new ArkadeException(string.Format(Resources.Messages.ExceptionReadingAddmlFile, e.Message), e);
            }
        }
コード例 #10
0
ファイル: AddmlUtil.cs プロジェクト: reftel/arkade5
 private static void Validate(addml addml)
 {
 }
コード例 #11
0
 public ArchiveDetails(Archive archive)
 {
     _addml = SerializeUtil.DeserializeFromFile <addml>(archive.AddmlFile);
 }