[FileBackend] Gave doQuickOperations() some wrapper methods just like doOperations().
authorAaron Schulz <aschulz@wikimedia.org>
Wed, 23 May 2012 18:03:19 +0000 (11:03 -0700)
committerAaron <aschulz@wikimedia.org>
Thu, 24 May 2012 23:29:32 +0000 (16:29 -0700)
Change-Id: I0186a60bddcb26f008f6a6512eb5190a08142802

includes/filerepo/backend/FileBackend.php
includes/filerepo/backend/FileOp.php

index 81fbced..f0e123d 100644 (file)
@@ -401,6 +401,7 @@ abstract class FileBackend {
         *
         * @param $ops Array Set of operations to execute
         * @return Status
+        * @since 1.20
         */
        final public function doQuickOperations( array $ops ) {
                if ( $this->isReadOnly() ) {
@@ -414,9 +415,94 @@ abstract class FileBackend {
 
        /**
         * @see FileBackend::doQuickOperations()
+        * @since 1.20
         */
        abstract protected function doQuickOperationsInternal( array $ops );
 
+       /**
+        * Same as doQuickOperations() except it takes a single operation.
+        * If you are doing a batch of operations, then use that function instead.
+        *
+        * @see FileBackend::doQuickOperations()
+        *
+        * @param $op Array Operation
+        * @return Status
+        * @since 1.20
+        */
+       final public function doQuickOperation( array $op ) {
+               return $this->doQuickOperations( array( $op ) );
+       }
+
+       /**
+        * Performs a single quick create operation.
+        * This sets $params['op'] to 'create' and passes it to doQuickOperation().
+        *
+        * @see FileBackend::doQuickOperation()
+        *
+        * @param $params Array Operation parameters
+        * @return Status
+        * @since 1.20
+        */
+       final public function quickCreate( array $params ) {
+               return $this->doQuickOperation( array( 'op' => 'create' ) + $params );
+       }
+
+       /**
+        * Performs a single quick store operation.
+        * This sets $params['op'] to 'store' and passes it to doQuickOperation().
+        *
+        * @see FileBackend::doQuickOperation()
+        *
+        * @param $params Array Operation parameters
+        * @return Status
+        * @since 1.20
+        */
+       final public function quickStore( array $params ) {
+               return $this->doQuickOperation( array( 'op' => 'store' ) + $params );
+       }
+
+       /**
+        * Performs a single quick copy operation.
+        * This sets $params['op'] to 'copy' and passes it to doQuickOperation().
+        *
+        * @see FileBackend::doQuickOperation()
+        *
+        * @param $params Array Operation parameters
+        * @return Status
+        * @since 1.20
+        */
+       final public function quickCopy( array $params ) {
+               return $this->doQuickOperation( array( 'op' => 'copy' ) + $params );
+       }
+
+       /**
+        * Performs a single quick move operation.
+        * This sets $params['op'] to 'move' and passes it to doQuickOperation().
+        *
+        * @see FileBackend::doQuickOperation()
+        *
+        * @param $params Array Operation parameters
+        * @return Status
+        * @since 1.20
+        */
+       final public function quickMove( array $params ) {
+               return $this->doQuickOperation( array( 'op' => 'move' ) + $params );
+       }
+
+       /**
+        * Performs a single quick delete operation.
+        * This sets $params['op'] to 'delete' and passes it to doQuickOperation().
+        *
+        * @see FileBackend::doQuickOperation()
+        *
+        * @param $params Array Operation parameters
+        * @return Status
+        * @since 1.20
+        */
+       final public function quickDelete( array $params ) {
+               return $this->doQuickOperation( array( 'op' => 'delete' ) + $params );
+       }
+
        /**
         * Concatenate a list of storage files into a single file system file.
         * The target path should refer to a file that is already locked or
index d9fbafd..ac2496d 100644 (file)
@@ -438,7 +438,6 @@ abstract class FileOp {
  *     overwriteSame : override any existing file at destination
  */
 class StoreFileOp extends FileOp {
-
        /**
         * @return array
         */
@@ -579,7 +578,6 @@ class CreateFileOp extends FileOp {
  *     overwriteSame : override any existing file at destination
  */
 class CopyFileOp extends FileOp {
-
        /**
         * @return array
         */