{"action":"opened","issue":{"url":"https://api.github.com/repos/biojava/biojava/issues/315","labels_url":"https://api.github.com/repos/biojava/biojava/issues/315/labels{/name}","comments_url":"https://api.github.com/repos/biojava/biojava/issues/315/comments","events_url":"https://api.github.com/repos/biojava/biojava/issues/315/events","html_url":"https://github.com/biojava/biojava/issues/315","id":99194109,"number":315,"title":"DownloadChemCompProvider fail-back behavior","user":{"login":"lafita","id":11161522,"avatar_url":"https://avatars.githubusercontent.com/u/11161522?v=3","gravatar_id":"","url":"https://api.github.com/users/lafita","html_url":"https://github.com/lafita","followers_url":"https://api.github.com/users/lafita/followers","following_url":"https://api.github.com/users/lafita/following{/other_user}","gists_url":"https://api.github.com/users/lafita/gists{/gist_id}","starred_url":"https://api.github.com/users/lafita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lafita/subscriptions","organizations_url":"https://api.github.com/users/lafita/orgs","repos_url":"https://api.github.com/users/lafita/repos","events_url":"https://api.github.com/users/lafita/events{/privacy}","received_events_url":"https://api.github.com/users/lafita/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-05T12:31:31Z","updated_at":"2015-08-05T12:31:31Z","closed_at":null,"body":"Currently, the behavior of `DownloadChemCompProvider` is to return **null** when an `IOExcption` occurred in obtaining the chemical component information of a `Group`. This null causes the Group to be ignored and it is not included in the loaded `Structure`.\r\n\r\nA fail-back behavior could be implemented so that if an `IOException` occurred, the `ReducedChemCompProvider` is used. Instead of ignoring the `Group`, now it will be included with the `ChemComp` information included in BioJava or with an empty `ChemComp`.\r\n\r\nThis will allow the loading of structures with the `DownloadChemCompProvider` even if there is not internet connection, in which case the `ReducedChemCompProvider` will be used. In the case of having internet connection the loaded structure will have more information, but the internet resources are not a necessary requisite for loading structures. \r\n\r\nThis relates to discussion in #314, because, with this fail-back behavior, the `DownloadChemCompProvider` could be used as the default provider and no extra resources would be needed outside the biojava ones. If they are available, they will be used, unless the user explicitly sets the provider to the `ReducedChemCompProvider`."}}