{"action":"created","issue":{"url":"https://api.github.com/repos/idaholab/moose/issues/4963","labels_url":"https://api.github.com/repos/idaholab/moose/issues/4963/labels{/name}","comments_url":"https://api.github.com/repos/idaholab/moose/issues/4963/comments","events_url":"https://api.github.com/repos/idaholab/moose/issues/4963/events","html_url":"https://github.com/idaholab/moose/pull/4963","id":69876540,"number":4963,"title":"Created InputParameterWarehouse","user":{"login":"aeslaughter","id":341333,"avatar_url":"https://avatars.githubusercontent.com/u/341333?v=3","gravatar_id":"","url":"https://api.github.com/users/aeslaughter","html_url":"https://github.com/aeslaughter","followers_url":"https://api.github.com/users/aeslaughter/followers","following_url":"https://api.github.com/users/aeslaughter/following{/other_user}","gists_url":"https://api.github.com/users/aeslaughter/gists{/gist_id}","starred_url":"https://api.github.com/users/aeslaughter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aeslaughter/subscriptions","organizations_url":"https://api.github.com/users/aeslaughter/orgs","repos_url":"https://api.github.com/users/aeslaughter/repos","events_url":"https://api.github.com/users/aeslaughter/events{/privacy}","received_events_url":"https://api.github.com/users/aeslaughter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/idaholab/moose/labels/PR:%20Under%20Development","name":"PR: Under Development","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-04-21T15:29:28Z","updated_at":"2015-04-21T20:27:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/idaholab/moose/pulls/4963","html_url":"https://github.com/idaholab/moose/pull/4963","diff_url":"https://github.com/idaholab/moose/pull/4963.diff","patch_url":"https://github.com/idaholab/moose/pull/4963.patch"},"body":"And, so it begins...\r\n\r\n### Here is what this patch does:\r\n\r\n1. Creates InputParameterWarehouse where all MooseObjects InputParameters objects will be stored.\r\n1. The InputParameters are passed by value until the MooseObjects are created in Factory::create, this is necessary to allow for the same parameters objects to be used to create multiple objects (e.g., Materials)\r\n1. Each object now has two constructors and by default the old version (name, parameters) is still active. The control of which constructor is used is handled by the registerObject macro, which leads to how the update of the apps will work.\r\n1. The constructors for Actions where also changed, but actions will store parameters locally. I don't envision the control logic needing to mess with Actions and we do more elaborate things with actions parameters. Using a warehouse can be added in the future if needed.\r\n\r\n### Updating Apps will go like this:\r\n\r\n1. Run a script that updates the constructors.\r\n1. Add the `#undef` and `#define` of registerObject and registerAction as done in Moose.C\r\n1. When all the apps are done, the old constructors are removed and the default registration in MOOSE is changed to the new syntax.\r\n1. Finally, all the `#undef` stuff in the apps will be removed.\r\n\r\n### How this will all go down:\r\n\r\n1. Get a patch, ideally this one, in MOOSE (maybe remove the deprecated message until I get further down the line)\r\n1. Add another patch that updates Moose test objects with the new constructor, I have a patch doing this already.\r\n1. Go through the applications and update them to the new syntax\r\n1. Remove the old syntax\r\n\r\n(refs #4606)"},"comment":{"url":"https://api.github.com/repos/idaholab/moose/issues/comments/94929954","html_url":"https://github.com/idaholab/moose/pull/4963#issuecomment-94929954","issue_url":"https://api.github.com/repos/idaholab/moose/issues/4963","id":94929954,"user":{"login":"moosebuild","id":6702118,"avatar_url":"https://avatars.githubusercontent.com/u/6702118?v=3","gravatar_id":"","url":"https://api.github.com/users/moosebuild","html_url":"https://github.com/moosebuild","followers_url":"https://api.github.com/users/moosebuild/followers","following_url":"https://api.github.com/users/moosebuild/following{/other_user}","gists_url":"https://api.github.com/users/moosebuild/gists{/gist_id}","starred_url":"https://api.github.com/users/moosebuild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moosebuild/subscriptions","organizations_url":"https://api.github.com/users/moosebuild/orgs","repos_url":"https://api.github.com/users/moosebuild/repos","events_url":"https://api.github.com/users/moosebuild/events{/privacy}","received_events_url":"https://api.github.com/users/moosebuild/received_events","type":"User","site_admin":false},"created_at":"2015-04-21T20:27:07Z","updated_at":"2015-04-21T20:27:07Z","body":"Results of testing 13b7ebf6575b1918b62e0ed00caafb49c6f66353 using moose_PR_app_tests recipe:\n\nFailed on: linux-gnu\n\nView the results here: https://www.moosebuild.com/view_job/15009"}}