Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/15/09 12:29:13 (15 years ago)
Author:
epitzer
Message:

Namespace refactoring: rename formatters & decomposers -> primitive and composite serializers. (#603)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Persistence/3.3/Core/ConfigurationService.cs

    r1703 r1823  
    1717    private static ConfigurationService instance;
    1818    private readonly Dictionary<IFormat, Configuration> customConfigurations;
    19     public Dictionary<Type, List<IFormatter>> Formatters { get; private set; }
    20     public List<IDecomposer> Decomposers { get; private set; }
     19    public Dictionary<Type, List<IPrimitiveSerializer>> PrimitiveSerializers { get; private set; }
     20    public List<ICompositeSerializer> CompositeSerializers { get; private set; }
    2121    public List<IFormat> Formats { get; private set; }
    2222
     
    3030
    3131    private ConfigurationService() {
    32       Formatters = new Dictionary<Type, List<IFormatter>>();
    33       Decomposers = new List<IDecomposer>();
     32      PrimitiveSerializers = new Dictionary<Type, List<IPrimitiveSerializer>>();
     33      CompositeSerializers = new List<ICompositeSerializer>();
    3434      customConfigurations = new Dictionary<IFormat, Configuration>();
    3535      Formats = new List<IFormat>();
     
    9494    public void Reset() {
    9595      customConfigurations.Clear();
    96       Formatters.Clear();
    97       Decomposers.Clear();
     96      PrimitiveSerializers.Clear();
     97      CompositeSerializers.Clear();
    9898      Assembly defaultAssembly = Assembly.GetExecutingAssembly();
    9999      DiscoverFrom(defaultAssembly);
     
    101101        if (a != defaultAssembly)
    102102          DiscoverFrom(a);
    103       SortDecomposers();
     103      SortCompositeSerializers();
    104104    }
    105105
    106     class PriortiySorter : IComparer<IDecomposer> {
    107       public int Compare(IDecomposer x, IDecomposer y) {
     106    class PriortiySorter : IComparer<ICompositeSerializer> {
     107      public int Compare(ICompositeSerializer x, ICompositeSerializer y) {
    108108        return y.Priority - x.Priority;
    109109      }
    110110    }
    111111
    112     protected void SortDecomposers() {
    113       Decomposers.Sort(new PriortiySorter());
     112    protected void SortCompositeSerializers() {
     113      CompositeSerializers.Sort(new PriortiySorter());
    114114    }
    115115
    116116    protected void DiscoverFrom(Assembly a) {
    117117      foreach (Type t in a.GetTypes()) {
    118         if (t.GetInterface(typeof(IFormatter).FullName) != null) {
     118        if (t.GetInterface(typeof(IPrimitiveSerializer).FullName) != null) {
    119119          try {
    120             IFormatter formatter = (IFormatter)Activator.CreateInstance(t, true);
    121             if (!Formatters.ContainsKey(formatter.SerialDataType)) {
    122               Formatters.Add(formatter.SerialDataType, new List<IFormatter>());
     120            IPrimitiveSerializer primitiveSerializer =
     121              (IPrimitiveSerializer)Activator.CreateInstance(t, true);
     122            if (!PrimitiveSerializers.ContainsKey(primitiveSerializer.SerialDataType)) {
     123              PrimitiveSerializers.Add(primitiveSerializer.SerialDataType, new List<IPrimitiveSerializer>());
    123124            }
    124             Formatters[formatter.SerialDataType].Add(formatter);
    125             Logger.Debug(String.Format("discovered formatter {0} ({1} -> {2})",
     125            PrimitiveSerializers[primitiveSerializer.SerialDataType].Add(primitiveSerializer);
     126            Logger.Debug(String.Format("discovered primitive serializer {0} ({1} -> {2})",
    126127              t.VersionInvariantName(),
    127               formatter.SourceType.VersionInvariantName(),
    128               formatter.SerialDataType.VersionInvariantName()));
     128              primitiveSerializer.SourceType.AssemblyQualifiedName,
     129              primitiveSerializer.SerialDataType.AssemblyQualifiedName));
    129130          } catch (MissingMethodException e) {
    130             Logger.Warn("Could not instantiate " + t.VersionInvariantName(), e);
     131            Logger.Warn("Could not instantiate " + t.AssemblyQualifiedName, e);
    131132          } catch (ArgumentException e) {
    132             Logger.Warn("Could not instantiate " + t.VersionInvariantName(), e);
     133            Logger.Warn("Could not instantiate " + t.AssemblyQualifiedName, e);
    133134          }
    134135        }
    135         if (t.GetInterface(typeof(IDecomposer).FullName) != null) {
     136        if (t.GetInterface(typeof(ICompositeSerializer).FullName) != null) {
    136137          try {
    137             Decomposers.Add((IDecomposer)Activator.CreateInstance(t, true));
    138             Logger.Debug("discovered decomposer " + t.VersionInvariantName());
     138            CompositeSerializers.Add((ICompositeSerializer)Activator.CreateInstance(t, true));
     139            Logger.Debug("discovered composite serializer " + t.AssemblyQualifiedName);
    139140          } catch (MissingMethodException e) {
    140             Logger.Warn("Could not instantiate " + t.VersionInvariantName(), e);
     141            Logger.Warn("Could not instantiate " + t.AssemblyQualifiedName, e);
    141142          } catch (ArgumentException e) {
    142             Logger.Warn("Could not instantiate " + t.VersionInvariantName(), e);
     143            Logger.Warn("Could not instantiate " + t.AssemblyQualifiedName, e);
    143144          }
    144145        }
     
    150151              format.Name,
    151152              format.SerialDataType,
    152               t.VersionInvariantName()));
     153              t.AssemblyQualifiedName));
    153154          } catch (MissingMethodException e) {
    154             Logger.Warn("Could not instantiate " + t.VersionInvariantName(), e);
     155            Logger.Warn("Could not instantiate " + t.AssemblyQualifiedName, e);
    155156          } catch (ArgumentException e) {
    156             Logger.Warn("Could not instantiate " + t.VersionInvariantName(), e);
     157            Logger.Warn("Could not instantiate " + t.AssemblyQualifiedName, e);
    157158          }
    158159        }
     
    161162
    162163    public Configuration GetDefaultConfig(IFormat format) {
    163       Dictionary<Type, IFormatter> formatterConfig = new Dictionary<Type, IFormatter>();
    164       if (Formatters.ContainsKey(format.SerialDataType)) {
    165         foreach (IFormatter f in Formatters[format.SerialDataType]) {
    166           if (!formatterConfig.ContainsKey(f.SourceType))
    167             formatterConfig.Add(f.SourceType, f);
     164      Dictionary<Type, IPrimitiveSerializer> primitiveConfig = new Dictionary<Type, IPrimitiveSerializer>();
     165      if (PrimitiveSerializers.ContainsKey(format.SerialDataType)) {
     166        foreach (IPrimitiveSerializer f in PrimitiveSerializers[format.SerialDataType]) {
     167          if (!primitiveConfig.ContainsKey(f.SourceType))
     168            primitiveConfig.Add(f.SourceType, f);
    168169        }
    169170      } else {
    170171        Logger.Warn(String.Format(
    171           "No formatters found for format {0} with serial data type {1}",
    172           format.GetType().VersionInvariantName(),
    173           format.SerialDataType.VersionInvariantName()));
     172          "No primitive serializers found for format {0} with serial data type {1}",
     173          format.GetType().AssemblyQualifiedName,
     174          format.SerialDataType.AssemblyQualifiedName));
    174175      }
    175       return new Configuration(format, formatterConfig.Values, Decomposers.Where((d) => d.Priority > 0));
     176      return new Configuration(
     177        format,
     178        primitiveConfig.Values,
     179        CompositeSerializers.Where((d) => d.Priority > 0));
    176180    }
    177181
Note: See TracChangeset for help on using the changeset viewer.