Merge "language: Move ConverterRule to includes/ and add test case"
[lhc/web/wiklou.git] / includes / jobqueue / jobs / DuplicateJob.php
index 068d531..4231e15 100644 (file)
  *
  * @ingroup JobQueue
  */
-final class DuplicateJob extends Job {
+final class DuplicateJob extends Job implements GenericParameterJob {
        /**
         * Callers should use DuplicateJob::newFromJob() instead
         *
-        * @param Title $title
         * @param array $params Job parameters
         */
-       function __construct( Title $title, array $params ) {
-               parent::__construct( 'duplicate', $title, $params );
+       function __construct( array $params ) {
+               parent::__construct( 'duplicate', $params );
        }
 
        /**
         * Get a duplicate no-op version of a job
         *
-        * @param Job $job
+        * @param RunnableJob $job
         * @return Job
         */
-       public static function newFromJob( Job $job ) {
-               $djob = new self( $job->getTitle(), $job->getParams() );
+       public static function newFromJob( RunnableJob $job ) {
+               $djob = new self( $job->getParams() );
                $djob->command = $job->getType();
-               $djob->params = is_array( $djob->params ) ? $djob->params : array();
-               $djob->params = array( 'isDuplicate' => true ) + $djob->params;
-               $djob->metadata = $job->metadata;
+               $djob->params = is_array( $djob->params ) ? $djob->params : [];
+               $djob->params = [ 'isDuplicate' => true ] + $djob->params;
+               $djob->metadata = $job->getMetadata();
 
                return $djob;
        }