{"action":"created","comment":{"url":"https://api.github.com/repos/ash3rz/DE/pulls/comments/68146834","id":68146834,"diff_hunk":"@@ -0,0 +1,332 @@\n+package org.iplantc.de.apps.client.presenter.hierarchies;\n+\n+import org.iplantc.de.apps.client.OntologyHierarchiesView;\n+import org.iplantc.de.apps.client.events.AppFavoritedEvent;\n+import org.iplantc.de.apps.client.events.AppSearchResultLoadEvent;\n+import org.iplantc.de.apps.client.events.AppUpdatedEvent;\n+import org.iplantc.de.apps.client.events.selection.AppFavoriteSelectedEvent;\n+import org.iplantc.de.apps.client.events.selection.AppInfoSelectedEvent;\n+import org.iplantc.de.apps.client.events.selection.AppRatingDeselected;\n+import org.iplantc.de.apps.client.events.selection.AppRatingSelected;\n+import org.iplantc.de.apps.client.events.selection.OntologyHierarchySelectionChangedEvent;\n+import org.iplantc.de.apps.client.gin.OntologyHierarchyTreeStoreProvider;\n+import org.iplantc.de.apps.client.gin.factory.OntologyHierarchiesViewFactory;\n+import org.iplantc.de.apps.client.presenter.callbacks.DeleteRatingCallback;\n+import org.iplantc.de.apps.client.presenter.callbacks.RateAppCallback;\n+import org.iplantc.de.apps.client.views.details.dialogs.AppDetailsDialog;\n+import org.iplantc.de.client.events.EventBus;\n+import org.iplantc.de.client.models.apps.App;\n+import org.iplantc.de.client.models.avu.Avu;\n+import org.iplantc.de.client.models.ontologies.OntologyHierarchy;\n+import org.iplantc.de.client.services.AppUserServiceFacade;\n+import org.iplantc.de.client.services.OntologyServiceFacade;\n+import org.iplantc.de.client.util.OntologyUtil;\n+import org.iplantc.de.commons.client.ErrorHandler;\n+import org.iplantc.de.commons.client.info.ErrorAnnouncementConfig;\n+import org.iplantc.de.commons.client.info.IplantAnnouncer;\n+\n+import com.google.common.collect.Lists;\n+import com.google.gwt.event.shared.GwtEvent;\n+import com.google.gwt.event.shared.HandlerManager;\n+import com.google.gwt.event.shared.HandlerRegistration;\n+import com.google.gwt.inject.client.AsyncProvider;\n+import com.google.gwt.user.client.rpc.AsyncCallback;\n+import com.google.gwt.user.client.ui.Widget;\n+import com.google.inject.Inject;\n+\n+import com.sencha.gxt.core.shared.FastMap;\n+import com.sencha.gxt.data.shared.SortDir;\n+import com.sencha.gxt.data.shared.Store;\n+import com.sencha.gxt.data.shared.TreeStore;\n+import com.sencha.gxt.widget.core.client.TabItemConfig;\n+import com.sencha.gxt.widget.core.client.TabPanel;\n+import com.sencha.gxt.widget.core.client.tree.Tree;\n+\n+import java.util.List;\n+import java.util.Map;\n+\n+/**\n+ * @author aramsey\n+ */\n+public class OntologyHierarchiesPresenterImpl implements OntologyHierarchiesView.Presenter,\n+                                                         OntologyHierarchySelectionChangedEvent.OntologyHierarchySelectionChangedEventHandler,\n+                                                         AppRatingSelected.AppRatingSelectedHandler,\n+                                                         AppRatingDeselected.AppRatingDeselectedHandler,\n+                                                         AppFavoriteSelectedEvent.AppFavoriteSelectedEventHandler {\n+\n+\n+    class AppAVUCallback implements AsyncCallback<List<Avu>> {\n+\n+        AppDetailsDialog dlg;\n+        App app;\n+        List<OntologyHierarchy> hierarchies;\n+        List<List<String>> appGroupHierarchies;\n+\n+        public AppAVUCallback(AppDetailsDialog dlg, App app) {\n+            this.dlg = dlg;\n+            this.app = app;\n+        }\n+        @Override\n+        public void onFailure(Throwable caught) {\n+            ErrorHandler.post(caught);\n+        }\n+\n+        @Override\n+        public void onSuccess(List<Avu> result) {\n+            // Create list of group hierarchies\n+            hierarchies = convertAvusToHierarches(result);\n+            appGroupHierarchies = ontologyUtil.getAllPathsList(hierarchies);\n+\n+            dlg.show(app,\n+                     searchRegexPattern,\n+                     appGroupHierarchies,\n+                     OntologyHierarchiesPresenterImpl.this,\n+                     OntologyHierarchiesPresenterImpl.this,\n+                     OntologyHierarchiesPresenterImpl.this);\n+        }\n+\n+        List<OntologyHierarchy> convertAvusToHierarches(List<Avu> avus) {\n+            List<OntologyHierarchy> selectedHierarchies = Lists.newArrayList();\n+            for (Avu avu: avus) {\n+                List<OntologyHierarchy> hierarchies = iriToHierarchyMap.get(avu.getValue());\n+                if (hierarchies != null) {\n+                    selectedHierarchies.addAll(hierarchies);\n+                }\n+            }\n+            return selectedHierarchies;\n+        }\n+    }\n+    class AppDetailsCallback implements AsyncCallback<App> {\n+\n+        private final AppDetailsDialog dlg;\n+\n+        public AppDetailsCallback(AppDetailsDialog dlg) {\n+            this.dlg = dlg;\n+        }\n+\n+        @Override\n+        public void onFailure(final Throwable caught) {\n+            announcer.schedule(new ErrorAnnouncementConfig(appearance.fetchAppDetailsError(caught)));\n+        }\n+\n+        @Override\n+        public void onSuccess(final App result) {\n+            serviceFacade.getAppAVUs(result, new AppAVUCallback(dlg, result));\n+        }\n+    }\n+\n+    @Inject IplantAnnouncer announcer;\n+    OntologyUtil ontologyUtil;\n+    @Inject AsyncProvider<AppDetailsDialog> appDetailsDlgAsyncProvider;\n+    @Inject AppUserServiceFacade appUserService;\n+    TabPanel viewTabPanel;\n+    private OntologyServiceFacade serviceFacade;\n+    private OntologyHierarchiesView.OntologyHierarchiesAppearance appearance;\n+    protected String searchRegexPattern;\n+    private final EventBus eventBus;\n+    HandlerManager handlerManager;\n+    Map<String, List<OntologyHierarchy>> iriToHierarchyMap = new FastMap<>();\n+    private OntologyHierarchiesViewFactory viewFactory;\n+    String baseID;\n+\n+\n+    @Inject\n+    public OntologyHierarchiesPresenterImpl(OntologyHierarchiesViewFactory viewFactory,\n+                                            OntologyServiceFacade serviceFacade,\n+                                            EventBus eventBus,\n+                                            OntologyHierarchiesView.OntologyHierarchiesAppearance appearance) {\n+\n+        this.serviceFacade = serviceFacade;\n+        this.appearance = appearance;\n+        this.viewFactory = viewFactory;\n+        this.eventBus = eventBus;\n+\n+        this.ontologyUtil = OntologyUtil.getInstance();\n+    }\n+\n+    @Override\n+    public void go(final TabPanel tabPanel) {\n+        viewTabPanel = tabPanel;\n+        serviceFacade.getRootHierarchies(new AsyncCallback<List<OntologyHierarchy>>() {\n+            @Override\n+            public void onFailure(Throwable caught) {\n+                ErrorHandler.post(caught);\n+            }\n+\n+            @Override\n+            public void onSuccess(List<OntologyHierarchy> result) {\n+                if (result != null && result.size() > 0) {\n+                    createViewTabs(result);\n+                }\n+            }\n+        });\n+    }\n+\n+    @Override\n+    public void setViewDebugId(String baseID) {\n+        this.baseID = baseID;\n+    }\n+\n+    @Override\n+    public void onAppInfoSelected(final AppInfoSelectedEvent event) {\n+        appDetailsDlgAsyncProvider.get(new AsyncCallback<AppDetailsDialog>() {\n+            @Override\n+            public void onFailure(Throwable caught) {\n+                ErrorHandler.post(caught);\n+            }\n+\n+            @Override\n+            public void onSuccess(final AppDetailsDialog dlg) {\n+                appUserService.getAppDetails(event.getApp(), new AppDetailsCallback(dlg));\n+            }\n+        });\n+    }\n+\n+    void createViewTabs(List<OntologyHierarchy> results) {\n+        for (OntologyHierarchy hierarchy : results) {\n+            TreeStore<OntologyHierarchy> treeStore = getTreeStore(hierarchy);\n+            OntologyHierarchiesView view = viewFactory.create(treeStore);\n+            Tree<OntologyHierarchy, String> tree = view.getTree();\n+            tree.mask(appearance.getAppCategoriesLoadingMask());\n+            getFilteredHierarchies(hierarchy, tree);\n+            view.asWidget().ensureDebugId(baseID + \".\" + hierarchy.getLabel().toLowerCase());\n+            view.addOntologyHierarchySelectionChangedEventHandler(this);\n+            //As a preference, insert the hierarchy tabs before the HPC tab\n+            viewTabPanel.insert(tree, viewTabPanel.getWidgetCount() - 1, new TabItemConfig(appearance.hierarchyLabelName(hierarchy)));\n+        }\n+    }\n+\n+    @Override\n+    public void onAppSearchResultLoad(AppSearchResultLoadEvent event) {\n+        searchRegexPattern = event.getSearchPattern();\n+        for (Widget widget : viewTabPanel) {\n+            if (widget instanceof Tree) {","path":"ui/de-lib/src/main/java/org/iplantc/de/apps/client/presenter/hierarchies/OntologyHierarchiesPresenterImpl.java","position":203,"original_position":203,"commit_id":"b54b381035f82c8256c775a08c4a56ae0ca677f9","original_commit_id":"b54b381035f82c8256c775a08c4a56ae0ca677f9","user":{"login":"ash3rz","id":8909156,"avatar_url":"https://avatars.githubusercontent.com/u/8909156?v=3","gravatar_id":"","url":"https://api.github.com/users/ash3rz","html_url":"https://github.com/ash3rz","followers_url":"https://api.github.com/users/ash3rz/followers","following_url":"https://api.github.com/users/ash3rz/following{/other_user}","gists_url":"https://api.github.com/users/ash3rz/gists{/gist_id}","starred_url":"https://api.github.com/users/ash3rz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ash3rz/subscriptions","organizations_url":"https://api.github.com/users/ash3rz/orgs","repos_url":"https://api.github.com/users/ash3rz/repos","events_url":"https://api.github.com/users/ash3rz/events{/privacy}","received_events_url":"https://api.github.com/users/ash3rz/received_events","type":"User","site_admin":false},"body":"Is there a case when they're not an instance of a Tree?","created_at":"2016-06-22T22:26:41Z","updated_at":"2016-06-22T22:26:42Z","html_url":"https://github.com/ash3rz/DE/pull/1#discussion_r68146834","pull_request_url":"https://api.github.com/repos/ash3rz/DE/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/ash3rz/DE/pulls/comments/68146834"},"html":{"href":"https://github.com/ash3rz/DE/pull/1#discussion_r68146834"},"pull_request":{"href":"https://api.github.com/repos/ash3rz/DE/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/ash3rz/DE/pulls/1","id":74866410,"html_url":"https://github.com/ash3rz/DE/pull/1","diff_url":"https://github.com/ash3rz/DE/pull/1.diff","patch_url":"https://github.com/ash3rz/DE/pull/1.patch","issue_url":"https://api.github.com/repos/ash3rz/DE/issues/1","number":1,"state":"open","locked":false,"title":"Apps refresh test","user":{"login":"ash3rz","id":8909156,"avatar_url":"https://avatars.githubusercontent.com/u/8909156?v=3","gravatar_id":"","url":"https://api.github.com/users/ash3rz","html_url":"https://github.com/ash3rz","followers_url":"https://api.github.com/users/ash3rz/followers","following_url":"https://api.github.com/users/ash3rz/following{/other_user}","gists_url":"https://api.github.com/users/ash3rz/gists{/gist_id}","starred_url":"https://api.github.com/users/ash3rz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ash3rz/subscriptions","organizations_url":"https://api.github.com/users/ash3rz/orgs","repos_url":"https://api.github.com/users/ash3rz/repos","events_url":"https://api.github.com/users/ash3rz/events{/privacy}","received_events_url":"https://api.github.com/users/ash3rz/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-06-22T22:08:50Z","updated_at":"2016-06-22T22:26:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"703fdf9e351f08618147a162db1e4b47fc64b5cf","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ash3rz/DE/pulls/1/commits","review_comments_url":"https://api.github.com/repos/ash3rz/DE/pulls/1/comments","review_comment_url":"https://api.github.com/repos/ash3rz/DE/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ash3rz/DE/issues/1/comments","statuses_url":"https://api.github.com/repos/ash3rz/DE/statuses/b54b381035f82c8256c775a08c4a56ae0ca677f9","head":{"label":"ash3rz:apps-refresh","ref":"apps-refresh","sha":"b54b381035f82c8256c775a08c4a56ae0ca677f9","user":{"login":"ash3rz","id":8909156,"avatar_url":"https://avatars.githubusercontent.com/u/8909156?v=3","gravatar_id":"","url":"https://api.github.com/users/ash3rz","html_url":"https://github.com/ash3rz","followers_url":"https://api.github.com/users/ash3rz/followers","following_url":"https://api.github.com/users/ash3rz/following{/other_user}","gists_url":"https://api.github.com/users/ash3rz/gists{/gist_id}","starred_url":"https://api.github.com/users/ash3rz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ash3rz/subscriptions","organizations_url":"https://api.github.com/users/ash3rz/orgs","repos_url":"https://api.github.com/users/ash3rz/repos","events_url":"https://api.github.com/users/ash3rz/events{/privacy}","received_events_url":"https://api.github.com/users/ash3rz/received_events","type":"User","site_admin":false},"repo":{"id":53872813,"name":"DE","full_name":"ash3rz/DE","owner":{"login":"ash3rz","id":8909156,"avatar_url":"https://avatars.githubusercontent.com/u/8909156?v=3","gravatar_id":"","url":"https://api.github.com/users/ash3rz","html_url":"https://github.com/ash3rz","followers_url":"https://api.github.com/users/ash3rz/followers","following_url":"https://api.github.com/users/ash3rz/following{/other_user}","gists_url":"https://api.github.com/users/ash3rz/gists{/gist_id}","starred_url":"https://api.github.com/users/ash3rz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ash3rz/subscriptions","organizations_url":"https://api.github.com/users/ash3rz/orgs","repos_url":"https://api.github.com/users/ash3rz/repos","events_url":"https://api.github.com/users/ash3rz/events{/privacy}","received_events_url":"https://api.github.com/users/ash3rz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ash3rz/DE","description":"The CyVerse Discovery Environment","fork":true,"url":"https://api.github.com/repos/ash3rz/DE","forks_url":"https://api.github.com/repos/ash3rz/DE/forks","keys_url":"https://api.github.com/repos/ash3rz/DE/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ash3rz/DE/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ash3rz/DE/teams","hooks_url":"https://api.github.com/repos/ash3rz/DE/hooks","issue_events_url":"https://api.github.com/repos/ash3rz/DE/issues/events{/number}","events_url":"https://api.github.com/repos/ash3rz/DE/events","assignees_url":"https://api.github.com/repos/ash3rz/DE/assignees{/user}","branches_url":"https://api.github.com/repos/ash3rz/DE/branches{/branch}","tags_url":"https://api.github.com/repos/ash3rz/DE/tags","blobs_url":"https://api.github.com/repos/ash3rz/DE/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ash3rz/DE/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ash3rz/DE/git/refs{/sha}","trees_url":"https://api.github.com/repos/ash3rz/DE/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ash3rz/DE/statuses/{sha}","languages_url":"https://api.github.com/repos/ash3rz/DE/languages","stargazers_url":"https://api.github.com/repos/ash3rz/DE/stargazers","contributors_url":"https://api.github.com/repos/ash3rz/DE/contributors","subscribers_url":"https://api.github.com/repos/ash3rz/DE/subscribers","subscription_url":"https://api.github.com/repos/ash3rz/DE/subscription","commits_url":"https://api.github.com/repos/ash3rz/DE/commits{/sha}","git_commits_url":"https://api.github.com/repos/ash3rz/DE/git/commits{/sha}","comments_url":"https://api.github.com/repos/ash3rz/DE/comments{/number}","issue_comment_url":"https://api.github.com/repos/ash3rz/DE/issues/comments{/number}","contents_url":"https://api.github.com/repos/ash3rz/DE/contents/{+path}","compare_url":"https://api.github.com/repos/ash3rz/DE/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ash3rz/DE/merges","archive_url":"https://api.github.com/repos/ash3rz/DE/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ash3rz/DE/downloads","issues_url":"https://api.github.com/repos/ash3rz/DE/issues{/number}","pulls_url":"https://api.github.com/repos/ash3rz/DE/pulls{/number}","milestones_url":"https://api.github.com/repos/ash3rz/DE/milestones{/number}","notifications_url":"https://api.github.com/repos/ash3rz/DE/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ash3rz/DE/labels{/name}","releases_url":"https://api.github.com/repos/ash3rz/DE/releases{/id}","deployments_url":"https://api.github.com/repos/ash3rz/DE/deployments","created_at":"2016-03-14T16:30:32Z","updated_at":"2016-03-14T16:30:40Z","pushed_at":"2016-06-22T22:08:50Z","git_url":"git://github.com/ash3rz/DE.git","ssh_url":"git@github.com:ash3rz/DE.git","clone_url":"https://github.com/ash3rz/DE.git","svn_url":"https://github.com/ash3rz/DE","homepage":"https://de.iplantcollaborative.org/de/","size":42623,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"ash3rz:dev","ref":"dev","sha":"328b1e696bdada4cb409c89e93a2f9d297eb52a6","user":{"login":"ash3rz","id":8909156,"avatar_url":"https://avatars.githubusercontent.com/u/8909156?v=3","gravatar_id":"","url":"https://api.github.com/users/ash3rz","html_url":"https://github.com/ash3rz","followers_url":"https://api.github.com/users/ash3rz/followers","following_url":"https://api.github.com/users/ash3rz/following{/other_user}","gists_url":"https://api.github.com/users/ash3rz/gists{/gist_id}","starred_url":"https://api.github.com/users/ash3rz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ash3rz/subscriptions","organizations_url":"https://api.github.com/users/ash3rz/orgs","repos_url":"https://api.github.com/users/ash3rz/repos","events_url":"https://api.github.com/users/ash3rz/events{/privacy}","received_events_url":"https://api.github.com/users/ash3rz/received_events","type":"User","site_admin":false},"repo":{"id":53872813,"name":"DE","full_name":"ash3rz/DE","owner":{"login":"ash3rz","id":8909156,"avatar_url":"https://avatars.githubusercontent.com/u/8909156?v=3","gravatar_id":"","url":"https://api.github.com/users/ash3rz","html_url":"https://github.com/ash3rz","followers_url":"https://api.github.com/users/ash3rz/followers","following_url":"https://api.github.com/users/ash3rz/following{/other_user}","gists_url":"https://api.github.com/users/ash3rz/gists{/gist_id}","starred_url":"https://api.github.com/users/ash3rz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ash3rz/subscriptions","organizations_url":"https://api.github.com/users/ash3rz/orgs","repos_url":"https://api.github.com/users/ash3rz/repos","events_url":"https://api.github.com/users/ash3rz/events{/privacy}","received_events_url":"https://api.github.com/users/ash3rz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ash3rz/DE","description":"The CyVerse Discovery Environment","fork":true,"url":"https://api.github.com/repos/ash3rz/DE","forks_url":"https://api.github.com/repos/ash3rz/DE/forks","keys_url":"https://api.github.com/repos/ash3rz/DE/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ash3rz/DE/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ash3rz/DE/teams","hooks_url":"https://api.github.com/repos/ash3rz/DE/hooks","issue_events_url":"https://api.github.com/repos/ash3rz/DE/issues/events{/number}","events_url":"https://api.github.com/repos/ash3rz/DE/events","assignees_url":"https://api.github.com/repos/ash3rz/DE/assignees{/user}","branches_url":"https://api.github.com/repos/ash3rz/DE/branches{/branch}","tags_url":"https://api.github.com/repos/ash3rz/DE/tags","blobs_url":"https://api.github.com/repos/ash3rz/DE/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ash3rz/DE/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ash3rz/DE/git/refs{/sha}","trees_url":"https://api.github.com/repos/ash3rz/DE/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ash3rz/DE/statuses/{sha}","languages_url":"https://api.github.com/repos/ash3rz/DE/languages","stargazers_url":"https://api.github.com/repos/ash3rz/DE/stargazers","contributors_url":"https://api.github.com/repos/ash3rz/DE/contributors","subscribers_url":"https://api.github.com/repos/ash3rz/DE/subscribers","subscription_url":"https://api.github.com/repos/ash3rz/DE/subscription","commits_url":"https://api.github.com/repos/ash3rz/DE/commits{/sha}","git_commits_url":"https://api.github.com/repos/ash3rz/DE/git/commits{/sha}","comments_url":"https://api.github.com/repos/ash3rz/DE/comments{/number}","issue_comment_url":"https://api.github.com/repos/ash3rz/DE/issues/comments{/number}","contents_url":"https://api.github.com/repos/ash3rz/DE/contents/{+path}","compare_url":"https://api.github.com/repos/ash3rz/DE/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ash3rz/DE/merges","archive_url":"https://api.github.com/repos/ash3rz/DE/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ash3rz/DE/downloads","issues_url":"https://api.github.com/repos/ash3rz/DE/issues{/number}","pulls_url":"https://api.github.com/repos/ash3rz/DE/pulls{/number}","milestones_url":"https://api.github.com/repos/ash3rz/DE/milestones{/number}","notifications_url":"https://api.github.com/repos/ash3rz/DE/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ash3rz/DE/labels{/name}","releases_url":"https://api.github.com/repos/ash3rz/DE/releases{/id}","deployments_url":"https://api.github.com/repos/ash3rz/DE/deployments","created_at":"2016-03-14T16:30:32Z","updated_at":"2016-03-14T16:30:40Z","pushed_at":"2016-06-22T22:08:50Z","git_url":"git://github.com/ash3rz/DE.git","ssh_url":"git@github.com:ash3rz/DE.git","clone_url":"https://github.com/ash3rz/DE.git","svn_url":"https://github.com/ash3rz/DE","homepage":"https://de.iplantcollaborative.org/de/","size":42623,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ash3rz/DE/pulls/1"},"html":{"href":"https://github.com/ash3rz/DE/pull/1"},"issue":{"href":"https://api.github.com/repos/ash3rz/DE/issues/1"},"comments":{"href":"https://api.github.com/repos/ash3rz/DE/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/ash3rz/DE/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/ash3rz/DE/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ash3rz/DE/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/ash3rz/DE/statuses/b54b381035f82c8256c775a08c4a56ae0ca677f9"}}}}
{"actor":{"display_login":"ash3rz"}}