/// <summary> /// Validates the given metadata against the Equitrac Activity data. /// </summary> /// <param name="configurationData">The configuration data.</param> /// <returns>true if valid</returns> public bool ValidateMetadata(ref PluginConfigurationData configurationData) { bool validData = true; EquitracActivityData activityData = null; try { activityData = configurationData.GetMetadata <EquitracActivityData>(ConverterProvider.GetMetadataConverters()); } catch { activityData = new EquitracActivityData(); validData = false; } configurationData = new PluginConfigurationData(activityData, EquitracConfigControl.Version); return(validData); }
public void Initialize(PluginConfigurationData configuration, PluginEnvironment environment) { _activityData = configuration.GetMetadata <EquitracActivityData>(ConverterProvider.GetMetadataConverters()); _pluginConfigurationData = configuration; assetSelectionControl.Initialize(_pluginConfigurationData.Assets, _deviceAttributes); printingTaskConfigurationControl.Initialize(_pluginConfigurationData.Documents, _pluginConfigurationData.PrintQueues, _activityData.DelayAfterPrint, _activityData.ShuffleDocuments, _activityData.UsePrintServerNotification); SetConfiguration(); }
/// <summary> /// Executes this plugin's workflow using the specified <see cref="T:HP.ScalableTest.Framework.Plugin.PluginExecutionData" />. /// </summary> /// <param name="executionData">The <see cref="T:HP.ScalableTest.Framework.Plugin.PluginExecutionData" /> to use for execution.</param> /// <returns> /// A <see cref="T:HP.ScalableTest.Framework.Plugin.PluginExecutionResult" /> indicating the outcome of the execution. /// </returns> public PluginExecutionResult Execute(PluginExecutionData executionData) { EquitracActivityData data = executionData.GetMetadata <EquitracActivityData>(ConverterProvider.GetMetadataConverters()); EquitracPullPrintManager manager = new EquitracPullPrintManager(executionData, data); if (_documentCollectionIterator == null) { CollectionSelectorMode mode = data.ShuffleDocuments ? CollectionSelectorMode.ShuffledRoundRobin : CollectionSelectorMode.RoundRobin; _documentCollectionIterator = new DocumentCollectionIterator(mode); } manager.StatusUpdate += UpdateStatus; manager.DeviceSelected += UpdateDevice; manager.DocumentActionSelected += UpdateDocumentAction; manager.TimeStatusUpdate += PullPrintManager_TimeStatusUpdate; manager.SessionIdUpdate += UpdateSessionId; if (executionData.PrintQueues.Any() && executionData.Documents.Any()) { try { manager.ExecutePrintJob(_documentCollectionIterator, data.UsePrintServerNotification, data.DelayAfterPrint); } catch (PrintQueueNotAvailableException ex) { //This exception has already been logged in the call to manager.ExecutePrintJob return(new PluginExecutionResult(PluginResult.Failed, ex, "Print Failure.")); } } return(manager.ExecutePullPrintOperation()); }