From 3be11a1c26d12abced63b729e17a328d5ca84e8a Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Fri, 27 Mar 2026 17:15:36 +0100 Subject: [PATCH 1/2] Fix #248: `name` stores `login` and new `display_name` stores `name` --- .../GithubModelImporter.class.st | 15 +++++------ .../GLHMetamodelGenerator.class.st | 3 ++- src/GitLabHealth-Model/GLHGroup.class.st | 26 +++++++++++++++---- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/GitHubHealth-Model-Importer/GithubModelImporter.class.st b/src/GitHubHealth-Model-Importer/GithubModelImporter.class.st index 17baa0b5..74550406 100644 --- a/src/GitHubHealth-Model-Importer/GithubModelImporter.class.st +++ b/src/GitHubHealth-Model-Importer/GithubModelImporter.class.st @@ -157,10 +157,11 @@ GithubModelImporter >> configureReaderForDiff: reader [ GithubModelImporter >> configureReaderForGroup: reader [ super configureReaderForGroup: reader. - - reader - for: GLHGroup - do: [ :mapping | mapping mapInstVar: #web_url to: #html_url ] + + reader for: GLHGroup do: [ :mapping | + mapping mapInstVar: #web_url to: #html_url. + mapping mapInstVar: #name to: #login. + mapping mapInstVar: #display_name to: #name ] ] { #category : #'private - configure reader' } @@ -853,7 +854,7 @@ GithubModelImporter >> importPullRequestsOfProject: aProject [ GithubModelImporter >> importRepositoriesOfGroup: groupResult [ "Github Repository = GLHProject" - | reposResult itemsPerPage pageNumber reposFound repos | + | itemsPerPage pageNumber reposFound repos | itemsPerPage := 100. pageNumber := 1. ('Extract all repositories of ' , groupResult name) recordInfo. @@ -868,7 +869,7 @@ GithubModelImporter >> importRepositoriesOfGroup: groupResult [ reposFound addAll: repos. [ repos size = itemsPerPage ] whileTrue: [ pageNumber := pageNumber + 1. - ('Extract issues from ' , reposFound size printString , ' to ' + ('Extract commits from ' , reposFound size printString , ' to ' , (reposFound size + itemsPerPage) printString) recordInfo. repos := self parseArrayOfProject: (self repoApi organizations getRepositoriesOfOrganization: groupResult name @@ -876,8 +877,6 @@ GithubModelImporter >> importRepositoriesOfGroup: groupResult [ page: pageNumber). reposFound addAll: repos ]. - reposResult := self repoApi organizations - getRepositoriesOfOrganization: groupResult name. groupResult projects addAll: reposFound. self glhModel addAll: groupResult projects. groupResult projects do: [ :project | diff --git a/src/GitLabHealth-Model-Generator/GLHMetamodelGenerator.class.st b/src/GitLabHealth-Model-Generator/GLHMetamodelGenerator.class.st index 81d0290c..329cc400 100644 --- a/src/GitLabHealth-Model-Generator/GLHMetamodelGenerator.class.st +++ b/src/GitLabHealth-Model-Generator/GLHMetamodelGenerator.class.st @@ -363,7 +363,8 @@ GLHMetamodelGenerator >> groupProperties [ group property: #web_url type: #String. group property: #description type: #String. group property: #visibility type: #String. - group property: #avatar_url type: #String + group property: #avatar_url type: #String. + group property: #display_name type: #String ] { #category : #issues } diff --git a/src/GitLabHealth-Model/GLHGroup.class.st b/src/GitLabHealth-Model/GLHGroup.class.st index 6a163cfd..5f91530b 100644 --- a/src/GitLabHealth-Model/GLHGroup.class.st +++ b/src/GitLabHealth-Model/GLHGroup.class.st @@ -23,6 +23,7 @@ A GitLab Group |---| | `avatar_url` | `String` | nil | | | `description` | `String` | nil | | +| `display_name` | `String` | nil | | | `id` | `Number` | nil | | | `name` | `String` | nil | Basic name of the entity, not full reference.| | `visibility` | `String` | nil | | @@ -35,14 +36,15 @@ Class { #traits : 'FamixTNamedEntity', #classTraits : 'FamixTNamedEntity classTrait', #instVars : [ - '#id => FMProperty', - '#web_url => FMProperty', - '#description => FMProperty', - '#visibility => FMProperty', '#avatar_url => FMProperty', + '#description => FMProperty', + '#display_name => FMProperty', + '#group => FMOne type: #GLHGroup opposite: #subGroups', + '#id => FMProperty', '#projects => FMMany type: #GLHProject opposite: #group', '#subGroups => FMMany type: #GLHGroup opposite: #group', - '#group => FMOne type: #GLHGroup opposite: #subGroups' + '#visibility => FMProperty', + '#web_url => FMProperty' ], #category : #'GitLabHealth-Model-Entities' } @@ -103,6 +105,20 @@ GLHGroup >> description: anObject [ description := anObject ] +{ #category : #accessing } +GLHGroup >> display_name [ + + + + ^ display_name +] + +{ #category : #accessing } +GLHGroup >> display_name: anObject [ + + display_name := anObject +] + { #category : #accessing } GLHGroup >> group [ "Relation named: #group type: #GLHGroup opposite: #subGroups" From 26f1047a29aa4abb27ee5ba69af718d67bcb6d11 Mon Sep 17 00:00:00 2001 From: Gabriel-Darbord Date: Mon, 13 Apr 2026 16:35:56 +0200 Subject: [PATCH 2/2] Gitlab Group: `name` stores `path` and `display_name` stores `name` --- src/GitLabHealth-Model-Importer/GitlabModelImporter.class.st | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/GitLabHealth-Model-Importer/GitlabModelImporter.class.st b/src/GitLabHealth-Model-Importer/GitlabModelImporter.class.st index 8e42cefa..7be92527 100644 --- a/src/GitLabHealth-Model-Importer/GitlabModelImporter.class.st +++ b/src/GitLabHealth-Model-Importer/GitlabModelImporter.class.st @@ -279,7 +279,9 @@ GitlabModelImporter >> configureReaderForGroup: reader [ super configureReaderForGroup: reader. reader for: GLHGroup do: [ :mapping | - (mapping mapInstVar: #projects) valueSchema: #ArrayOfProject ] + (mapping mapInstVar: #projects) valueSchema: #ArrayOfProject. + mapping mapInstVar: #name to: #path. + mapping mapInstVar: #display_name to: #name ] ] { #category : #'private - configure reader' }