private void GeneratePatchSummary(List <XenServerPatchAlert> alerts, List <AlertFeatureValidator> validators, XenServerUpdateAlert updateAlert, XenCenterUpdateAlert xcupdateAlert) { OuputComponent oc = new OutputTextOuputComponent(XmlLocation, ServerVersion); XenCenterUpdateDecorator xcud = new XenCenterUpdateDecorator(oc, xcupdateAlert); XenServerUpdateDecorator xsud = new XenServerUpdateDecorator(xcud, updateAlert); PatchAlertDecorator pad = new PatchAlertDecorator(xsud, alerts); AlertFeatureValidatorDecorator afdCoreFields = new AlertFeatureValidatorDecorator(pad, validators.First(v => v is CorePatchDetailsValidator), "Core fields in patch checks:"); AlertFeatureValidatorDecorator afdPatchUrl = new AlertFeatureValidatorDecorator(afdCoreFields, validators.First(v => v is PatchURLValidator), "Required patch URL checks:"); AlertFeatureValidatorDecorator afdZipContents = new AlertFeatureValidatorDecorator(afdPatchUrl, validators.First(v => v is ZipContentsValidator), "Required patch zip content checks:"); if (CheckHotfixContents) { Output = afdZipContents.Generate().Insert(0, Output).ToString(); } else { Output = afdPatchUrl.Generate().Insert(0, Output).ToString(); } }
private void RunTestsForGivenServerVersion(List <XenServerVersion> xenServerVersions, List <XenServerPatch> xenServerPatches, List <XenCenterVersion> xenCenterVersions) { CheckProvidedVersionNumber(xenServerVersions); Status = String.Format("Generating server {0} mock-ups...", ServerVersion); SetupMocks(xenServerPatches, xenServerVersions); Status = "Determining XenCenter update required..."; XenCenterUpdateAlert xcupdateAlert = XenAdmin.Core.Updates.NewXenCenterVersionAlert(xenCenterVersions, new Version(ServerVersion), false); Status = "Determining XenServer update required..."; XenServerUpdateAlert updateAlert = XenAdmin.Core.Updates.NewServerVersionAlert(xenServerVersions, false); Status = "Determining patches required..."; List <XenServerPatchAlert> patchAlerts = XenAdmin.Core.Updates.NewServerPatchesAlerts(xenServerVersions, xenServerPatches, false); //Build patch checks list List <AlertFeatureValidator> validators = new List <AlertFeatureValidator> { new CorePatchDetailsValidator(patchAlerts), new PatchURLValidator(patchAlerts), new ZipContentsValidator(patchAlerts) }; Status = "Running patch check(s), this may take some time..."; RunValidators(validators); Status = "Generating summary..."; GeneratePatchSummary(patchAlerts, validators, updateAlert, xcupdateAlert); }
private static void CheckXenCenterVersion() { if (!AllowUpdates || !Properties.Settings.Default.AllowXenCenterUpdates) { return; } XenCenterUpdateAlert alert = NewXenCenterVersionAlert(XenCenterVersions, true); if (alert != null) { Alert.AddAlert(alert); } }
public XenCenterUpdateDecorator(OuputComponent ouputComponent, XenCenterUpdateAlert alert) { SetComponent(ouputComponent); this.alert = alert; }