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 01d40516b..d53033c41 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 f2a2ff886..657149dc4 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 de4307982..27d5d1ee1 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 527045466..25241c0b5 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 2f2558170..188a22f9b 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 6e83b8a4a..41000e7dc 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 36e3e6895..98ac5b141 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 64dc11d11..72997ab6c 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 dbf5ef848..2ef8ec4aa 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 a3f2f51a0..4b0d10a4d 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 7c5ea40b9..19dae3d02 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 8a270729a..358b3757b 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 6081507ae..de98c2430 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 a98791e85..4d1fe188e 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 9fc1a7f9c..76fd2df77 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 27d5d1ee1..5c877867c 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 3b7312414..9d0681e6e 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 cd280411e..3731ffd5b 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 25241c0b5..7c012a2c1 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 188a22f9b..764f28612 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 5ca85ee12..1596d4230 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 9f49e8f4c..f5d453402 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 6b699598a..10d41e666 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 f10ad2ba1..326f3e39e 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 1596d4230..0d1487bfe 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 f5d453402..9f49e8f4c 100644 --- a/src/BlockStorage/v2/Api.php +++ b/src/BlockStorage/v2/Api.php @@ -1,4 +1,4 @@ -