Пример #1
0
        public PipelineSection(string machineName, uint orderNumber, PipelineType pipelineType, string pipelineId, RolePlan rolePlan)
        {
            OrderNumber        = orderNumber;
            RoleType           = rolePlan.RoleType;
            Name               = rolePlan.Name;
            OutputSectionNames = rolePlan.OutputSectionNames ?? new List <string>();

            HiringPipeName = new HiringPipeName(machineName, pipelineId, Name);
            using (var hiringPipe = new Pipe(HiringPipeName))
            {
                hiringPipe.Create();

                for (uint slotNumber = 0; slotNumber < rolePlan.Slots; slotNumber++)
                {
                    RoleSlotToken roleSlot = new RoleSlotToken(slotNumber);
                    var           envelope = new PipeMessageEnvelope()
                    {
                        Body  = roleSlot,
                        Label = "RoleSlot " + slotNumber,
                    };

                    hiringPipe.Send(envelope);
                }
            }

            if (orderNumber > 0) // HACK - first role is not supposed to have data pipe
            {
                DataPipeName = new DataPipeName(machineName, pipelineType, pipelineId, Name);
                using (var dataPipe = new Pipe(DataPipeName))
                {
                    dataPipe.Create();
                }
            }
        }
Пример #2
0
 public DataPipeName(string machineName, PipelineType pipelineType, string pipelineId, string sectionName)
     : base(machineName)
 {
     PipelineType = pipelineType;
     PipelineId   = pipelineId;
     SectionName  = sectionName;
 }
        /// <summary>
        ///     Sets the pipeline type specific parameters.
        /// </summary>
        /// <param name="activeJob">The active job.</param>
        internal override void SetPipelineTypeSpecificParameters(ActiveJob activeJob)
        {
            base.SetPipelineTypeSpecificParameters(activeJob);
            PipelineType.ToString().ShouldBe("ImportLaw");

            using (var stream = new StringReader(activeJob.BootParameters.ToString()))
            {
                var xmlStream    = new XmlSerializer(typeof(LawImportBEO));
                var lawImportBeo = xmlStream.Deserialize(stream) as LawImportBEO;
                if (null == lawImportBeo)
                {
                    return;
                }
                JobName     = lawImportBeo.ImportJobName;
                JobTypeName = "Law Import Job";
                LawCaseName = lawImportBeo.LawCaseName;

                ThreadsLinkingRequested  = lawImportBeo.CreateThreads;
                FamiliesLinkingRequested = lawImportBeo.CreateFamilyGroups;
                MatterId = lawImportBeo.MatterId;

                // For the purposes of PeriodicPipelineServicingHook in ImportPipeline Overlay for Law import should always be false.
                // Overlay = lawImportBEO.ImportOptions != ImportOptionsBEO.AppendNew;
                IsOverlay = false;
            }
        }
Пример #4
0
 public bool Equals(PipelineType other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(0 == String.Compare(Moniker, other.Moniker, StringComparison.InvariantCultureIgnoreCase));
 }
Пример #5
0
 public WorkRequest(
     string sectionName,
     DataPipeName sourceDataPipeName,
     HiringPipeName hiringPipeName,
     DataPipeName logDataPipeName,
     ReportPipeName reportPipeName,
     RoleType roleType,
     PipelineType pipelineType,
     string pipelineId,
     string bootParameters)
 {
     SectionName       = sectionName;
     InputDataPipeName = sourceDataPipeName;
     HiringPipeName    = hiringPipeName;
     LogDataPipeName   = logDataPipeName;
     ReportPipeName    = reportPipeName;
     PipelineType      = pipelineType;
     PipelineId        = pipelineId;
     RoleType          = roleType;
     BootParameters    = bootParameters;
 }
Пример #6
0
 public ReportPipeName(string machineName, PipelineType pipelineType, string pipelineId)
     : base(machineName)
 {
     PipelineType = pipelineType;
     PipelineId   = pipelineId;
 }