Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/02/19 15:03:37 (6 years ago)
Author:
gkronber
Message:

#2520: checked and added StorableType attribute projects included in HeuristicLab 3.3.sln

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2520_PersistenceReintegration/HeuristicLab.Scripting.Views/3.3/VariableStoreView.cs

    r16462 r16479  
    3535using HeuristicLab.Persistence.Default.Xml;
    3636using HeuristicLab.PluginInfrastructure;
     37using System.IO;
    3738
    3839namespace HeuristicLab.Scripting.Views {
     
    474475    private bool IsSerializable(KeyValuePair<string, object> variable) {
    475476      Type type = null;
    476       bool serializable;
     477      bool serializable = false;
    477478
    478479      if (variable.Value != null) {
    479480        type = variable.Value.GetType();
    480481        if (serializableLookup.TryGetValue(type, out serializable)) return serializable;
    481         if (StorableClassAttribute.IsStorableClass(type)) return serializableLookup[type] = true;
    482       }
    483 
    484       var ser = new Persistence.Core.Serializer(variable, ConfigurationService.Instance.GetDefaultConfig(new XmlFormat()), "ROOT", true);
     482        if (StorableTypeAttribute.IsStorableType(type)) return serializableLookup[type] = true;
     483      }
     484
     485      var ser = new ProtoBufSerializer();
    485486      try {
    486         serializable = ser.Count() > 0; // try to create all serialization tokens
     487        using (var memStream = new MemoryStream()) {
     488          ser.Serialize(variable.Value, memStream); // try to serialize to memory stream
     489          serializable = true;
     490        }
    487491      } catch (PersistenceException) {
    488492        serializable = false;
Note: See TracChangeset for help on using the changeset viewer.