{"action":"created","issue":{"url":"https://api.github.com/repos/neos/flow-development-collection/issues/109","labels_url":"https://api.github.com/repos/neos/flow-development-collection/issues/109/labels{/name}","comments_url":"https://api.github.com/repos/neos/flow-development-collection/issues/109/comments","events_url":"https://api.github.com/repos/neos/flow-development-collection/issues/109/events","html_url":"https://github.com/neos/flow-development-collection/pull/109","id":113636104,"number":109,"title":"[BUGFIX] Validator chain is built correctly for cyclic relations","user":{"login":"albe","id":4259532,"avatar_url":"https://avatars.githubusercontent.com/u/4259532?v=3","gravatar_id":"","url":"https://api.github.com/users/albe","html_url":"https://github.com/albe","followers_url":"https://api.github.com/users/albe/followers","following_url":"https://api.github.com/users/albe/following{/other_user}","gists_url":"https://api.github.com/users/albe/gists{/gist_id}","starred_url":"https://api.github.com/users/albe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/albe/subscriptions","organizations_url":"https://api.github.com/users/albe/orgs","repos_url":"https://api.github.com/users/albe/repos","events_url":"https://api.github.com/users/albe/events{/privacy}","received_events_url":"https://api.github.com/users/albe/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/neos/flow-development-collection/labels/P:%20Flow","name":"P: Flow","color":"0052cc"},{"url":"https://api.github.com/repos/neos/flow-development-collection/labels/T:%20PHP","name":"T: PHP","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-27T17:21:09Z","updated_at":"2015-12-09T17:02:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/neos/flow-development-collection/pulls/109","html_url":"https://github.com/neos/flow-development-collection/pull/109","diff_url":"https://github.com/neos/flow-development-collection/pull/109.diff","patch_url":"https://github.com/neos/flow-development-collection/pull/109.patch"},"body":"For cases where an entity A references entity B and B in turn\r\nreferences A (as first property), the validator chain would not\r\nvalidate the reference to A inside B, even though those might be\r\ndifferent instances.\r\nThis is due to the newly created ObjectValidator for B not being added\r\nto the CollectionValidator inside A - so when B again visits A, the\r\nreturned validator collection is empty and hence not added to the\r\nvalidator chain.\r\n\r\nThis change fixes that, by adding the new ObjectValidator to the chain\r\nearly, and only removing it later on, if it is still empty after all\r\nproperties being checked. This could potentially lead to a deeper\r\nvalidator chain than would be necessary (cycle of empty ObjectValidators),\r\nbut should not break anything or degrade performance.\r\n\r\nFixes: FLOW-352"},"comment":{"url":"https://api.github.com/repos/neos/flow-development-collection/issues/comments/163325139","html_url":"https://github.com/neos/flow-development-collection/pull/109#issuecomment-163325139","issue_url":"https://api.github.com/repos/neos/flow-development-collection/issues/109","id":163325139,"user":{"login":"kitsunet","id":324408,"avatar_url":"https://avatars.githubusercontent.com/u/324408?v=3","gravatar_id":"","url":"https://api.github.com/users/kitsunet","html_url":"https://github.com/kitsunet","followers_url":"https://api.github.com/users/kitsunet/followers","following_url":"https://api.github.com/users/kitsunet/following{/other_user}","gists_url":"https://api.github.com/users/kitsunet/gists{/gist_id}","starred_url":"https://api.github.com/users/kitsunet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kitsunet/subscriptions","organizations_url":"https://api.github.com/users/kitsunet/orgs","repos_url":"https://api.github.com/users/kitsunet/repos","events_url":"https://api.github.com/users/kitsunet/events{/privacy}","received_events_url":"https://api.github.com/users/kitsunet/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T17:02:42Z","updated_at":"2015-12-09T17:02:42Z","body":"forgot :+1: by reading."}}