<commit_before>﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="DeploymentBsonConfiguration.cs" company="Naos">
//    Copyright (c) Naos 2017. All Rights Reserved.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

namespace Naos.Deployment.Persistence
{
    using System;
    using System.Collections.Generic;

    using Naos.Cron;
    using Naos.Deployment.Domain;
    using Naos.Serialization.Bson;

    /// <summary>
    /// Register class mapping necessary for the StorageModel.
    /// </summary>
    public class DeploymentBsonConfiguration : BsonConfigurationBase
    {
        /// <inheritdoc />
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling", Justification = "Has a lot of type references by its nature.")]
        protected override IReadOnlyCollection<Type> ClassTypesToRegisterAlongWithInheritors =>
                                                                                new[]
                                                                                {
                                                                                    // Domain types
                                                                                    typeof(ArcologyInfo),
                                                                                    typeof(AutoStartProvider),
                                                                                    typeof(CertificateDescription),
                                                                                    typeof(CertificateDescriptionWithClearPfxPayload),
                                                                                    typeof(CertificateDescriptionWithEncryptedPfxPayload),
                                                                                    typeof(CertificateLocator),
                                                                                    typeof(ComputingContainerDescription),
                                                                                    typeof(ComputingInfrastructureManagerSettings),
                                                                                    typeof(Create),
                                                                                    typeof(DatabaseMigrationBase),
                                                                                    typeof(DatabaseRestoreBase),
                                                                                    typeof(DeployedInstance),
                                                                                    typeof(DeploymentConfiguration),
                                                                                    typeof(DeploymentConfigurationWithStrategies),
                                                                                    typeof(DeploymentException),
                                                                                    typeof(DeploymentStrategy),
                                                                                    typeof(DirectoryToCreateDetails),
                                                                                    typeof(Encryptor),
                                                                                    typeof(ImageDetails),
                                                                                    typeof(InitializationStrategyBase),
                                                                                    typeof(InstanceCreationDetails),
                                                                                    typeof(InstanceDescription),
                                                                                    typeof(InstanceDetailsFromComputingPlatform),
                                                                                    typeof(InstanceStatus),
                                                                                    typeof(InstanceTargeterBase),
                                                                                    typeof(InstanceType),
                                                                                    typeof(ItsConfigOverride),
                                                                                    typeof(PackageDescriptionWithDeploymentStatus),
                                                                                    typeof(PackageDescriptionWithOverrides),
                                                                                    typeof(PostDeploymentStrategy),<commit_msg>Added missing type to BsonCOnfig.<commit_after>﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="DeploymentBsonConfiguration.cs" company="Naos">
//    Copyright (c) Naos 2017. All Rights Reserved.
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

namespace Naos.Deployment.Persistence
{
    using System;
    using System.Collections.Generic;

    using Naos.Cron;
    using Naos.Deployment.Domain;
    using Naos.Serialization.Bson;

    /// <summary>
    /// Register class mapping necessary for the StorageModel.
    /// </summary>
    public class DeploymentBsonConfiguration : BsonConfigurationBase
    {
        /// <inheritdoc />
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling", Justification = "Has a lot of type references by its nature.")]
        protected override IReadOnlyCollection<Type> ClassTypesToRegisterAlongWithInheritors =>
                                                                                new[]
                                                                                {
                                                                                    // Domain types
                                                                                    typeof(ArcologyInfo),
                                                                                    typeof(AutoStartProvider),
                                                                                    typeof(CertificateDescription),
                                                                                    typeof(CertificateDescriptionWithClearPfxPayload),
                                                                                    typeof(CertificateDescriptionWithEncryptedPfxPayload),
                                                                                    typeof(CertificateLocator),
                                                                                    typeof(ComputingContainerDescription),
                                                                                    typeof(ComputingInfrastructureManagerSettings),
                                                                                    typeof(Create),
                                                                                    typeof(DatabaseMigrationBase),
                                                                                    typeof(DatabaseRestoreBase),
                                                                                    typeof(DeployedInstance),
                                                                                    typeof(DeploymentConfiguration),
                                                                                    typeof(DeploymentConfigurationWithStrategies),
                                                                                    typeof(DeploymentException),
                                                                                    typeof(DeploymentStrategy),
                                                                                    typeof(DirectoryToCreateDetails),
                                                                                    typeof(Encryptor),
                                                                                    typeof(ImageDetails),
                                                                                    typeof(InitializationStrategyBase),
                                                                                    typeof(InstanceCreationDetails),
                                                                                    typeof(InstanceDescription),
                                                                                    typeof(InstanceDetailsFromComputingPlatform),
                                                                                    typeof(InstanceStatus),
                                                                                    typeof(InstanceTargeterBase),
                                                                                    typeof(InstanceType),
                                                                                    typeof(ItsConfigOverride),
                                                                                    typeof(OperatingSystemDescriptionBase),
                                                                                    typeof(PackageDescriptionWithDeploymentStatus),
                                                                                    typeof(PackageDescriptionWithOverrides),
                                                                                    typeof(PostDeploymentStrategy),
{'fraction_non_alphanumeric': 0.08533116619260463, 'fraction_numerical': 0.0016253555465258025, 'mean_word_length': 0.5097377702806318, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 203, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6611693', 'n_tokens_mistral': 982, 'n_tokens_neox': 971, 'n_words': 178}