{"action":"created","comment":{"url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/comments/31119391","id":31119391,"diff_hunk":"@@ -0,0 +1,66 @@\n+<?php\n+\n+namespace Pim\\Component\\Connector\\ArrayConverter\\Flat\\Product\\Converter;\n+\n+use Pim\\Component\\Connector\\ArrayConverter\\Flat\\Product\\Splitter\\FieldSplitter;\n+\n+/**\n+ * Converts flat price into structured one.\n+ *\n+ * @author    Olivier Soulet <olivier.soulet@akeneo.com>\n+ * @copyright 2015 Akeneo SAS (http://www.akeneo.com)\n+ * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)\n+ */\n+class PriceConverter extends AbstractValueConverter\n+{\n+    /**\n+     * @param FieldSplitter $fieldSplitter\n+     * @param array         $supportedFieldType\n+     */\n+    public function __construct(FieldSplitter $fieldSplitter, array $supportedFieldType)\n+    {\n+        parent::__construct($fieldSplitter);\n+        $this->supportedFieldType = $supportedFieldType;\n+    }\n+\n+    /**\n+     * {@inheritdoc}\n+     */\n+    public function convert($attributeFieldInfo, $value)\n+    {\n+        if ($value !== '') {\n+            $data = $this->fieldSplitter->splitCollection($value);\n+        } else {\n+            $data = [];\n+        }\n+\n+        $data = array_map(function ($priceValue) use ($attributeFieldInfo) {\n+            return $this->convertPrice($attributeFieldInfo, $priceValue);\n+        }, $data);\n+\n+        return [$attributeFieldInfo['attribute']->getCode() => [[\n+            'locale' => $attributeFieldInfo['locale_code'],\n+            'scope'  => $attributeFieldInfo['scope_code'],\n+            'data'   => $data,\n+        ]]];\n+    }\n+\n+    /**\n+     * @param array  $attributeFieldInfo\n+     * @param string $priceValue\n+     *\n+     * @return array\n+     */\n+    protected function convertPrice(array $attributeFieldInfo, $priceValue)\n+    {\n+        // TODO: useless because handled by merger?\n+        //Due to the multiple column for price collections","path":"src/Pim/Component/Connector/ArrayConverter/Flat/Product/Converter/PriceConverter.php","position":57,"original_position":57,"commit_id":"d532632dc74bd990ee3ff88d0192c1baa3735690","original_commit_id":"d532632dc74bd990ee3ff88d0192c1baa3735690","user":{"login":"nidup","id":2104359,"avatar_url":"https://avatars.githubusercontent.com/u/2104359?v=3","gravatar_id":"","url":"https://api.github.com/users/nidup","html_url":"https://github.com/nidup","followers_url":"https://api.github.com/users/nidup/followers","following_url":"https://api.github.com/users/nidup/following{/other_user}","gists_url":"https://api.github.com/users/nidup/gists{/gist_id}","starred_url":"https://api.github.com/users/nidup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nidup/subscriptions","organizations_url":"https://api.github.com/users/nidup/orgs","repos_url":"https://api.github.com/users/nidup/repos","events_url":"https://api.github.com/users/nidup/events{/privacy}","received_events_url":"https://api.github.com/users/nidup/received_events","type":"User","site_admin":false},"body":"will be fixed with validator from the master","created_at":"2015-05-27T10:11:24Z","updated_at":"2015-05-27T10:11:24Z","html_url":"https://github.com/akeneo/pim-community-dev/pull/2664#discussion_r31119391","pull_request_url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664","_links":{"self":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/comments/31119391"},"html":{"href":"https://github.com/akeneo/pim-community-dev/pull/2664#discussion_r31119391"},"pull_request":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664"}}},"pull_request":{"url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664","id":35513086,"html_url":"https://github.com/akeneo/pim-community-dev/pull/2664","diff_url":"https://github.com/akeneo/pim-community-dev/pull/2664.diff","patch_url":"https://github.com/akeneo/pim-community-dev/pull/2664.patch","issue_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/2664","number":2664,"state":"open","locked":false,"title":"PIM-3832: Product import","user":{"login":"nidup","id":2104359,"avatar_url":"https://avatars.githubusercontent.com/u/2104359?v=3","gravatar_id":"","url":"https://api.github.com/users/nidup","html_url":"https://github.com/nidup","followers_url":"https://api.github.com/users/nidup/followers","following_url":"https://api.github.com/users/nidup/following{/other_user}","gists_url":"https://api.github.com/users/nidup/gists{/gist_id}","starred_url":"https://api.github.com/users/nidup/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nidup/subscriptions","organizations_url":"https://api.github.com/users/nidup/orgs","repos_url":"https://api.github.com/users/nidup/repos","events_url":"https://api.github.com/users/nidup/events{/privacy}","received_events_url":"https://api.github.com/users/nidup/received_events","type":"User","site_admin":false},"body":"Created from POC https://github.com/akeneo/pim-community-dev/pull/2540\r\n\r\nTODO : \r\n - [x] Rework ProductUpdater API\r\n - [x] Move UpdaterInterface and related exception\r\n - [x] Rework product converter, will not return association, make it extensible for custom attribute type\r\n - [x] Rework product association processor (use product updater to change and validate)\r\n - [x] Split groups column in the csv file\r\n - [x] Add missing specs\r\n - [x] Add support for reference data\r\n - [x] Installer with new import\r\n - [x] AttributeOptionToStandardConverter, ProductToStandardConverter naming\r\n\r\nBONUS\r\n - [ ] Re-organize backend process processors (+ rework asbtract processor duplicatation of violation formating between mass edit and denormalization) and steps)\r\n - [ ] Re-organize backend process readers\r\n - [ ] Re-organize backend process steps\r\n - [ ] Abstract processor ?\r\n\r\n| Q                    | A\r\n| -------------------- | ---\r\n| Bug fix?             |\r\n| New feature?         |\r\n| BC breaks?           |\r\n| CI currently passes? |\r\n| Tests pass?          |\r\n| Scenarios pass?      |\r\n| Checkstyle issues?*  |\r\n| PMD issues?**        |\r\n| Changelog updated?   |\r\n| Fixed tickets        |\r\n| DB schema updated?   |\r\n| Migration script?    |\r\n| Doc PR               |","created_at":"2015-05-15T13:32:50Z","updated_at":"2015-05-27T10:11:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7f83ec805370d9c0c267041a2e82ae4b9236e6c1","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664/commits","review_comments_url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664/comments","review_comment_url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/comments{/number}","comments_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/2664/comments","statuses_url":"https://api.github.com/repos/akeneo/pim-community-dev/statuses/d532632dc74bd990ee3ff88d0192c1baa3735690","head":{"label":"akeneo:PIM-3832","ref":"PIM-3832","sha":"d532632dc74bd990ee3ff88d0192c1baa3735690","user":{"login":"akeneo","id":2510186,"avatar_url":"https://avatars.githubusercontent.com/u/2510186?v=3","gravatar_id":"","url":"https://api.github.com/users/akeneo","html_url":"https://github.com/akeneo","followers_url":"https://api.github.com/users/akeneo/followers","following_url":"https://api.github.com/users/akeneo/following{/other_user}","gists_url":"https://api.github.com/users/akeneo/gists{/gist_id}","starred_url":"https://api.github.com/users/akeneo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akeneo/subscriptions","organizations_url":"https://api.github.com/users/akeneo/orgs","repos_url":"https://api.github.com/users/akeneo/repos","events_url":"https://api.github.com/users/akeneo/events{/privacy}","received_events_url":"https://api.github.com/users/akeneo/received_events","type":"Organization","site_admin":false},"repo":{"id":5367323,"name":"pim-community-dev","full_name":"akeneo/pim-community-dev","owner":{"login":"akeneo","id":2510186,"avatar_url":"https://avatars.githubusercontent.com/u/2510186?v=3","gravatar_id":"","url":"https://api.github.com/users/akeneo","html_url":"https://github.com/akeneo","followers_url":"https://api.github.com/users/akeneo/followers","following_url":"https://api.github.com/users/akeneo/following{/other_user}","gists_url":"https://api.github.com/users/akeneo/gists{/gist_id}","starred_url":"https://api.github.com/users/akeneo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akeneo/subscriptions","organizations_url":"https://api.github.com/users/akeneo/orgs","repos_url":"https://api.github.com/users/akeneo/repos","events_url":"https://api.github.com/users/akeneo/events{/privacy}","received_events_url":"https://api.github.com/users/akeneo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akeneo/pim-community-dev","description":"Akeneo PIM development repository","fork":false,"url":"https://api.github.com/repos/akeneo/pim-community-dev","forks_url":"https://api.github.com/repos/akeneo/pim-community-dev/forks","keys_url":"https://api.github.com/repos/akeneo/pim-community-dev/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akeneo/pim-community-dev/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akeneo/pim-community-dev/teams","hooks_url":"https://api.github.com/repos/akeneo/pim-community-dev/hooks","issue_events_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/events{/number}","events_url":"https://api.github.com/repos/akeneo/pim-community-dev/events","assignees_url":"https://api.github.com/repos/akeneo/pim-community-dev/assignees{/user}","branches_url":"https://api.github.com/repos/akeneo/pim-community-dev/branches{/branch}","tags_url":"https://api.github.com/repos/akeneo/pim-community-dev/tags","blobs_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/refs{/sha}","trees_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akeneo/pim-community-dev/statuses/{sha}","languages_url":"https://api.github.com/repos/akeneo/pim-community-dev/languages","stargazers_url":"https://api.github.com/repos/akeneo/pim-community-dev/stargazers","contributors_url":"https://api.github.com/repos/akeneo/pim-community-dev/contributors","subscribers_url":"https://api.github.com/repos/akeneo/pim-community-dev/subscribers","subscription_url":"https://api.github.com/repos/akeneo/pim-community-dev/subscription","commits_url":"https://api.github.com/repos/akeneo/pim-community-dev/commits{/sha}","git_commits_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/commits{/sha}","comments_url":"https://api.github.com/repos/akeneo/pim-community-dev/comments{/number}","issue_comment_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/comments{/number}","contents_url":"https://api.github.com/repos/akeneo/pim-community-dev/contents/{+path}","compare_url":"https://api.github.com/repos/akeneo/pim-community-dev/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akeneo/pim-community-dev/merges","archive_url":"https://api.github.com/repos/akeneo/pim-community-dev/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akeneo/pim-community-dev/downloads","issues_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues{/number}","pulls_url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls{/number}","milestones_url":"https://api.github.com/repos/akeneo/pim-community-dev/milestones{/number}","notifications_url":"https://api.github.com/repos/akeneo/pim-community-dev/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akeneo/pim-community-dev/labels{/name}","releases_url":"https://api.github.com/repos/akeneo/pim-community-dev/releases{/id}","created_at":"2012-08-10T09:27:26Z","updated_at":"2015-05-18T21:26:49Z","pushed_at":"2015-05-27T10:00:37Z","git_url":"git://github.com/akeneo/pim-community-dev.git","ssh_url":"git@github.com:akeneo/pim-community-dev.git","clone_url":"https://github.com/akeneo/pim-community-dev.git","svn_url":"https://github.com/akeneo/pim-community-dev","homepage":"http://akeneo.com","size":172141,"stargazers_count":222,"watchers_count":222,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":112,"mirror_url":null,"open_issues_count":58,"forks":112,"open_issues":58,"watchers":222,"default_branch":"master"}},"base":{"label":"akeneo:feature/import_export","ref":"feature/import_export","sha":"8abcd8a5d24d747624da3eb5d3d15292f08704de","user":{"login":"akeneo","id":2510186,"avatar_url":"https://avatars.githubusercontent.com/u/2510186?v=3","gravatar_id":"","url":"https://api.github.com/users/akeneo","html_url":"https://github.com/akeneo","followers_url":"https://api.github.com/users/akeneo/followers","following_url":"https://api.github.com/users/akeneo/following{/other_user}","gists_url":"https://api.github.com/users/akeneo/gists{/gist_id}","starred_url":"https://api.github.com/users/akeneo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akeneo/subscriptions","organizations_url":"https://api.github.com/users/akeneo/orgs","repos_url":"https://api.github.com/users/akeneo/repos","events_url":"https://api.github.com/users/akeneo/events{/privacy}","received_events_url":"https://api.github.com/users/akeneo/received_events","type":"Organization","site_admin":false},"repo":{"id":5367323,"name":"pim-community-dev","full_name":"akeneo/pim-community-dev","owner":{"login":"akeneo","id":2510186,"avatar_url":"https://avatars.githubusercontent.com/u/2510186?v=3","gravatar_id":"","url":"https://api.github.com/users/akeneo","html_url":"https://github.com/akeneo","followers_url":"https://api.github.com/users/akeneo/followers","following_url":"https://api.github.com/users/akeneo/following{/other_user}","gists_url":"https://api.github.com/users/akeneo/gists{/gist_id}","starred_url":"https://api.github.com/users/akeneo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akeneo/subscriptions","organizations_url":"https://api.github.com/users/akeneo/orgs","repos_url":"https://api.github.com/users/akeneo/repos","events_url":"https://api.github.com/users/akeneo/events{/privacy}","received_events_url":"https://api.github.com/users/akeneo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/akeneo/pim-community-dev","description":"Akeneo PIM development repository","fork":false,"url":"https://api.github.com/repos/akeneo/pim-community-dev","forks_url":"https://api.github.com/repos/akeneo/pim-community-dev/forks","keys_url":"https://api.github.com/repos/akeneo/pim-community-dev/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akeneo/pim-community-dev/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akeneo/pim-community-dev/teams","hooks_url":"https://api.github.com/repos/akeneo/pim-community-dev/hooks","issue_events_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/events{/number}","events_url":"https://api.github.com/repos/akeneo/pim-community-dev/events","assignees_url":"https://api.github.com/repos/akeneo/pim-community-dev/assignees{/user}","branches_url":"https://api.github.com/repos/akeneo/pim-community-dev/branches{/branch}","tags_url":"https://api.github.com/repos/akeneo/pim-community-dev/tags","blobs_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/refs{/sha}","trees_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akeneo/pim-community-dev/statuses/{sha}","languages_url":"https://api.github.com/repos/akeneo/pim-community-dev/languages","stargazers_url":"https://api.github.com/repos/akeneo/pim-community-dev/stargazers","contributors_url":"https://api.github.com/repos/akeneo/pim-community-dev/contributors","subscribers_url":"https://api.github.com/repos/akeneo/pim-community-dev/subscribers","subscription_url":"https://api.github.com/repos/akeneo/pim-community-dev/subscription","commits_url":"https://api.github.com/repos/akeneo/pim-community-dev/commits{/sha}","git_commits_url":"https://api.github.com/repos/akeneo/pim-community-dev/git/commits{/sha}","comments_url":"https://api.github.com/repos/akeneo/pim-community-dev/comments{/number}","issue_comment_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues/comments{/number}","contents_url":"https://api.github.com/repos/akeneo/pim-community-dev/contents/{+path}","compare_url":"https://api.github.com/repos/akeneo/pim-community-dev/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akeneo/pim-community-dev/merges","archive_url":"https://api.github.com/repos/akeneo/pim-community-dev/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akeneo/pim-community-dev/downloads","issues_url":"https://api.github.com/repos/akeneo/pim-community-dev/issues{/number}","pulls_url":"https://api.github.com/repos/akeneo/pim-community-dev/pulls{/number}","milestones_url":"https://api.github.com/repos/akeneo/pim-community-dev/milestones{/number}","notifications_url":"https://api.github.com/repos/akeneo/pim-community-dev/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akeneo/pim-community-dev/labels{/name}","releases_url":"https://api.github.com/repos/akeneo/pim-community-dev/releases{/id}","created_at":"2012-08-10T09:27:26Z","updated_at":"2015-05-18T21:26:49Z","pushed_at":"2015-05-27T10:00:37Z","git_url":"git://github.com/akeneo/pim-community-dev.git","ssh_url":"git@github.com:akeneo/pim-community-dev.git","clone_url":"https://github.com/akeneo/pim-community-dev.git","svn_url":"https://github.com/akeneo/pim-community-dev","homepage":"http://akeneo.com","size":172141,"stargazers_count":222,"watchers_count":222,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":112,"mirror_url":null,"open_issues_count":58,"forks":112,"open_issues":58,"watchers":222,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664"},"html":{"href":"https://github.com/akeneo/pim-community-dev/pull/2664"},"issue":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/issues/2664"},"comments":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/issues/2664/comments"},"review_comments":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664/comments"},"review_comment":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/pulls/2664/commits"},"statuses":{"href":"https://api.github.com/repos/akeneo/pim-community-dev/statuses/d532632dc74bd990ee3ff88d0192c1baa3735690"}}}}