From 3f5126c00bee343cf94f50c78f2d04c3bf523e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Thu, 21 Dec 2017 02:57:25 +0100 Subject: [PATCH 1/8] Fix bug with incompatible class definition and also refactor the code for PHP 7.2 compatibility. --- README.md | 4 ++++ doc/services/object-store/v1/objects.rst | 12 +++++------ src/Identity/v3/Models/Token.php | 2 +- src/ObjectStore/v1/Models/Container.php | 20 +++++++++---------- .../Models/{Object.php => ObjectEntity.php} | 2 +- .../ObjectStore/v1/Models/ContainerTest.php | 6 +++--- .../unit/ObjectStore/v1/Models/ObjectTest.php | 4 ++-- 7 files changed, 27 insertions(+), 23 deletions(-) rename src/ObjectStore/v1/Models/{Object.php => ObjectEntity.php} (98%) diff --git a/README.md b/README.md index 01d40516..d53033c4 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ OpenStack services, and versions of services, are supported. * [Contributing guide](/CONTRIBUTING.md) * [Code of Conduct](/CODE_OF_CONDUCT.md) +## Backward incompatibility + +Due to new [object typehint](https://wiki.php.net/rfc/object-typehint) since PHP 7.2, class `\OpenStack\ObjectStore\v1\Models\Object` had to be renamed to `\OpenStack\ObjectStore\v1\Models\ObjectEntity` in [v3.0.0](/releases/v3.0.0)! + ## Getting help - Meet us on Slack: https://phpopencloud.slack.com ([Get your invitation](https://slackpass.io/phpopencloud)) diff --git a/doc/services/object-store/v1/objects.rst b/doc/services/object-store/v1/objects.rst index f2a2ff88..657149dc 100644 --- a/doc/services/object-store/v1/objects.rst +++ b/doc/services/object-store/v1/objects.rst @@ -27,7 +27,7 @@ Download an object ------------------ .. sample:: object_store/v1/objects/download.php -.. refdoc:: OpenStack/ObjectStore/v1/Models/Object.html#method_download +.. refdoc:: OpenStack/ObjectStore/v1/Models/ObjectEntity.html#method_download As you will notice, a Stream_ object is returned by this call. For more information about dealing with streams, please consult `Guzzle's docs`_. @@ -88,19 +88,19 @@ Copy object ----------- .. sample:: object_store/v1/objects/copy.php -.. refdoc:: OpenStack/ObjectStore/v1/Models/Object.html#method_copy +.. refdoc:: OpenStack/ObjectStore/v1/Models/ObjectEntity.html#method_copy Delete object ------------- .. sample:: object_store/v1/objects/delete.php -.. refdoc:: OpenStack/ObjectStore/v1/Models/Object.html#method_delete +.. refdoc:: OpenStack/ObjectStore/v1/Models/ObjectEntity.html#method_delete Get metadata ------------ .. sample:: object_store/v1/objects/get_metadata.php -.. refdoc:: OpenStack/ObjectStore/v1/Models/Object.html#method_getMetadata +.. refdoc:: OpenStack/ObjectStore/v1/Models/ObjectEntity.html#method_getMetadata The returned value will be a standard associative array, or hash, containing arbitrary key/value pairs. These will correspond to the values set either when the object was created, or when a previous ``mergeMetadata`` or @@ -110,7 +110,7 @@ Replace all metadata with new values ------------------------------------ .. sample:: object_store/v1/objects/reset_metadata.php -.. refdoc:: OpenStack/ObjectStore/v1/Models/Object.html#method_resetMetadata +.. refdoc:: OpenStack/ObjectStore/v1/Models/ObjectEntity.html#method_resetMetadata In order to replace all existing metadata with a set of new values, you can use this operation. Any existing metadata items which not specified in the new set will be removed. For example, say an account has the following metadata @@ -140,7 +140,7 @@ Merge new metadata values with existing --------------------------------------- .. sample:: object_store/v1/objects/merge_metadata.php -.. refdoc:: OpenStack/ObjectStore/v1/Models/Object.html#method_mergeMetadata +.. refdoc:: OpenStack/ObjectStore/v1/Models/ObjectEntity.html#method_mergeMetadata In order to merge a set of new metadata values with the existing metadata set, you can use this operation. Any existing metadata items which are not specified in the new set will be preserved. For example, say an account has the following diff --git a/src/Identity/v3/Models/Token.php b/src/Identity/v3/Models/Token.php index de430798..27d5d1ee 100644 --- a/src/Identity/v3/Models/Token.php +++ b/src/Identity/v3/Models/Token.php @@ -64,7 +64,7 @@ protected function getAliases(): array /** * {@inheritDoc} */ - public function populateFromResponse(ResponseInterface $response) + public function populateFromResponse(ResponseInterface $response): self { parent::populateFromResponse($response); $this->id = $response->getHeaderLine('X-Subject-Token'); diff --git a/src/ObjectStore/v1/Models/Container.php b/src/ObjectStore/v1/Models/Container.php index 52704546..25241c0b 100644 --- a/src/ObjectStore/v1/Models/Container.php +++ b/src/ObjectStore/v1/Models/Container.php @@ -61,7 +61,7 @@ public function populateFromResponse(ResponseInterface $response): self public function listObjects(array $options = [], callable $mapFn = null): \Generator { $options = array_merge($options, ['name' => $this->name, 'format' => 'json']); - return $this->model(Object::class)->enumerate($this->api->getContainer(), $options, $mapFn); + return $this->model(ObjectEntity::class)->enumerate($this->api->getContainer(), $options, $mapFn); } /** @@ -142,11 +142,11 @@ public function getMetadata(): array * * @param string $name The name of the object * - * @return Object + * @return ObjectEntity */ - public function getObject($name): Object + public function getObject($name): ObjectEntity { - return $this->model(Object::class, ['containerName' => $this->name, 'name' => $name]); + return $this->model(ObjectEntity::class, ['containerName' => $this->name, 'name' => $name]); } /** @@ -177,11 +177,11 @@ public function objectExists(string $name): bool * * @param array $data {@see \OpenStack\ObjectStore\v1\Api::putObject} * - * @return Object + * @return ObjectEntity */ - public function createObject(array $data): Object + public function createObject(array $data): ObjectEntity { - return $this->model(Object::class)->create($data + ['containerName' => $this->name]); + return $this->model(ObjectEntity::class)->create($data + ['containerName' => $this->name]); } /** @@ -195,9 +195,9 @@ public function createObject(array $data): Object * @param string $data['segmentPrefix'] The prefix that will come before each segment. If omitted, a default * is used: name/timestamp/filesize * - * @return Object + * @return ObjectEntity */ - public function createLargeObject(array $data): Object + public function createLargeObject(array $data): ObjectEntity { /** @var \Psr\Http\Message\StreamInterface $stream */ $stream = $data['stream']; @@ -218,7 +218,7 @@ public function createLargeObject(array $data): Object $count = 0; while (!$stream->eof() && $count < round($stream->getSize() / $segmentSize)) { - $promises[] = $this->model(Object::class)->createAsync([ + $promises[] = $this->model(ObjectEntity::class)->createAsync([ 'name' => sprintf("%s/%d", $segmentPrefix, ++$count), 'stream' => new LimitStream($stream, $segmentSize, ($count - 1) * $segmentSize), 'containerName' => $segmentContainer, diff --git a/src/ObjectStore/v1/Models/Object.php b/src/ObjectStore/v1/Models/ObjectEntity.php similarity index 98% rename from src/ObjectStore/v1/Models/Object.php rename to src/ObjectStore/v1/Models/ObjectEntity.php index 2f255817..188a22f9 100644 --- a/src/ObjectStore/v1/Models/Object.php +++ b/src/ObjectStore/v1/Models/ObjectEntity.php @@ -14,7 +14,7 @@ /** * @property \OpenStack\ObjectStore\v1\Api $api */ -class Object extends OperatorResource implements Creatable, Deletable, HasMetadata +class ObjectEntity extends OperatorResource implements Creatable, Deletable, HasMetadata { use MetadataTrait; diff --git a/tests/unit/ObjectStore/v1/Models/ContainerTest.php b/tests/unit/ObjectStore/v1/Models/ContainerTest.php index 6e83b8a4..41000e7d 100644 --- a/tests/unit/ObjectStore/v1/Models/ContainerTest.php +++ b/tests/unit/ObjectStore/v1/Models/ContainerTest.php @@ -8,7 +8,7 @@ use OpenStack\Common\Error\BadResponseError; use OpenStack\ObjectStore\v1\Api; use OpenStack\ObjectStore\v1\Models\Container; -use OpenStack\ObjectStore\v1\Models\Object; +use OpenStack\ObjectStore\v1\Models\ObjectEntity; use OpenStack\Test\TestCase; use Prophecy\Argument; @@ -95,7 +95,7 @@ public function test_It_Gets_Object() { $object = $this->container->getObject('foo.txt'); - $this->assertInstanceOf(Object::class, $object); + $this->assertInstanceOf(ObjectEntity::class, $object); $this->assertEquals('foo.txt', $object->name); } @@ -135,7 +135,7 @@ public function test_it_lists_objects() ->willReturn($this->getFixture('GET_Container')); foreach ($this->container->listObjects(['limit' => 2]) as $object) { - $this->assertInstanceOf(Object::class, $object); + $this->assertInstanceOf(ObjectEntity::class, $object); } } diff --git a/tests/unit/ObjectStore/v1/Models/ObjectTest.php b/tests/unit/ObjectStore/v1/Models/ObjectTest.php index 36e3e689..98ac5b14 100644 --- a/tests/unit/ObjectStore/v1/Models/ObjectTest.php +++ b/tests/unit/ObjectStore/v1/Models/ObjectTest.php @@ -5,7 +5,7 @@ use function GuzzleHttp\Psr7\uri_for; use GuzzleHttp\Psr7\Stream; use OpenStack\ObjectStore\v1\Api; -use OpenStack\ObjectStore\v1\Models\Object; +use OpenStack\ObjectStore\v1\Models\ObjectEntity; use OpenStack\Test\TestCase; class ObjectTest extends TestCase @@ -21,7 +21,7 @@ public function setUp() $this->rootFixturesDir = dirname(__DIR__); - $this->object = new Object($this->client->reveal(), new Api()); + $this->object = new ObjectEntity($this->client->reveal(), new Api()); $this->object->containerName = self::CONTAINER; $this->object->name = self::NAME; } From 50e2fce537c94698490c586d4527c4c3455c9139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Thu, 21 Dec 2017 10:27:02 +0100 Subject: [PATCH 2/8] Fix incompatible code for PHP 7.2 --- src/BlockStorage/v2/Models/Snapshot.php | 3 ++- src/BlockStorage/v2/Models/Volume.php | 3 ++- src/Common/Resource/AbstractResource.php | 8 ++++---- src/Common/Resource/ResourceInterface.php | 8 ++++---- src/Compute/v2/Models/Keypair.php | 3 ++- src/Identity/v2/Models/Catalog.php | 3 ++- src/Identity/v2/Models/Token.php | 4 ++-- src/Identity/v3/Models/Catalog.php | 3 ++- src/Identity/v3/Models/Token.php | 3 ++- src/Images/v2/Models/Image.php | 3 ++- src/ObjectStore/v1/Models/Account.php | 3 ++- src/ObjectStore/v1/Models/Container.php | 3 ++- src/ObjectStore/v1/Models/ObjectEntity.php | 3 ++- 13 files changed, 30 insertions(+), 20 deletions(-) diff --git a/src/BlockStorage/v2/Models/Snapshot.php b/src/BlockStorage/v2/Models/Snapshot.php index 64dc11d1..72997ab6 100644 --- a/src/BlockStorage/v2/Models/Snapshot.php +++ b/src/BlockStorage/v2/Models/Snapshot.php @@ -13,6 +13,7 @@ use OpenStack\Common\Resource\Updateable; use OpenStack\Common\Transport\Utils; use Psr\Http\Message\ResponseInterface; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\BlockStorage\v2\Api $api @@ -63,7 +64,7 @@ protected function getAliases(): array ]; } - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { parent::populateFromResponse($response); $this->metadata = $this->parseMetadata($response); diff --git a/src/BlockStorage/v2/Models/Volume.php b/src/BlockStorage/v2/Models/Volume.php index dbf5ef84..2ef8ec4a 100644 --- a/src/BlockStorage/v2/Models/Volume.php +++ b/src/BlockStorage/v2/Models/Volume.php @@ -12,6 +12,7 @@ use OpenStack\Common\Resource\Updateable; use OpenStack\Common\Transport\Utils; use Psr\Http\Message\ResponseInterface; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\BlockStorage\v2\Api $api @@ -89,7 +90,7 @@ protected function getAliases(): array ]; } - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { parent::populateFromResponse($response); $this->metadata = $this->parseMetadata($response); diff --git a/src/Common/Resource/AbstractResource.php b/src/Common/Resource/AbstractResource.php index a3f2f51a..4b0d10a4 100644 --- a/src/Common/Resource/AbstractResource.php +++ b/src/Common/Resource/AbstractResource.php @@ -40,9 +40,9 @@ abstract class AbstractResource implements ResourceInterface, Serializable * * @param ResponseInterface $response * - * @return AbstractResource + * @return ResourceInterface */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { if (strpos($response->getHeaderLine('Content-Type'), 'application/json') === 0) { $json = Utils::jsonDecode($response); @@ -59,9 +59,9 @@ public function populateFromResponse(ResponseInterface $response): self * * @param array $array * - * @return mixed|void + * @return ResourceInterface */ - public function populateFromArray(array $array): self + public function populateFromArray(array $array): ResourceInterface { $aliases = $this->getAliases(); diff --git a/src/Common/Resource/ResourceInterface.php b/src/Common/Resource/ResourceInterface.php index 7c5ea40b..19dae3d0 100644 --- a/src/Common/Resource/ResourceInterface.php +++ b/src/Common/Resource/ResourceInterface.php @@ -17,15 +17,15 @@ interface ResourceInterface * * @param ResponseInterface $response * - * @return self + * @return ResourceInterface */ - public function populateFromResponse(ResponseInterface $response); + public function populateFromResponse(ResponseInterface $response): ResourceInterface; /** * @param array $data - * @return mixed + * @return ResourceInterface */ - public function populateFromArray(array $data); + public function populateFromArray(array $data): ResourceInterface; /** * @param string $name The name of the model class. diff --git a/src/Compute/v2/Models/Keypair.php b/src/Compute/v2/Models/Keypair.php index 8a270729..358b3757 100644 --- a/src/Compute/v2/Models/Keypair.php +++ b/src/Compute/v2/Models/Keypair.php @@ -9,6 +9,7 @@ use OpenStack\Common\Resource\Listable; use OpenStack\Common\Resource\Retrievable; use OpenStack\Common\Transport\Utils; +use OpenStack\Common\Resource\ResourceInterface; /** * Represents a Compute v2 Keypair @@ -78,7 +79,7 @@ public function create(array $userOptions): Creatable /** * {@inheritDoc} */ - public function populateFromArray(array $array): self + public function populateFromArray(array $array): ResourceInterface { return parent::populateFromArray(Utils::flattenJson($array, $this->resourceKey)); } diff --git a/src/Identity/v2/Models/Catalog.php b/src/Identity/v2/Models/Catalog.php index 6081507a..de98c243 100644 --- a/src/Identity/v2/Models/Catalog.php +++ b/src/Identity/v2/Models/Catalog.php @@ -6,6 +6,7 @@ use OpenStack\Common\Resource\OperatorResource; use OpenStack\Common\Transport\Utils; use Psr\Http\Message\ResponseInterface; +use OpenStack\Common\Resource\ResourceInterface; /** * Represents an Identity v2 service catalog. @@ -36,7 +37,7 @@ protected function getAliases(): array /** * {@inheritDoc} */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { $entries = Utils::jsonDecode($response)['access']['serviceCatalog']; diff --git a/src/Identity/v2/Models/Token.php b/src/Identity/v2/Models/Token.php index a98791e8..4d1fe188 100644 --- a/src/Identity/v2/Models/Token.php +++ b/src/Identity/v2/Models/Token.php @@ -6,7 +6,7 @@ use OpenStack\Common\Transport\Utils; use Psr\Http\Message\ResponseInterface; use OpenStack\Common\Resource\OperatorResource; -use OpenStack\Common\Resource\ValueResource; +use OpenStack\Common\Resource\ResourceInterface; /** * Represents an Identity v2 Token. @@ -42,7 +42,7 @@ protected function getAliases(): array /** * {@inheritDoc} */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { $this->populateFromArray(Utils::jsonDecode($response)['access']['token']); diff --git a/src/Identity/v3/Models/Catalog.php b/src/Identity/v3/Models/Catalog.php index 9fc1a7f9..76fd2df7 100644 --- a/src/Identity/v3/Models/Catalog.php +++ b/src/Identity/v3/Models/Catalog.php @@ -4,6 +4,7 @@ use OpenStack\Common\Resource\Alias; use OpenStack\Common\Resource\OperatorResource; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\Identity\v3\Api $api @@ -23,7 +24,7 @@ protected function getAliases(): array ]; } - public function populateFromArray(array $data): self + public function populateFromArray(array $data): ResourceInterface { foreach ($data as $service) { $this->services[] = $this->model(Service::class, $service); diff --git a/src/Identity/v3/Models/Token.php b/src/Identity/v3/Models/Token.php index 27d5d1ee..5c877867 100644 --- a/src/Identity/v3/Models/Token.php +++ b/src/Identity/v3/Models/Token.php @@ -8,6 +8,7 @@ use OpenStack\Common\Resource\OperatorResource; use OpenStack\Common\Resource\Creatable; use OpenStack\Common\Resource\Retrievable; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\Identity\v3\Api $api @@ -64,7 +65,7 @@ protected function getAliases(): array /** * {@inheritDoc} */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { parent::populateFromResponse($response); $this->id = $response->getHeaderLine('X-Subject-Token'); diff --git a/src/Images/v2/Models/Image.php b/src/Images/v2/Models/Image.php index 3b731241..9d0681e6 100644 --- a/src/Images/v2/Models/Image.php +++ b/src/Images/v2/Models/Image.php @@ -13,6 +13,7 @@ use OpenStack\Common\Transport\Utils; use OpenStack\Images\v2\JsonPatch; use Psr\Http\Message\StreamInterface; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\Images\v2\Api $api @@ -97,7 +98,7 @@ protected function getAliases(): array ]; } - public function populateFromArray(array $data): self + public function populateFromArray(array $data): ResourceInterface { parent::populateFromArray($data); diff --git a/src/ObjectStore/v1/Models/Account.php b/src/ObjectStore/v1/Models/Account.php index cd280411..3731ffd5 100644 --- a/src/ObjectStore/v1/Models/Account.php +++ b/src/ObjectStore/v1/Models/Account.php @@ -6,6 +6,7 @@ use OpenStack\Common\Resource\HasMetadata; use OpenStack\Common\Resource\Retrievable; use Psr\Http\Message\ResponseInterface; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\ObjectStore\v1\Api $api @@ -34,7 +35,7 @@ class Account extends OperatorResource implements Retrievable, HasMetadata /** * {@inheritdoc} */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { parent::populateFromResponse($response); diff --git a/src/ObjectStore/v1/Models/Container.php b/src/ObjectStore/v1/Models/Container.php index 25241c0b..7c012a2c 100644 --- a/src/ObjectStore/v1/Models/Container.php +++ b/src/ObjectStore/v1/Models/Container.php @@ -12,6 +12,7 @@ use OpenStack\Common\Resource\HasMetadata; use OpenStack\Common\Resource\Listable; use OpenStack\Common\Resource\Retrievable; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\ObjectStore\v1\Api $api @@ -39,7 +40,7 @@ class Container extends OperatorResource implements Creatable, Deletable, Retrie /** * {@inheritdoc} */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { parent::populateFromResponse($response); diff --git a/src/ObjectStore/v1/Models/ObjectEntity.php b/src/ObjectStore/v1/Models/ObjectEntity.php index 188a22f9..764f2861 100644 --- a/src/ObjectStore/v1/Models/ObjectEntity.php +++ b/src/ObjectStore/v1/Models/ObjectEntity.php @@ -10,6 +10,7 @@ use OpenStack\Common\Resource\Creatable; use OpenStack\Common\Resource\Deletable; use OpenStack\Common\Resource\HasMetadata; +use OpenStack\Common\Resource\ResourceInterface; /** * @property \OpenStack\ObjectStore\v1\Api $api @@ -47,7 +48,7 @@ class ObjectEntity extends OperatorResource implements Creatable, Deletable, Has /** * {@inheritdoc} */ - public function populateFromResponse(ResponseInterface $response): self + public function populateFromResponse(ResponseInterface $response): ResourceInterface { parent::populateFromResponse($response); From fa0d25234abf40742af89b03b09aadd85cd837f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Sat, 6 Jan 2018 16:20:54 +0100 Subject: [PATCH 3/8] Add PHP 7.2 to Traviswq --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 5ca85ee1..1596d423 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,7 @@ matrix: include: - php: 7.0 - php: 7.1 + - php: 7.2 - php: nightly allow_failures: - php: nightly From ebe1faf5d93d5f1d86fc225ac909d4f34e4a0dcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Sat, 6 Jan 2018 16:37:50 +0100 Subject: [PATCH 4/8] Fix to code standard --- src/BlockStorage/v2/Api.php | 2 +- src/BlockStorage/v2/Models/QuotaSet.php | 2 +- src/BlockStorage/v2/Models/Snapshot.php | 2 +- src/BlockStorage/v2/Models/Volume.php | 2 +- src/BlockStorage/v2/Models/VolumeAttachment.php | 2 +- src/BlockStorage/v2/Models/VolumeType.php | 2 +- src/BlockStorage/v2/Params.php | 2 +- src/BlockStorage/v2/Service.php | 2 +- src/Common/Api/AbstractApi.php | 2 +- src/Common/Api/AbstractParams.php | 2 +- src/Common/Api/ApiInterface.php | 2 +- src/Common/Api/Operation.php | 2 +- src/Common/Api/OperatorInterface.php | 2 +- src/Common/Api/OperatorTrait.php | 2 +- src/Common/Api/Parameter.php | 2 +- src/Common/ArrayAccessTrait.php | 2 +- src/Common/Auth/AuthHandler.php | 2 +- src/Common/Auth/Catalog.php | 2 +- src/Common/Auth/IdentityService.php | 2 +- src/Common/Auth/Token.php | 2 +- src/Common/Error/BadResponseError.php | 2 +- src/Common/Error/BaseError.php | 2 +- src/Common/Error/Builder.php | 2 +- src/Common/Error/NotImplementedError.php | 2 +- src/Common/Error/UserInputError.php | 2 +- src/Common/HydratorStrategyTrait.php | 2 +- src/Common/JsonPath.php | 2 +- src/Common/JsonSchema/JsonPatch.php | 2 +- src/Common/JsonSchema/Schema.php | 2 +- src/Common/Resource/AbstractResource.php | 2 +- src/Common/Resource/Alias.php | 2 +- src/Common/Resource/Creatable.php | 2 +- src/Common/Resource/Deletable.php | 2 +- src/Common/Resource/HasMetadata.php | 2 +- src/Common/Resource/HasWaiterTrait.php | 2 +- src/Common/Resource/Iterator.php | 2 +- src/Common/Resource/Listable.php | 2 +- src/Common/Resource/ResourceInterface.php | 2 +- src/Common/Resource/Retrievable.php | 2 +- src/Common/Resource/Updateable.php | 2 +- src/Common/Service/AbstractService.php | 2 +- src/Common/Service/Builder.php | 2 +- src/Common/Service/ServiceInterface.php | 2 +- src/Common/Transport/HandlerStack.php | 2 +- src/Common/Transport/JsonSerializer.php | 2 +- src/Common/Transport/Middleware.php | 2 +- src/Common/Transport/RequestSerializer.php | 2 +- src/Common/Transport/Utils.php | 2 +- src/Compute/v2/Api.php | 2 +- src/Compute/v2/Enum.php | 2 +- src/Compute/v2/Models/AvailabilityZone.php | 2 +- src/Compute/v2/Models/Fault.php | 2 +- src/Compute/v2/Models/Flavor.php | 2 +- src/Compute/v2/Models/Host.php | 2 +- src/Compute/v2/Models/Hypervisor.php | 2 +- src/Compute/v2/Models/HypervisorStatistic.php | 2 +- src/Compute/v2/Models/Image.php | 2 +- src/Compute/v2/Models/Keypair.php | 2 +- src/Compute/v2/Models/Limit.php | 2 +- src/Compute/v2/Models/QuotaSet.php | 2 +- src/Compute/v2/Models/Server.php | 2 +- src/Compute/v2/Params.php | 2 +- src/Compute/v2/Service.php | 2 +- src/Identity/v2/Api.php | 2 +- src/Identity/v2/Models/Catalog.php | 2 +- src/Identity/v2/Models/Endpoint.php | 2 +- src/Identity/v2/Models/Entry.php | 2 +- src/Identity/v2/Models/Tenant.php | 2 +- src/Identity/v2/Models/Token.php | 2 +- src/Identity/v2/Service.php | 2 +- src/Identity/v3/Api.php | 2 +- src/Identity/v3/Enum.php | 2 +- src/Identity/v3/Models/Assignment.php | 2 +- src/Identity/v3/Models/Catalog.php | 2 +- src/Identity/v3/Models/Credential.php | 2 +- src/Identity/v3/Models/Domain.php | 2 +- src/Identity/v3/Models/Endpoint.php | 2 +- src/Identity/v3/Models/Group.php | 2 +- src/Identity/v3/Models/Policy.php | 2 +- src/Identity/v3/Models/Project.php | 2 +- src/Identity/v3/Models/Role.php | 2 +- src/Identity/v3/Models/Service.php | 2 +- src/Identity/v3/Models/Token.php | 2 +- src/Identity/v3/Models/User.php | 2 +- src/Identity/v3/Params.php | 2 +- src/Identity/v3/Service.php | 2 +- src/Images/v2/Api.php | 2 +- src/Images/v2/JsonPatch.php | 2 +- src/Images/v2/Models/Image.php | 2 +- src/Images/v2/Models/Member.php | 2 +- src/Images/v2/Models/Schema.php | 2 +- src/Images/v2/Params.php | 2 +- src/Images/v2/Service.php | 2 +- src/Metric/v1/Gnocchi/Api.php | 2 +- src/Metric/v1/Gnocchi/Models/Metric.php | 2 +- src/Metric/v1/Gnocchi/Models/Resource.php | 2 +- src/Metric/v1/Gnocchi/Models/ResourceType.php | 2 +- src/Metric/v1/Gnocchi/Params.php | 2 +- src/Metric/v1/Gnocchi/Service.php | 2 +- src/Networking/v2/Api.php | 2 +- .../v2/Extensions/SecurityGroups/Models/SecurityGroup.php | 2 +- .../v2/Extensions/SecurityGroups/Models/SecurityGroupRule.php | 2 +- src/Networking/v2/Models/InterfaceAttachment.php | 2 +- src/Networking/v2/Models/LoadBalancer.php | 2 +- src/Networking/v2/Models/LoadBalancerHealthMonitor.php | 2 +- src/Networking/v2/Models/LoadBalancerListener.php | 2 +- src/Networking/v2/Models/LoadBalancerMember.php | 2 +- src/Networking/v2/Models/LoadBalancerPool.php | 2 +- src/Networking/v2/Models/LoadBalancerStat.php | 2 +- src/Networking/v2/Models/LoadBalancerStatus.php | 2 +- src/Networking/v2/Models/Network.php | 2 +- src/Networking/v2/Models/Port.php | 2 +- src/Networking/v2/Models/Quota.php | 2 +- src/Networking/v2/Models/Subnet.php | 2 +- src/Networking/v2/Params.php | 2 +- src/Networking/v2/Service.php | 2 +- src/ObjectStore/v1/Api.php | 2 +- src/ObjectStore/v1/Models/Account.php | 2 +- src/ObjectStore/v1/Models/Container.php | 2 +- src/ObjectStore/v1/Models/MetadataTrait.php | 2 +- src/ObjectStore/v1/Models/ObjectEntity.php | 2 +- src/ObjectStore/v1/Params.php | 2 +- src/ObjectStore/v1/Service.php | 2 +- src/OpenStack.php | 2 +- .../Extensions/SecurityGroups/Models/SecurityGroupRuleTest.php | 2 +- .../v2/Extensions/SecurityGroups/Models/SecurityGroupTest.php | 2 +- 126 files changed, 126 insertions(+), 126 deletions(-) diff --git a/src/BlockStorage/v2/Api.php b/src/BlockStorage/v2/Api.php index 9f49e8f4..f5d45340 100644 --- a/src/BlockStorage/v2/Api.php +++ b/src/BlockStorage/v2/Api.php @@ -1,4 +1,4 @@ - Date: Sat, 6 Jan 2018 16:44:55 +0100 Subject: [PATCH 5/8] Update php-cs-fixer --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 6b699598..10d41e66 100644 --- a/composer.json +++ b/composer.json @@ -49,6 +49,6 @@ "psr/log": "~1.0", "satooshi/php-coveralls": "~1.0", "jakub-onderka/php-parallel-lint": "0.*", - "friendsofphp/php-cs-fixer": "^1.0" + "friendsofphp/php-cs-fixer": "^2.0" } } From f1c6db715d4e07bd66c7a16691ccf2d4ceb43530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Sat, 6 Jan 2018 16:52:31 +0100 Subject: [PATCH 6/8] Update Json patch --- src/Common/JsonSchema/JsonPatch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Common/JsonSchema/JsonPatch.php b/src/Common/JsonSchema/JsonPatch.php index f10ad2ba..326f3e39 100644 --- a/src/Common/JsonSchema/JsonPatch.php +++ b/src/Common/JsonSchema/JsonPatch.php @@ -78,7 +78,7 @@ protected function handleObject(\stdClass $srcStruct, \stdClass $desStruct, stri protected function shouldPartiallyReplace(\stdClass $o1, \stdClass $o2): bool { - return count(array_diff_key((array) $o1, (array) $o2)) < count($o1); + return count(array_diff_key((array) $o1, (array) $o2)) < count((array) $o1); } protected function arrayDiff(array $a1, array $a2): array From 8782d720db1e8206b7e66fc451288fd3071ba036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Sat, 6 Jan 2018 17:04:21 +0100 Subject: [PATCH 7/8] Update travis config: remove php-cs-fixer --level argument (not supported any more) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1596d423..0d1487bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,7 +26,7 @@ before_install: before_script: - composer install --prefer-source - vendor/bin/parallel-lint --exclude vendor . - - vendor/bin/php-cs-fixer fix --dry-run --diff --level psr2 . + - vendor/bin/php-cs-fixer fix --dry-run --diff . - phpenv config-add ./xdebug.ini after_script: From e6edb16949498ed2a0760f0e6f4f6dbb9a873c59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zden=C4=9Bk=20H=C3=B6fler?= Date: Sat, 6 Jan 2018 19:15:01 +0100 Subject: [PATCH 8/8] Fix to code standard (revert previous change) --- src/BlockStorage/v2/Api.php | 2 +- src/BlockStorage/v2/Models/QuotaSet.php | 2 +- src/BlockStorage/v2/Models/Snapshot.php | 2 +- src/BlockStorage/v2/Models/Volume.php | 2 +- src/BlockStorage/v2/Models/VolumeAttachment.php | 2 +- src/BlockStorage/v2/Models/VolumeType.php | 2 +- src/BlockStorage/v2/Params.php | 2 +- src/BlockStorage/v2/Service.php | 2 +- src/Common/Api/AbstractApi.php | 2 +- src/Common/Api/AbstractParams.php | 2 +- src/Common/Api/ApiInterface.php | 2 +- src/Common/Api/Operation.php | 2 +- src/Common/Api/OperatorInterface.php | 2 +- src/Common/Api/OperatorTrait.php | 2 +- src/Common/Api/Parameter.php | 2 +- src/Common/ArrayAccessTrait.php | 2 +- src/Common/Auth/AuthHandler.php | 2 +- src/Common/Auth/Catalog.php | 2 +- src/Common/Auth/IdentityService.php | 2 +- src/Common/Auth/Token.php | 2 +- src/Common/Error/BadResponseError.php | 2 +- src/Common/Error/BaseError.php | 2 +- src/Common/Error/Builder.php | 2 +- src/Common/Error/NotImplementedError.php | 2 +- src/Common/Error/UserInputError.php | 2 +- src/Common/HydratorStrategyTrait.php | 2 +- src/Common/JsonPath.php | 2 +- src/Common/JsonSchema/JsonPatch.php | 2 +- src/Common/JsonSchema/Schema.php | 2 +- src/Common/Resource/AbstractResource.php | 2 +- src/Common/Resource/Alias.php | 2 +- src/Common/Resource/Creatable.php | 2 +- src/Common/Resource/Deletable.php | 2 +- src/Common/Resource/HasMetadata.php | 2 +- src/Common/Resource/HasWaiterTrait.php | 2 +- src/Common/Resource/Iterator.php | 2 +- src/Common/Resource/Listable.php | 2 +- src/Common/Resource/ResourceInterface.php | 2 +- src/Common/Resource/Retrievable.php | 2 +- src/Common/Resource/Updateable.php | 2 +- src/Common/Service/AbstractService.php | 2 +- src/Common/Service/Builder.php | 2 +- src/Common/Service/ServiceInterface.php | 2 +- src/Common/Transport/HandlerStack.php | 2 +- src/Common/Transport/JsonSerializer.php | 2 +- src/Common/Transport/Middleware.php | 2 +- src/Common/Transport/RequestSerializer.php | 2 +- src/Common/Transport/Utils.php | 2 +- src/Compute/v2/Api.php | 2 +- src/Compute/v2/Enum.php | 2 +- src/Compute/v2/Models/AvailabilityZone.php | 2 +- src/Compute/v2/Models/Fault.php | 2 +- src/Compute/v2/Models/Flavor.php | 2 +- src/Compute/v2/Models/Host.php | 2 +- src/Compute/v2/Models/Hypervisor.php | 2 +- src/Compute/v2/Models/HypervisorStatistic.php | 2 +- src/Compute/v2/Models/Image.php | 2 +- src/Compute/v2/Models/Keypair.php | 2 +- src/Compute/v2/Models/Limit.php | 2 +- src/Compute/v2/Models/QuotaSet.php | 2 +- src/Compute/v2/Models/Server.php | 2 +- src/Compute/v2/Params.php | 2 +- src/Compute/v2/Service.php | 2 +- src/Identity/v2/Api.php | 2 +- src/Identity/v2/Models/Catalog.php | 2 +- src/Identity/v2/Models/Endpoint.php | 2 +- src/Identity/v2/Models/Entry.php | 2 +- src/Identity/v2/Models/Tenant.php | 2 +- src/Identity/v2/Models/Token.php | 2 +- src/Identity/v2/Service.php | 2 +- src/Identity/v3/Api.php | 2 +- src/Identity/v3/Enum.php | 2 +- src/Identity/v3/Models/Assignment.php | 2 +- src/Identity/v3/Models/Catalog.php | 2 +- src/Identity/v3/Models/Credential.php | 2 +- src/Identity/v3/Models/Domain.php | 2 +- src/Identity/v3/Models/Endpoint.php | 2 +- src/Identity/v3/Models/Group.php | 2 +- src/Identity/v3/Models/Policy.php | 2 +- src/Identity/v3/Models/Project.php | 2 +- src/Identity/v3/Models/Role.php | 2 +- src/Identity/v3/Models/Service.php | 2 +- src/Identity/v3/Models/Token.php | 2 +- src/Identity/v3/Models/User.php | 2 +- src/Identity/v3/Params.php | 2 +- src/Identity/v3/Service.php | 2 +- src/Images/v2/Api.php | 2 +- src/Images/v2/JsonPatch.php | 2 +- src/Images/v2/Models/Image.php | 2 +- src/Images/v2/Models/Member.php | 2 +- src/Images/v2/Models/Schema.php | 2 +- src/Images/v2/Params.php | 2 +- src/Images/v2/Service.php | 2 +- src/Metric/v1/Gnocchi/Api.php | 2 +- src/Metric/v1/Gnocchi/Models/Metric.php | 2 +- src/Metric/v1/Gnocchi/Models/Resource.php | 2 +- src/Metric/v1/Gnocchi/Models/ResourceType.php | 2 +- src/Metric/v1/Gnocchi/Params.php | 2 +- src/Metric/v1/Gnocchi/Service.php | 2 +- src/Networking/v2/Api.php | 2 +- .../v2/Extensions/SecurityGroups/Models/SecurityGroup.php | 2 +- .../v2/Extensions/SecurityGroups/Models/SecurityGroupRule.php | 2 +- src/Networking/v2/Models/InterfaceAttachment.php | 2 +- src/Networking/v2/Models/LoadBalancer.php | 2 +- src/Networking/v2/Models/LoadBalancerHealthMonitor.php | 2 +- src/Networking/v2/Models/LoadBalancerListener.php | 2 +- src/Networking/v2/Models/LoadBalancerMember.php | 2 +- src/Networking/v2/Models/LoadBalancerPool.php | 2 +- src/Networking/v2/Models/LoadBalancerStat.php | 2 +- src/Networking/v2/Models/LoadBalancerStatus.php | 2 +- src/Networking/v2/Models/Network.php | 2 +- src/Networking/v2/Models/Port.php | 2 +- src/Networking/v2/Models/Quota.php | 2 +- src/Networking/v2/Models/Subnet.php | 2 +- src/Networking/v2/Params.php | 2 +- src/Networking/v2/Service.php | 2 +- src/ObjectStore/v1/Api.php | 2 +- src/ObjectStore/v1/Models/Account.php | 2 +- src/ObjectStore/v1/Models/Container.php | 2 +- src/ObjectStore/v1/Models/MetadataTrait.php | 2 +- src/ObjectStore/v1/Models/ObjectEntity.php | 2 +- src/ObjectStore/v1/Params.php | 2 +- src/ObjectStore/v1/Service.php | 2 +- src/OpenStack.php | 2 +- .../Extensions/SecurityGroups/Models/SecurityGroupRuleTest.php | 2 +- .../v2/Extensions/SecurityGroups/Models/SecurityGroupTest.php | 2 +- 126 files changed, 126 insertions(+), 126 deletions(-) diff --git a/src/BlockStorage/v2/Api.php b/src/BlockStorage/v2/Api.php index f5d45340..9f49e8f4 100644 --- a/src/BlockStorage/v2/Api.php +++ b/src/BlockStorage/v2/Api.php @@ -1,4 +1,4 @@ -