Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
 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;
            }
        }
Ejemplo n.º 4
0
        /// <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());
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        /// <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));
        }
Ejemplo n.º 7
0
        /// <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));
        }