private function createOperationsContexts(array $operations)
    {
        $contexts = array();

        foreach ($operations as $operation) {
            $context = null;
            $type    = $operation->getType();

            switch ($type) {
                case BatchOperationType::INSERT_ENTITY_OPERATION:
                case BatchOperationType::UPDATE_ENTITY_OPERATION:
                case BatchOperationType::MERGE_ENTITY_OPERATION:
                case BatchOperationType::INSERT_REPLACE_ENTITY_OPERATION:
                case BatchOperationType::INSERT_MERGE_ENTITY_OPERATION:
                    $table   = $operation->getParameter(
                        BatchOperationParameterName::BP_TABLE
                    );
                    $entity  = $operation->getParameter(
                        BatchOperationParameterName::BP_ENTITY
                    );
                    $context = $this->getOperationContext($table, $entity, $type);
                    break;

                case BatchOperationType::DELETE_ENTITY_OPERATION:
                    $table        = $operation->getParameter(
                        BatchOperationParameterName::BP_TABLE
                    );
                    $partitionKey = $operation->getParameter(
                        BatchOperationParameterName::BP_PARTITION_KEY
                    );
                    $rowKey       = $operation->getParameter(
                        BatchOperationParameterName::BP_ROW_KEY
                    );
                    $etag         = $operation->getParameter(
                        BatchOperationParameterName::BP_ETAG
                    );
                    $options      = new DeleteEntityOptions();
                    $options->setETag($etag);
                    $context = $this->constructDeleteEntityContext(
                        $table,
                        $partitionKey,
                        $rowKey,
                        $options
                    );
                    break;

                default:
                    throw new \InvalidArgumentException();
            }

            $contexts[] = $context;
        }

        return $contexts;
    }
private function createOperationsContexts(array $operations)
    {
        $contexts = array();

        foreach ($operations as $operation) {
            $context = null;
            $type    = $operation->getType();

            switch ($type) {
                case BatchOperationType::INSERT_ENTITY_OPERATION:
                case BatchOperationType::UPDATE_ENTITY_OPERATION:
                case BatchOperationType::MERGE_ENTITY_OPERATION:
                case BatchOperationType::INSERT_REPLACE_ENTITY_OPERATION:
                case BatchOperationType::INSERT_MERGE_ENTITY_OPERATION:
                    $table   = $operation->getParameter(
                        BatchOperationParameterName::BP_TABLE
                    );
                    $entity  = $operation->getParameter(
                        BatchOperationParameterName::BP_ENTITY
                    );
                    $context = $this->getOperationContext($table, $entity, $type);
                    break;

                case BatchOperationType::DELETE_ENTITY_OPERATION:
                    $table        = $operation->getParameter(
                        BatchOperationParameterName::BP_TABLE
                    );
                    $partitionKey = $operation->getParameter(
                        BatchOperationParameterName::BP_PARTITION_KEY
                    );
                    $rowKey       = $operation->getParameter(
                        BatchOperationParameterName::BP_ROW_KEY
                    );
                    $etag         = $operation->getParameter(
                        BatchOperationParameterName::BP_ETAG
                    );
                    $options      = new DeleteEntityOptions();
                    $options->setETag($etag);
                    $context = $this->constructDeleteEntityContext(
                        $table,
                        $partitionKey,
                        $rowKey,
                        $options
                    );
                    break;

                default:
                    throw new \InvalidArgumentException();
            }

            $contexts[] = $context;
        }

        return $contexts;
    }
private function createOperationsContexts ( array $ operations ) { $ contexts = array ( ) ; foreach ( $ operations as $ operation ) { $ context = null ; $ type = $ operation -> getType ( ) ; switch ( $ type ) { case BatchOperationType :: INSERT_ENTITY_OPERATION : case BatchOperationType :: UPDATE_ENTITY_OPERATION : case BatchOperationType :: MERGE_ENTITY_OPERATION : case BatchOperationType :: INSERT_REPLACE_ENTITY_OPERATION : case BatchOperationType :: INSERT_MERGE_ENTITY_OPERATION : $ table = $ operation -> getParameter ( BatchOperationParameterName :: BP_TABLE ) ; $ entity = $ operation -> getParameter ( BatchOperationParameterName :: BP_ENTITY ) ; $ context = $ this -> getOperationContext ( $ table , $ entity , $ type ) ; break ; case BatchOperationType :: DELETE_ENTITY_OPERATION : $ table = $ operation -> getParameter ( BatchOperationParameterName :: BP_TABLE ) ; $ partitionKey = $ operation -> getParameter ( BatchOperationParameterName :: BP_PARTITION_KEY ) ; $ rowKey = $ operation -> getParameter ( BatchOperationParameterName :: BP_ROW_KEY ) ; $ etag = $ operation -> getParameter ( BatchOperationParameterName :: BP_ETAG ) ; $ options = new DeleteEntityOptions ( ) ; $ options -> setETag ( $ etag ) ; $ context = $ this -> constructDeleteEntityContext ( $ table , $ partitionKey , $ rowKey , $ options ) ; break ; default : throw new \ InvalidArgumentException ( ) ; } $ contexts [ ] = $ context ; } return $ contexts ; }
Creates contexts for batch operations.

@param array $operations The batch operations array.

@return array

@throws \InvalidArgumentException
Creates contexts for batch operations .