/// <summary> /// Initializes a new instance of the <see cref="EquitracPullPrintManager"/> class. /// </summary> /// <param name="pluginExecutionData">The plugin execution data.</param> /// <param name="activityData">The activity data.</param> public EquitracPullPrintManager(PluginExecutionData pluginExecutionData, EquitracActivityData activityData) : base(pluginExecutionData) { _activityData = activityData; PullPrintSolution = "Follow-You Printing"; this.LockTimeouts = _activityData.LockTimeouts; this.AuthProvider = _activityData.AuthProvider; }
public void Initialize(PluginEnvironment environment) { _activityData = new EquitracActivityData(); assetSelectionControl.Initialize(_deviceAttributes); printingTaskConfigurationControl.Initialize(); SetConfiguration(); }
private void SetAction(PullPrintDocumentProcessActions oldAction, EquitracActivityData newActivityData) { switch (oldAction) { case PullPrintDocumentProcessActions.PrintSingleDocument: newActivityData.DocumentProcessAction = EquitracPullPrintAction.Print; break; case PullPrintDocumentProcessActions.PrintAllDocuments: newActivityData.DocumentProcessAction = EquitracPullPrintAction.Print; newActivityData.SelectAll = true; break; case PullPrintDocumentProcessActions.PrintKeepSingleDocument: newActivityData.DocumentProcessAction = EquitracPullPrintAction.PrintSave; break; case PullPrintDocumentProcessActions.PrintKeepAllDocuments: newActivityData.DocumentProcessAction = EquitracPullPrintAction.PrintSave; newActivityData.SelectAll = true; break; case PullPrintDocumentProcessActions.DeleteSingleDocument: newActivityData.DocumentProcessAction = EquitracPullPrintAction.Delete; break; case PullPrintDocumentProcessActions.DeleteAllDocuments: newActivityData.DocumentProcessAction = EquitracPullPrintAction.Delete; newActivityData.SelectAll = true; break; } }
/// <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()); }
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> /// Converts the specified XML metadata to the new version. /// </summary> /// <param name="xml">The XML metadata.</param> /// <returns>System.Xml.Linq.XElement.</returns> public XElement Convert(XElement xml) { EquitracActivityData data = Serializer.Deserialize <EquitracActivityData>(xml); if (data.AuthProvider.Equals(default(AuthenticationProvider))) { data.AuthProvider = AuthenticationProvider.Equitrac; } return(Serializer.Serialize(data)); }
/// <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); }
/// <summary> /// Grab values out of PrintingTaskData without the need for the class to serialize/de-serialize. /// </summary> /// <param name="rootNS"></param> /// <param name="xml"></param> /// <param name="targetConfig"></param> private void ConvertPrintingTask(XNamespace rootNS, XElement xml, EquitracActivityData newActivityData) { XElement prinTaskElement = xml.Element(rootNS + "PrintingTaskData"); XNamespace prinTaskNS = GetNamespace(prinTaskElement); try { // Set native properties newActivityData.ShuffleDocuments = GetBool(prinTaskElement, "ShuffleDocuments"); // Only set if a real value is there. int delayVal = GetInt(prinTaskElement, "DelayAfterPrint"); if (delayVal > 0) { newActivityData.DelayAfterPrint = delayVal; } } catch (ArgumentNullException) { } }
/// <summary> /// Converts the specified XML metadata to the new version. /// </summary> /// <param name="xml">The XML metadata.</param> /// <returns>System.Xml.Linq.XElement.</returns> public XElement Convert(XElement xml) { // Create Proxy object, deserialize what we can. EquitracActivityData1_0 proxyData = Serializer.Deserialize <EquitracActivityData1_0>(xml, Maps); // Get XML root namespace for manual conversion XNamespace rootNS = xml.GetDefaultNamespace(); // Create a new ActivityData EquitracActivityData resultData = new EquitracActivityData() { LockTimeouts = proxyData.LockTimeouts, DeviceMemoryProfilerConfig = proxyData.DeviceMemoryProfilerConfig, EquitracAuthentication = UseSolutionAuth(rootNS, xml) }; // Set the DocumentProcessAction property SetAction(proxyData.DocumentProcessAction, resultData); ConvertPrintingTask(rootNS, xml, resultData); return(Serializer.Serialize(resultData)); }
/// <summary> /// Converts the specified XML metadata to the new version. /// </summary> /// <param name="xml">The XML metadata.</param> /// <returns>System.Xml.Linq.XElement.</returns> public XElement Convert(XElement xml) { // Create Proxy object EquitracActivityData1_1 proxyData = Serializer.Deserialize <EquitracActivityData1_1>(xml, Maps); // Get XML root namespace for manual conversion XNamespace rootNS = xml.GetDefaultNamespace(); // Create the latest ActivityData EquitracActivityData resultData = new EquitracActivityData() { DocumentProcessAction = proxyData.DocumentProcessAction, LockTimeouts = proxyData.LockTimeouts, DeviceMemoryProfilerConfig = proxyData.DeviceMemoryProfilerConfig, EquitracAuthentication = proxyData.EquitracAuthentication, EquitracServer = proxyData.EquitracServer, NumberOfCopies = proxyData.NumberOfCopies, SelectAll = proxyData.SelectAll }; ConvertPrintingTask(rootNS, xml, resultData); return(Serializer.Serialize(resultData)); }