Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/04/14 12:56:57 (9 years ago)
Author:
ascheibe
Message:

#2247 switched persistence, instance providers, plugin infrastructure and MathJax to System.IO.Compression

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.Instances.QAPLIB/3.3/QAPLIBInstanceProvider.cs

    r11171 r11650  
    2323using System.Collections.Generic;
    2424using System.IO;
     25using System.IO.Compression;
    2526using System.Linq;
    2627using System.Reflection;
    2728using System.Text.RegularExpressions;
    28 using ICSharpCode.SharpZipLib.Zip;
    2929
    3030namespace HeuristicLab.Problems.Instances.QAPLIB {
     
    3434    protected virtual HashSet<string> ReversedSolutions {
    3535      get {
    36             return new HashSet<string>(new string[] {
     36        return new HashSet<string>(new string[] {
    3737              "bur26a",
    3838              "bur26b",
     
    177177      var solutionsArchiveName = GetResourceName(FileName + @"\.sln\.zip");
    178178      if (!String.IsNullOrEmpty(solutionsArchiveName)) {
    179         using (var solutionsZipFile = new ZipInputStream(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName))) {
    180           foreach (var entry in GetZipContents(solutionsZipFile))
    181             solutions.Add(Path.GetFileNameWithoutExtension(entry) + ".dat", entry);
     179        using (var solutionsZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName), ZipArchiveMode.Read)) {
     180          foreach (var entry in solutionsZipFile.Entries)
     181            solutions.Add(Path.GetFileNameWithoutExtension(entry.Name) + ".dat", entry.Name);
    182182        }
    183183      }
     
    185185      if (String.IsNullOrEmpty(instanceArchiveName)) yield break;
    186186
    187       using (var instanceStream = new ZipInputStream(GetType().Assembly.GetManifestResourceStream(instanceArchiveName))) {
    188         foreach (var entry in GetZipContents(instanceStream).OrderBy(x => x)) {
     187      using (var instanceStream = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read)) {
     188        foreach (var entry in instanceStream.Entries.Select(x => x.Name).OrderBy(x => x)) {
    189189          yield return new QAPLIBDataDescriptor(Path.GetFileNameWithoutExtension(entry), GetDescription(), entry, solutions.ContainsKey(entry) ? solutions[entry] : String.Empty);
    190190        }
     
    195195      var descriptor = (QAPLIBDataDescriptor)id;
    196196      var instanceArchiveName = GetResourceName(FileName + @"\.dat\.zip");
    197       using (var instancesZipFile = new ZipFile(GetType().Assembly.GetManifestResourceStream(instanceArchiveName))) {
     197      using (var instancesZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read)) {
    198198        var entry = instancesZipFile.GetEntry(descriptor.InstanceIdentifier);
    199199
    200         using (var stream = instancesZipFile.GetInputStream(entry)) {
     200        using (var stream = entry.Open()) {
    201201          var parser = new QAPLIBParser();
    202202          parser.Parse(stream);
     
    207207          if (!String.IsNullOrEmpty(descriptor.SolutionIdentifier)) {
    208208            var solutionsArchiveName = GetResourceName(FileName + @"\.sln\.zip");
    209             using (var solutionsZipFile = new ZipFile(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName))) {
     209            using (var solutionsZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName), ZipArchiveMode.Read)) {
    210210              entry = solutionsZipFile.GetEntry(descriptor.SolutionIdentifier);
    211               using (var solStream = solutionsZipFile.GetInputStream(entry)) {
     211              using (var solStream = entry.Open()) {
    212212                var slnParser = new QAPLIBSolutionParser();
    213213                slnParser.Parse(solStream, true);
     
    258258              .Where(x => Regex.Match(x, @".*\.Data\." + fileName).Success).SingleOrDefault();
    259259    }
    260 
    261     protected IEnumerable<string> GetZipContents(ZipInputStream zipFile) {
    262       ZipEntry entry;
    263       while ((entry = zipFile.GetNextEntry()) != null) {
    264         yield return entry.Name;
    265       }
    266     }
    267260  }
    268261}
Note: See TracChangeset for help on using the changeset viewer.