From c60e18eec9890cfb7b3fb3659bfb24dad8ea0bac Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 18:33:16 +0100 Subject: [PATCH 01/10] =?UTF-8?q?=F0=9F=A7=AA=20Add=20somes=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tests/UnitTestsModel/ActivityTest.cs | 53 +++++++++++++++++++ src/Tests/UnitTestsModel/AthleteTest.cs | 5 -- src/Tests/UnitTestsModel/CoachTest.cs | 6 --- src/Tests/UnitTestsModel/DataSource.cs | 3 -- src/Tests/UnitTestsModel/EnumMapperTest.cs | 32 +++++++++++ src/Tests/UnitTestsModel/HeartRateTest.cs | 7 +-- src/Tests/UnitTestsModel/LargeImageTest.cs | 6 --- src/Tests/UnitTestsModel/NotificationTest.cs | 3 -- src/Tests/UnitTestsModel/RelationshipTest.cs | 3 -- src/Tests/UnitTestsModel/RoleTest.cs | 12 ++--- .../UnitTestsModel/UnitTestsModel.csproj | 1 + src/Tests/UnitTestsModel/UserTest.cs | 5 +- 12 files changed, 91 insertions(+), 45 deletions(-) create mode 100644 src/Tests/UnitTestsModel/EnumMapperTest.cs diff --git a/src/Tests/UnitTestsModel/ActivityTest.cs b/src/Tests/UnitTestsModel/ActivityTest.cs index df8e2dd..fc4d889 100644 --- a/src/Tests/UnitTestsModel/ActivityTest.cs +++ b/src/Tests/UnitTestsModel/ActivityTest.cs @@ -162,5 +162,58 @@ namespace UnitTestsModel Assert.Equal(heartRates, activity.HeartRates); } + [Fact] + public void Constructor_SetsPropertiesCorrectly2() + { + var id = 1; + var type = "Running"; + var date = DateTime.Now; + var startTime = date.AddHours(1); + var endTime = date.AddHours(2); + var effort = 3; + var variability = 0.5f; + var variance = 0.3f; + var standardDeviation = 0.2f; + var average = 150f; + var maximum = 180; + var minimum = 120; + var averageTemperature = 25.5f; + var hasAutoPause = false; + var user = new User(); + + var activity = new Activity( + id, + type, + date, + startTime, + endTime, + effort, + variability, + variance, + standardDeviation, + average, + maximum, + minimum, + averageTemperature, + hasAutoPause, + user + ); + + Assert.Equal(id, activity.Id); + Assert.Equal(type, activity.Type); + Assert.Equal(date, activity.Date); + Assert.Equal(startTime, activity.StartTime); + Assert.Equal(endTime, activity.EndTime); + Assert.Equal(effort, activity.Effort); + Assert.Equal(variability, activity.Variability); + Assert.Equal(variance, activity.Variance); + Assert.Equal(standardDeviation, activity.StandardDeviation); + Assert.Equal(average, activity.Average); + Assert.Equal(maximum, activity.Maximum); + Assert.Equal(minimum, activity.Minimum); + Assert.Equal(averageTemperature, activity.AverageTemperature); + Assert.Equal(hasAutoPause, activity.HasAutoPause); + Assert.Equal(user, activity.Athlete); + } } } \ No newline at end of file diff --git a/src/Tests/UnitTestsModel/AthleteTest.cs b/src/Tests/UnitTestsModel/AthleteTest.cs index fdcac1b..fb398ce 100644 --- a/src/Tests/UnitTestsModel/AthleteTest.cs +++ b/src/Tests/UnitTestsModel/AthleteTest.cs @@ -8,27 +8,22 @@ namespace Model.Tests [Fact] public void CheckAdd_ValidUser_ReturnsTrue() { - // Arrange var athlete = new Athlete(); - // Act var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "Male", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Athlete()); var result = athlete.CheckAdd(user); - // Assert Assert.True(result); } [Fact] public void CheckAdd_CoachUser_ReturnsFalse() { - // Arrange var athlete = new Athlete(); var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "Male", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Coach()); var result = athlete.CheckAdd(user); - // Assert Assert.False(result); } } diff --git a/src/Tests/UnitTestsModel/CoachTest.cs b/src/Tests/UnitTestsModel/CoachTest.cs index 57f8b5d..53db484 100644 --- a/src/Tests/UnitTestsModel/CoachTest.cs +++ b/src/Tests/UnitTestsModel/CoachTest.cs @@ -8,28 +8,22 @@ namespace Model.Tests [Fact] public void CheckAdd_AthleteUser_ReturnsTrue() { - // Arrange var coach = new Coach(); - // Act var user = new User { Role = new Athlete() }; var result = coach.CheckAdd(user); - // Assert Assert.True(result); } [Fact] public void CheckAdd_NonAthleteUser_ReturnsFalse() { - // Arrange var coach = new Coach(); - // Act var user = new User { Role = new Coach() }; var result = coach.CheckAdd(user); - // Assert Assert.False(result); } } diff --git a/src/Tests/UnitTestsModel/DataSource.cs b/src/Tests/UnitTestsModel/DataSource.cs index 21cad2d..5fc96d1 100644 --- a/src/Tests/UnitTestsModel/DataSource.cs +++ b/src/Tests/UnitTestsModel/DataSource.cs @@ -9,7 +9,6 @@ namespace Model.Tests [Fact] public void Constructor_WithArguments_InitializesProperties() { - // Arrange var id = 1; var type = "Type"; var model = "Model"; @@ -17,10 +16,8 @@ namespace Model.Tests var athletes = new List(); var activities = new List(); - // Act var dataSource = new DataSource(id, type, model, precision, athletes, activities); - // Assert Assert.Equal(id, dataSource.Id); Assert.Equal(type, dataSource.Type); Assert.Equal(model, dataSource.Model); diff --git a/src/Tests/UnitTestsModel/EnumMapperTest.cs b/src/Tests/UnitTestsModel/EnumMapperTest.cs new file mode 100644 index 0000000..e2dc382 --- /dev/null +++ b/src/Tests/UnitTestsModel/EnumMapperTest.cs @@ -0,0 +1,32 @@ +using Model; +using Model.Repository; +using Moq; +using Xunit; + +namespace UnitTestsModel +{ + public class EnumMapperTests + { + [Theory] + [InlineData("None", Shared.AthleteOrderCriteria.None)] + [InlineData("ByUsername", Shared.AthleteOrderCriteria.ByUsername)] + [InlineData("ByFirstName", Shared.AthleteOrderCriteria.ByFirstName)] + [InlineData("ByLastName", Shared.AthleteOrderCriteria.ByLastName)] + [InlineData("BySexe", Shared.AthleteOrderCriteria.BySexe)] + [InlineData("ByLenght", Shared.AthleteOrderCriteria.ByLenght)] + [InlineData("ByWeight", Shared.AthleteOrderCriteria.ByWeight)] + [InlineData("ByDateOfBirth", Shared.AthleteOrderCriteria.ByDateOfBirth)] + [InlineData("ByEmail", Shared.AthleteOrderCriteria.ByEmail)] + [InlineData("ByIsCoach", Shared.AthleteOrderCriteria.ByIsCoach)] + [InlineData(null, Shared.AthleteOrderCriteria.None)] + [InlineData("InvalidValue", Shared.AthleteOrderCriteria.None)] + public void ToEnum_WithValidValue_ReturnsCorrectEnumValue(string? value, Shared.AthleteOrderCriteria expected) + { + var userRepositoryMock = new Mock(); + + var result = EnumMappeur.ToEnum(userRepositoryMock.Object, value); + + Assert.Equal(expected, result); + } + } +} diff --git a/src/Tests/UnitTestsModel/HeartRateTest.cs b/src/Tests/UnitTestsModel/HeartRateTest.cs index bfdcae7..b9bb038 100644 --- a/src/Tests/UnitTestsModel/HeartRateTest.cs +++ b/src/Tests/UnitTestsModel/HeartRateTest.cs @@ -8,7 +8,7 @@ namespace Model.Tests [Fact] public void HeartRate_Constructor_WithValidParameters() { - // Arrange + int id = 1; int bpm = 80; TimeOnly timestamp = new TimeOnly(12, 30, 0); @@ -22,10 +22,8 @@ namespace Model.Tests int? power = 200; double? temperature = 25.5; - // Act var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature); - // Assert Assert.Equal(id, heartRate.Id); Assert.Equal(bpm, heartRate.Bpm); Assert.Equal(timestamp, heartRate.Timestamp); @@ -43,7 +41,6 @@ namespace Model.Tests [Fact] public void HeartRate_ToString_ReturnsExpectedString() { - // Arrange int id = 1; int bpm = 80; TimeOnly timestamp = new TimeOnly(12, 30, 0); @@ -58,10 +55,8 @@ namespace Model.Tests double? temperature = 25.5; var heartRate = new HeartRate(id, bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature); - // Act var result = heartRate.ToString(); - // Assert Assert.Contains($"HeartRate #{id}", result); Assert.Contains($"{bpm} bpm", result); Assert.Contains($"{timestamp:HH:mm:ss}", result); diff --git a/src/Tests/UnitTestsModel/LargeImageTest.cs b/src/Tests/UnitTestsModel/LargeImageTest.cs index d1f5552..5b2ac44 100644 --- a/src/Tests/UnitTestsModel/LargeImageTest.cs +++ b/src/Tests/UnitTestsModel/LargeImageTest.cs @@ -7,31 +7,25 @@ namespace Model.Tests [Fact] public void Equals_ReturnsTrue_WhenBase64StringsAreEqual() { - // Arrange var base64String = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw=="; var image1 = new LargeImage(base64String); var image2 = new LargeImage(base64String); - // Act var result = image1.Equals(image2); - // Assert Assert.True(result); } [Fact] public void Equals_ReturnsFalse_WhenBase64StringsAreDifferent() { - // Arrange var base64String1 = "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZw=="; var base64String2 = "VGhpcyBpcyBhIGJhc2U2NSBlbmNvZGVkIHN0cmluZw=="; var image1 = new LargeImage(base64String1); var image2 = new LargeImage(base64String2); - // Act var result = image1.Equals(image2); - // Assert Assert.False(result); } } diff --git a/src/Tests/UnitTestsModel/NotificationTest.cs b/src/Tests/UnitTestsModel/NotificationTest.cs index fc9fbd1..6192289 100644 --- a/src/Tests/UnitTestsModel/NotificationTest.cs +++ b/src/Tests/UnitTestsModel/NotificationTest.cs @@ -7,7 +7,6 @@ namespace Model.Tests [Fact] public void Constructor_InitializesPropertiesCorrectly() { - // Arrange int id = 1; string message = "Test notification"; DateTime date = DateTime.Now; @@ -15,10 +14,8 @@ namespace Model.Tests string urgency = "High"; int toUserId = 10; - // Act var notification = new Notification(id, message, date, status, urgency, toUserId); - // Assert Assert.Equal(id, notification.IdNotif); Assert.Equal(message, notification.Message); Assert.Equal(date, notification.Date); diff --git a/src/Tests/UnitTestsModel/RelationshipTest.cs b/src/Tests/UnitTestsModel/RelationshipTest.cs index 5d69495..58010ef 100644 --- a/src/Tests/UnitTestsModel/RelationshipTest.cs +++ b/src/Tests/UnitTestsModel/RelationshipTest.cs @@ -7,12 +7,10 @@ namespace Model.Tests [Fact] public void Constructor_InitializesPropertiesCorrectly() { - // Arrange int id = 1; int fromUserId = 2; int toUserId = 3; - // Act var request = new RelationshipRequest { Id = id, @@ -20,7 +18,6 @@ namespace Model.Tests ToUser = toUserId }; - // Assert Assert.Equal(id, request.Id); Assert.Equal(fromUserId, request.FromUser); Assert.Equal(toUserId, request.ToUser); diff --git a/src/Tests/UnitTestsModel/RoleTest.cs b/src/Tests/UnitTestsModel/RoleTest.cs index 5769808..eea0e0a 100644 --- a/src/Tests/UnitTestsModel/RoleTest.cs +++ b/src/Tests/UnitTestsModel/RoleTest.cs @@ -7,28 +7,22 @@ namespace Model.Tests [Fact] public void AddUser_WithValidUser_ReturnsTrue() { - // Arrange - var role = new Athlete(); // Vous pouvez utiliser Athlete ou Coach selon votre besoin + var role = new Athlete(); var user = new User("hello13", "dkjd.png", "John", "Doe", "john@exemple.com", "password", "M", 180.5f, 75.3f, new System.DateTime(1990, 5, 15), new Athlete()); - // Act bool result = role.AddUser(user); - // Assert Assert.True(result); } [Fact] public void AddUser_WithInvalidUser_ReturnsFalse() { - // Arrange - var role = new Athlete(); // Vous pouvez utiliser Athlete ou Coach selon votre besoin - var user = new User(); // Créez un objet User invalide + var role = new Athlete(); + var user = new User(); - // Act bool result = role.AddUser(user); - // Assert Assert.False(result); } diff --git a/src/Tests/UnitTestsModel/UnitTestsModel.csproj b/src/Tests/UnitTestsModel/UnitTestsModel.csproj index 6e23191..2e40dc7 100644 --- a/src/Tests/UnitTestsModel/UnitTestsModel.csproj +++ b/src/Tests/UnitTestsModel/UnitTestsModel.csproj @@ -11,6 +11,7 @@ + runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/Tests/UnitTestsModel/UserTest.cs b/src/Tests/UnitTestsModel/UserTest.cs index efd95a8..c75230c 100644 --- a/src/Tests/UnitTestsModel/UserTest.cs +++ b/src/Tests/UnitTestsModel/UserTest.cs @@ -7,7 +7,6 @@ namespace Model.Tests [Fact] public void UserConstructor_ValidParameters_ConstructsObject() { - // Arrange string username = "john_doe"; string profilePicture = "profile.jpg"; string lastName = "Doe"; @@ -18,12 +17,10 @@ namespace Model.Tests float length = 180.5f; float weight = 75.3f; DateTime dateOfBirth = new DateTime(1990, 5, 15); - Role role = new Athlete(); // You can change this to the appropriate role + Role role = new Athlete(); - // Act User user = new User(username, profilePicture, lastName, firstName, email, password, sex, length, weight, dateOfBirth, role); - // Assert Assert.NotNull(user); Assert.Equal(username, user.Username); Assert.Equal(profilePicture, user.ProfilePicture); From f9ce8205a9e793e72de436cb3504b2564601d808 Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 18:35:15 +0100 Subject: [PATCH 02/10] =?UTF-8?q?=E2=9C=85=20Pass=20somes=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnitTestApi/Controllers/UsersControllerTest.cs | 10 +++++----- src/Tests/UnitTestsEntities/ActivityEntityTests.cs | 2 +- src/Tests/UnitTestsEntities/HeartRateEntityTests.cs | 2 +- src/Tests/UnitTestsEntities/StatisticEntityTests.cs | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Tests/TestsAPI/UnitTestApi/Controllers/UsersControllerTest.cs b/src/Tests/TestsAPI/UnitTestApi/Controllers/UsersControllerTest.cs index 5d69fb4..0a5eb52 100644 --- a/src/Tests/TestsAPI/UnitTestApi/Controllers/UsersControllerTest.cs +++ b/src/Tests/TestsAPI/UnitTestApi/Controllers/UsersControllerTest.cs @@ -86,7 +86,7 @@ public class UsersControllerTest [TestMethod] public async Task Get_ReturnsPageResponse_WhenRequestIsValid() { - // Arrange + var request = new PageRequest { Index = 0, @@ -118,7 +118,7 @@ public class UsersControllerTest public async Task Get_ReturnsCorrectPaginationAndOrdering(int index, int count, string orderingProperty, bool descending, int expectedItemCount) { - // Arrange + var request = new PageRequest { Index = index, @@ -160,7 +160,7 @@ public class UsersControllerTest [TestMethod] public async Task GetById_ReturnsUserDto_WhenRequestIsValid() { - // Arrange + var id = 1; _dataManagerMock.Setup(dm => dm.UserRepo.GetItemById(id)).ReturnsAsync(_users.First(x => x.Id == id)); @@ -183,7 +183,7 @@ public class UsersControllerTest [TestMethod] public async Task GetById_ReturnsUserDto_WhenRequestUserDoesNotExist() { - // Arrange + var id = 0; _dataManagerMock.Setup(dm => dm.UserRepo.GetItemById(id)).ReturnsAsync((User)null!); @@ -198,7 +198,7 @@ public class UsersControllerTest [TestMethod] public async Task GetById_Returns404_WhenIdIsInvalid() { - // Arrange + var id = -2; // Act diff --git a/src/Tests/UnitTestsEntities/ActivityEntityTests.cs b/src/Tests/UnitTestsEntities/ActivityEntityTests.cs index f505bd7..9705e38 100644 --- a/src/Tests/UnitTestsEntities/ActivityEntityTests.cs +++ b/src/Tests/UnitTestsEntities/ActivityEntityTests.cs @@ -138,7 +138,7 @@ public class ActivityEntityTests (DatabaseFixture fixture) : IClassFixture Date: Sat, 16 Mar 2024 18:51:36 +0100 Subject: [PATCH 03/10] =?UTF-8?q?=E2=9C=85=20Update=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tests/UnitTestsModel/LargeImageTest.cs | 74 +++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/src/Tests/UnitTestsModel/LargeImageTest.cs b/src/Tests/UnitTestsModel/LargeImageTest.cs index 5b2ac44..65d4016 100644 --- a/src/Tests/UnitTestsModel/LargeImageTest.cs +++ b/src/Tests/UnitTestsModel/LargeImageTest.cs @@ -1,3 +1,4 @@ +using Model; using Xunit; namespace Model.Tests @@ -28,5 +29,76 @@ namespace Model.Tests Assert.False(result); } + + [Fact] + public void Equals_WithNull_ReturnsFalse() + { + LargeImage image = new LargeImage("base64"); + + var result = image.Equals(null); + + + Assert.False(result); + } + + [Fact] + public void Equals_WithSameReference_ReturnsTrue() + { + LargeImage image = new LargeImage("base64"); + + var result = image.Equals(image); + + + Assert.True(result); + } + + [Fact] + public void Equals_WithDifferentType_ReturnsFalse() + { + LargeImage image = new LargeImage("base64"); + var obj = new object(); + + var result = image.Equals(obj); + + + Assert.False(result); + } + + [Fact] + public void Equals_WithDifferentBase64_ReturnsFalse() + { + LargeImage image1 = new LargeImage("base64"); + LargeImage image2 = new LargeImage("differentBase64"); + + var result = image1.Equals(image2); + + + Assert.False(result); + } + + [Fact] + public void Equals_WithSameBase64_ReturnsTrue() + { + LargeImage image1 = new LargeImage("base64"); + LargeImage image2 = new LargeImage("base64"); + + var result = image1.Equals(image2); + + + Assert.True(result); + } + + [Fact] + public void GetHashCode_ReturnsSameHashCode_ForSameBase64() + { + string base64 = "abcdefghij"; + LargeImage largeImage1 = new LargeImage(base64); + LargeImage largeImage2 = new LargeImage(base64); + + int hashCode1 = largeImage1.GetHashCode(); + int hashCode2 = largeImage2.GetHashCode(); + + Assert.Equal(hashCode1, hashCode2); + } } -} \ No newline at end of file +} From 40edf87341ee311a289a1786d7d6ae575b3f51b0 Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 19:28:22 +0100 Subject: [PATCH 04/10] =?UTF-8?q?=F0=9F=A7=AA=20Test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tests/UnitTestsModel/CoachTest.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Tests/UnitTestsModel/CoachTest.cs b/src/Tests/UnitTestsModel/CoachTest.cs index 53db484..bd00cdf 100644 --- a/src/Tests/UnitTestsModel/CoachTest.cs +++ b/src/Tests/UnitTestsModel/CoachTest.cs @@ -14,6 +14,7 @@ namespace Model.Tests var result = coach.CheckAdd(user); Assert.True(result); + Assert.Equal("CoachAthlete", coach.ToString()); } [Fact] @@ -25,6 +26,7 @@ namespace Model.Tests var result = coach.CheckAdd(user); Assert.False(result); + Assert.Equal("CoachAthlete", coach.ToString()); } } } \ No newline at end of file From defcea05b037e8c9a133fd3598aa847c02d8f0e8 Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 19:43:45 +0100 Subject: [PATCH 05/10] =?UTF-8?q?=E2=9C=85=20Update=20model's=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Model/RelationshipRequest.cs | 2 +- src/Tests/UnitTestsModel/ActivityTest.cs | 35 +++++++++++++ src/Tests/UnitTestsModel/DataSource.cs | 12 +++++ src/Tests/UnitTestsModel/HeartRateTest.cs | 52 +++++++++++++++++++ src/Tests/UnitTestsModel/LargeImageTest.cs | 54 ++++++++++++++++++++ src/Tests/UnitTestsModel/NotificationTest.cs | 8 +++ src/Tests/UnitTestsModel/RelationshipTest.cs | 7 ++- 7 files changed, 167 insertions(+), 3 deletions(-) diff --git a/src/Model/RelationshipRequest.cs b/src/Model/RelationshipRequest.cs index 4467725..0889092 100644 --- a/src/Model/RelationshipRequest.cs +++ b/src/Model/RelationshipRequest.cs @@ -5,5 +5,5 @@ public class RelationshipRequest // : Observable public int Id { get ; set ; } public int FromUser { get ; set; } public int ToUser { get; set ; } - public string Status { get ; } + public required string Status { get ; set; } } \ No newline at end of file diff --git a/src/Tests/UnitTestsModel/ActivityTest.cs b/src/Tests/UnitTestsModel/ActivityTest.cs index fc4d889..fbc9776 100644 --- a/src/Tests/UnitTestsModel/ActivityTest.cs +++ b/src/Tests/UnitTestsModel/ActivityTest.cs @@ -215,5 +215,40 @@ namespace UnitTestsModel Assert.Equal(hasAutoPause, activity.HasAutoPause); Assert.Equal(user, activity.Athlete); } + + [Fact] + public void ToString_ReturnsCorrectStringRepresentation() + { + var date = DateTime.Now; + var user = new User(); + var dataSource = new DataSource(1, "Type", "Model", 0.1f, new List(), new List()); + var heartRates = new List(); + + var activity = new Activity( + id: 1, + type: "Running", + date: date, + startTime: date.AddHours(1), + endTime: date.AddHours(2), + effort: 3, + variability: 0.5f, + variance: 0.3f, + standardDeviation: 0.2f, + average: 150, + maximum: 180, + minimum: 120, + averageTemperature: 25.5f, + hasAutoPause: false, + user: user, + dataSource: dataSource, + heartRates: heartRates + ); + + var result = activity.ToString(); + + Console.WriteLine(result); + + Assert.Equal($"Activity #1: Running on {date:d/M/yyyy} from {date.AddHours(1):HH:mm:ss} to {date.AddHours(2):HH:mm:ss} with an effort of 3/5 and an average temperature of 25,5°C and a heart rate variability of 0,5 bpm and a variance of 0,3 bpm and a standard deviation of 0,2 bpm and an average of 150 bpm and a maximum of 180 bpm and a minimum of 120 bpm and auto pause is disabled.", result); + } } } \ No newline at end of file diff --git a/src/Tests/UnitTestsModel/DataSource.cs b/src/Tests/UnitTestsModel/DataSource.cs index 5fc96d1..041496f 100644 --- a/src/Tests/UnitTestsModel/DataSource.cs +++ b/src/Tests/UnitTestsModel/DataSource.cs @@ -25,5 +25,17 @@ namespace Model.Tests Assert.Same(athletes, dataSource.Athletes); Assert.Same(activities, dataSource.Activities); } + + [Fact] + public void ToString_ReturnsExpectedString() + { + var athletes = new List(); + var activities = new List(); + var dataSource = new DataSource("Type", "Model", 0.1f, athletes, activities); + + var result = dataSource.ToString(); + + Assert.Equal("DataSource #0: Type Model with a precision of 0,1", result); + } } } diff --git a/src/Tests/UnitTestsModel/HeartRateTest.cs b/src/Tests/UnitTestsModel/HeartRateTest.cs index b9bb038..09ba756 100644 --- a/src/Tests/UnitTestsModel/HeartRateTest.cs +++ b/src/Tests/UnitTestsModel/HeartRateTest.cs @@ -64,5 +64,57 @@ namespace Model.Tests Assert.Contains($"altitude of {altitude}m", result); Assert.Contains($"at {longitude}°E and {latitude}°N", result); } + [Fact] + public void Constructor_WithAllParameters_ShouldInitializeCorrectly() + { + int bpm = 70; + var timestamp = new TimeOnly(12, 0); + var activity = new Activity(); + double? latitude = 40.7128; + double? longitude = -74.0060; + double? altitude = 10.0; + int? cadence = 80; + double? distance = 5.0; + double? speed = 10.0; + int? power = 200; + double? temperature = 20.0; + + var heartRate = new HeartRate(bpm, timestamp, activity, latitude, longitude, altitude, cadence, distance, speed, power, temperature); + + Assert.NotNull(heartRate); + Assert.Equal(bpm, heartRate.Bpm); + Assert.Equal(timestamp, heartRate.Timestamp); + Assert.Equal(activity, heartRate.Activity); + Assert.Equal(latitude, heartRate.Latitude); + Assert.Equal(longitude, heartRate.Longitude); + Assert.Equal(altitude, heartRate.Altitude); + Assert.Equal(cadence, heartRate.Cadence); + Assert.Equal(distance, heartRate.Distance); + Assert.Equal(speed, heartRate.Speed); + Assert.Equal(power, heartRate.Power); + Assert.Equal(temperature, heartRate.Temperature); + } + + [Fact] + public void Constructor_WithMinimalParameters_ShouldInitializeCorrectly() + { + int bpm = 70; + var timestamp = new TimeOnly(12, 0); + + var heartRate = new HeartRate(bpm, timestamp, 1, null, null, null, null, null, null, null, null); + + Assert.NotNull(heartRate); + Assert.Equal(bpm, heartRate.Bpm); + Assert.Equal(timestamp, heartRate.Timestamp); + Assert.Null(heartRate.Activity); + Assert.Null(heartRate.Latitude); + Assert.Null(heartRate.Longitude); + Assert.Null(heartRate.Altitude); + Assert.Null(heartRate.Cadence); + Assert.Null(heartRate.Distance); + Assert.Null(heartRate.Speed); + Assert.Null(heartRate.Power); + Assert.Null(heartRate.Temperature); + } } } \ No newline at end of file diff --git a/src/Tests/UnitTestsModel/LargeImageTest.cs b/src/Tests/UnitTestsModel/LargeImageTest.cs index 65d4016..f41cb46 100644 --- a/src/Tests/UnitTestsModel/LargeImageTest.cs +++ b/src/Tests/UnitTestsModel/LargeImageTest.cs @@ -100,5 +100,59 @@ namespace Model.Tests Assert.Equal(hashCode1, hashCode2); } + + [Fact] + public void Equals_ReturnsTrue_WhenComparingWithItself() + { + var largeImage = new LargeImage("base64String"); + + var result = largeImage.Equals(largeImage); + + Assert.True(result); + } + + [Fact] + public void Equals_ReturnsFalse_WhenComparingWithNull() + { + var largeImage = new LargeImage("base64String"); + + var result = largeImage.Equals(null); + + Assert.False(result); + } + + [Fact] + public void Equals_ReturnsFalse_WhenComparingWithDifferentType() + { + var largeImage = new LargeImage("base64String"); + var otherObject = new object(); + + var result = largeImage.Equals(otherObject); + + Assert.False(result); + } + + [Fact] + public void Equals_ReturnsFalse_WhenComparingWithDifferentLargeImage() + { + var largeImage1 = new LargeImage("base64String1"); + var largeImage2 = new LargeImage("base64String2"); + + var result = largeImage1.Equals(largeImage2); + + Assert.False(result); + } + + [Fact] + public void Equals_ReturnsTrue_WhenComparingWithEqualLargeImage() + { + var base64String = "base64String"; + var largeImage1 = new LargeImage(base64String); + var largeImage2 = new LargeImage(base64String); + + var result = largeImage1.Equals(largeImage2); + + Assert.True(result); + } } } diff --git a/src/Tests/UnitTestsModel/NotificationTest.cs b/src/Tests/UnitTestsModel/NotificationTest.cs index 6192289..7bfa92c 100644 --- a/src/Tests/UnitTestsModel/NotificationTest.cs +++ b/src/Tests/UnitTestsModel/NotificationTest.cs @@ -23,5 +23,13 @@ namespace Model.Tests Assert.Equal(urgency, notification.Urgence); Assert.Equal(toUserId, notification.ToUserId); } + + [Fact] + public void Constructor_DefaultConstructor_ShouldInitializeCorrectly() + { + var notification = new Notification(); + + Assert.NotNull(notification); + } } } \ No newline at end of file diff --git a/src/Tests/UnitTestsModel/RelationshipTest.cs b/src/Tests/UnitTestsModel/RelationshipTest.cs index 58010ef..6718e19 100644 --- a/src/Tests/UnitTestsModel/RelationshipTest.cs +++ b/src/Tests/UnitTestsModel/RelationshipTest.cs @@ -10,17 +10,20 @@ namespace Model.Tests int id = 1; int fromUserId = 2; int toUserId = 3; + string status = "Pending"; var request = new RelationshipRequest { Id = id, FromUser = fromUserId, - ToUser = toUserId + ToUser = toUserId, + Status = status }; Assert.Equal(id, request.Id); Assert.Equal(fromUserId, request.FromUser); Assert.Equal(toUserId, request.ToUser); + Assert.Equal(status, request.Status); } } -} \ No newline at end of file +} From 0e31f3c15531673b0e6d4931dac7c0e4463fbd8d Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 19:48:34 +0100 Subject: [PATCH 06/10] =?UTF-8?q?=F0=9F=A7=AA=20Test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tests/UnitTestsModel/ActivityTest.cs | 2 +- src/Tests/UnitTestsModel/DataSource.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Tests/UnitTestsModel/ActivityTest.cs b/src/Tests/UnitTestsModel/ActivityTest.cs index fbc9776..a5393ca 100644 --- a/src/Tests/UnitTestsModel/ActivityTest.cs +++ b/src/Tests/UnitTestsModel/ActivityTest.cs @@ -248,7 +248,7 @@ namespace UnitTestsModel Console.WriteLine(result); - Assert.Equal($"Activity #1: Running on {date:d/M/yyyy} from {date.AddHours(1):HH:mm:ss} to {date.AddHours(2):HH:mm:ss} with an effort of 3/5 and an average temperature of 25,5°C and a heart rate variability of 0,5 bpm and a variance of 0,3 bpm and a standard deviation of 0,2 bpm and an average of 150 bpm and a maximum of 180 bpm and a minimum of 120 bpm and auto pause is disabled.", result); + Assert.Equal($"Activity #1: Running on {date:d/M/yyyy} from {date.AddHours(1):HH:mm:ss} to {date.AddHours(2):HH:mm:ss} with an effort of 3/5 and an average temperature of 25.5°C and a heart rate variability of 0,5 bpm and a variance of 0,3 bpm and a standard deviation of 0,2 bpm and an average of 150 bpm and a maximum of 180 bpm and a minimum of 120 bpm and auto pause is disabled.", result); } } } \ No newline at end of file diff --git a/src/Tests/UnitTestsModel/DataSource.cs b/src/Tests/UnitTestsModel/DataSource.cs index 041496f..503d3a2 100644 --- a/src/Tests/UnitTestsModel/DataSource.cs +++ b/src/Tests/UnitTestsModel/DataSource.cs @@ -35,7 +35,7 @@ namespace Model.Tests var result = dataSource.ToString(); - Assert.Equal("DataSource #0: Type Model with a precision of 0,1", result); + Assert.Equal("DataSource #0: Type Model with a precision of 0.1", result); } } } From 32babc0cc2e7cc104d731a902380245914f7744b Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 19:49:57 +0100 Subject: [PATCH 07/10] =?UTF-8?q?=F0=9F=A7=AA=20Test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Tests/UnitTestsModel/ActivityTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tests/UnitTestsModel/ActivityTest.cs b/src/Tests/UnitTestsModel/ActivityTest.cs index a5393ca..a381e49 100644 --- a/src/Tests/UnitTestsModel/ActivityTest.cs +++ b/src/Tests/UnitTestsModel/ActivityTest.cs @@ -248,7 +248,7 @@ namespace UnitTestsModel Console.WriteLine(result); - Assert.Equal($"Activity #1: Running on {date:d/M/yyyy} from {date.AddHours(1):HH:mm:ss} to {date.AddHours(2):HH:mm:ss} with an effort of 3/5 and an average temperature of 25.5°C and a heart rate variability of 0,5 bpm and a variance of 0,3 bpm and a standard deviation of 0,2 bpm and an average of 150 bpm and a maximum of 180 bpm and a minimum of 120 bpm and auto pause is disabled.", result); + Assert.Equal($"Activity #1: Running on {date:d/M/yyyy} from {date.AddHours(1):HH:mm:ss} to {date.AddHours(2):HH:mm:ss} with an effort of 3/5 and an average temperature of 25.5°C and a heart rate variability of 0.5 bpm and a variance of 0.3 bpm and a standard deviation of 0.2 bpm and an average of 150 bpm and a maximum of 180 bpm and a minimum of 120 bpm and auto pause is disabled.", result); } } } \ No newline at end of file From a7cf2c1aeb25ae66d9e4be2b9b7520b8c24a6313 Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 21:00:17 +0100 Subject: [PATCH 08/10] =?UTF-8?q?=F0=9F=93=9D=20Update=20Readme=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 168 +- docs/Diagramme/BDD/MLD.plantuml | 113 + docs/Diagramme/BDD/README_BDD.md | 275 + .../README_coachSuiviSportif.md | 55 + .../README_gestionActivites.md | 57 + .../README_gestionCompteAmitie.md | 55 + .../DiagrammeDeClasses/DiagrammeClasses.mdj | 16708 ++++++++++++++++ .../DiagrammeDeClasses/README_DIAGRAMME.md | 202 + .../DiagrammeDeClasses/README_accesDonnees.md | 90 + .../DiagrammeDeClasses/README_issue016.md | 138 + .../DiagrammeDeClasses/README_issue022.md | 91 + .../DiagrammeDeClasses/README_issue023.md | 200 + .../DiagrammeDeClasses/README_issue028.md | 136 + .../DiagrammeDeSequence/AjouterAmis.png | Bin 0 -> 36122 bytes .../DiagrammeDeSequence/README_accepterAmi.md | 49 + .../DiagrammeDeSequence/README_demandeAmi.md | 30 + .../DiagrammeDeSequence/README_issue021.md | 40 + .../README_suppressionAmi.md | 63 + docs/Diagramme/README_DIAGRAMMES.md | 25 + 19 files changed, 18484 insertions(+), 11 deletions(-) create mode 100755 docs/Diagramme/BDD/MLD.plantuml create mode 100644 docs/Diagramme/BDD/README_BDD.md create mode 100644 docs/Diagramme/CasUtilisations/README_coachSuiviSportif.md create mode 100644 docs/Diagramme/CasUtilisations/README_gestionActivites.md create mode 100644 docs/Diagramme/CasUtilisations/README_gestionCompteAmitie.md create mode 100644 docs/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj create mode 100644 docs/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md create mode 100644 docs/Diagramme/DiagrammeDeClasses/README_accesDonnees.md create mode 100644 docs/Diagramme/DiagrammeDeClasses/README_issue016.md create mode 100644 docs/Diagramme/DiagrammeDeClasses/README_issue022.md create mode 100644 docs/Diagramme/DiagrammeDeClasses/README_issue023.md create mode 100644 docs/Diagramme/DiagrammeDeClasses/README_issue028.md create mode 100644 docs/Diagramme/DiagrammeDeSequence/AjouterAmis.png create mode 100644 docs/Diagramme/DiagrammeDeSequence/README_accepterAmi.md create mode 100644 docs/Diagramme/DiagrammeDeSequence/README_demandeAmi.md create mode 100644 docs/Diagramme/DiagrammeDeSequence/README_issue021.md create mode 100644 docs/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md create mode 100644 docs/Diagramme/README_DIAGRAMMES.md diff --git a/README.md b/README.md index 97126b3..aa256b5 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,162 @@ -# EF_WebAPI +
-This repository make a meeting of EF and WebAPI parts. +

HeartTrack

+ + +
-FROM /src dir -do -```bash -dotnet ef migrations add --project StubbedContextLib/StubbedContextLib.csproj --startup-project HeartTrackAPI/HeartTrackAPI.csproj --context StubbedContextLib.TrainingStubbedContext --configuration Debug Initial --output-dir Migrations -``` -then +
-```bash -dotnet ef database update --project StubbedContextLib/StubbedContextLib.csproj --startup-project HeartTrackAPI/HeartTrackAPI.csproj --context StubbedContextLib.TrainingStubbedContext --configuration Debug -``` + + +--- +  ![C#](https://img.shields.io/badge/C%23-000?style=for-the-badge&logo=c-sharp&logoColor=white&color=purple) +  ![Entity Framework](https://img.shields.io/badge/Entity_Framework-000?style=for-the-badge&logo=.net&logoColor=white&color=blue) +  ![API](https://img.shields.io/badge/API-000?style=for-the-badge&logo=api&logoColor=white&color=orange) + +
+![Build Status](https://codefirst.iut.uca.fr/git/HeartDev/Web) +[![Quality Gate Status]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) +[![Bugs]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) +[![Coverage]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) +[![Vulnerabilities]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) + +
+ +# Table des matières +[Présentation](#présentation) | [Répartition du Git](#répartition-du-git) | [Documentation](#documentation) | [Prerequisites](#prerequisites) | [Getting Started](#getting-started) | [Features](#features) | [Ce que nous avons fait](#ce-que-nous-avons-fait) | [Fabriqué avec](#fabriqué-avec) | [Contributeurs](#contributeurs) | [Comment contribuer](#comment-contribuer) | [License](#license) | [Remerciements](#remerciements) + + + +## Présentation + +**Nom de l'application :** HeartTrack + +### Contexte + +HeartTrack est une application web PHP et mobile Android destinée aux sportifs et aux coachs afin de permettre l'analyse de courbes de fréquences cardiaques et le suivi d'équipe sportive. L'objectif principal de cette application est de récupérer les données de fréquence cardiaque à partir de fichiers .FIT, de les afficher sous forme de courbes, d'identifier des paternes, de fournir des statistiques et de réaliser des prédictions liées à l'effort physique, à la chaleur, à la récupération, etc. + +### Récapitulatif du Projet + +Le projet HeartTrack, avec son application HeartTrack, vise à offrir une solution Open Source d'analyse des données de fréquence cardiaque, en mettant l'accent sur les besoins des sportifs et des coachs. L'application sera capable de traiter et d'interpréter les données de manière intelligente, fournissant ainsi des informations précieuses pour optimiser les performances sportives et la santé. + + +## Répartition du Git + +[**Sources**](Sources/) : **Code de l'application** + +[**Documents**](docs/Diagramme/README_DIAGRAMMES.md) : **Documentation de l'application et diagrammes** + +[**Wiki**](https://codefirst.iut.uca.fr/git/HeartDev/Web/wiki/PHP) : **Wiki de notre projet (attendus PHP)** + +--- + +Le projet HeartTrack utilise un modèle de flux de travail Git (Gitflow) pour organiser le développement. Voici une brève explication des principales branches : + +- **branche WORK-** : Cette branche est utilisée pour le développement de nouvelles fonctionnalités. Chaque fonctionnalité est développée dans une branche séparée. WORK-NOMDUDEV permet de savoir qui travaille sur quoi. + +- **branche master** : Cette branch est la dernière version stable de l'application. Les modifications sur cette branche sont généralement destinées à des mises en production. + +- **branche test** : Cette branche est utilisée pour tester les différentes fonctionnalités avant de les fusionner. + +- **branche merge** : Cette branche est utilisée pour fusionner les différentes branches de fonctionnalités. + + +## Documentation +Documentation et informations à propos de `HearthTrack` disponible [ici](https://codefirst.iut.uca.fr/documentation/HeartDev/API/doxygen/) + +### Prerequisites +* [![.NET 8.0](https://img.shields.io/badge/Langage-.NET-000?style=for-the-badge&logo=.net&logoColor=white&color=blue)](https://dotnet.microsoft.com/download/dotnet/8.0) +* [![Entity Framework](https://img.shields.io/badge/ORM-Entity_Framework-000?style=for-the-badge&logo=.net&logoColor=white&color=blue)](https://docs.microsoft.com/fr-fr/ef/) +* [![API](https://img.shields.io/badge/API-000?style=for-the-badge&logo=api&logoColor=white&color=orange)](https://docs.microsoft.com/fr-fr/aspnet/core/web-api/?view=aspnetcore-8.0) +* [![Visual Studio](https://img.shields.io/badge/IDE-Visual_Studio-000?style=for-the-badge&logo=visual-studio&logoColor=white&color=purple)](https://visualstudio.microsoft.com/fr/) +* [![Git](https://img.shields.io/badge/Versioning-Git-000?style=for-the-badge&logo=git&logoColor=white&color=red)](https://git-scm.com/) + +## Getting Started + +## Ce que nous avons fait +### Entity Framework +réalisé | niveau | description | coeff | jalon +--- | --- | --- | --- | --- +[ ] | ☢️ | Le dépôt doit être accessible par l'enseignant | ☢️ | J1 +[ ] | ☢️ | un .gitignore doit exister au premier push | ☢️ | J1 +[ ] | 🎬 | les *projets* et les tests compilent | 1 | J1 & J2 +[ ] | 🎬 | le projet et le tests s'exécutent sans bug (concernant la partie persistance) | 3 | J1 & J2 +[ ] | 🟢 | Transcription du modèle : Modèle vers entités (et inversement) | 2 | J1 +[ ] | 🟢 | Requêtes CRUD simples (sur une table) | 1 | J1 +[ ] | 🟢 | Utilisation de LINQ to Entities | 2 | J1 +[ ] | 🟡 | Injection / indépendance du fournisseur | 1 | J1 +[ ] | 🟡 | Requêtes CRUD sur des données complexes (images par exemple) | 2 | J1 +[ ] | 🟢 | Tests - Appli Console | 1 | J1 +[ ] | 🟢 | Tests - Tests unitaires (avec SQLite in memory) | 2 | J1 +[ ] | 🟢 | Tests - Données stubbées et/ou Moq | 1 | J1 +[ ] | 🟡 | CI : build, tests, Sonar (doc?) | 1 | J1 +[ ] | 🟡 | Utilisation de relations (One-to-One, One-to-Many, Many-to-Many) (+ mapping, TU, Requêtes) | 4 | J1 +[ ] | 🟢 | Liens avec le web service | 2 | J1 +[ ] | 🟡 | Utilisation d'un *Logger* | 1 | J1 +[ ] | 🟡 | Déploiement | 4 | J2 +[ ] | 🔴 | Unit of Work / Repository + extras (héritage, accès concurrents...) | 8 | J2 +[ ] | 🟢 | Utilisation dans le projet | 2 | J2 +[ ] | 🟢 | mon dépôt possède un readme qui apporte quelque chose... | 2 | J2 + +### API +réalisé | niveau | description | coeff | jalon +--- | --- | --- | --- | --- +[ ] | ☢️ | Le dépôt doit être accessible par l'enseignant | ☢️ | J1 +[ ] | ☢️ | un .gitignore doit exister au premier push | ☢️ | J1 +[ ] | 🎬 | les *projets* et les tests compilent | 1 | J1 & J2 +[ ] | 🎬 | le projet et le tests s'exécutent sans bug (concernant la partie persistance) | 4 | J1 & J2 +[ ] | 🟢 | Modèle <-> DTO | 1 | J1 +[ ] | 🟢 | Entities <-> DTO | 1 | J1 +[ ] | 🟡 | Authentification | 4 | J1 +[ ] | 🟢 | Requêtes GET, PUT, POST, DELETE sur des données simples (1 seul type d'objet en retour, propriétés de types natifs) | 2 | J1 +[ ] | 🟡 | Pagination & filtrage | 2 | J1 +[ ] | 🟢 | Injection de service | 2 | J1 +[ ] | 🟡 | Requêtes GET, PUT, POST, DELETE sur des données complexes (plusieurs données complexes en retour) | 4 | J1 +[ ] | 🟢 | Tests - Appli Console (consommation des requêtes) | 4 | J1 +[ ] | 🟢 | Tests - Tests unitaires (avec Stub et/ou Moq) | 2 | J1 +[ ] | 🟡 | CI : build, tests, Sonar, Documentation (en particulier Swagger avec exemples...) | 1 | J1 +[ ] | 🟢 | Liens avec la persistance en base de données | 4 | J1 +[ ] | 🟡 | Utilisation d'un *Logger* | 1 | J1 +[ ] | 🟡 | Déploiement | 4 | J2 +❌ | 🟡 | Utilisation dans le projet | 4 | J2 +✅ | 🎬 | mon dépôt possède un readme qui apporte quelque chose... | 1 | J2 + +## Fabriqué avec +![.NET](https://img.shields.io/badge/Langage-.NET-000?style=for-the-badge&logo=.net&logoColor=white&color=blue) +![Entity Framework](https://img.shields.io/badge/ORM-Entity_Framework-000?style=for-the-badge&logo=.net&logoColor=white&color=blue) +![API](https://img.shields.io/badge/API-000?style=for-the-badge&logo=api&logoColor=white&color=orange) +![ASP.NET](https://img.shields.io/badge/ASP.NET-000?style=for-the-badge&logo=asp.net&logoColor=white&color=blue) +![Visual Studio](https://img.shields.io/badge/IDE-Visual_Studio-000?style=for-the-badge&logo=visual-studio&logoColor=white&color=purple) +![JetBrains Rider](https://img.shields.io/badge/IDE-JetBrains_Rider-000?style=for-the-badge&logo=rider&logoColor=white&color=purple) +![Git](https://img.shields.io/badge/Versioning-Git-000?style=for-the-badge&logo=git&logoColor=white&color=red) +![SonarQube](https://img.shields.io/badge/Qualit%C3%A9-SonarQube-000?style=for-the-badge&logo=sonarqube&logoColor=white&color=red) +![Drone](https://img.shields.io/badge/CI-Drone-000?style=for-the-badge&logo=drone&logoColor=white&color=orange) +![Docker](https://img.shields.io/badge/Container-Docker-000?style=for-the-badge&logo=docker&logoColor=white&color=blue) +![C#](https://img.shields.io/badge/Langage-C%23-000?style=for-the-badge&logo=c-sharp&logoColor=white&color=purple) +![Doxygen](https://img.shields.io/badge/Documentation-Doxygen-000?style=for-the-badge&logo=doxygen&logoColor=white&color=blue) + + + +## Contributeurs +* [Antoine PEREDERII](https://codefirst.iut.uca.fr/git/antoine.perederii) +* [Paul LEVRAULT](https://codefirst.iut.uca.fr/git/paul.levrault) +* [Kevin MONTEIRO](https://codefirst.iut.uca.fr/git/kevin.monteiro) +* [Antoine PINAGOT](https://codefirst.iut.uca.fr/git/antoine.pinagot) +* [David D'HALMEIDA](https://codefirst.iut.uca.fr/git/david.d_almeida) + +## Comment contribuer +1. Forkez le projet () +2. Créez votre branche (`git checkout -b feature/featureName`) +3. commit vos changements (`git commit -am 'Add some feature'`) +4. Push sur la branche (`git push origin feature/featureName`) +5. Créez une nouvelle Pull Request + + +## License +Ce projet est sous licence ``MIT`` - voir le fichier [LICENSE.md](LICENSE.md) pour plus d'informations. + +## Remerciements +Ce projet a été réalisé dans le cadre de la SAÉ de l'IUT de Clermont-Ferrand. \ No newline at end of file diff --git a/docs/Diagramme/BDD/MLD.plantuml b/docs/Diagramme/BDD/MLD.plantuml new file mode 100755 index 0000000..cdf6bec --- /dev/null +++ b/docs/Diagramme/BDD/MLD.plantuml @@ -0,0 +1,113 @@ +@startuml +skinparam classAttributeIconSize 0 +package MLD{ +entity "Athlète" as athlete { + {static} idAthlete + nom + prénom + email + sexe + taille + poids + motDePasse + dateNaissance +} + +entity "Amitié" as friendship{ +{static}# idAthlete1 +{static}# idAthlete2 +début +} + +entity "Notification" as notif { + {static} idNotif + message + date + statut + urgence + #athleteId +} + +entity "Coach" as coach { + {static} idCoach + // attributs spécifiques au coach + #athleteId +} + +entity "Statistique" as stats { + {static} idStatistique + poids + fcMoyenne + fcMax + caloriesBrûléesMoy + date + #athleteId +} + +entity "Entraînement" as training { + {static} idEntrainement + date + description + // Exercices + latitude + longitude + feedback + #coachId +} + +entity "Participe" as takepart { + {static} #athleteId + {static} #entrainementId +} + + +entity "SourceDonnée" as source { + {static} idSource + type + modèle + précision + #athleteId +} + +entity "Activité" as activity { + {static} idActivité + type + date + heureDeDébut + heureDeFin + effortRessent + variabilité + variance + ecartType + moyenne + maximum + minimum + temperatureMoyenne + #athleteId + #sourceId +} +entity "FréquenceCardiaque" as fc { + {static} idFc + altitude + temps : time + température + bpm + longitude + latitude + #activitéId +} + +} +activity --> athlete +activity --> source +activity <-- fc +coach --> athlete +athlete <-- source +stats --> athlete +takepart --> athlete +takepart --> training +friendship --> athlete +notif --> athlete +coach <-- training +athlete <-- friendship +@enduml \ No newline at end of file diff --git a/docs/Diagramme/BDD/README_BDD.md b/docs/Diagramme/BDD/README_BDD.md new file mode 100644 index 0000000..63d6db6 --- /dev/null +++ b/docs/Diagramme/BDD/README_BDD.md @@ -0,0 +1,275 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# BDD + +## Modèle Logique de Données (MLD) + +Le MLD représente la structure de données de l'application, décrivant les entités et les relations entre elles. Voici un aperçu des principales entités du MLD : + +### Athlète (Athlete) + +L'entité principale représentant un athlète avec ces informations propre à lui telles que l'identifiant, le nom, le prénom, l'email, etc. Les athlètes peuvent être coach avec le boolean idCoach et être liés par des amitiés, ou par un coaching via la table `Amitie`. + +### Amitié (Friendship) + +Une entité qui modélise les relations d'amitié entre les athlètes et de coaching entre les athlètes et les coachs. Elle stocke les identifiants des deux utilisateurs impliqués. + +### Notification (Notification) + +L'entité qui stocke les notifications destinées aux athlètes, avec des détails tels que le message, la date, le statut, et le degré d'urgence. + +### Envoi de Notification (SendNotification) + +Une entité de liaison entre les athlètes et les notifications, indiquant quel athlète ou coach a envoyé quelle notification. Cela peut-être utile lors d'une notification d'ajout d'amie par exemple. + +### Statistique (Statistic) + +Les statistiques relatives à un athlètes, y compris le poids, la fréquence cardiaque moyenne, la fréquence cardiaque maximale, etc. + +### Entraînement (Training) + +Détails sur les sessions d'entraînement planifiés par un coach pour ses athlètes, comprenant la date, la description, la localisation, etc. Les athlètes peuvent participer à des entraînements et donner leur feedback sur l'entrainement donné. + +### Participation (Participate) + +Une entité de liaison entre les athlètes et les entraînements, indiquant quels athlètes participent à quels entraînements. + +### Don (GiveParticipation) + +Une entité de liaison entre les coachs et les entraînements, indiquant quels coachs ont attribué quels entraînements. + +### Source de Données (DataSource) + +L'entité représentant la source des données des enregistrements sportif, telle que le type, le modèle, la précision, etc., utilisée par les athlètes pour enregistrer une ou des activités. + +### Activité (Activity) + +Les détails des activités des athlètes, y compris le type, la date, les heures de début et de fin, l'effort ressenti, etc. + +### Fréquence Cardiaque (HeartRate) + +Les données de fréquence cardiaque enregistrées pendant les activités, avec des informations telles que l'altitude, la température, etc. + +Ce MLD forme la base de données sous-jacente pour l'application, offrant une structure organisée pour stocker et récupérer les informations relatives aux athlètes et à leurs activités. + +```plantuml +@startuml +skinparam classAttributeIconSize 0 +package MLD{ +entity "Athlete" as athlete { + {static} idAthlete + username + nom + prenom + email + sexe + taille + poids + motDePasse + dateNaissance + isCoach +} + +entity "Amitie" as friendship{ +{static}# idAthlete1 +{static}# idAthlete2 +début +} + +entity "Notification" as notif { + {static} idNotif + message + date + statut + urgence + #athleteId +} + +entity "Envoi" as sendNotif{ +{static}# idAthlete +{static}# idNotif +} + +entity "Statistique" as stats { + {static} idStatistique + poids + fcMoyenne + fcMax + caloriesBruleesMoy + date + #athleteId +} + +entity "Entrainement" as training { + {static} idEntrainement + date + description + latitude + longitude + feedback + #athleteId +} + +entity "Participe" as takepart { + {static} #athleteId + {static} #entrainementId +} + +entity "Donne" as givepart { + {static} #coachId + {static} #entrainementId +} + + +entity "SourceDonnee" as source { + {static} idSource + type + modele + precision + #athleteId +} + +entity "Activite" as activity { + {static} idActivité + type + date + heureDeDebut + heureDeFin + effortRessent + variabilite + variance + ecartType + moyenne + maximum + minimum + temperatureMoyenne + #athleteId + #sourceId +} +entity "FréquenceCardiaque" as fc { + {static} idFc + altitude + temps : time + température + bpm + longitude + latitude + #activitéId +} + +} +activity --> athlete +activity --> source +activity <-- fc +athlete <-- source +stats --> athlete +takepart --> athlete +takepart --> training +givepart --> athlete +givepart --> training +sendNotif --> athlete +sendNotif --> notif +friendship --> athlete +notif --> athlete +athlete <-- friendship +@enduml +``` + +```plantuml +@startuml +skinparam classAttributeIconSize 0 +package MCD{ +entity "Athlete" as athlete { + {static} idAthlete + username + nom + prenom + email + sexe + taille + poids + motDePasse + dateNaissance + isCoach +} + +entity "Notification" as notif { + {static} idNotif + message + date + statut + urgence + #athleteId +} + +entity "Statistique" as stats { + {static} idStatistique + poids + fcMoyenne + fcMax + caloriesBruleesMoy + date + #athleteId +} + +entity "Entrainement" as training { + {static} idEntrainement + date + description + latitude + longitude + feedback + #athleteId +} + +entity "SourceDonnee" as source { + {static} idSource + type + modele + precision + #athleteId +} + +entity "Activite" as activity { + {static} idActivité + type + date + heureDeDebut + heureDeFin + effortRessent + variabilite + variance + ecartType + moyenne + maximum + minimum + temperatureMoyenne + #athleteId + #sourceId +} + +entity "FréquenceCardiaque" as fc { + {static} idFc + altitude + temps : time + température + bpm + longitude + latitude + #activitéId +} + +} +activity "0..n" --- "1..1" athlete : réalise +activity "1..n" --- "1..1" source : possede +activity "1..1" --- "1..n" fc : enregistre +athlete "1..n" --- "0..1" source : possede +stats "0..n" --- "1..1" athlete : possede +training "0..n" --- "1..n" athlete : participe +training "0..n" --- "1..1" athlete : donne +athlete "0..n" --- "1..n" athlete : est ami +notif "0..n" --- "1..n" athlete : recoit +notif "0..n" --- "1..1" athlete : envoie +@enduml +``` \ No newline at end of file diff --git a/docs/Diagramme/CasUtilisations/README_coachSuiviSportif.md b/docs/Diagramme/CasUtilisations/README_coachSuiviSportif.md new file mode 100644 index 0000000..9ca737e --- /dev/null +++ b/docs/Diagramme/CasUtilisations/README_coachSuiviSportif.md @@ -0,0 +1,55 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Cas d'utilisation : Suivi d'une Équipe Sportive + +Bienvenue dans le monde dynamique du suivi d'équipe sportive, où notre application offre une plateforme complète pour les entraîneurs soucieux d'optimiser les performances de leurs athlètes. Ce diagramme de cas d'utilisation vous plonge dans les fonctionnalités clés qui facilitent la gestion d'une équipe sportive avec efficacité. + +**Acteurs Principaux :** + +- **Coach :** Le protagoniste central, utilisant l'application pour gérer et superviser son équipe. + +**Fonctionnalités Clés :** + +- **Ajouter un Athlète :** Permet au coach d'ajouter de nouveaux membres à son équipe, avec des étapes incluant la validation par l'athlète et l'authentification. + +- **Supprimer un Athlète :** Offre la possibilité de retirer des athlètes de l'équipe, avec une authentification préalable pour garantir la légitimité de l'action. + +- **Afficher ses Athlètes :** Permet au coach de visualiser la liste complète de ses athlètes, nécessitant une authentification pour accéder à ces informations sensibles. + +- **Afficher les Activités de Tous les Athlètes :** Donne au coach un aperçu global des activités de toute l'équipe, nécessitant une authentification pour garantir la confidentialité des données. + +**Flux d'Interaction :** + +- Le processus d'ajout d'un athlète inclut des étapes telles que la validation par l'athlète et l'authentification, garantissant une intégration fluide. + +- Les actions de suppression, affichage des athlètes et affichage des activités nécessitent une authentification préalable pour assurer la sécurité des données. + +- Des extensions telles que la visualisation des activités d'un athlète et l'analyse des performances offrent des fonctionnalités avancées pour un suivi détaillé. + +Explorez ce diagramme pour comprendre l'étendue des fonctionnalités que notre application offre aux entraîneurs, les aidant à gérer leurs équipes de manière efficace et à maximiser le potentiel de chaque athlète. + +```plantuml +left to right direction +:Coach: as a + +a --> (Ajouter un athlète) +a --> (Supprimer un athlète) +a --> (Afficher ses athlètes ) +a --> (Afficher les activités de tous les athlètes) +(Ajouter un athlète).>(Validation par l'athlète) : <> +(Ajouter un athlète)..>(S'authentifier) : <> +(Supprimer un athlète)..>(S'authentifier) : <> +(Afficher ses athlètes )..>(S'authentifier) : <> +(Afficher les activités de tous les athlètes)..>(S'authentifier) : <> +(S'authentifier)..>(S'inscrire) : <> +(S'inscrire).>(Inscription Coach) : <> +(S'authentifier)..>(Se connecter) : <> +(Afficher ses athlètes )..>(Voir les activités d'un athlète) : <> +(Afficher ses athlètes )..>(Voir les stats d'un athlète) : <> +(Afficher les activités de tous les athlètes)..>(Sélectionner une activité) : <> +(Sélectionner une activité)..>(Voir l'analyse) : <> +(Sélectionner une activité)..>(Exporter l'analyse) : <> +(Voir les activités d'un athlète)..>(Voir l'analyse) : <> +(Voir les activités d'un athlète)..>(Exporter l'analyse) : <> +``` \ No newline at end of file diff --git a/docs/Diagramme/CasUtilisations/README_gestionActivites.md b/docs/Diagramme/CasUtilisations/README_gestionActivites.md new file mode 100644 index 0000000..3cf26db --- /dev/null +++ b/docs/Diagramme/CasUtilisations/README_gestionActivites.md @@ -0,0 +1,57 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Cas d'utilisation : Gestion d'Activités pour un Athlète + +Bienvenue dans l'univers dédié à la gestion d'activités sportives personnalisées pour les athlètes ! Ce diagramme de cas d'utilisation explore les différentes fonctionnalités offertes aux utilisateurs, mettant en avant la flexibilité et la richesse d'interactions pour une expérience utilisateur optimale. + +**Acteurs Principaux :** + +- **Athlète :** Le protagoniste central, utilisant l'application pour importer, gérer et analyser ses activités sportives. + +**Fonctionnalités Clés :** + +- **Importer des Données :** Permet à l'athlète d'importer des données d'activités depuis différentes sources, avec la possibilité de spécifier la source pour une intégration transparente. + +- **Exporter Mes Données :** Offre la possibilité d'exporter l'ensemble des activités, avec des extensions pour exporter une activité spécifique, le tout soumis à une authentification préalable. + +- **Ajouter une Activité :** Permet à l'athlète d'ajouter de nouvelles activités, avec des étapes inclusives telles que la saisie du titre, du type d'activité, de la source, du matériel utilisé et de la visibilité, chacune accessible via l'authentification. + +- **Voir une Activité :** Permet à l'athlète de visualiser en détail une activité particulière, avec la possibilité d'exporter une analyse et de gérer la visibilité, soumis à une authentification. + +- **Supprimer une Activité :** Offre la possibilité de retirer une activité, requérant une authentification pour garantir la sécurité des données. + +**Flux d'Interaction :** + +- Les actions telles que l'importation, l'exportation, l'ajout et la visualisation d'activités impliquent une authentification préalable pour garantir la confidentialité des données personnelles. + +- Des inclusions précises, telles que la saisie du titre, du type d'activité, de la source, du matériel utilisé et de la visibilité, sont incorporées dans le processus d'ajout d'une activité, offrant une expérience utilisateur détaillée et conviviale. + +Explorez ce diagramme pour comprendre la manière dont notre application place la gestion d'activités entre les mains des athlètes, les encourageant à suivre, analyser et optimiser leurs performances sportives de manière personnalisée et efficace. + + +```plantuml +left to right direction +:Athlete: as a + +a --> (Importer des données) +(Importer des données) .> (Saisir la source) : <> +a --> (Exporter mes données) +(Exporter mes données) .>(Exporter toutes les activités): <> +(Exporter mes données) ..>(Exporter une activité): <> +a --> (Ajouter une activité) +(Ajouter une activité) ..>(Saisir un titre et une description): <> +(Ajouter une activité) ..>(Saisir le type d'activité): <> +(Ajouter une activité) .>(Saisir la source): <> +(Saisir la source) ..>(Saisir le matériel utilisé): <> +(Ajouter une activité) ..>(Saisir la visibilité): <> +a --> (Voir une activité) +(Voir une activité) ..>(Exporter l'analyse): <> +(Voir une activité) ..>(Saisir la visibilité): <> +a --> (Supprimer une activité) +(Supprimer une activité) ..>(S'authentifier): <> +(Importer des données) ...>(S'authentifier): <> +(Exporter mes données) ...>(S'authentifier): <> +(Ajouter une activité) ...>(S'authentifier): <> +(Voir une activité) ...>(S'authentifier): <> +``` \ No newline at end of file diff --git a/docs/Diagramme/CasUtilisations/README_gestionCompteAmitie.md b/docs/Diagramme/CasUtilisations/README_gestionCompteAmitie.md new file mode 100644 index 0000000..495c918 --- /dev/null +++ b/docs/Diagramme/CasUtilisations/README_gestionCompteAmitie.md @@ -0,0 +1,55 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Cas d'utilisation : Gestion des Relations Sociales pour un Athlète + +Bienvenue dans la sphère sociale de notre application dédiée aux athlètes ! Ce diagramme de cas d'utilisation explore les fonctionnalités sociales clés offertes aux utilisateurs, mettant en lumière la connectivité et l'interaction sociale au sein de notre communauté sportive. + +**Acteurs Principaux :** + +- **Athlète :** Le protagoniste central, utilisant l'application pour gérer ses relations sociales et explorer les profils de ses pairs. + +**Fonctionnalités Clés :** + +- **Ajouter un Ami :** Permet à l'athlète d'ajouter de nouveaux amis, nécessitant la saisie du nom de l'ami et soumis à une authentification préalable. + +- **Supprimer un Ami :** Offre la possibilité de retirer un ami, exigeant une authentification pour garantir la sécurité des données. + +- **Voir Mes Amis :** Permet à l'athlète de visualiser la liste de ses amis, avec la possibilité d'accéder à des fonctionnalités supplémentaires comme la visualisation des profils. + +- **Modifier Mes Informations :** Offre à l'athlète la possibilité de mettre à jour ses informations personnelles et de connexion, avec des extensions pour des détails plus spécifiques. + +**Flux d'Interaction :** + +- Le processus d'ajout d'un ami inclut la saisie du nom de l'ami, tandis que la suppression d'un ami et la visualisation de la liste des amis sont soumises à une authentification préalable pour protéger la confidentialité. + +- Les modifications d'informations englobent deux extensions : la mise à jour des informations personnelles et la mise à jour des informations de connexion, offrant une personnalisation approfondie du profil athlétique. + +- La visualisation du profil d'un ami s'étend à des fonctionnalités telles que la consultation des activités et des statistiques de l'ami, ajoutant une dimension sociale à l'expérience de suivi sportif. + +Explorez ce diagramme pour découvrir comment notre application encourage l'interaction sociale entre les athlètes, favorisant une communauté engagée et collaborative au sein de laquelle les utilisateurs peuvent partager, interagir et se soutenir mutuellement dans leur parcours sportif. + + +```plantuml +left to right direction +:Athlete: as a + +a --> (Ajouter un ami) +a --> (Supprimer un ami) +a --> (Voir mes amis) +a --> (Modifier mes informations) +(Ajouter un ami)->(Saisir le nom de l'ami) +(Supprimer un ami)..>(S'authentifier) : <> +(Ajouter un ami)..>(S'authentifier) : <> +(Voir mes amis)..>(S'authentifier) : <> +(Voir mes amis)..>(Lister les amis) : <> +(Modifier mes informations)..>(Informations personnelles) : <> +(Modifier mes informations)..>(Informations de connexion) : <> +(Modifier mes informations)..>(S'authentifier) : <> +(Lister les amis)..>(Voir son profil) : <> +(Voir son profil)..>(Voir ses activités) : <> +(Voir son profil)..>(Voir ses statistiques) : <> +(S'authentifier)..>(S'inscrire) : <> +(S'authentifier)..>(Se connecter) : <> +(S'inscrire)..>(Inscription Athlète) : <> +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj b/docs/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj new file mode 100644 index 0000000..c543891 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj @@ -0,0 +1,16708 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3Bpk6Nh7nd8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3Bpk6Nh8Lq8=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "model": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3Bpk6Nh9hPU=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh8Lq8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7438, + "top": 4026, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3Bpk6Nh+Fwc=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh8Lq8=" + }, + "font": "Arial;13;1", + "left": 3933, + "top": 1975, + "width": 134.05615234375, + "height": 13, + "text": "Utilisateur" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3Bpk6Nh/isA=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh8Lq8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7438, + "top": 4026, + "width": 83.560546875, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3Bpk6NiAZ5I=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh8Lq8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7438, + "top": 4026, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3928, + "top": 1968, + "width": 144.05615234375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3Bpk6Nh9hPU=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3Bpk6Nh+Fwc=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3Bpk6Nh/isA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3Bpk6NiAZ5I=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3Bpk6NiBNB8=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "model": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL+9pbIrmYC30=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGL+9pa8rlijfg=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 1998, + "width": 134.05615234375, + "height": 13, + "text": "-id: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL4p5p1eRDPvQ=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGL4p5pjeQNzxA=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2013, + "width": 134.05615234375, + "height": 13, + "text": "-username: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiCaQg=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAD5vx0yijE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7915, + "top": 4408, + "width": 63.2353515625, + "height": 13, + "text": "+id", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiDSjc=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAHrOB1Dmpw=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2028, + "width": 134.05615234375, + "height": 13, + "text": "-nom: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiEgW4=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAHubx1JTgc=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2043, + "width": 134.05615234375, + "height": 13, + "text": "-prenom: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiFn9A=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAHxSR1PUSs=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2058, + "width": 134.05615234375, + "height": 13, + "text": "-email: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiGtyQ=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAH0SB1VgF8=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2073, + "width": 134.05615234375, + "height": 13, + "text": "-sexe: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiHvyA=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAH2wh1b3Gg=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2088, + "width": 134.05615234375, + "height": 13, + "text": "-taille: Float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiIsq0=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAH5dB1h8j4=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2103, + "width": 134.05615234375, + "height": 13, + "text": "-poids: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiJqPU=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAH8Jx1ngTU=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2118, + "width": 134.05615234375, + "height": 13, + "text": "-motDePasse: String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3Bpk6NiKgHM=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "model": { + "$ref": "AAAAAAGLpAH+3B1t8HQ=" + }, + "font": "Arial;13;0", + "left": 3933, + "top": 2133, + "width": 134.05615234375, + "height": 13, + "text": "-dateNaissance: Date", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3928, + "top": 1993, + "width": 144.05615234375, + "height": 158 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3Bpk6NiLdbA=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "model": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "font": "Arial;13;0", + "left": 3928, + "top": 2151, + "width": 144.05615234375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3Bpk6NiMKQ0=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "model": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3456, + "top": 1616, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3Bpk6NiNkKc=", + "_parent": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "model": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3456, + "top": 1616, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3928, + "top": 1968, + "width": 144.05615234375, + "height": 193, + "nameCompartment": { + "$ref": "AAAAAAGL3Bpk6Nh8Lq8=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3Bpk6NiBNB8=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3Bpk6NiLdbA=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3Bpk6NiMKQ0=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3Bpk6NiNkKc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3BqoCyTo5V4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3BqoCyTpW4g=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "model": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3BqoCyTqEq4=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTpW4g=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2237, + "width": 459.21484375, + "height": 13, + "text": "«abstract»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BqoCyTr0yo=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTpW4g=" + }, + "font": "Arial;13;1", + "left": 3941, + "top": 2252, + "width": 459.21484375, + "height": 13, + "text": "Role" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BqoCyTsjzM=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTpW4g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 5049, + "top": 2094, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BqoCyTt63k=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTpW4g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 5049, + "top": 2094, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3936, + "top": 2232, + "width": 469.21484375, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGL3BqoCyTqEq4=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3BqoCyTr0yo=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3BqoCyTsjzM=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3BqoCyTt63k=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3BqoCyTuNbk=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "model": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3EO8K52/YfM=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTuNbk=" + }, + "model": { + "$ref": "AAAAAAGL3EO77J2JFbo=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2275, + "width": 459.21484375, + "height": 13, + "text": "#id: int", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3936, + "top": 2270, + "width": 469.21484375, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3BqoCyTvFJU=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "model": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL8lDIXnknspM=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL8lDIQHjxa7g=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2298, + "width": 459.21484375, + "height": 13, + "text": "+getUsersList(): ?array", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+91tPmZKyM8=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL+91tC2YUaHo=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2313, + "width": 459.21484375, + "height": 13, + "text": "+getUserList(user: User): ?User", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+93wGZ1DB2g=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL+93v8Z0NH0E=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2328, + "width": 459.21484375, + "height": 13, + "text": "+getEntrainement(): ?EntrainementRepository", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+90Kslfv1ko=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL+90Kble5JDw=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2343, + "width": 459.21484375, + "height": 13, + "text": "+getEntrainementsList(): ?array", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+95cBqY03KQ=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL+95b8qX+sig=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2358, + "width": 459.21484375, + "height": 13, + "text": "+getEntrainementList(entrainement: Entrainement): ?EntrainementSportif", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL8lQnvRSBOMg=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL8lQnmhRLfho=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2373, + "width": 459.21484375, + "height": 13, + "text": "+checkAdd(user: User): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL8lRO7h1yezo=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL8lROwx08WBA=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2388, + "width": 459.21484375, + "height": 13, + "text": "+chackAddEntrainement(entrainement: Entrainement): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3B61kj4t0Y8=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL3B61dD33CBk=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2403, + "width": 459.21484375, + "height": 13, + "text": "+addUser(user: User): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL58RPQfS6YrU=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL58RPF/SE7Hs=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2418, + "width": 459.21484375, + "height": 13, + "text": "+removeUser(user: User): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL8lBBRXGB2H8=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL8lBBHXFLScI=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2433, + "width": 459.21484375, + "height": 13, + "text": "+addEntrainement(entr: Entrainement): bool", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL++FfCiqny8U=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "model": { + "$ref": "AAAAAAGL++Fe3CpxsSg=" + }, + "font": "Arial;13;0", + "left": 3941, + "top": 2448, + "width": 459.21484375, + "height": 13, + "text": "+removeEntrainement(entr: Entrainement): bool", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3936, + "top": 2293, + "width": 469.21484375, + "height": 173 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3BqoCyTwnlw=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "model": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2240, + "top": 536, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3BqoCyTxlpY=", + "_parent": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "model": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2240, + "top": 536, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3936, + "top": 2232, + "width": 469.21484375, + "height": 264, + "nameCompartment": { + "$ref": "AAAAAAGL3BqoCyTpW4g=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3BqoCyTuNbk=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3BqoCyTvFJU=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3BqoCyTwnlw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3BqoCyTxlpY=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3BrkEXIgRp8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3BrkDnIc/Ag=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIhgag=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkDnIc/Ag=" + }, + "font": "Arial;13;0", + "left": 4111, + "top": 2234, + "width": 29.26904296875, + "height": 13, + "alpha": 0.3204269313614675, + "distance": 68.41052550594829, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "edgePosition": 1, + "text": "+role" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIiuII=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkDnIc/Ag=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4099, + "top": 2174, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIj/vY=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkDnIc/Ag=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4061, + "top": 2197, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIk2Ck=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IdNgc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4080, + "top": 2169, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIlv/8=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IdNgc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4092, + "top": 2165, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnImsmA=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IdNgc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4054, + "top": 2179, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnInNc8=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IeED0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4094, + "top": 2195, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIofzw=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IeED0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4105, + "top": 2186, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3BrkEnIpNCY=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IeED0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4073, + "top": 2212, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3BrkE3IqKYk=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IdNgc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3BrkE3IrgMo=", + "_parent": { + "$ref": "AAAAAAGL3BrkEXIgRp8=" + }, + "model": { + "$ref": "AAAAAAGL3BrkD3IeED0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "tail": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "lineStyle": 1, + "points": "4054:2161;4095:2231", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3BrkEnIhgag=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3BrkEnIiuII=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3BrkEnIj/vY=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3BrkEnIk2Ck=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3BrkEnIlv/8=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3BrkEnImsmA=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3BrkEnInNc8=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3BrkEnIofzw=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3BrkEnIpNCY=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3BrkE3IqKYk=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3BrkE3IrgMo=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3BsTqaEI6W8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3BsTqaEJsn8=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "model": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3BsTqaEKhxM=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEJsn8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8083, + "top": 4718, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BsTqaELxcM=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEJsn8=" + }, + "font": "Arial;13;1", + "left": 4189, + "top": 2551, + "width": 171.62158203125, + "height": 13, + "text": "Athlete" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BsTqaEMDwE=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEJsn8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8083, + "top": 4718, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BsTqaENG6Q=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEJsn8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 8083, + "top": 4718, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4184, + "top": 2544, + "width": 181.62158203125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3BsTqaEKhxM=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3BsTqaELxcM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3BsTqaEMDwE=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3BsTqaENG6Q=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3BsTqaEO6QI=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "model": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "font": "Arial;13;0", + "left": 4184, + "top": 2569, + "width": 181.62158203125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3BsTqaEQWyw=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "model": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3Cav/l7YrXw=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEQWyw=" + }, + "model": { + "$ref": "AAAAAAGL3Cav216fXX4=" + }, + "font": "Arial;13;0", + "left": 4189, + "top": 2584, + "width": 171.62158203125, + "height": 13, + "text": "+getAthlete(): Athlete", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3CcA8mU47Ao=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEQWyw=" + }, + "model": { + "$ref": "AAAAAAGL3CcA1GT//kE=" + }, + "font": "Arial;13;0", + "left": 4189, + "top": 2599, + "width": 171.62158203125, + "height": 13, + "text": "+getActivite(): lesActivite", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3DDNi5ul+XY=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEQWyw=" + }, + "model": { + "$ref": "AAAAAAGL3DDNcZtsRlI=" + }, + "font": "Arial;13;0", + "left": 4189, + "top": 2614, + "width": 171.62158203125, + "height": 13, + "text": "+getStatistiques(): lesStats", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3EaR8i1ibdU=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEQWyw=" + }, + "model": { + "$ref": "AAAAAAGL3EaRsi0pEF4=" + }, + "font": "Arial;13;0", + "left": 4189, + "top": 2629, + "width": 171.62158203125, + "height": 13, + "text": "+getSourceDonnees(): lesSD", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3DEwIp45CMc=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEQWyw=" + }, + "model": { + "$ref": "AAAAAAGL3DEwGp4As4s=" + }, + "font": "Arial;13;0", + "left": 4189, + "top": 2644, + "width": 171.62158203125, + "height": 13, + "text": "+__toString(): String", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 4184, + "top": 2579, + "width": 181.62158203125, + "height": 83 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3BsTqaERJ/c=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "model": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3672, + "top": 1728, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3BsTqaESBEk=", + "_parent": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "model": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3672, + "top": 1728, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4184, + "top": 2544, + "width": 181.62158203125, + "height": 193, + "nameCompartment": { + "$ref": "AAAAAAGL3BsTqaEJsn8=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3BsTqaEO6QI=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3BsTqaEQWyw=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3BsTqaERJ/c=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3BsTqaESBEk=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3BtJt/VYyF0=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3BtJt/VZIHE=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "model": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3BtJt/Va6uM=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VZIHE=" + }, + "font": "Arial;13;0", + "left": 3757, + "top": 2549, + "width": 145.58984375, + "height": 13, + "text": "«abstract»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BtJt/Vb5Cg=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VZIHE=" + }, + "font": "Arial;13;1", + "left": 3757, + "top": 2564, + "width": 145.58984375, + "height": 13, + "text": "Coach" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BtJt/VcVGI=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VZIHE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 6001, + "top": 5422, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3BtJt/VdTcw=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VZIHE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 6001, + "top": 5422, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3752, + "top": 2544, + "width": 155.58984375, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGL3BtJt/Va6uM=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3BtJt/Vb5Cg=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3BtJt/VcVGI=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3BtJt/VdTcw=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3BtJt/VeAHE=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "model": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "font": "Arial;13;0", + "left": 3752, + "top": 2582, + "width": 155.58984375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3BtJt/VgHOE=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "model": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "font": "Arial;13;0", + "left": 3752, + "top": 2592, + "width": 155.58984375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3BtJt/Vh00A=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "model": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2880, + "top": 2080, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3BtJt/ViK6I=", + "_parent": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "model": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2880, + "top": 2080, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3752, + "top": 2544, + "width": 155.58984375, + "height": 65, + "nameCompartment": { + "$ref": "AAAAAAGL3BtJt/VZIHE=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3BtJt/VeAHE=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3BtJt/VgHOE=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3BtJt/Vh00A=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3BtJt/ViK6I=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL3B0Tspu8D9c=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3B0TsZu6iEw=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B0Ts5u9bfM=", + "_parent": { + "$ref": "AAAAAAGL3B0Tspu8D9c=" + }, + "model": { + "$ref": "AAAAAAGL3B0TsZu6iEw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3988, + "top": 2560, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3B0Tspu8D9c=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B0Ts5u+QVY=", + "_parent": { + "$ref": "AAAAAAGL3B0Tspu8D9c=" + }, + "model": { + "$ref": "AAAAAAGL3B0TsZu6iEw=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3976, + "top": 2551, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3B0Tspu8D9c=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B0Ts5u/JUw=", + "_parent": { + "$ref": "AAAAAAGL3B0Tspu8D9c=" + }, + "model": { + "$ref": "AAAAAAGL3B0TsZu6iEw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4011, + "top": 2579, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3B0Tspu8D9c=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "tail": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "lineStyle": 1, + "points": "4183:2619;4000:2576;4064:2496", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3B0Ts5u9bfM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3B0Ts5u+QVY=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3B0Ts5u/JUw=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL3B0hqKVLIeI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3B0hp6VJcj4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B0hqaVMQzU=", + "_parent": { + "$ref": "AAAAAAGL3B0hqKVLIeI=" + }, + "model": { + "$ref": "AAAAAAGL3B0hp6VJcj4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3988, + "top": 2560, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3B0hqKVLIeI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B0hqaVNgVQ=", + "_parent": { + "$ref": "AAAAAAGL3B0hqKVLIeI=" + }, + "model": { + "$ref": "AAAAAAGL3B0hp6VJcj4=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3976, + "top": 2551, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3B0hqKVLIeI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B0hqaVO884=", + "_parent": { + "$ref": "AAAAAAGL3B0hqKVLIeI=" + }, + "model": { + "$ref": "AAAAAAGL3B0hp6VJcj4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4011, + "top": 2579, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3B0hqKVLIeI=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "tail": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "lineStyle": 1, + "points": "3908:2576;4000:2576;4064:2496", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3B0hqaVMQzU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3B0hqaVNgVQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3B0hqaVO884=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3B3/zPI/wtk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI7wq4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJAevY=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI7wq4=" + }, + "font": "Arial;13;0", + "left": 3838, + "top": 2031, + "width": 76.24169921875, + "height": 13, + "alpha": -0.6874078923357949, + "distance": 209.60200380721554, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "edgePosition": 1, + "text": "#*lesUsers" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJBn8k=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI7wq4=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3714, + "top": 2193, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJC3Oo=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI7wq4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3759, + "top": 2194, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJDWvc=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI8/hQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3908, + "top": 2360, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJEM5A=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI8/hQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3905, + "top": 2373, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJFcmY=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI8/hQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3913, + "top": 2333, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zPJGtMk=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI9HQU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3901, + "top": 2040, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zfJH08c=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI9HQU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3899, + "top": 2026, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3B3/zfJI3Gs=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI9HQU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3904, + "top": 2067, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3B3/zfJJbDQ=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI8/hQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3B3/zfJKKCk=", + "_parent": { + "$ref": "AAAAAAGL3B3/zPI/wtk=" + }, + "model": { + "$ref": "AAAAAAGL3B3/yvI9HQU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "tail": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "lineStyle": 1, + "points": "3935:2353;3744:2344;3744:2056;3927:2062", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3B3/zPJAevY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3B3/zPJBn8k=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3B3/zPJC3Oo=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3B3/zPJDWvc=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3B3/zPJEM5A=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3B3/zPJFcmY=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3B3/zPJGtMk=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3B3/zfJH08c=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3B3/zfJI3Gs=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3B3/zfJJbDQ=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3B3/zfJKKCk=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3CMxnUgw9Qc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3CMxnUgxJhM=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "model": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3CMxnUgy8AA=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgxJhM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1328, + "top": 1120, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3CMxnUgztGY=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgxJhM=" + }, + "font": "Arial;13;1", + "left": 3469, + "top": 2575, + "width": 135.47802734375, + "height": 13, + "text": "CoachAthlete" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3CMxnkg0N2A=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgxJhM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1328, + "top": 1120, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3CMxnkg1xaw=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgxJhM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1328, + "top": 1120, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3464, + "top": 2568, + "width": 145.47802734375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3CMxnUgy8AA=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3CMxnUgztGY=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3CMxnkg0N2A=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3CMxnkg1xaw=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3CMxnkg25RI=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "model": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "font": "Arial;13;0", + "left": 3464, + "top": 2593, + "width": 145.47802734375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3CMxnkg3D5k=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "model": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "font": "Arial;13;0", + "left": 3464, + "top": 2603, + "width": 145.47802734375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3CMxnkg4o/Y=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "model": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3CMxnkg5gG4=", + "_parent": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "model": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3464, + "top": 2568, + "width": 145.47802734375, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAGL3CMxnUgxJhM=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3CMxnkg25RI=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3CMxnkg3D5k=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3CMxnkg4o/Y=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3CMxnkg5gG4=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL3CS00llKDD4=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3CS00FlI+OY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3CS001lLo9U=", + "_parent": { + "$ref": "AAAAAAGL3CS00llKDD4=" + }, + "model": { + "$ref": "AAAAAAGL3CS00FlI+OY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3678, + "top": 2565, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3CS00llKDD4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3CS01FlMCgk=", + "_parent": { + "$ref": "AAAAAAGL3CS00llKDD4=" + }, + "model": { + "$ref": "AAAAAAGL3CS00FlI+OY=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3677, + "top": 2550, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3CS00llKDD4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3CS01FlNYLY=", + "_parent": { + "$ref": "AAAAAAGL3CS00llKDD4=" + }, + "model": { + "$ref": "AAAAAAGL3CS00FlI+OY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3681, + "top": 2594, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3CS00llKDD4=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3BtJt/VYyF0=" + }, + "tail": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "lineStyle": 1, + "points": "3609:2591;3751:2581", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3CS001lLo9U=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3CS01FlMCgk=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3CS01FlNYLY=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3DH0VM3eelw=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3DH0VM3fysc=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "model": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3DH0VM3gY5o=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3fysc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7526, + "top": 5046, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DH0VM3hGX8=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3fysc=" + }, + "font": "Arial;13;1", + "left": 4253, + "top": 2983, + "width": 185.3388671875, + "height": 13, + "text": "Activite" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DH0VM3iMEw=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3fysc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7526, + "top": 5046, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DH0VM3j6No=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3fysc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7526, + "top": 5046, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4248, + "top": 2976, + "width": 195.3388671875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DH0VM3gY5o=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3DH0VM3hGX8=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3DH0VM3iMEw=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DH0VM3j6No=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3DH0VM3kbjc=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "model": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3lc5Y=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLpCXSK/WOLkA=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3006, + "width": 185.3388671875, + "height": 13, + "text": "-idActivite: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3mS/0=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxCVfeebjRQ=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3021, + "width": 185.3388671875, + "height": 13, + "text": "-type: string", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3n7eQ=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxCvKejL/fw=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3036, + "width": 185.3388671875, + "height": 13, + "text": "-date: Date", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3oMXE=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxDHu+n7GHc=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3051, + "width": 185.3388671875, + "height": 13, + "text": "-heureDebut: time", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3pTPo=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxDu8esr6vo=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3066, + "width": 185.3388671875, + "height": 13, + "text": "-heureFin: time", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3q4W0=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxEIwOxboHI=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3081, + "width": 185.3388671875, + "height": 13, + "text": "-effortRessenti: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3rtcU=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxJXpe2Lor0=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3096, + "width": 185.3388671875, + "height": 13, + "text": "-variabilite: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3s3TU=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxKISe67v6E=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3111, + "width": 185.3388671875, + "height": 13, + "text": "-variance: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3tB54=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxKpzu/rHo4=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3126, + "width": 185.3388671875, + "height": 13, + "text": "-ecartType: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3uR/M=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxLaO/Ebr8k=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3141, + "width": 185.3388671875, + "height": 13, + "text": "-moyenne: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3v9vo=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxL5PfJLk04=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3156, + "width": 185.3388671875, + "height": 13, + "text": "-maximum: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3wYUA=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxM0SfWY9pQ=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3171, + "width": 185.3388671875, + "height": 13, + "text": "-minimum: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DH0VM3xJcc=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGLrxNQCvbIr2U=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3186, + "width": 185.3388671875, + "height": 13, + "text": "-TemperatureMoyenne: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGMBkKgGyoAcM4=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "model": { + "$ref": "AAAAAAGMBkKf7yn3AyI=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3201, + "width": 185.3388671875, + "height": 13, + "text": "-pause: bool", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 4248, + "top": 3001, + "width": 195.3388671875, + "height": 218 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3DH0VM3yGA4=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "model": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3DQ2l6ufcOo=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3yGA4=" + }, + "model": { + "$ref": "AAAAAAGL3DQ2catj1/Q=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3224, + "width": 185.3388671875, + "height": 13, + "text": "+getActivite(): Activite", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3DTgR8iexiI=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3yGA4=" + }, + "model": { + "$ref": "AAAAAAGL3DTgKchiipU=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3239, + "width": 185.3388671875, + "height": 13, + "text": "+getAnalyse(a1: Activite): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3DXeXM52u3o=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3yGA4=" + }, + "model": { + "$ref": "AAAAAAGL3DXeGc46SeI=" + }, + "font": "Arial;13;0", + "left": 4253, + "top": 3254, + "width": 185.3388671875, + "height": 13, + "text": "+toString(Activite): String", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 4248, + "top": 3219, + "width": 195.3388671875, + "height": 53 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3DH0VM3zpCE=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "model": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3504, + "top": 1728, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3DH0VM30Qm4=", + "_parent": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "model": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3504, + "top": 1728, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4248, + "top": 2976, + "width": 195.3388671875, + "height": 296, + "nameCompartment": { + "$ref": "AAAAAAGL3DH0VM3fysc=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3DH0VM3kbjc=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3DH0VM3yGA4=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3DH0VM3zpCE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3DH0VM30Qm4=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3DJHyBCPzHA=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3DJHyBCQzFI=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCPzHA=" + }, + "model": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3DJHyRCRIbE=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCQzFI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7468, + "top": 3944, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DJHyRCSG8Y=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCQzFI=" + }, + "font": "Arial;13;1", + "left": 4581, + "top": 2471, + "width": 177.39794921875, + "height": 13, + "text": "Statistique" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DJHyRCTKdI=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCQzFI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7468, + "top": 3944, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DJHyRCUC6A=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCQzFI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 7468, + "top": 3944, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4576, + "top": 2464, + "width": 187.39794921875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DJHyRCRIbE=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3DJHyRCSG8Y=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3DJHyRCTKdI=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DJHyRCUC6A=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3DJHyRCVwdU=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCPzHA=" + }, + "model": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCWvV0=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwixuGGJpE4=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2494, + "width": 177.39794921875, + "height": 13, + "text": "-idStatistique: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCXojk=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwlhdmOIz0E=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2509, + "width": 177.39794921875, + "height": 13, + "text": "-distanceTotale: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCYR9w=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwmwgWUPuog=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2524, + "width": 177.39794921875, + "height": 13, + "text": "-poids: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCZ9DA=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwnYLWYeNa4=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2539, + "width": 177.39794921875, + "height": 13, + "text": "-tempsTotal: time", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCavHw=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwoPTGct0ws=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2554, + "width": 177.39794921875, + "height": 13, + "text": "-FCmoyenne: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCbZAA=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwps72g8dI8=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2569, + "width": 177.39794921875, + "height": 13, + "text": "-FCmin: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCc4c8=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwqb7mlLpYw=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2584, + "width": 177.39794921875, + "height": 13, + "text": "-FCmax: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DJHyRCd7DA=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "model": { + "$ref": "AAAAAAGLrwq/JGpaMCs=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2599, + "width": 177.39794921875, + "height": 13, + "text": "-caloriesBrulées: int", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 4576, + "top": 2489, + "width": 187.39794921875, + "height": 128 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3DJHyRCealo=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCPzHA=" + }, + "model": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3EVASgrSjt4=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCealo=" + }, + "model": { + "$ref": "AAAAAAGL3EVAEQqWm2c=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2622, + "width": 177.39794921875, + "height": 13, + "text": "+getStatistique(): Statistique", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3EWyfxByyz4=", + "_parent": { + "$ref": "AAAAAAGL3DJHyRCealo=" + }, + "model": { + "$ref": "AAAAAAGL3EWydxA200E=" + }, + "font": "Arial;13;0", + "left": 4581, + "top": 2637, + "width": 177.39794921875, + "height": 13, + "text": "+__toString(Statistique): String", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 4576, + "top": 2617, + "width": 187.39794921875, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3DJHyRCfEJM=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCPzHA=" + }, + "model": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3488, + "top": 1456, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3DJHyRCggVc=", + "_parent": { + "$ref": "AAAAAAGL3DJHyBCPzHA=" + }, + "model": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3488, + "top": 1456, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4576, + "top": 2464, + "width": 187.39794921875, + "height": 191, + "nameCompartment": { + "$ref": "AAAAAAGL3DJHyBCQzFI=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3DJHyRCVwdU=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3DJHyRCealo=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3DJHyRCfEJM=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3DJHyRCggVc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3DLQlyYtiTQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3DLQlyYubF0=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "model": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3DLQlyYvw2U=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYubF0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 6878, + "top": 3818, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DLQmCYwFXU=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYubF0=" + }, + "font": "Arial;13;1", + "left": 3997, + "top": 2807, + "width": 196.193359375, + "height": 13, + "text": "SourceDonnee" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DLQmCYxQMk=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYubF0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 6878, + "top": 3818, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DLQmCYyi5c=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYubF0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 6878, + "top": 3818, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3992, + "top": 2800, + "width": 206.193359375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DLQlyYvw2U=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3DLQmCYwFXU=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3DLQmCYxQMk=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DLQmCYyi5c=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3DLQmCYzLJk=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "model": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DLQmCY0y+0=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCYzLJk=" + }, + "model": { + "$ref": "AAAAAAGLrxTIICbUAdU=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2830, + "width": 196.193359375, + "height": 13, + "text": "-idSource: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DLQmCY1DTA=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCYzLJk=" + }, + "model": { + "$ref": "AAAAAAGLrxTswiiLUpA=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2845, + "width": 196.193359375, + "height": 13, + "text": "-Type: enum", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DLQmCY2rE8=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCYzLJk=" + }, + "model": { + "$ref": "AAAAAAGLrxVKVSm7bms=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2860, + "width": 196.193359375, + "height": 13, + "text": "-modele: string", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DLQmCY31Ao=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCYzLJk=" + }, + "model": { + "$ref": "AAAAAAGLrxV3+SrrCr8=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2875, + "width": 196.193359375, + "height": 13, + "text": "-precision: enum", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DLQmCY46yk=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCYzLJk=" + }, + "model": { + "$ref": "AAAAAAGLrxWfnSwbQ58=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2890, + "width": 196.193359375, + "height": 13, + "text": "-dateDerniereUtilisation: Date", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3992, + "top": 2825, + "width": 206.193359375, + "height": 83 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3DLQmCY54P8=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "model": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3EcVKzvuuFk=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCY54P8=" + }, + "model": { + "$ref": "AAAAAAGL3EcVFjuykz0=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2913, + "width": 196.193359375, + "height": 13, + "text": "+getSD(SourceDonnee): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3Eee900OLuk=", + "_parent": { + "$ref": "AAAAAAGL3DLQmCY54P8=" + }, + "model": { + "$ref": "AAAAAAGL3EeezUzS6YA=" + }, + "font": "Arial;13;0", + "left": 3997, + "top": 2928, + "width": 196.193359375, + "height": 13, + "text": "+to_String(SourceDonnee): String", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3992, + "top": 2908, + "width": 206.193359375, + "height": 38 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3DLQmCY6OQc=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "model": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3280, + "top": 1352, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3DLQmCY7Ngc=", + "_parent": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "model": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3280, + "top": 1352, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3992, + "top": 2800, + "width": 206.193359375, + "height": 146, + "nameCompartment": { + "$ref": "AAAAAAGL3DLQlyYubF0=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3DLQmCYzLJk=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3DLQmCY54P8=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3DLQmCY6OQc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3DLQmCY7Ngc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3DMzZkmwpP8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3DMzZkmx2TA=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "model": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3DMzZkmyRDk=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmx2TA=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2885, + "width": 165.115234375, + "height": 13, + "text": "«abstract»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DMzZkmzoys=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmx2TA=" + }, + "font": "Arial;13;1", + "left": 3357, + "top": 2900, + "width": 165.115234375, + "height": 13, + "text": "Entrainement" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DMzZkm0anw=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmx2TA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4809, + "top": 2930, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3DMzZkm1g4k=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmx2TA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4809, + "top": 2930, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3352, + "top": 2880, + "width": 175.115234375, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DMzZkmyRDk=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3DMzZkmzoys=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3DMzZkm0anw=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DMzZkm1g4k=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3DMzZkm2VYs=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "model": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DMzZkm3yLU=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "model": { + "$ref": "AAAAAAGLrxcxm0yu9ck=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2923, + "width": 165.115234375, + "height": 13, + "text": "+idEntrainement: int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DMzZkm45Gk=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "model": { + "$ref": "AAAAAAGLrxdjg05lkd0=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2938, + "width": 165.115234375, + "height": 13, + "text": "+date: Date", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL7QbRQNBhx7c=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "model": { + "$ref": "AAAAAAGL7QbRBNAl41g=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2953, + "width": 165.115234375, + "height": 13, + "text": "+latitude: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DMzZkm59RQ=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "model": { + "$ref": "AAAAAAGLrxeDFU+VhpI=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2968, + "width": 165.115234375, + "height": 13, + "text": "+longitude: float", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DMzZkm6JIs=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "model": { + "$ref": "AAAAAAGLrxezwlDFkh4=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2983, + "width": 165.115234375, + "height": 13, + "text": "+description: text", + "horizontalAlignment": 0 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL3DMzZkm7L1c=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "model": { + "$ref": "AAAAAAGLrxfiTFH1ArI=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 2998, + "width": 165.115234375, + "height": 13, + "text": "+feedback: text", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3352, + "top": 2918, + "width": 175.115234375, + "height": 98 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3DMzZkm8ngY=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "model": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL3D2GBgECc9M=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "model": { + "$ref": "AAAAAAGL3D2F3gDGuRs=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 3021, + "width": 165.115234375, + "height": 13, + "text": "+getId(): int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL++UQVUMgtH4=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "model": { + "$ref": "AAAAAAGL++UQDELkhBM=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 3036, + "width": 165.115234375, + "height": 13, + "text": "+getDate(): DateTime", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL++U2mUfQLgw=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "model": { + "$ref": "AAAAAAGL++U2j0eU938=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 3051, + "width": 165.115234375, + "height": 13, + "text": "+getLocation(): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL++Vh8UyAceA=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "model": { + "$ref": "AAAAAAGL++Vh50xEGPg=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 3066, + "width": 165.115234375, + "height": 13, + "text": "+getDescription(): Text", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL++WjXFEwtks=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "model": { + "$ref": "AAAAAAGL++WjUVD03ak=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 3081, + "width": 165.115234375, + "height": 13, + "text": "+getFeedBack(): String", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL++XHPVXggdY=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "model": { + "$ref": "AAAAAAGL++XHM1Wk8GA=" + }, + "font": "Arial;13;0", + "left": 3357, + "top": 3096, + "width": 165.115234375, + "height": 13, + "text": "+__toString(): String", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3352, + "top": 3016, + "width": 175.115234375, + "height": 98 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3DMzZkm9E/c=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "model": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2472, + "top": 1024, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3DMzZkm+Ato=", + "_parent": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "model": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2472, + "top": 1024, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3352, + "top": 2880, + "width": 175.115234375, + "height": 234, + "nameCompartment": { + "$ref": "AAAAAAGL3DMzZkmx2TA=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3DMzZkm2VYs=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3DMzZkm8ngY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3DMzZkm9E/c=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3DMzZkm+Ato=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3DO5DGG3okQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWGzYdk=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG4Vxk=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWGzYdk=" + }, + "font": "Arial;13;0", + "left": 4326, + "top": 2927, + "width": 77.669921875, + "height": 13, + "alpha": 0.4974685789155705, + "distance": 97.8008179924892, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "edgePosition": 1, + "text": "-*activiteList" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG5mQE=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWGzYdk=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4334, + "top": 2845, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG6kmk=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWGzYdk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4290, + "top": 2852, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG7U68=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWG0ZOw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4306, + "top": 2754, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG8UHU=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWG0ZOw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4320, + "top": 2754, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG9eyk=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWG0ZOw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4278, + "top": 2754, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG+1dY=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CmG1yFk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4334, + "top": 2941, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWG/mG8=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CmG1yFk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4346, + "top": 2936, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DO5DWHAtAE=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CmG1yFk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4307, + "top": 2949, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DO5DWHBZf0=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CWG0ZOw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DO5DWHC8CY=", + "_parent": { + "$ref": "AAAAAAGL3DO5DGG3okQ=" + }, + "model": { + "$ref": "AAAAAAGL3DO5CmG1yFk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "tail": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "lineStyle": 1, + "points": "4288:2737;4323:2975", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3DO5DWG4Vxk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DO5DWG5mQE=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DO5DWG6kmk=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3DO5DWG7U68=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3DO5DWG8UHU=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3DO5DWG9eyk=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3DO5DWG+1dY=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3DO5DWG/mG8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3DO5DWHAtAE=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3DO5DWHBZf0=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3DO5DWHC8CY=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3DdoAArKtwk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grGOiw=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArLq4o=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grGOiw=" + }, + "font": "Arial;13;0", + "left": 4162, + "top": 2788, + "width": 47.328125, + "height": 13, + "alpha": 1.0433323237988876, + "distance": 28.653097563788805, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "edgePosition": 1, + "text": "-*sdList" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArM1RQ=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grGOiw=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4198, + "top": 2780, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArN2G8=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grGOiw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4163, + "top": 2752, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArOnkE=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grHlaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4194, + "top": 2760, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArPOz4=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grHlaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4204, + "top": 2770, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArQnj0=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grHlaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4175, + "top": 2740, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArRcIQ=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grIS6Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4178, + "top": 2781, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArS3XI=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grIS6Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4190, + "top": 2787, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DdoAArT1Uk=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grIS6Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4154, + "top": 2768, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DdoAArU9sw=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grHlaI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DdoAArVCNA=", + "_parent": { + "$ref": "AAAAAAGL3DdoAArKtwk=" + }, + "model": { + "$ref": "AAAAAAGL3Ddn/grIS6Y=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "tail": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "lineStyle": 1, + "points": "4199:2737;4151:2799", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3DdoAArLq4o=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DdoAArM1RQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DdoAArN2G8=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3DdoAArOnkE=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3DdoAArPOz4=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3DdoAArQnj0=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3DdoAArRcIQ=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3DdoAArS3XI=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3DdoAArT1Uk=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3DdoAArU9sw=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3DdoAArVCNA=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3DewVyCoB1Q=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3DewVSCksyY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCp9IE=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewVSCksyY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4196, + "top": 2989, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCqFY4=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewVSCksyY=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4185, + "top": 3000, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCrus4=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewVSCksyY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4217, + "top": 2968, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCsgRA=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViClTrY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4218, + "top": 3011, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCttCE=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViClTrY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4207, + "top": 3019, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCuzq0=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViClTrY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4240, + "top": 2994, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCv920=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViCmmWs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4175, + "top": 2968, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCwtKA=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViCmmWs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4168, + "top": 2980, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DewWCCxEwU=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViCmmWs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4192, + "top": 2946, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DewWCCy+4I=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViClTrY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DewWCCzXsQ=", + "_parent": { + "$ref": "AAAAAAGL3DewVyCoB1Q=" + }, + "model": { + "$ref": "AAAAAAGL3DewViCmmWs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3DLQlyYtiTQ=" + }, + "tail": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "lineStyle": 1, + "points": "4247:3025;4168:2946", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3DewWCCp9IE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DewWCCqFY4=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DewWCCrus4=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3DewWCCsgRA=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3DewWCCttCE=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3DewWCCuzq0=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3DewWCCv920=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3DewWCCwtKA=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3DewWCCxEwU=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3DewWCCy+4I=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3DewWCCzXsQ=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3DgOnTog8NI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3DgOmzocF5c=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjohHis=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOmzocF5c=" + }, + "font": "Arial;13;0", + "left": 4509, + "top": 2559, + "width": 60.33447265625, + "height": 13, + "alpha": 0.2589997153205553, + "distance": 76.96752561957543, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "edgePosition": 1, + "text": "-*statsList" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjoiojs=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOmzocF5c=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4464, + "top": 2563, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjojT9Y=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOmzocF5c=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4472, + "top": 2607, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjokvV8=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDodXGk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4388, + "top": 2595, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjolI+M=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDodXGk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4388, + "top": 2581, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjom8EQ=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDodXGk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4389, + "top": 2622, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjonKzk=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDoedKI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4546, + "top": 2562, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjoobA8=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDoedKI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4541, + "top": 2549, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3DgOnjopwyY=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDoedKI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4556, + "top": 2588, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DgOnjoqPJw=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDodXGk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3DgOnjora1c=", + "_parent": { + "$ref": "AAAAAAGL3DgOnTog8NI=" + }, + "model": { + "$ref": "AAAAAAGL3DgOnDoedKI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 664, + "top": 560, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3DJHyBCPzHA=" + }, + "tail": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "lineStyle": 1, + "points": "4366:2621;4575:2578", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3DgOnjohHis=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3DgOnjoiojs=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3DgOnjojT9Y=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3DgOnjokvV8=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3DgOnjolI+M=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3DgOnjom8EQ=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3DgOnjonKzk=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3DgOnjoobA8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3DgOnjopwyY=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3DgOnjoqPJw=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3DgOnjora1c=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3EA5py45w5E=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3EA5py46RZs=", + "_parent": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "model": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3EA5py47qQ4=", + "_parent": { + "$ref": "AAAAAAGL3EA5py46RZs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2784, + "top": 48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EA5py48ztA=", + "_parent": { + "$ref": "AAAAAAGL3EA5py46RZs=" + }, + "font": "Arial;13;1", + "left": 4221, + "top": 1175, + "width": 93.18994140625, + "height": 13, + "text": "CoachManager" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EA5qC499bk=", + "_parent": { + "$ref": "AAAAAAGL3EA5py46RZs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2784, + "top": 48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EA5qC4+erY=", + "_parent": { + "$ref": "AAAAAAGL3EA5py46RZs=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2784, + "top": 48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4216, + "top": 1168, + "width": 103.18994140625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EA5py47qQ4=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3EA5py48ztA=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3EA5qC499bk=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EA5qC4+erY=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3EA5qC4/sY4=", + "_parent": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "model": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "font": "Arial;13;0", + "left": 4216, + "top": 1193, + "width": 103.18994140625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3EA5qC5AD5k=", + "_parent": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "model": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "font": "Arial;13;0", + "left": 4216, + "top": 1203, + "width": 103.18994140625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3EA5qC5B3KQ=", + "_parent": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "model": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1392, + "top": 24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3EA5qC5CL3c=", + "_parent": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "model": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1392, + "top": 24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4216, + "top": 1168, + "width": 103.18994140625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL3EA5py46RZs=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3EA5qC4/sY4=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3EA5qC5AD5k=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3EA5qC5B3KQ=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3EA5qC5CL3c=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3EC6NugSKAY=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3EC6NugTD+k=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugSKAY=" + }, + "model": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NugUf44=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugTD+k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2881, + "top": -777, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NugVIHM=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugTD+k=" + }, + "font": "Arial;13;1", + "left": 2878, + "top": 822, + "width": 61.38818359375, + "height": 13, + "text": "index.php" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NugW6ig=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugTD+k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2881, + "top": -777, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NugXQtk=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugTD+k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2881, + "top": -777, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 2873, + "top": 815, + "width": 71.38818359375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6NugUf44=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3EC6NugVIHM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3EC6NugW6ig=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6NugXQtk=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3EC6NugYR90=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugSKAY=" + }, + "model": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "font": "Arial;13;0", + "left": 2873, + "top": 840, + "width": 71.38818359375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3EC6NugZZ5k=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugSKAY=" + }, + "model": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "font": "Arial;13;0", + "left": 2873, + "top": 850, + "width": 71.38818359375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3EC6Nugaz2E=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugSKAY=" + }, + "model": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2209, + "top": -49, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3EC6NugbE8o=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugSKAY=" + }, + "model": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2209, + "top": -49, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 2873, + "top": 815, + "width": 71.38818359375, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL3EC6NugTD+k=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3EC6NugYR90=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3EC6NugZZ5k=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3EC6Nugaz2E=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3EC6NugbE8o=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3EC6NugccSE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3EC6NugdYDM=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "model": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NugedV8=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugdYDM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3553, + "top": -889, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nugfy9g=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugdYDM=" + }, + "font": "Arial;13;1", + "left": 3286, + "top": 838, + "width": 78.71728515625, + "height": 13, + "text": "Console.php" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nugg3/Q=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugdYDM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3553, + "top": -889, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NughFjQ=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugdYDM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3553, + "top": -889, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3281, + "top": 831, + "width": 88.71728515625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6NugedV8=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3EC6Nugfy9g=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3EC6Nugg3/Q=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6NughFjQ=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3EC6NugilgA=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "model": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "font": "Arial;13;0", + "left": 3281, + "top": 856, + "width": 88.71728515625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3EC6NugjjkY=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "model": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "font": "Arial;13;0", + "left": 3281, + "top": 866, + "width": 88.71728515625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3EC6NugkPS4=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "model": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2545, + "top": -105, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3EC6NuglsZk=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "model": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2545, + "top": -105, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3281, + "top": 831, + "width": 88.71728515625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL3EC6NugdYDM=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3EC6NugilgA=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3EC6NugjjkY=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3EC6NugkPS4=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3EC6NuglsZk=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL3EC6Nugm4CE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGAP1c=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6Nugnevw=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGAP1c=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3112, + "top": 823, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NugoFWs=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGAP1c=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3113, + "top": 808, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NugpkNw=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGAP1c=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3111, + "top": 852, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NugqVoQ=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGB1i0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2970, + "top": 818, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6Nugr4Fs=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGB1i0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2973, + "top": 804, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NugscZs=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGB1i0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2965, + "top": 845, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NugtRDc=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGCpVw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3254, + "top": 829, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuguAY0=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGCpVw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3252, + "top": 815, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6Nugv3Bs=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGCpVw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3257, + "top": 856, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3EC6NugwZMg=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGB1i0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2649, + "top": 111, + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL3EC6Nugxzvc=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugm4CE=" + }, + "model": { + "$ref": "AAAAAAGLw7pt1PGCpVw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2649, + "top": 111, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6NugSKAY=" + }, + "lineStyle": 1, + "points": "2944:838;3280:851", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3EC6Nugnevw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6NugoFWs=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6NugpkNw=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL3EC6NugqVoQ=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL3EC6Nugr4Fs=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL3EC6NugscZs=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL3EC6NugtRDc=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL3EC6NuguAY0=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL3EC6Nugv3Bs=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL3EC6NugwZMg=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL3EC6Nugxzvc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3EC6NugywOI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3EC6Nugz9NQ=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "model": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nug0I+c=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugz9NQ=" + }, + "font": "Arial;13;0", + "left": 3590, + "top": 844, + "width": 81.63720703125, + "height": 13, + "text": "«abstract»" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nug1sZU=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugz9NQ=" + }, + "font": "Arial;13;1", + "left": 3590, + "top": 859, + "width": 81.63720703125, + "height": 13, + "text": "DataManager" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nug2Jf8=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugz9NQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3041, + "top": -585, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nug3TP0=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nugz9NQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3041, + "top": -585, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3585, + "top": 839, + "width": 91.63720703125, + "height": 38, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6Nug0I+c=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3EC6Nug1sZU=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3EC6Nug2Jf8=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6Nug3TP0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3EC6Nug47Vw=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "model": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "font": "Arial;13;0", + "left": 3585, + "top": 877, + "width": 91.63720703125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3EC6Nug5yqc=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "model": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "font": "Arial;13;0", + "left": 3585, + "top": 887, + "width": 91.63720703125, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3EC6Nug6/JU=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "model": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2289, + "top": 47, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3EC6Nug7Jso=", + "_parent": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "model": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2289, + "top": 47, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3585, + "top": 839, + "width": 91.63720703125, + "height": 58, + "nameCompartment": { + "$ref": "AAAAAAGL3EC6Nugz9NQ=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3EC6Nug47Vw=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3EC6Nug5yqc=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3EC6Nug6/JU=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3EC6Nug7Jso=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL3EC6Nug8Ro0=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL3EC6Nug9ngw=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "model": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nug+fE0=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug9ngw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3679, + "top": -695, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6Nug/ut4=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug9ngw=" + }, + "font": "Arial;13;1", + "left": 3565, + "top": 991, + "width": 41.919921875, + "height": 13, + "text": "Stub" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NuhA9+g=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug9ngw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3679, + "top": -695, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL3EC6NuhBHQ0=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug9ngw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3679, + "top": -695, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3560, + "top": 984, + "width": 51.919921875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6Nug+fE0=" + }, + "nameLabel": { + "$ref": "AAAAAAGL3EC6Nug/ut4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL3EC6NuhA9+g=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6NuhBHQ0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL3EC6NuhC6ng=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "model": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "font": "Arial;13;0", + "left": 3560, + "top": 1009, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL3EC6NuhDUz0=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "model": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "font": "Arial;13;0", + "left": 3560, + "top": 1019, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL3EC6NuhEj+Y=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "model": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2608, + "top": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL3EC6NuhFxZI=", + "_parent": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "model": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 2608, + "top": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3560, + "top": 984, + "width": 51.919921875, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL3EC6Nug9ngw=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL3EC6NuhC6ng=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL3EC6NuhDUz0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL3EC6NuhEj+Y=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL3EC6NuhFxZI=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL3EC6NuhGMoE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw7xJLQpG+ik=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuhHoNM=", + "_parent": { + "$ref": "AAAAAAGL3EC6NuhGMoE=" + }, + "model": { + "$ref": "AAAAAAGLw7xJLQpG+ik=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3591, + "top": 929, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EC6NuhGMoE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuhI1H0=", + "_parent": { + "$ref": "AAAAAAGL3EC6NuhGMoE=" + }, + "model": { + "$ref": "AAAAAAGLw7xJLQpG+ik=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3577, + "top": 924, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3EC6NuhGMoE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuhJlKQ=", + "_parent": { + "$ref": "AAAAAAGL3EC6NuhGMoE=" + }, + "model": { + "$ref": "AAAAAAGLw7xJLQpG+ik=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3620, + "top": 938, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EC6NuhGMoE=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "lineStyle": 1, + "points": "3592:983;3620:897", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3EC6NuhHoNM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6NuhI1H0=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6NuhJlKQ=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAGL3EC6NuhKhx0=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGLw8OfyokBM5A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuhLBMA=", + "_parent": { + "$ref": "AAAAAAGL3EC6NuhKhx0=" + }, + "model": { + "$ref": "AAAAAAGLw8OfyokBM5A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3477, + "top": 839, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EC6NuhKhx0=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuhMeaQ=", + "_parent": { + "$ref": "AAAAAAGL3EC6NuhKhx0=" + }, + "model": { + "$ref": "AAAAAAGLw8OfyokBM5A=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3478, + "top": 824, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3EC6NuhKhx0=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EC6NuhN5ak=", + "_parent": { + "$ref": "AAAAAAGL3EC6NuhKhx0=" + }, + "model": { + "$ref": "AAAAAAGLw8OfyokBM5A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3476, + "top": 868, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EC6NuhKhx0=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6NugccSE=" + }, + "lineStyle": 1, + "points": "3370:855;3584:865", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3EC6NuhLBMA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EC6NuhMeaQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EC6NuhN5ak=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAGL3EhnLQk/wU8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL3EhnKwk9Pw0=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EhnLQlAeLk=", + "_parent": { + "$ref": "AAAAAAGL3EhnLQk/wU8=" + }, + "model": { + "$ref": "AAAAAAGL3EhnKwk9Pw0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3773, + "top": 2707, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EhnLQk/wU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EhnLglBTew=", + "_parent": { + "$ref": "AAAAAAGL3EhnLQk/wU8=" + }, + "model": { + "$ref": "AAAAAAGL3EhnKwk9Pw0=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3770, + "top": 2692, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL3EhnLQk/wU8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL3EhnLglC42U=", + "_parent": { + "$ref": "AAAAAAGL3EhnLQk/wU8=" + }, + "model": { + "$ref": "AAAAAAGL3EhnKwk9Pw0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3778, + "top": 2736, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL3EhnLQk/wU8=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3BsTqaEI6W8=" + }, + "tail": { + "$ref": "AAAAAAGL3CMxnUgw9Qc=" + }, + "lineStyle": 1, + "points": "3591:2626;3776:2728;4183:2656", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL3EhnLQlAeLk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL3EhnLglBTew=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL3EhnLglC42U=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL8e8PL0VmSkQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL8e8PMEVnGz8=", + "_parent": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "model": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL8e8PMEVoIWg=", + "_parent": { + "$ref": "AAAAAAGL8e8PMEVnGz8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1408, + "top": 992, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8e8PMUVpAU4=", + "_parent": { + "$ref": "AAAAAAGL8e8PMEVnGz8=" + }, + "font": "Arial;13;1", + "left": 3965, + "top": 1799, + "width": 96.80810546875, + "height": 13, + "text": "UserRepository" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8e8PMUVqQ5g=", + "_parent": { + "$ref": "AAAAAAGL8e8PMEVnGz8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1408, + "top": 992, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8e8PMUVrcd4=", + "_parent": { + "$ref": "AAAAAAGL8e8PMEVnGz8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1408, + "top": 992, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3960, + "top": 1792, + "width": 106.80810546875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL8e8PMEVoIWg=" + }, + "nameLabel": { + "$ref": "AAAAAAGL8e8PMUVpAU4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL8e8PMUVqQ5g=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL8e8PMUVrcd4=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL8e8PMUVsK2E=", + "_parent": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "model": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAGL+8w3rCz3EQg=", + "_parent": { + "$ref": "AAAAAAGL8e8PMUVsK2E=" + }, + "model": { + "$ref": "AAAAAAGL+8w3liysleM=" + }, + "font": "Arial;13;0", + "left": 3965, + "top": 1822, + "width": 96.80810546875, + "height": 13, + "text": "-users: array", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3960, + "top": 1817, + "width": 106.80810546875, + "height": 23 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL8e8PMUVtEH0=", + "_parent": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "model": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "font": "Arial;13;0", + "left": 3960, + "top": 1840, + "width": 106.80810546875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL8e8PMUVurv4=", + "_parent": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "model": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 704, + "top": 496, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL8e8PMUVvyqI=", + "_parent": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "model": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 704, + "top": 496, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3960, + "top": 1792, + "width": 106.80810546875, + "height": 71, + "nameCompartment": { + "$ref": "AAAAAAGL8e8PMEVnGz8=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL8e8PMUVsK2E=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL8e8PMUVtEH0=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL8e8PMUVurv4=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL8e8PMUVvyqI=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL8e9J0ldJrjo=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL8e9J01dKxDk=", + "_parent": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "model": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL8e9J01dLMhE=", + "_parent": { + "$ref": "AAAAAAGL8e9J01dKxDk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1952, + "top": -704, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8e9J01dMxu0=", + "_parent": { + "$ref": "AAAAAAGL8e9J01dKxDk=" + }, + "font": "Arial;13;1", + "left": 4061, + "top": 959, + "width": 75.86083984375, + "height": 13, + "text": "AuthService" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8e9J01dN/AA=", + "_parent": { + "$ref": "AAAAAAGL8e9J01dKxDk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1952, + "top": -704, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8e9J01dOzTw=", + "_parent": { + "$ref": "AAAAAAGL8e9J01dKxDk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1952, + "top": -704, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4056, + "top": 952, + "width": 85.86083984375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL8e9J01dLMhE=" + }, + "nameLabel": { + "$ref": "AAAAAAGL8e9J01dMxu0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL8e9J01dN/AA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL8e9J01dOzTw=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL8e9J01dPxyE=", + "_parent": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "model": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "font": "Arial;13;0", + "left": 4056, + "top": 977, + "width": 85.86083984375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL8e9J01dQhvI=", + "_parent": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "model": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "font": "Arial;13;0", + "left": 4056, + "top": 987, + "width": 85.86083984375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL8e9J01dRnSs=", + "_parent": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "model": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 976, + "top": -352, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL8e9J01dSt+8=", + "_parent": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "model": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 976, + "top": -352, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4056, + "top": 952, + "width": 85.86083984375, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL8e9J01dKxDk=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL8e9J01dPxyE=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL8e9J01dQhvI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL8e9J01dRnSs=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL8e9J01dSt+8=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL8fAHTpcfcxQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL8fAHTpcgm1k=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "model": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL8fAHT5chwjE=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcgm1k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1248, + "top": -416, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8fAHT5ciXp0=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcgm1k=" + }, + "font": "Arial;13;1", + "left": 3685, + "top": 1175, + "width": 82.3671875, + "height": 13, + "text": "UserManager" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8fAHT5cjZF4=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcgm1k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1248, + "top": -416, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8fAHT5cki6A=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcgm1k=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 1248, + "top": -416, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3680, + "top": 1168, + "width": 92.3671875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL8fAHT5chwjE=" + }, + "nameLabel": { + "$ref": "AAAAAAGL8fAHT5ciXp0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL8fAHT5cjZF4=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL8fAHT5cki6A=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL8fAHT5clCB0=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "model": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "font": "Arial;13;0", + "left": 3680, + "top": 1193, + "width": 92.3671875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL8fAHT5cmKsU=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "model": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "font": "Arial;13;0", + "left": 3680, + "top": 1203, + "width": 92.3671875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL8fAHT5cnzVg=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "model": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 624, + "top": -208, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL8fAHT5cobGg=", + "_parent": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "model": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 624, + "top": -208, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3680, + "top": 1168, + "width": 92.3671875, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL8fAHTpcgm1k=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL8fAHT5clCB0=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL8fAHT5cmKsU=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL8fAHT5cnzVg=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL8fAHT5cobGg=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL8kwWNOvs/ko=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL8kwWNevt7h4=", + "_parent": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "model": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL8kwWNevuGgw=", + "_parent": { + "$ref": "AAAAAAGL8kwWNevt7h4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -544, + "top": 432, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8kwWNevv/0Y=", + "_parent": { + "$ref": "AAAAAAGL8kwWNevt7h4=" + }, + "font": "Arial;13;1", + "left": 3189, + "top": 2743, + "width": 150.97265625, + "height": 13, + "text": "EntrainementRepository" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8kwWNevwRpI=", + "_parent": { + "$ref": "AAAAAAGL8kwWNevt7h4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -544, + "top": 432, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL8kwWNevx3X0=", + "_parent": { + "$ref": "AAAAAAGL8kwWNevt7h4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -544, + "top": 432, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3184, + "top": 2736, + "width": 160.97265625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL8kwWNevuGgw=" + }, + "nameLabel": { + "$ref": "AAAAAAGL8kwWNevv/0Y=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL8kwWNevwRpI=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL8kwWNevx3X0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL8kwWNevy7vE=", + "_parent": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "model": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "font": "Arial;13;0", + "left": 3184, + "top": 2761, + "width": 160.97265625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL8kwWNevzRQQ=", + "_parent": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "model": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "font": "Arial;13;0", + "left": 3184, + "top": 2771, + "width": 160.97265625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL8kwWNev0nPo=", + "_parent": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "model": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -272, + "top": 216, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL8kwWNev1L3w=", + "_parent": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "model": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -272, + "top": 216, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3184, + "top": 2736, + "width": 160.97265625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL8kwWNevt7h4=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL8kwWNevy7vE=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL8kwWNevzRQQ=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL8kwWNev0nPo=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL8kwWNev1L3w=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL8lO7+WPDWLU=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GO/UQE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPEK6o=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GO/UQE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4021, + "top": 1909, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPF070=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GO/UQE=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4036, + "top": 1910, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPGdnA=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GO/UQE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3992, + "top": 1908, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPHYXo=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPAblU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4023, + "top": 1883, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPIjKE=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPAblU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4036, + "top": 1886, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPJ378=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPAblU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3996, + "top": 1877, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPK26w=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPBs+g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4020, + "top": 1935, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPLcXE=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPBs+g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4033, + "top": 1934, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lO7+mPMY/Y=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPBs+g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3992, + "top": 1938, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL8lO7+mPN9/A=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPAblU=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL8lO7+mPOJ04=", + "_parent": { + "$ref": "AAAAAAGL8lO7+WPDWLU=" + }, + "model": { + "$ref": "AAAAAAGL8lO7+GPBs+g=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3Bpk6Nh7nd8=" + }, + "tail": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "lineStyle": 1, + "points": "4010:1863;4004:1967", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL8lO7+mPEK6o=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL8lO7+mPF070=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL8lO7+mPGdnA=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL8lO7+mPHYXo=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL8lO7+mPIjKE=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL8lO7+mPJ378=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL8lO7+mPK26w=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL8lO7+mPLcXE=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL8lO7+mPMY/Y=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL8lO7+mPN9/A=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL8lO7+mPOJ04=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL8lXBS67DYgg=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa6/2w4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBS67EK3I=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa6/2w4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3869, + "top": 900, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBS67F6AQ=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa6/2w4=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3872, + "top": 885, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBS67Gc4s=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa6/2w4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3862, + "top": 929, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBTK7HYIA=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7AoxY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3705, + "top": 863, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBTK7Ivfo=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7AoxY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3710, + "top": 850, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBTK7JxMA=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7AoxY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3695, + "top": 888, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBTK7KBwQ=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7B00o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4032, + "top": 937, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBTK7LPto=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7B00o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4033, + "top": 924, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL8lXBTK7MGZo=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7B00o=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4031, + "top": 965, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL8lXBTK7NaZA=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7AoxY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL8lXBTK7OIvI=", + "_parent": { + "$ref": "AAAAAAGL8lXBS67DYgg=" + }, + "model": { + "$ref": "AAAAAAGL8lXBSa7B00o=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6NugywOI=" + }, + "lineStyle": 1, + "points": "3677:878;4055:964", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL8lXBS67EK3I=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL8lXBS67F6AQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL8lXBS67Gc4s=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL8lXBTK7HYIA=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL8lXBTK7Ivfo=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL8lXBTK7JxMA=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL8lXBTK7KBwQ=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL8lXBTK7LPto=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL8lXBTK7MGZo=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL8lXBTK7NaZA=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL8lXBTK7OIvI=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL+8rOIEknLJI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+8rOHkkjQa8=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUko0e8=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOHkkjQa8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4170, + "top": 1085, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUkpnxA=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOHkkjQa8=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4158, + "top": 1094, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUkqzew=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOHkkjQa8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4193, + "top": 1066, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUkrcbw=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kk5Us=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4221, + "top": 1149, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUks864=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kk5Us=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4209, + "top": 1156, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUktsAY=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kk5Us=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4245, + "top": 1136, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUkuZk8=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kl1Ag=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4120, + "top": 1020, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUkv5a8=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kl1Ag=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4111, + "top": 1030, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8rOIUkwAc4=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kl1Ag=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4139, + "top": 1000, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+8rOIUkx/wo=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kk5Us=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+8rOIUkyAUc=", + "_parent": { + "$ref": "AAAAAAGL+8rOIEknLJI=" + }, + "model": { + "$ref": "AAAAAAGL+8rOH0kl1Ag=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "tail": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "lineStyle": 1, + "points": "4249:1167;4116:997", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+8rOIUko0e8=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+8rOIUkpnxA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+8rOIUkqzew=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL+8rOIUkrcbw=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL+8rOIUks864=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL+8rOIUktsAY=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL+8rOIUkuZk8=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL+8rOIUkv5a8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL+8rOIUkwAc4=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL+8rOIUkx/wo=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL+8rOIUkyAUc=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL+8tZ+K7c/nM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967YT0Q=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7digU=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967YT0Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4369, + "top": 1116, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7eLHc=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967YT0Q=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4354, + "top": 1119, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7fiuQ=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967YT0Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4398, + "top": 1111, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7gF+o=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967ZQD0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3799, + "top": 1176, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7hbVM=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967ZQD0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3802, + "top": 1163, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7iO2M=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967ZQD0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3792, + "top": 1203, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7j0rE=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967azMY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4167, + "top": 985, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7kGIo=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967azMY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4169, + "top": 999, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+8tZ+a7lIZQ=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967azMY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4164, + "top": 958, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+8tZ+a7mZBU=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967ZQD0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+8tZ+a7nWnA=", + "_parent": { + "$ref": "AAAAAAGL+8tZ+K7c/nM=" + }, + "model": { + "$ref": "AAAAAAGL+8tZ967azMY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "tail": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "lineStyle": 1, + "points": "3772:1195;4408:1256;4360:984;4142:976", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+8tZ+a7digU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+8tZ+a7eLHc=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+8tZ+a7fiuQ=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL+8tZ+a7gF+o=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL+8tZ+a7hbVM=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL+8tZ+a7iO2M=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL+8tZ+a7j0rE=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL+8tZ+a7kGIo=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL+8tZ+a7lIZQ=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL+8tZ+a7mZBU=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL+8tZ+a7nWnA=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL+82j3FEcyoc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL+82j3FEdnM8=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "model": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL+82j3VEef7E=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEdnM8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+82j3VEfYy0=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEdnM8=" + }, + "font": "Arial;13;1", + "left": 3605, + "top": 1295, + "width": 665.8564453125, + "height": 13, + "text": "IGenericRepository" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+82j3VEgwrw=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEdnM8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+82j3VEha1o=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEdnM8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -64, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3600, + "top": 1288, + "width": 675.8564453125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL+82j3VEef7E=" + }, + "nameLabel": { + "$ref": "AAAAAAGL+82j3VEfYy0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL+82j3VEgwrw=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+82j3VEha1o=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL+82j3VEiTxc=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "model": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "font": "Arial;13;0", + "left": 3600, + "top": 1313, + "width": 675.8564453125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL+82j3VEjiyg=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "model": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+84t2m6K78I=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+84tpm4nUBQ=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1328, + "width": 665.8564453125, + "height": 13, + "text": "+getItemById(id: int)", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+86cfHnTO3k=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+86cPHlwc+E=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1343, + "width": 665.8564453125, + "height": 13, + "text": "+getNbItems(): int", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+86fd305Cww=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+86fO3zWI0s=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1358, + "width": 665.8564453125, + "height": 13, + "text": "+getItems(index: int, count: int, orderingPropertyName: ?String, descending: bool): array", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+86ns4CfwV0=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1373, + "width": 665.8564453125, + "height": 13, + "text": "+getItemsByName(substring: String, index: int, count: int, orderingPropertyName: ?String, descending: bool): ?array", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+86qHYQFmS4=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+86p3oOiaNc=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1388, + "width": 665.8564453125, + "height": 13, + "text": "+getItemsByName(substring: String, index: int, count: int, orderingPropertyName: ?String, descending: bool)", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+86sjYdrzkU=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+86sTYcItmQ=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1403, + "width": 665.8564453125, + "height": 13, + "text": "+updateItem(oldItem, newItem): void", + "horizontalAlignment": 0 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAGL+86uxIrRU/g=", + "_parent": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "model": { + "$ref": "AAAAAAGL+86ui4puvnk=" + }, + "font": "Arial;13;0", + "left": 3605, + "top": 1418, + "width": 665.8564453125, + "height": 13, + "text": "+deleteItem(item): bool", + "horizontalAlignment": 0 + } + ], + "font": "Arial;13;0", + "left": 3600, + "top": 1323, + "width": 675.8564453125, + "height": 113 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL+82j3VEkf/0=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "model": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL+82j3VEleEk=", + "_parent": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "model": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -32, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3600, + "top": 1288, + "width": 675.8564453125, + "height": 148, + "nameCompartment": { + "$ref": "AAAAAAGL+82j3FEdnM8=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL+82j3VEiTxc=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL+82j3VEjiyg=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL+82j3VEkf/0=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL+82j3VEleEk=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL+9O3Fr8A9kM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL+9O3F78BOMg=", + "_parent": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "model": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL+9O3F78CrIE=", + "_parent": { + "$ref": "AAAAAAGL+9O3F78BOMg=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+9O3F78DySM=", + "_parent": { + "$ref": "AAAAAAGL+9O3F78BOMg=" + }, + "font": "Arial;13;1", + "left": 3709, + "top": 1519, + "width": 122.07177734375, + "height": 13, + "text": "ITrainingRepository" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+9O3F78EMdg=", + "_parent": { + "$ref": "AAAAAAGL+9O3F78BOMg=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+9O3F78FN9A=", + "_parent": { + "$ref": "AAAAAAGL+9O3F78BOMg=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3704, + "top": 1512, + "width": 132.07177734375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9O3F78CrIE=" + }, + "nameLabel": { + "$ref": "AAAAAAGL+9O3F78DySM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL+9O3F78EMdg=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9O3F78FN9A=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL+9O3F78GjZg=", + "_parent": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "model": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "font": "Arial;13;0", + "left": 3704, + "top": 1537, + "width": 132.07177734375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL+9O3F78H6KE=", + "_parent": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "model": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "font": "Arial;13;0", + "left": 3704, + "top": 1547, + "width": 132.07177734375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL+9O3F78IiiI=", + "_parent": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "model": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL+9O3GL8J2/s=", + "_parent": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "model": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3704, + "top": 1512, + "width": 132.07177734375, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL+9O3F78BOMg=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL+9O3F78GjZg=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL+9O3F78H6KE=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL+9O3F78IiiI=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL+9O3GL8J2/s=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL+9PoNNQIuXw=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL+9PoNdQJC5U=", + "_parent": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "model": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL+9PoNdQKlXY=", + "_parent": { + "$ref": "AAAAAAGL+9PoNdQJC5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 848, + "top": 48, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+9PoNdQLUfI=", + "_parent": { + "$ref": "AAAAAAGL+9PoNdQJC5U=" + }, + "font": "Arial;13;1", + "left": 4085, + "top": 1527, + "width": 100.419921875, + "height": 13, + "text": "IUserRepository" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+9PoNdQM5Ew=", + "_parent": { + "$ref": "AAAAAAGL+9PoNdQJC5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 848, + "top": 48, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL+9PoNdQN2fA=", + "_parent": { + "$ref": "AAAAAAGL+9PoNdQJC5U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 848, + "top": 48, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4080, + "top": 1520, + "width": 110.419921875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9PoNdQKlXY=" + }, + "nameLabel": { + "$ref": "AAAAAAGL+9PoNdQLUfI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL+9PoNdQM5Ew=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9PoNdQN2fA=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL+9PoNdQOmYg=", + "_parent": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "model": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "font": "Arial;13;0", + "left": 4080, + "top": 1545, + "width": 110.419921875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL+9PoNdQPg/M=", + "_parent": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "model": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "font": "Arial;13;0", + "left": 4080, + "top": 1555, + "width": 110.419921875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL+9PoNdQQOeE=", + "_parent": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "model": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 424, + "top": 24, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL+9PoNdQRN8A=", + "_parent": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "model": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 424, + "top": 24, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4080, + "top": 1520, + "width": 110.419921875, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL+9PoNdQJC5U=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL+9PoNdQOmYg=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL+9PoNdQPg/M=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL+9PoNdQQOeE=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL+9PoNdQRN8A=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL+9RSGxB+nHc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9RSGRB8+vM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9RSGxB/KpY=", + "_parent": { + "$ref": "AAAAAAGL+9RSGxB+nHc=" + }, + "model": { + "$ref": "AAAAAAGL+9RSGRB8+vM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3816, + "top": 1456, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9RSGxB+nHc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9RSGxCAPdg=", + "_parent": { + "$ref": "AAAAAAGL+9RSGxB+nHc=" + }, + "model": { + "$ref": "AAAAAAGL+9RSGRB8+vM=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3805, + "top": 1445, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9RSGxB+nHc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9RSGxCBVsg=", + "_parent": { + "$ref": "AAAAAAGL+9RSGxB+nHc=" + }, + "model": { + "$ref": "AAAAAAGL+9RSGRB8+vM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3837, + "top": 1477, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9RSGxB+nHc=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "tail": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "lineStyle": 1, + "points": "3791:1511;3864:1436", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9RSGxB/KpY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9RSGxCAPdg=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9RSGxCBVsg=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL+9RdJRsYynw=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9RdJBsWH7s=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9RdJRsZl4s=", + "_parent": { + "$ref": "AAAAAAGL+9RdJRsYynw=" + }, + "model": { + "$ref": "AAAAAAGL+9RdJBsWH7s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4053, + "top": 1482, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9RdJRsYynw=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9RdJhsaMvs=", + "_parent": { + "$ref": "AAAAAAGL+9RdJRsYynw=" + }, + "model": { + "$ref": "AAAAAAGL+9RdJBsWH7s=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4043, + "top": 1493, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9RdJRsYynw=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9RdJhsbpBU=", + "_parent": { + "$ref": "AAAAAAGL+9RdJRsYynw=" + }, + "model": { + "$ref": "AAAAAAGL+9RdJBsWH7s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4074, + "top": 1459, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9RdJRsYynw=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "tail": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "lineStyle": 1, + "points": "4109:1519;4019:1436", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9RdJRsZl4s=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9RdJhsaMvs=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9RdJhsbpBU=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL+9Ru2jbFEaA=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9Ru2TbDJ+A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9Ru2zbGfmg=", + "_parent": { + "$ref": "AAAAAAGL+9Ru2jbFEaA=" + }, + "model": { + "$ref": "AAAAAAGL+9Ru2TbDJ+A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4061, + "top": 1666, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9Ru2jbFEaA=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9Ru2zbHIig=", + "_parent": { + "$ref": "AAAAAAGL+9Ru2jbFEaA=" + }, + "model": { + "$ref": "AAAAAAGL+9Ru2TbDJ+A=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4047, + "top": 1660, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9Ru2jbFEaA=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9Ru2zbIGgw=", + "_parent": { + "$ref": "AAAAAAGL+9Ru2jbFEaA=" + }, + "model": { + "$ref": "AAAAAAGL+9Ru2TbDJ+A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4088, + "top": 1677, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9Ru2jbFEaA=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL+9PoNNQIuXw=" + }, + "tail": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "lineStyle": 1, + "points": "4027:1791;4124:1565", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9Ru2zbGfmg=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9Ru2zbHIig=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9Ru2zbIGgw=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL+9Se8smboVw=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9Se8MmZLdo=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9Se8smclxw=", + "_parent": { + "$ref": "AAAAAAGL+9Se8smboVw=" + }, + "model": { + "$ref": "AAAAAAGL+9Se8MmZLdo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3357, + "top": 1895, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9Se8smboVw=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9Se8smdmXM=", + "_parent": { + "$ref": "AAAAAAGL+9Se8smboVw=" + }, + "model": { + "$ref": "AAAAAAGL+9Se8MmZLdo=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3347, + "top": 1884, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9Se8smboVw=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9Se8smeaGk=", + "_parent": { + "$ref": "AAAAAAGL+9Se8smboVw=" + }, + "model": { + "$ref": "AAAAAAGL+9Se8MmZLdo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3378, + "top": 1916, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9Se8smboVw=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL+9O3Fr8A9kM=" + }, + "tail": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "lineStyle": 1, + "points": "3266:2735;3368:1912;3745:1557", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9Se8smclxw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9Se8smdmXM=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9Se8smeaGk=" + } + }, + { + "_type": "UMLDependencyView", + "_id": "AAAAAAGL+9V6x0TV/+Y=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9V6xkTTcHA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9V6yETWAtw=", + "_parent": { + "$ref": "AAAAAAGL+9V6x0TV/+Y=" + }, + "model": { + "$ref": "AAAAAAGL+9V6xkTTcHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3526, + "top": 1588, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9V6x0TV/+Y=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9V6yETXVbY=", + "_parent": { + "$ref": "AAAAAAGL+9V6x0TV/+Y=" + }, + "model": { + "$ref": "AAAAAAGL+9V6xkTTcHA=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3532, + "top": 1574, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9V6x0TV/+Y=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9V6yETYeeg=", + "_parent": { + "$ref": "AAAAAAGL+9V6x0TV/+Y=" + }, + "model": { + "$ref": "AAAAAAGL+9V6xkTTcHA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3513, + "top": 1615, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9V6x0TV/+Y=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL8e8PL0VmSkQ=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "lineStyle": 1, + "points": "3583:1029;3520:1608;3959:1803", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9V6yETWAtw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9V6yETXVbY=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9V6yETYeeg=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL+9YU3awXKn8=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wTNo0=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwY2s8=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wTNo0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4041, + "top": 1141, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwZHX0=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wTNo0=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4055, + "top": 1147, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwaaAc=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wTNo0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4014, + "top": 1130, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwbL8I=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wUZOY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4091, + "top": 1020, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwcWnI=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wUZOY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4103, + "top": 1027, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwd9bg=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wUZOY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4068, + "top": 1006, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwe/3E=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wVXhc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3991, + "top": 1262, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwfUbg=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wVXhc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4004, + "top": 1265, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9YU3qwgFmc=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wVXhc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3964, + "top": 1256, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+9YU3qwhe/Y=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wUZOY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+9YU3qwiTuU=", + "_parent": { + "$ref": "AAAAAAGL+9YU3awXKn8=" + }, + "model": { + "$ref": "AAAAAAGL+9YU26wVXhc=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL+82j3FEcyoc=" + }, + "tail": { + "$ref": "AAAAAAGL8e9J0ldJrjo=" + }, + "lineStyle": 1, + "points": "4088:997;3968:1287", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9YU3qwY2s8=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9YU3qwZHX0=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9YU3qwaaAc=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL+9YU3qwbL8I=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL+9YU3qwcWnI=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL+9YU3qwd9bg=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL+9YU3qwe/3E=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL+9YU3qwfUbg=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL+9YU3qwgFmc=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL+9YU3qwhe/Y=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL+9YU3qwiTuU=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL+9lB22JQZ5E=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2GJMfIE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JRtlE=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2GJMfIE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3666, + "top": 1082, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JSZXA=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2GJMfIE=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3678, + "top": 1073, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JT9HQ=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2GJMfIE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3643, + "top": 1101, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JUfvg=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJNfVI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3630, + "top": 1034, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JV6mA=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJNfVI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3642, + "top": 1028, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JWWlA=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJNfVI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3606, + "top": 1047, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JX5gk=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJO1RQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3704, + "top": 1131, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JYWWM=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJO1RQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3713, + "top": 1121, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lB22JZ4j0=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJO1RQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3684, + "top": 1151, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+9lB22JagX4=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJNfVI=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+9lB3GJbP0E=", + "_parent": { + "$ref": "AAAAAAGL+9lB22JQZ5E=" + }, + "model": { + "$ref": "AAAAAAGL+9lB2WJO1RQ=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL8fAHTpcfcxQ=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "lineStyle": 1, + "points": "3603:1029;3708:1167", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9lB22JRtlE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9lB22JSZXA=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9lB22JT9HQ=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL+9lB22JUfvg=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL+9lB22JV6mA=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL+9lB22JWWlA=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL+9lB22JX5gk=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL+9lB22JYWWM=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL+9lB22JZ4j0=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL+9lB22JagX4=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL+9lB3GJbP0E=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL+9lQ0XokzqM=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3og1pg=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0XolXG4=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3og1pg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3916, + "top": 1073, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0Xomv/A=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3og1pg=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3920, + "top": 1059, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0XoniIU=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3og1pg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3909, + "top": 1102, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0XoorW0=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3ohaCY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3640, + "top": 999, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0Xop+7o=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3ohaCY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3646, + "top": 987, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0noqobQ=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3ohaCY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3629, + "top": 1024, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0norYrs=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3oiCYc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4193, + "top": 1148, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0nosRNA=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3oiCYc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4195, + "top": 1135, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL+9lQ0notl+k=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3oiCYc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4190, + "top": 1176, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+9lQ0nou4Os=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3ohaCY=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL+9lQ0nov3ao=", + "_parent": { + "$ref": "AAAAAAGL+9lQ0XokzqM=" + }, + "model": { + "$ref": "AAAAAAGL+9lQz3oiCYc=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3EA5py45w5E=" + }, + "tail": { + "$ref": "AAAAAAGL3EC6Nug8Ro0=" + }, + "lineStyle": 1, + "points": "3612:1013;4215:1176", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL+9lQ0XolXG4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL+9lQ0Xomv/A=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL+9lQ0XoniIU=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL+9lQ0XoorW0=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL+9lQ0Xop+7o=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL+9lQ0noqobQ=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL+9lQ0norYrs=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL+9lQ0nosRNA=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL+9lQ0notl+k=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL+9lQ0nou4Os=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL+9lQ0nov3ao=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL++Z1Ierpd8M=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrl2bA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1Iurq+hE=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrl2bA=" + }, + "font": "Arial;13;0", + "left": 3351, + "top": 2848, + "width": 121.03076171875, + "height": 13, + "alpha": 0.6921845475682045, + "distance": 98.95453501482385, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "edgePosition": 1, + "text": "-entrainementList" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1Iurrux4=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrl2bA=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3340, + "top": 2806, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1IursKqY=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrl2bA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3303, + "top": 2832, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1IurtNUc=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrmj24=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3307, + "top": 2787, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1IuruW3k=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrmj24=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3319, + "top": 2781, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1Iurv9ho=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrmj24=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3282, + "top": 2799, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1Iurw9sk=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrnew4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3348, + "top": 2843, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1Iurx+J8=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrnew4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3358, + "top": 2833, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++Z1IuryFxs=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrnew4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3329, + "top": 2862, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL++Z1Iurz82s=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrmj24=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL++Z1Iur0tvc=", + "_parent": { + "$ref": "AAAAAAGL++Z1Ierpd8M=" + }, + "model": { + "$ref": "AAAAAAGL++Z1IOrnew4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "tail": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "lineStyle": 1, + "points": "3280:2781;3352:2879", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL++Z1Iurq+hE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL++Z1Iurrux4=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL++Z1IursKqY=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL++Z1IurtNUc=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL++Z1IuruW3k=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL++Z1Iurv9ho=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL++Z1Iurw9sk=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL++Z1Iurx+J8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL++Z1IuryFxs=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL++Z1Iurz82s=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL++Z1Iur0tvc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGL++aCHApuNNY=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGL++aCHApv9g0=", + "_parent": { + "$ref": "AAAAAAGL++aCHApuNNY=" + }, + "model": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGL++aCHApwYGY=", + "_parent": { + "$ref": "AAAAAAGL++aCHApv9g0=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL++aCHApxh8E=", + "_parent": { + "$ref": "AAAAAAGL++aCHApv9g0=" + }, + "font": "Arial;13;1", + "left": 3397, + "top": 3215, + "width": 124.95361328125, + "height": 13, + "text": "EntrainementSportif" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL++aCHApytmc=", + "_parent": { + "$ref": "AAAAAAGL++aCHApv9g0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGL++aCHApzgMU=", + "_parent": { + "$ref": "AAAAAAGL++aCHApv9g0=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 3392, + "top": 3208, + "width": 134.95361328125, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGL++aCHApwYGY=" + }, + "nameLabel": { + "$ref": "AAAAAAGL++aCHApxh8E=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGL++aCHApytmc=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL++aCHApzgMU=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGL++aCHAp0YNk=", + "_parent": { + "$ref": "AAAAAAGL++aCHApuNNY=" + }, + "model": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "font": "Arial;13;0", + "left": 3392, + "top": 3233, + "width": 134.95361328125, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGL++aCHQp1bng=", + "_parent": { + "$ref": "AAAAAAGL++aCHApuNNY=" + }, + "model": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "font": "Arial;13;0", + "left": 3392, + "top": 3243, + "width": 134.95361328125, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGL++aCHQp2hLc=", + "_parent": { + "$ref": "AAAAAAGL++aCHApuNNY=" + }, + "model": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGL++aCHQp3KP0=", + "_parent": { + "$ref": "AAAAAAGL++aCHApuNNY=" + }, + "model": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 3392, + "top": 3208, + "width": 134.95361328125, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGL++aCHApv9g0=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGL++aCHAp0YNk=" + }, + "operationCompartment": { + "$ref": "AAAAAAGL++aCHQp1bng=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGL++aCHQp2hLc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGL++aCHQp3KP0=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGL++arOhiEW1s=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL++arORiCGus=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++arOxiFTMI=", + "_parent": { + "$ref": "AAAAAAGL++arOhiEW1s=" + }, + "model": { + "$ref": "AAAAAAGL++arORiCGus=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3437, + "top": 3154, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL++arOhiEW1s=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++arOxiGkAc=", + "_parent": { + "$ref": "AAAAAAGL++arOhiEW1s=" + }, + "model": { + "$ref": "AAAAAAGL++arORiCGus=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3422, + "top": 3155, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++arOhiEW1s=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++arOxiHKFc=", + "_parent": { + "$ref": "AAAAAAGL++arOhiEW1s=" + }, + "model": { + "$ref": "AAAAAAGL++arORiCGus=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3466, + "top": 3153, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL++arOhiEW1s=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL3DMzZkmwpP8=" + }, + "tail": { + "$ref": "AAAAAAGL++aCHApuNNY=" + }, + "lineStyle": 1, + "points": "3456:3207;3449:3114", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL++arOxiFTMI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL++arOxiGkAc=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL++arOxiHKFc=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGL++iBH/dTm1o=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdP07A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBH/dUZHc=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdP07A=" + }, + "font": "Arial;13;0", + "left": 3352, + "top": 2440, + "width": 145.60888671875, + "height": 13, + "alpha": 3.678431948894711, + "distance": 42, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "edgePosition": 1, + "text": "#entrainementRepository" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdVuVs=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdP07A=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 3449, + "top": 2497, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdW3Xk=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdP07A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3411, + "top": 2474, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdXmHU=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdQzLE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3911, + "top": 2415, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdY5+E=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdQzLE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3911, + "top": 2428, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdZNqU=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdQzLE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3911, + "top": 2387, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdaKH4=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdR3xE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3303, + "top": 2714, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdblc8=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdR3xE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3315, + "top": 2719, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGL++iBIPdcVS0=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdR3xE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 3277, + "top": 2704, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL++iBIPddals=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdQzLE=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGL++iBIPdem5g=", + "_parent": { + "$ref": "AAAAAAGL++iBH/dTm1o=" + }, + "model": { + "$ref": "AAAAAAGL++iBHvdR3xE=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGL8kwWNOvs/ko=" + }, + "tail": { + "$ref": "AAAAAAGL3BqoCyTo5V4=" + }, + "lineStyle": 1, + "points": "3935:2402;3424:2488;3277:2735", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGL++iBH/dUZHc=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGL++iBIPdVuVs=" + }, + "propertyLabel": { + "$ref": "AAAAAAGL++iBIPdW3Xk=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGL++iBIPdXmHU=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGL++iBIPdY5+E=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGL++iBIPdZNqU=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGL++iBIPdaKH4=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGL++iBIPdblc8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGL++iBIPdcVS0=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGL++iBIPddals=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGL++iBIPdem5g=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGMBpdAZwuU9Ko=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMBpdAaAuVC8E=", + "_parent": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "model": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMBpdAaAuWiv8=", + "_parent": { + "$ref": "AAAAAAGMBpdAaAuVC8E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpdAaAuXB5Q=", + "_parent": { + "$ref": "AAAAAAGMBpdAaAuVC8E=" + }, + "font": "Arial;13;1", + "left": 4613, + "top": 815, + "width": 70.08447265625, + "height": 13, + "text": "IFileReader" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpdAaAuY0IM=", + "_parent": { + "$ref": "AAAAAAGMBpdAaAuVC8E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpdAaAuZ2rI=", + "_parent": { + "$ref": "AAAAAAGMBpdAaAuVC8E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -16, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4608, + "top": 808, + "width": 80.08447265625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMBpdAaAuWiv8=" + }, + "nameLabel": { + "$ref": "AAAAAAGMBpdAaAuXB5Q=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMBpdAaAuY0IM=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBpdAaAuZ2rI=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMBpdAaQuaSkI=", + "_parent": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "model": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "font": "Arial;13;0", + "left": 4608, + "top": 833, + "width": 80.08447265625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMBpdAaQubhRA=", + "_parent": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "model": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "font": "Arial;13;0", + "left": 4608, + "top": 843, + "width": 80.08447265625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMBpdAaQucVWQ=", + "_parent": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "model": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMBpdAaQudKxk=", + "_parent": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "model": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -8, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4608, + "top": 808, + "width": 80.08447265625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGMBpdAaAuVC8E=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMBpdAaQuaSkI=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMBpdAaQubhRA=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMBpdAaQucVWQ=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMBpdAaQudKxk=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGMBpd9jA67nyk=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMBpd9jA68eic=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA67nyk=" + }, + "model": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMBpd9jA69DEg=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA68eic=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpd9jA6++N4=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA68eic=" + }, + "font": "Arial;13;1", + "left": 4573, + "top": 1175, + "width": 75.1181640625, + "height": 13, + "text": "AthlketeMgr" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpd9jA6/8qY=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA68eic=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpd9jA7AJO0=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA68eic=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4568, + "top": 1168, + "width": 85.1181640625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMBpd9jA69DEg=" + }, + "nameLabel": { + "$ref": "AAAAAAGMBpd9jA6++N4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMBpd9jA6/8qY=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBpd9jA7AJO0=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMBpd9jA7B6Ps=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA67nyk=" + }, + "model": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "font": "Arial;13;0", + "left": 4568, + "top": 1193, + "width": 85.1181640625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMBpd9jQ7CylI=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA67nyk=" + }, + "model": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "font": "Arial;13;0", + "left": 4568, + "top": 1203, + "width": 85.1181640625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMBpd9jQ7DFus=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA67nyk=" + }, + "model": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMBpd9jQ7EUI0=", + "_parent": { + "$ref": "AAAAAAGMBpd9jA67nyk=" + }, + "model": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4568, + "top": 1168, + "width": 85.1181640625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGMBpd9jA68eic=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMBpd9jA7B6Ps=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMBpd9jQ7CylI=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMBpd9jQ7DFus=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMBpd9jQ7EUI0=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGMBperHCDV/Mc=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDRgno=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHCDWjP4=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDRgno=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4613, + "top": 1002, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHCDXrqs=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDRgno=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4598, + "top": 1000, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHCDYm6E=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDRgno=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4642, + "top": 1005, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHCDZ0hM=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDSkv4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4599, + "top": 1133, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHCDa9C0=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDSkv4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4586, + "top": 1129, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHCDbV2Q=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDSkv4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4626, + "top": 1140, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHSDcI7U=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDT2kA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4627, + "top": 871, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHSDdRYk=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDT2kA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4613, + "top": 872, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBperHSDee18=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDT2kA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4655, + "top": 869, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMBperHSDfwBk=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDSkv4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMBperHSDgy0c=", + "_parent": { + "$ref": "AAAAAAGMBperHCDV/Mc=" + }, + "model": { + "$ref": "AAAAAAGMBperGiDT2kA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "tail": { + "$ref": "AAAAAAGMBpd9jA67nyk=" + }, + "lineStyle": 1, + "points": "4612:1167;4645:853", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGMBperHCDWjP4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGMBperHCDXrqs=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBperHCDYm6E=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGMBperHCDZ0hM=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGMBperHCDa9C0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGMBperHCDbV2Q=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGMBperHSDcI7U=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGMBperHSDdRYk=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGMBperHSDee18=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGMBperHSDfwBk=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGMBperHSDgy0c=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGMBpe7/iSd2yE=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMBpe7/iSeTew=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSd2yE=" + }, + "model": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMBpe7/iSfpKY=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSeTew=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpe7/iSg9/o=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSeTew=" + }, + "font": "Arial;13;1", + "left": 4845, + "top": 999, + "width": 41.919921875, + "height": 13, + "text": "Fit" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpe7/iShO0o=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSeTew=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpe7/iSizgA=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSeTew=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4840, + "top": 992, + "width": 51.919921875, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMBpe7/iSfpKY=" + }, + "nameLabel": { + "$ref": "AAAAAAGMBpe7/iSg9/o=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMBpe7/iShO0o=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBpe7/iSizgA=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMBpe7/iSjG28=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSd2yE=" + }, + "model": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "font": "Arial;13;0", + "left": 4840, + "top": 1017, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMBpe7/iSkAzo=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSd2yE=" + }, + "model": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "font": "Arial;13;0", + "left": 4840, + "top": 1027, + "width": 51.919921875, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMBpe7/ySlufY=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSd2yE=" + }, + "model": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMBpe7/ySmCFQ=", + "_parent": { + "$ref": "AAAAAAGMBpe7/iSd2yE=" + }, + "model": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4840, + "top": 992, + "width": 51.919921875, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGMBpe7/iSeTew=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMBpe7/iSjG28=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMBpe7/iSkAzo=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMBpe7/ySlufY=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMBpe7/ySmCFQ=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGMBpfYWy3ZgGs=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBpfYWi3Xomc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBpfYXC3aIX8=", + "_parent": { + "$ref": "AAAAAAGMBpfYWy3ZgGs=" + }, + "model": { + "$ref": "AAAAAAGMBpfYWi3Xomc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4746, + "top": 927, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBpfYWy3ZgGs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBpfYXC3btwY=", + "_parent": { + "$ref": "AAAAAAGMBpfYWy3ZgGs=" + }, + "model": { + "$ref": "AAAAAAGMBpfYWi3Xomc=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4736, + "top": 938, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBpfYWy3ZgGs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBpfYXC3c538=", + "_parent": { + "$ref": "AAAAAAGMBpfYWy3ZgGs=" + }, + "model": { + "$ref": "AAAAAAGMBpfYWi3Xomc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4765, + "top": 904, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBpfYWy3ZgGs=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGMBpdAZwuU9Ko=" + }, + "tail": { + "$ref": "AAAAAAGMBpe7/iSd2yE=" + }, + "lineStyle": 1, + "points": "4839:992;4674:853", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGMBpfYXC3aIX8=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGMBpfYXC3btwY=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBpfYXC3c538=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGMBpo0VtxckhI=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMBpo0V9xdlNU=", + "_parent": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "model": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMBpo0V9xe4j4=", + "_parent": { + "$ref": "AAAAAAGMBpo0V9xdlNU=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpo0V9xfU9w=", + "_parent": { + "$ref": "AAAAAAGMBpo0V9xdlNU=" + }, + "font": "Arial;13;1", + "left": 4805, + "top": 3055, + "width": 66.47265625, + "height": 13, + "text": "IAnalyseur" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpo0V9xgOy8=", + "_parent": { + "$ref": "AAAAAAGMBpo0V9xdlNU=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBpo0V9xhYak=", + "_parent": { + "$ref": "AAAAAAGMBpo0V9xdlNU=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4800, + "top": 3048, + "width": 76.47265625, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMBpo0V9xe4j4=" + }, + "nameLabel": { + "$ref": "AAAAAAGMBpo0V9xfU9w=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMBpo0V9xgOy8=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBpo0V9xhYak=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMBpo0V9xinDc=", + "_parent": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "model": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "font": "Arial;13;0", + "left": 4800, + "top": 3073, + "width": 76.47265625, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMBpo0V9xjdcE=", + "_parent": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "model": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "font": "Arial;13;0", + "left": 4800, + "top": 3083, + "width": 76.47265625, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMBpo0V9xk5v8=", + "_parent": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "model": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMBpo0V9xl6vk=", + "_parent": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "model": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4800, + "top": 3048, + "width": 76.47265625, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGMBpo0V9xdlNU=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMBpo0V9xinDc=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMBpo0V9xjdcE=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMBpo0V9xk5v8=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMBpo0V9xl6vk=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAGMBppPXOnSowQ=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBppPWenO/AQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenT8H4=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWenO/AQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4619, + "top": 3072, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenUjNw=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWenO/AQ=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4617, + "top": 3057, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenVYiY=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWenO/AQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4622, + "top": 3101, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenWrjU=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunPg3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4467, + "top": 3088, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenXSC0=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunPg3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4468, + "top": 3074, + "height": 13, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenY2s0=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunPg3A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4465, + "top": 3116, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "edgePosition": 2 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenZWUM=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunQr5E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4771, + "top": 3055, + "height": 13, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenavXk=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunQr5E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4767, + "top": 3042, + "height": 13, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + } + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBppPXenbBMk=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunQr5E=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4778, + "top": 3082, + "height": 13, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + } + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMBppPXunclvs=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunPg3A=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAGMBppPXundICc=", + "_parent": { + "$ref": "AAAAAAGMBppPXOnSowQ=" + }, + "model": { + "$ref": "AAAAAAGMBppPWunQr5E=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "tail": { + "$ref": "AAAAAAGL3DH0VM3eelw=" + }, + "lineStyle": 1, + "points": "4443:3112;4799:3074", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGMBppPXenT8H4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGMBppPXenUjNw=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBppPXenVYiY=" + }, + "showEndOrder": "hide", + "tailRoleNameLabel": { + "$ref": "AAAAAAGMBppPXenWrjU=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAGMBppPXenXSC0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAGMBppPXenY2s0=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAGMBppPXenZWUM=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAGMBppPXenavXk=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAGMBppPXenbBMk=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAGMBppPXunclvs=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAGMBppPXundICc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAGMBqILMi7wY5A=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAGMBqILMi7xX9g=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7wY5A=" + }, + "model": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAGMBqILMi7yY/E=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7xX9g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -496, + "top": 224, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBqILMi7zRDg=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7xX9g=" + }, + "font": "Arial;13;1", + "left": 4805, + "top": 3191, + "width": 62.86083984375, + "height": 13, + "text": "Analyseur" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBqILMi70pg8=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7xX9g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -496, + "top": 224, + "width": 73.67724609375, + "height": 13, + "text": "(from Model)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAGMBqILMi71Nx4=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7xX9g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -496, + "top": 224, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 4800, + "top": 3184, + "width": 72.86083984375, + "height": 25, + "stereotypeLabel": { + "$ref": "AAAAAAGMBqILMi7yY/E=" + }, + "nameLabel": { + "$ref": "AAAAAAGMBqILMi7zRDg=" + }, + "namespaceLabel": { + "$ref": "AAAAAAGMBqILMi70pg8=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBqILMi71Nx4=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAGMBqILMi72bC0=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7wY5A=" + }, + "model": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "font": "Arial;13;0", + "left": 4800, + "top": 3209, + "width": 72.86083984375, + "height": 10 + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAGMBqILMy73IbQ=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7wY5A=" + }, + "model": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "font": "Arial;13;0", + "left": 4800, + "top": 3219, + "width": 72.86083984375, + "height": 10 + }, + { + "_type": "UMLReceptionCompartmentView", + "_id": "AAAAAAGMBqILMy74L7c=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7wY5A=" + }, + "model": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -248, + "top": 112, + "width": 10, + "height": 10 + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAGMBqILMy75p6M=", + "_parent": { + "$ref": "AAAAAAGMBqILMi7wY5A=" + }, + "model": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": -248, + "top": 112, + "width": 10, + "height": 10 + } + ], + "font": "Arial;13;0", + "containerChangeable": true, + "left": 4800, + "top": 3184, + "width": 72.86083984375, + "height": 45, + "nameCompartment": { + "$ref": "AAAAAAGMBqILMi7xX9g=" + }, + "attributeCompartment": { + "$ref": "AAAAAAGMBqILMi72bC0=" + }, + "operationCompartment": { + "$ref": "AAAAAAGMBqILMy73IbQ=" + }, + "receptionCompartment": { + "$ref": "AAAAAAGMBqILMy74L7c=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAGMBqILMy75p6M=" + } + }, + { + "_type": "UMLGeneralizationView", + "_id": "AAAAAAGMBsEyOiaLjws=", + "_parent": { + "$ref": "AAAAAAFF+qBtyKM79qY=" + }, + "model": { + "$ref": "AAAAAAGMBsEyOCaJKLw=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBsEyOiaMm/Q=", + "_parent": { + "$ref": "AAAAAAGMBsEyOiaLjws=" + }, + "model": { + "$ref": "AAAAAAGMBsEyOCaJKLw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4821, + "top": 3131, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBsEyOiaLjws=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBsEyOiaNpAg=", + "_parent": { + "$ref": "AAAAAAGMBsEyOiaLjws=" + }, + "model": { + "$ref": "AAAAAAGMBsEyOCaJKLw=" + }, + "visible": null, + "font": "Arial;13;0", + "left": 4806, + "top": 3131, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAGMBsEyOiaLjws=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAGMBsEyOiaOgTs=", + "_parent": { + "$ref": "AAAAAAGMBsEyOiaLjws=" + }, + "model": { + "$ref": "AAAAAAGMBsEyOCaJKLw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 4850, + "top": 3132, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAGMBsEyOiaLjws=" + }, + "edgePosition": 1 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAGMBpo0VtxckhI=" + }, + "tail": { + "$ref": "AAAAAAGMBqILMi7wY5A=" + }, + "lineStyle": 1, + "points": "4835:3183;4837:3093", + "showVisibility": true, + "nameLabel": { + "$ref": "AAAAAAGMBsEyOiaMm/Q=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAGMBsEyOiaNpAg=" + }, + "propertyLabel": { + "$ref": "AAAAAAGMBsEyOiaOgTs=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLo/fkFXnWSO0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Utilisateur", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLpAecPh2uaoQ=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "source": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "target": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + } + }, + { + "_type": "UMLConstraint", + "_id": "AAAAAAGLpAxpgR4ZI4c=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "Constraint1" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw8Girlz2pU0=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8Girlz3DrY=", + "_parent": { + "$ref": "AAAAAAGLw8Girlz2pU0=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8Girlz43FQ=", + "_parent": { + "$ref": "AAAAAAGLw8Girlz2pU0=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3BrkDnIc/Ag=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "role", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3BrkD3IdNgc=", + "_parent": { + "$ref": "AAAAAAGL3BrkDnIc/Ag=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3BrkD3IeED0=", + "_parent": { + "$ref": "AAAAAAGL3BrkDnIc/Ag=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "navigable": "navigable" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL+9pa8rlijfg=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "id", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL4p5pjeQNzxA=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "username", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAD5vx0yijE=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "id", + "type": "" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAHrOB1Dmpw=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "nom", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAHubx1JTgc=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "prenom", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAHxSR1PUSs=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "email", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAH0SB1VgF8=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "sexe", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAH2wh1b3Gg=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "taille", + "visibility": "private", + "type": "Float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAH5dB1h8j4=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "poids", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAH8Jx1ngTU=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "motDePasse", + "visibility": "private", + "type": "String" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpAH+3B1t8HQ=", + "_parent": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "name": "dateNaissance", + "visibility": "private", + "type": "Date" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpAZHmx2CSnc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Coach", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLpAzL8h4kabg=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "source": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "target": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpCliuwcCjzg=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCliuwcDUVw=", + "_parent": { + "$ref": "AAAAAAGLpCliuwcCjzg=" + }, + "reference": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCliuwcEgfY=", + "_parent": { + "$ref": "AAAAAAGLpCliuwcCjzg=" + }, + "reference": { + "$ref": "AAAAAAGLpCIKk+d152w=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLrxtF+5qFc8A=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxtF+5qGyTw=", + "_parent": { + "$ref": "AAAAAAGLrxtF+5qFc8A=" + }, + "reference": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxtF+5qHrhY=", + "_parent": { + "$ref": "AAAAAAGLrxtF+5qFc8A=" + }, + "reference": { + "$ref": "AAAAAAGLrxlW1I2zOyU=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLrxumQrU4vyI=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "source": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "target": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLw8G3EmoOXHk=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "source": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "target": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3BvCOTlsc2M=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "name": "*lesAthletes", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3BvCOjltmkU=", + "_parent": { + "$ref": "AAAAAAGL3BvCOTlsc2M=" + }, + "reference": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3BvCOjluKwE=", + "_parent": { + "$ref": "AAAAAAGL3BvCOTlsc2M=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL3B0hp6VJcj4=", + "_parent": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "source": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + }, + "target": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + } + ], + "stereotype": "abstract" + }, + { + "_type": "UMLInterface", + "_id": "AAAAAAGLpAwf8B3QX1g=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Interface1" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpAzboB41ECQ=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Athlete", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLpAz8rx5frvk=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "source": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "target": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpCNbyef3xVM=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCNbyuf4TUk=", + "_parent": { + "$ref": "AAAAAAGLpCNbyef3xVM=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCNbyuf5Owk=", + "_parent": { + "$ref": "AAAAAAGLpCNbyef3xVM=" + }, + "reference": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLpCUhQfKy6BM=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "source": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "target": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLrw2ZlZxbXCg=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrw2ZlZxcFvQ=", + "_parent": { + "$ref": "AAAAAAGLrw2ZlZxbXCg=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrw2ZlZxdZjo=", + "_parent": { + "$ref": "AAAAAAGLrw2ZlZxbXCg=" + }, + "reference": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLrxtvS62Q1yw=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxtvS62RQtA=", + "_parent": { + "$ref": "AAAAAAGLrxtvS62Q1yw=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxtvTK2SVQE=", + "_parent": { + "$ref": "AAAAAAGLrxtvS62Q1yw=" + }, + "reference": { + "$ref": "AAAAAAGLrxlW1I2zOyU=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLrx7/fTi27wg=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "source": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "target": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLrx/5OVEi78k=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrx/5OVEjXTE=", + "_parent": { + "$ref": "AAAAAAGLrx/5OVEi78k=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrx/5OVEkE+s=", + "_parent": { + "$ref": "AAAAAAGLrx/5OVEi78k=" + }, + "reference": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLryAmY1g6f3w=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "source": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "target": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLw8HHMXjjv4w=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "source": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "target": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL3B0TsZu6iEw=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "source": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "target": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3DO5CWGzYdk=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "*activiteList", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DO5CWG0ZOw=", + "_parent": { + "$ref": "AAAAAAGL3DO5CWGzYdk=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DO5CmG1yFk=", + "_parent": { + "$ref": "AAAAAAGL3DO5CWGzYdk=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "navigable": "navigable" + }, + "visibility": "private" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3Ddn/grGOiw=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "*sdList", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3Ddn/grHlaI=", + "_parent": { + "$ref": "AAAAAAGL3Ddn/grGOiw=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3Ddn/grIS6Y=", + "_parent": { + "$ref": "AAAAAAGL3Ddn/grGOiw=" + }, + "reference": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "navigable": "navigable" + }, + "visibility": "private" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3DgOmzocF5c=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "*statsList", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DgOnDodXGk=", + "_parent": { + "$ref": "AAAAAAGL3DgOmzocF5c=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DgOnDoedKI=", + "_parent": { + "$ref": "AAAAAAGL3DgOmzocF5c=" + }, + "reference": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "navigable": "navigable" + }, + "visibility": "private" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3D32NRysQcE=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3D32NRytcgc=", + "_parent": { + "$ref": "AAAAAAGL3D32NRysQcE=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3D32NRyuVZo=", + "_parent": { + "$ref": "AAAAAAGL3D32NRysQcE=" + }, + "name": "ent", + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "navigable": "navigable" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3Cav216fXX4=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "getAthlete", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3CbrLmGdRT8=", + "_parent": { + "$ref": "AAAAAAGL3Cav216fXX4=" + }, + "type": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3CcA1GT//kE=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "getActivite", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3Cg0I2bvypE=", + "_parent": { + "$ref": "AAAAAAGL3CcA1GT//kE=" + }, + "type": "lesActivite", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3DDNcZtsRlI=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "getStatistiques", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DEvup1chzs=", + "_parent": { + "$ref": "AAAAAAGL3DDNcZtsRlI=" + }, + "type": "lesStats", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3EaRsi0pEF4=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "getSourceDonnees", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3EbayDAnCWI=", + "_parent": { + "$ref": "AAAAAAGL3EaRsi0pEF4=" + }, + "type": "lesSD", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3DEwGp4As4s=", + "_parent": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "name": "__toString", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DGxWJ/xM/c=", + "_parent": { + "$ref": "AAAAAAGL3DEwGp4As4s=" + }, + "type": "String", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpCIKk+d152w=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Analyse", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpDFQTUb/JFU=", + "_parent": { + "$ref": "AAAAAAGLpCIKk+d152w=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpDFQTUcAb8I=", + "_parent": { + "$ref": "AAAAAAGLpDFQTUb/JFU=" + }, + "reference": { + "$ref": "AAAAAAGLpCIKk+d152w=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpDFQTUcBF6U=", + "_parent": { + "$ref": "AAAAAAGLpDFQTUb/JFU=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpCJOKOeiXS4=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Activite", + "ownedElements": [ + { + "_type": "UMLDependency", + "_id": "AAAAAAGLpCQyD+pd5dY=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "source": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "target": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpCkkyQISTtc=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCkkyQIT3V8=", + "_parent": { + "$ref": "AAAAAAGLpCkkyQISTtc=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCkkyQIUk7c=", + "_parent": { + "$ref": "AAAAAAGLpCkkyQISTtc=" + }, + "reference": { + "$ref": "AAAAAAGLpCIKk+d152w=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpCrtIwt6IIM=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCrtJAt7teE=", + "_parent": { + "$ref": "AAAAAAGLpCrtIwt6IIM=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCrtJAt8tqE=", + "_parent": { + "$ref": "AAAAAAGLpCrtIwt6IIM=" + }, + "reference": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3DewVSCksyY=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DewViClTrY=", + "_parent": { + "$ref": "AAAAAAGL3DewVSCksyY=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DewViCmmWs=", + "_parent": { + "$ref": "AAAAAAGL3DewVSCksyY=" + }, + "reference": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGMBppPWenO/AQ=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMBppPWunPg3A=", + "_parent": { + "$ref": "AAAAAAGMBppPWenO/AQ=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMBppPWunQr5E=", + "_parent": { + "$ref": "AAAAAAGMBppPWenO/AQ=" + }, + "reference": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + }, + "navigable": "navigable" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLpCXSK/WOLkA=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "idActivite", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxCVfeebjRQ=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "type", + "visibility": "private", + "type": "string" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxCvKejL/fw=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "date", + "visibility": "private", + "type": "Date" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxDHu+n7GHc=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "heureDebut", + "visibility": "private", + "type": "time" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxDu8esr6vo=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "heureFin", + "visibility": "private", + "type": "time" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxEIwOxboHI=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "effortRessenti", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxJXpe2Lor0=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "variabilite", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxKISe67v6E=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "variance", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxKpzu/rHo4=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "ecartType", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxLaO/Ebr8k=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "moyenne", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxL5PfJLk04=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "maximum", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxM0SfWY9pQ=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "minimum", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxNQCvbIr2U=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "TemperatureMoyenne", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGMBkKf7yn3AyI=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "pause", + "visibility": "private", + "type": "bool" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3DQ2catj1/Q=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "getActivite", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DSrMq6LST8=", + "_parent": { + "$ref": "AAAAAAGL3DQ2catj1/Q=" + }, + "type": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3DTgKchiipU=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "getAnalyse", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DXHucptwRw=", + "_parent": { + "$ref": "AAAAAAGL3DTgKchiipU=" + }, + "name": "a1", + "type": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + } + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DXHuspuz9Q=", + "_parent": { + "$ref": "AAAAAAGL3DTgKchiipU=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3DXeGc46SeI=", + "_parent": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "name": "toString", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DYdBdBF0T4=", + "_parent": { + "$ref": "AAAAAAGL3DXeGc46SeI=" + }, + "name": "Activite", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3DYdBtBGMg8=", + "_parent": { + "$ref": "AAAAAAGL3DXeGc46SeI=" + }, + "type": "String", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpCMdQOfM2Wo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Activitheque", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpCN16+h8aQ0=", + "_parent": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + }, + "name": "lesActivites", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCN17+h9pms=", + "_parent": { + "$ref": "AAAAAAGLpCN16+h8aQ0=" + }, + "reference": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCN17+h+bfw=", + "_parent": { + "$ref": "AAAAAAGLpCN16+h8aQ0=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "navigable": "navigable" + }, + "visibility": "private" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpCTkfe4C0zU=", + "_parent": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + }, + "name": "*lesActivites", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCTkfu4DUbA=", + "_parent": { + "$ref": "AAAAAAGLpCTkfe4C0zU=" + }, + "reference": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpCTkfu4EADw=", + "_parent": { + "$ref": "AAAAAAGLpCTkfe4C0zU=" + }, + "reference": { + "$ref": "AAAAAAGLpCJOKOeiXS4=" + }, + "navigable": "navigable" + } + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGLpCVoW/TUDTs=", + "_parent": { + "$ref": "AAAAAAGLpCMdQOfM2Wo=" + }, + "name": "Operation1" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpCqsVQhTM54=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "SourceDonnee", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxTIICbUAdU=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "idSource", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxTswiiLUpA=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "Type", + "visibility": "private", + "type": "enum" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxVKVSm7bms=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "modele", + "visibility": "private", + "type": "string" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxV3+SrrCr8=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "precision", + "visibility": "private", + "type": "enum" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxWfnSwbQ58=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "dateDerniereUtilisation", + "visibility": "private", + "type": "Date" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3EcVFjuykz0=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "getSD", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3Ed/tEBUogw=", + "_parent": { + "$ref": "AAAAAAGL3EcVFjuykz0=" + }, + "name": "SourceDonnee", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3Ed/tUBVIpo=", + "_parent": { + "$ref": "AAAAAAGL3EcVFjuykz0=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3EeezUzS6YA=", + "_parent": { + "$ref": "AAAAAAGLpCqsVQhTM54=" + }, + "name": "to_String", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3EfxCE/QIC8=", + "_parent": { + "$ref": "AAAAAAGL3EeezUzS6YA=" + }, + "name": "SourceDonnee", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3EfxCk/RWz4=", + "_parent": { + "$ref": "AAAAAAGL3EeezUzS6YA=" + }, + "type": "String", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpC6+3hxaFwM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Notification", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpC8ityhF+Rs=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpC8iuChGpgc=", + "_parent": { + "$ref": "AAAAAAGLpC8ityhF+Rs=" + }, + "reference": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpC8iuChHuYc=", + "_parent": { + "$ref": "AAAAAAGLpC8ityhF+Rs=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "navigable": "navigable" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwTQNkoBs18=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "name": "idNotification", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwWAclJrDg4=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "name": "message", + "visibility": "private", + "type": "text" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwXMTFPyfWM=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "name": "date", + "visibility": "private", + "type": "Date" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwXq6FUBKfs=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "name": "statut", + "visibility": "private", + "type": "boolean" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwhVcFox6nk=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "name": "Urgence", + "visibility": "private", + "type": "enum" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGLrwVqf1F1q2A=", + "_parent": { + "$ref": "AAAAAAGLpC6+3hxaFwM=" + }, + "name": "Operation1" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpDCydyvBWA4=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Statistique", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLpDDf2zNOiFs=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpDDf2zNP3wA=", + "_parent": { + "$ref": "AAAAAAGLpDDf2zNOiFs=" + }, + "reference": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLpDDf2zNQzDU=", + "_parent": { + "$ref": "AAAAAAGLpDDf2zNOiFs=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "navigable": "navigable" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwixuGGJpE4=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "idStatistique", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwlhdmOIz0E=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "distanceTotale", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwmwgWUPuog=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "poids", + "visibility": "private", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwnYLWYeNa4=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "tempsTotal", + "visibility": "private", + "type": "time" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwoPTGct0ws=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "FCmoyenne", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwps72g8dI8=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "FCmin", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwqb7mlLpYw=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "FCmax", + "visibility": "private", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrwq/JGpaMCs=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "caloriesBrulées", + "visibility": "private", + "type": "int" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3EVAEQqWm2c=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "getStatistique", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3EWyFw84O9s=", + "_parent": { + "$ref": "AAAAAAGL3EVAEQqWm2c=" + }, + "type": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3EWydxA200E=", + "_parent": { + "$ref": "AAAAAAGLpDCydyvBWA4=" + }, + "name": "__toString", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3EX7bBOIgbw=", + "_parent": { + "$ref": "AAAAAAGL3EWydxA200E=" + }, + "name": "Statistique", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3EX7bROJu3A=", + "_parent": { + "$ref": "AAAAAAGL3EWydxA200E=" + }, + "type": "String", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpDGNPV37CeU=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGLpDG1k1/VDfE=", + "_parent": { + "$ref": "AAAAAAGLpDGNPV37CeU=" + }, + "name": "Operation1" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpDN9jGOcNzo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Afficheur" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpDOU2mUWdIY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Saissiseur" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLpDO85Wao3Xs=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Suppresseur" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLrxb6dUqeBKo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Entrainement", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL++OFOjnitkY=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "source": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "target": { + "$ref": "AAAAAAGL8lJC3yKeddk=" + } + } + ], + "stereotype": "abstract", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxcxm0yu9ck=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "idEntrainement", + "type": "int" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxdjg05lkd0=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "date", + "type": "Date" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL7QbRBNAl41g=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "latitude", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxeDFU+VhpI=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "longitude", + "type": "float" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxezwlDFkh4=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "description", + "type": "text" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAGLrxfiTFH1ArI=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "feedback", + "type": "text" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3D2F3gDGuRs=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "getId", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3D3LVQdJ3C4=", + "_parent": { + "$ref": "AAAAAAGL3D2F3gDGuRs=" + }, + "type": "int", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL++UQDELkhBM=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "getDate", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++U2OEZpVpc=", + "_parent": { + "$ref": "AAAAAAGL++UQDELkhBM=" + }, + "type": "DateTime", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL++U2j0eU938=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "getLocation", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++VhlEsZBcw=", + "_parent": { + "$ref": "AAAAAAGL++U2j0eU938=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL++Vh50xEGPg=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "getDescription", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++Wi6k/JzIU=", + "_parent": { + "$ref": "AAAAAAGL++Vh50xEGPg=" + }, + "type": "Text", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL++WjUVD03ak=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "getFeedBack", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++XGtVR5vT8=", + "_parent": { + "$ref": "AAAAAAGL++WjUVD03ak=" + }, + "type": "String", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL++XHM1Wk8GA=", + "_parent": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "name": "__toString", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++XvGlkp8eA=", + "_parent": { + "$ref": "AAAAAAGL++XHM1Wk8GA=" + }, + "type": "String", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLrxlW1I2zOyU=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Groupe", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLrxtgF6RW9mw=", + "_parent": { + "$ref": "AAAAAAGLrxlW1I2zOyU=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxtgF6RXHhs=", + "_parent": { + "$ref": "AAAAAAGLrxtgF6RW9mw=" + }, + "reference": { + "$ref": "AAAAAAGLrxlW1I2zOyU=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxtgF6RY8Ic=", + "_parent": { + "$ref": "AAAAAAGLrxtgF6RW9mw=" + }, + "reference": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLrxxzThcUhGA=", + "_parent": { + "$ref": "AAAAAAGLrxlW1I2zOyU=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxxzThcVL6o=", + "_parent": { + "$ref": "AAAAAAGLrxxzThcUhGA=" + }, + "reference": { + "$ref": "AAAAAAGLrxlW1I2zOyU=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLrxxzThcWPZ8=", + "_parent": { + "$ref": "AAAAAAGLrxxzThcUhGA=" + }, + "reference": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw7nD48sOfVM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "index.php", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw7pt1PGAP1c=", + "_parent": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw7pt1PGB1i0=", + "_parent": { + "$ref": "AAAAAAGLw7pt1PGAP1c=" + }, + "reference": { + "$ref": "AAAAAAGLw7nD48sOfVM=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw7pt1PGCpVw=", + "_parent": { + "$ref": "AAAAAAGLw7pt1PGAP1c=" + }, + "reference": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw7oXg9WQpWI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Console.php", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw7x8nxMcncI=", + "_parent": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw7x8nxMdRU0=", + "_parent": { + "$ref": "AAAAAAGLw7x8nxMcncI=" + }, + "reference": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw7x8nxMeKxY=", + "_parent": { + "$ref": "AAAAAAGLw7x8nxMcncI=" + }, + "reference": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLw8OfyokBM5A=", + "_parent": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "source": { + "$ref": "AAAAAAGLw7oXg9WQpWI=" + }, + "target": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw7v65PPlleU=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "DataManager", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw739qDtrDhg=", + "_parent": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw739qDtsLsw=", + "_parent": { + "$ref": "AAAAAAGLw739qDtrDhg=" + }, + "reference": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw739qDtt8oQ=", + "_parent": { + "$ref": "AAAAAAGLw739qDtrDhg=" + }, + "reference": { + "$ref": "AAAAAAGLw722NTGx6eY=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3EEppBTCx28=", + "_parent": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3EEppBTDPCs=", + "_parent": { + "$ref": "AAAAAAGL3EEppBTCx28=" + }, + "reference": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3EEppBTE3EY=", + "_parent": { + "$ref": "AAAAAAGL3EEppBTCx28=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lXBSa6/2w4=", + "_parent": { + "$ref": "AAAAAAGLw7v65PPlleU=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lXBSa7AoxY=", + "_parent": { + "$ref": "AAAAAAGL8lXBSa6/2w4=" + }, + "reference": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lXBSa7B00o=", + "_parent": { + "$ref": "AAAAAAGL8lXBSa6/2w4=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "navigable": "navigable" + } + } + ], + "stereotype": "abstract" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw7wcvPtpS0g=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Stub", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLw7xJLQpG+ik=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "source": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "target": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw79ywHVPvfw=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw79ywHVQcT8=", + "_parent": { + "$ref": "AAAAAAGLw79ywHVPvfw=" + }, + "reference": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw79ywHVRW1U=", + "_parent": { + "$ref": "AAAAAAGLw79ywHVPvfw=" + }, + "reference": { + "$ref": "AAAAAAGLw722NTGx6eY=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLw8O3vpcZDOs=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "source": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "target": { + "$ref": "AAAAAAGLw722NTGx6eY=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8e3m2zur3i0=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8e3m3DusHLI=", + "_parent": { + "$ref": "AAAAAAGL8e3m2zur3i0=" + }, + "reference": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8e3m3Dut15M=", + "_parent": { + "$ref": "AAAAAAGL8e3m2zur3i0=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lNA6tzH31s=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNA6tzIag0=", + "_parent": { + "$ref": "AAAAAAGL8lNA6tzH31s=" + }, + "reference": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNA6tzJ0wg=", + "_parent": { + "$ref": "AAAAAAGL8lNA6tzH31s=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+8owjNKG+JM=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8owjNKHXMk=", + "_parent": { + "$ref": "AAAAAAGL+8owjNKG+JM=" + }, + "reference": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8owjNKIBW4=", + "_parent": { + "$ref": "AAAAAAGL+8owjNKG+JM=" + }, + "reference": { + "$ref": "AAAAAAGL+8nHIFKZGGE=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGL+9V6xkTTcHA=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "source": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "target": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+9lB2GJMfIE=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+9lB2WJNfVI=", + "_parent": { + "$ref": "AAAAAAGL+9lB2GJMfIE=" + }, + "reference": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+9lB2WJO1RQ=", + "_parent": { + "$ref": "AAAAAAGL+9lB2GJMfIE=" + }, + "reference": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+9lQz3og1pg=", + "_parent": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+9lQz3ohaCY=", + "_parent": { + "$ref": "AAAAAAGL+9lQz3og1pg=" + }, + "reference": { + "$ref": "AAAAAAGLw7wcvPtpS0g=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+9lQz3oiCYc=", + "_parent": { + "$ref": "AAAAAAGL+9lQz3og1pg=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw722NTGx6eY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IUserManager", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw77Um1toR1M=", + "_parent": { + "$ref": "AAAAAAGLw722NTGx6eY=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw77Um1tpvS8=", + "_parent": { + "$ref": "AAAAAAGLw77Um1toR1M=" + }, + "reference": { + "$ref": "AAAAAAGLw722NTGx6eY=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw77Um1tqTz8=", + "_parent": { + "$ref": "AAAAAAGLw77Um1toR1M=" + }, + "reference": { + "$ref": "AAAAAAGLw75/NVNSG5E=" + }, + "navigable": "navigable" + } + } + ], + "stereotype": "sbtract" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw74acUM+FsM=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "UserManager", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLw75J1lDRG8o=", + "_parent": { + "$ref": "AAAAAAGLw74acUM+FsM=" + }, + "source": { + "$ref": "AAAAAAGLw74acUM+FsM=" + }, + "target": { + "$ref": "AAAAAAGLw722NTGx6eY=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw7+J/n3/B1Y=", + "_parent": { + "$ref": "AAAAAAGLw74acUM+FsM=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw7+J/n4AoQo=", + "_parent": { + "$ref": "AAAAAAGLw7+J/n3/B1Y=" + }, + "reference": { + "$ref": "AAAAAAGLw74acUM+FsM=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw7+J/n4BrBk=", + "_parent": { + "$ref": "AAAAAAGLw7+J/n3/B1Y=" + }, + "reference": { + "$ref": "AAAAAAGLw75/NVNSG5E=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGLw8PRbqZ11JM=", + "_parent": { + "$ref": "AAAAAAGLw74acUM+FsM=" + }, + "source": { + "$ref": "AAAAAAGLw74acUM+FsM=" + }, + "target": { + "$ref": "AAAAAAGLw75/NVNSG5E=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw75/NVNSG5E=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IAuthService", + "stereotype": "abstract" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw77mx15mj/c=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "AuthService", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLw78az2rf0JI=", + "_parent": { + "$ref": "AAAAAAGLw77mx15mj/c=" + }, + "source": { + "$ref": "AAAAAAGLw77mx15mj/c=" + }, + "target": { + "$ref": "AAAAAAGLw75/NVNSG5E=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw8AdI58up9U=", + "_parent": { + "$ref": "AAAAAAGLw77mx15mj/c=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8AdI58v8mI=", + "_parent": { + "$ref": "AAAAAAGLw8AdI58up9U=" + }, + "reference": { + "$ref": "AAAAAAGLw77mx15mj/c=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8AdI58w4bI=", + "_parent": { + "$ref": "AAAAAAGLw8AdI58up9U=" + }, + "reference": { + "$ref": "AAAAAAGLw7+uCZK14Kw=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw8DsaAT3Z3E=", + "_parent": { + "$ref": "AAAAAAGLw77mx15mj/c=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8DsaQT4sn8=", + "_parent": { + "$ref": "AAAAAAGLw8DsaAT3Z3E=" + }, + "reference": { + "$ref": "AAAAAAGLw77mx15mj/c=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8DsaQT5+dg=", + "_parent": { + "$ref": "AAAAAAGLw8DsaAT3Z3E=" + }, + "reference": { + "$ref": "AAAAAAGLw8CsTvtt06M=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw7+uCZK14Kw=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IHashPasswd", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw8CDXMoYIRA=", + "_parent": { + "$ref": "AAAAAAGLw7+uCZK14Kw=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8CDXMoZH4o=", + "_parent": { + "$ref": "AAAAAAGLw8CDXMoYIRA=" + }, + "reference": { + "$ref": "AAAAAAGLw7+uCZK14Kw=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8CDXMoaWgc=", + "_parent": { + "$ref": "AAAAAAGLw8CDXMoYIRA=" + }, + "reference": { + "$ref": "AAAAAAGLw8A1cbelFNg=" + }, + "navigable": "navigable" + } + } + ], + "stereotype": "abstract" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw8A1cbelFNg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "HashPasswd", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGLw8P2P7Eq0Zg=", + "_parent": { + "$ref": "AAAAAAGLw8A1cbelFNg=" + }, + "source": { + "$ref": "AAAAAAGLw8A1cbelFNg=" + }, + "target": { + "$ref": "AAAAAAGLw7+uCZK14Kw=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw8CsTvtt06M=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IUserRepository", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw8E4dyjMplk=", + "_parent": { + "$ref": "AAAAAAGLw8CsTvtt06M=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8E4dyjNt00=", + "_parent": { + "$ref": "AAAAAAGLw8E4dyjMplk=" + }, + "reference": { + "$ref": "AAAAAAGLw8CsTvtt06M=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8E4dyjOpGg=", + "_parent": { + "$ref": "AAAAAAGLw8E4dyjMplk=" + }, + "reference": { + "$ref": "AAAAAAGLw8ERdB3gYJY=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw8ERdB3gYJY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "UserRepository", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGLw8FINzNWfKU=", + "_parent": { + "$ref": "AAAAAAGLw8ERdB3gYJY=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8FINzNXfFM=", + "_parent": { + "$ref": "AAAAAAGLw8FINzNWfKU=" + }, + "reference": { + "$ref": "AAAAAAGLw8ERdB3gYJY=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGLw8FINzNYczE=", + "_parent": { + "$ref": "AAAAAAGLw8FINzNWfKU=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGLw8GJdFMAfwk=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Role", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3B3/yvI7wq4=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "*lesUsers", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3B3/yvI8/hQ=", + "_parent": { + "$ref": "AAAAAAGL3B3/yvI7wq4=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3B3/yvI9HQU=", + "_parent": { + "$ref": "AAAAAAGL3B3/yvI7wq4=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "navigable": "navigable" + }, + "visibility": "protected" + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lAAXUGgrrQ=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lAAXUGh/wI=", + "_parent": { + "$ref": "AAAAAAGL8lAAXUGgrrQ=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lAAXUGi4/c=", + "_parent": { + "$ref": "AAAAAAGL8lAAXUGgrrQ=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lKzBWBVyb4=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lKzBWBWoKM=", + "_parent": { + "$ref": "AAAAAAGL8lKzBWBVyb4=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lKzBWBXFpY=", + "_parent": { + "$ref": "AAAAAAGL8lKzBWBVyb4=" + }, + "reference": { + "$ref": "AAAAAAGL8lJC3yKeddk=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL++ZRWq9wC2Q=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++ZRWq9xmHA=", + "_parent": { + "$ref": "AAAAAAGL++ZRWq9wC2Q=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++ZRWq9yVyo=", + "_parent": { + "$ref": "AAAAAAGL++ZRWq9wC2Q=" + }, + "reference": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL++iBHvdP07A=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "entrainementRepository", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++iBHvdQzLE=", + "_parent": { + "$ref": "AAAAAAGL++iBHvdP07A=" + }, + "reference": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++iBHvdR3xE=", + "_parent": { + "$ref": "AAAAAAGL++iBHvdP07A=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "navigable": "navigable" + }, + "visibility": "protected" + } + ], + "stereotype": "abstract", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL3EO77J2JFbo=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "id", + "visibility": "protected", + "type": "int" + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL8lDIQHjxa7g=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "getUsersList", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9z2Wk7Rkl0=", + "_parent": { + "$ref": "AAAAAAGL8lDIQHjxa7g=" + }, + "type": "?array", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+91tC2YUaHo=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "getUserList", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+93WVmslMmk=", + "_parent": { + "$ref": "AAAAAAGL+91tC2YUaHo=" + }, + "name": "user", + "type": "User" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+93WWGsme7k=", + "_parent": { + "$ref": "AAAAAAGL+91tC2YUaHo=" + }, + "type": "?User", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+93v8Z0NH0E=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "getEntrainement", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+95FxaCSyVw=", + "_parent": { + "$ref": "AAAAAAGL+93v8Z0NH0E=" + }, + "type": "?EntrainementRepository", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+90Kble5JDw=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "getEntrainementsList", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+91Bwls+tYg=", + "_parent": { + "$ref": "AAAAAAGL+90Kble5JDw=" + }, + "type": "?array", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+95b8qX+sig=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "getEntrainementList", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+97c6amDCSE=", + "_parent": { + "$ref": "AAAAAAGL+95b8qX+sig=" + }, + "name": "entrainement", + "type": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + } + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+97c66mEPPE=", + "_parent": { + "$ref": "AAAAAAGL+95b8qX+sig=" + }, + "type": "?EntrainementSportif", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL8lQnmhRLfho=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "checkAdd", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL8lRFEBfQcoA=", + "_parent": { + "$ref": "AAAAAAGL8lQnmhRLfho=" + }, + "type": "bool", + "direction": "return" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL8lTMXSaTy7k=", + "_parent": { + "$ref": "AAAAAAGL8lQnmhRLfho=" + }, + "name": "user", + "type": "User" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL8lROwx08WBA=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "chackAddEntrainement", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL8lSScCDBz5M=", + "_parent": { + "$ref": "AAAAAAGL8lROwx08WBA=" + }, + "name": "entrainement", + "type": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + } + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL8lSSciDCofo=", + "_parent": { + "$ref": "AAAAAAGL8lROwx08WBA=" + }, + "type": "bool", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL3B61dD33CBk=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "addUser", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3CF8BUD1MaE=", + "_parent": { + "$ref": "AAAAAAGL3B61dD33CBk=" + }, + "name": "user", + "type": "User" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL3CF8BkD2uFE=", + "_parent": { + "$ref": "AAAAAAGL3B61dD33CBk=" + }, + "type": "bool", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL58RPF/SE7Hs=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "removeUser", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL58SDNfeCYS0=", + "_parent": { + "$ref": "AAAAAAGL58RPF/SE7Hs=" + }, + "name": "user", + "type": "User" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL58SDN/eDi6M=", + "_parent": { + "$ref": "AAAAAAGL58RPF/SE7Hs=" + }, + "type": "bool", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL8lBBHXFLScI=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "addEntrainement", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL8lCF13QufIw=", + "_parent": { + "$ref": "AAAAAAGL8lBBHXFLScI=" + }, + "name": "entr", + "type": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + } + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL8lCF2HQvGso=", + "_parent": { + "$ref": "AAAAAAGL8lBBHXFLScI=" + }, + "type": "bool", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL++Fe3CpxsSg=", + "_parent": { + "$ref": "AAAAAAGLw8GJdFMAfwk=" + }, + "name": "removeEntrainement", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++GDKi32bTY=", + "_parent": { + "$ref": "AAAAAAGL++Fe3CpxsSg=" + }, + "name": "entr", + "type": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + } + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL++GDKy3305U=", + "_parent": { + "$ref": "AAAAAAGL++Fe3CpxsSg=" + }, + "type": "bool", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL3CMxnEguLCQ=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "CoachAthlete", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL3CS00FlI+OY=", + "_parent": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "source": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "target": { + "$ref": "AAAAAAGLpAZHmx2CSnc=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3DzrydAwEjA=", + "_parent": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "name": "ent", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DzrydAx3B4=", + "_parent": { + "$ref": "AAAAAAGL3DzrydAwEjA=" + }, + "reference": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3DzrydAyGD8=", + "_parent": { + "$ref": "AAAAAAGL3DzrydAwEjA=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLDependency", + "_id": "AAAAAAGL3EhnKwk9Pw0=", + "_parent": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "source": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "target": { + "$ref": "AAAAAAGLpAzboB41ECQ=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL++fe3kQi84s=", + "_parent": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++fe3kQjPRk=", + "_parent": { + "$ref": "AAAAAAGL++fe3kQi84s=" + }, + "reference": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++fe3kQkqMw=", + "_parent": { + "$ref": "AAAAAAGL++fe3kQi84s=" + }, + "reference": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL++hbOMaLLhI=", + "_parent": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++hbOMaMnnU=", + "_parent": { + "$ref": "AAAAAAGL++hbOMaLLhI=" + }, + "reference": { + "$ref": "AAAAAAGL3CMxnEguLCQ=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++hbOMaN3HA=", + "_parent": { + "$ref": "AAAAAAGL++hbOMaLLhI=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL3EA5pS43tRY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "CoachManager", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL3EE9vyQmH2s=", + "_parent": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3EE9wCQnjEA=", + "_parent": { + "$ref": "AAAAAAGL3EE9vyQmH2s=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL3EE9wCQorTo=", + "_parent": { + "$ref": "AAAAAAGL3EE9vyQmH2s=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lOXnTwD+Jk=", + "_parent": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lOXnTwEKpY=", + "_parent": { + "$ref": "AAAAAAGL8lOXnTwD+Jk=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lOXnTwFBh4=", + "_parent": { + "$ref": "AAAAAAGL8lOXnTwD+Jk=" + }, + "reference": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+8nwg3agVXE=", + "_parent": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "source": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "target": { + "$ref": "AAAAAAGL+8nHIFKZGGE=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+8rOHkkjQa8=", + "_parent": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8rOH0kk5Us=", + "_parent": { + "$ref": "AAAAAAGL+8rOHkkjQa8=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8rOH0kl1Ag=", + "_parent": { + "$ref": "AAAAAAGL+8rOHkkjQa8=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+9dNnjZFrD0=", + "_parent": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "source": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "target": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL8e8PLkVkOWg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "UserRepository", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lO7+GO/UQE=", + "_parent": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lO7+GPAblU=", + "_parent": { + "$ref": "AAAAAAGL8lO7+GO/UQE=" + }, + "reference": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lO7+GPBs+g=", + "_parent": { + "$ref": "AAAAAAGL8lO7+GO/UQE=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+9Ru2TbDJ+A=", + "_parent": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "source": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "target": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + } + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL+8w3liysleM=", + "_parent": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "name": "users", + "visibility": "private", + "type": "array" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL8e9J0FdHmso=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "AuthService", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lNUk/Ru41c=", + "_parent": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNUk/RvtFM=", + "_parent": { + "$ref": "AAAAAAGL8lNUk/Ru41c=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNUk/RwcBM=", + "_parent": { + "$ref": "AAAAAAGL8lNUk/Ru41c=" + }, + "reference": { + "$ref": "AAAAAAGL3EA5pS43tRY=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lNl2wXc834=", + "_parent": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNl2wXdgpY=", + "_parent": { + "$ref": "AAAAAAGL8lNl2wXc834=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNl2wXekOo=", + "_parent": { + "$ref": "AAAAAAGL8lNl2wXc834=" + }, + "reference": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+8pYQv2ZiyI=", + "_parent": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8pYQv2aok8=", + "_parent": { + "$ref": "AAAAAAGL+8pYQv2ZiyI=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8pYQv2bihk=", + "_parent": { + "$ref": "AAAAAAGL+8pYQv2ZiyI=" + }, + "reference": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+9YU26wTNo0=", + "_parent": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+9YU26wUZOY=", + "_parent": { + "$ref": "AAAAAAGL+9YU26wTNo0=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+9YU26wVXhc=", + "_parent": { + "$ref": "AAAAAAGL+9YU26wTNo0=" + }, + "reference": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL8fAHTJcd2Kc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "UserManager", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lNzphcjVzA=", + "_parent": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNzphckA0Q=", + "_parent": { + "$ref": "AAAAAAGL8lNzphcjVzA=" + }, + "reference": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lNzphcloeU=", + "_parent": { + "$ref": "AAAAAAGL8lNzphcjVzA=" + }, + "reference": { + "$ref": "AAAAAAGLo/fkFXnWSO0=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lOuHlPLHnQ=", + "_parent": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lOuHlPMMOQ=", + "_parent": { + "$ref": "AAAAAAGL8lOuHlPLHnQ=" + }, + "reference": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lOuHlPNza4=", + "_parent": { + "$ref": "AAAAAAGL8lOuHlPLHnQ=" + }, + "reference": { + "$ref": "AAAAAAGL8e8PLkVkOWg=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+8oAEIaDan4=", + "_parent": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "source": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "target": { + "$ref": "AAAAAAGL+8nHIFKZGGE=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL+8tZ967YT0Q=", + "_parent": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8tZ967ZQD0=", + "_parent": { + "$ref": "AAAAAAGL+8tZ967YT0Q=" + }, + "reference": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL+8tZ967azMY=", + "_parent": { + "$ref": "AAAAAAGL+8tZ967YT0Q=" + }, + "reference": { + "$ref": "AAAAAAGL8e9J0FdHmso=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+9c7CRuveJk=", + "_parent": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "source": { + "$ref": "AAAAAAGL8fAHTJcd2Kc=" + }, + "target": { + "$ref": "AAAAAAGLw7v65PPlleU=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL8kwWMOvqRNg=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "EntrainementRepository", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8kz1eGm5YVc=", + "_parent": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "name": "*lesEntrainements", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8kz1eGm6iIc=", + "_parent": { + "$ref": "AAAAAAGL8kz1eGm5YVc=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8kz1eWm7nGc=", + "_parent": { + "$ref": "AAAAAAGL8kz1eGm5YVc=" + }, + "reference": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+9Se8MmZLdo=", + "_parent": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "source": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "target": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL++NtKh6cvUs=", + "_parent": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++NtKh6dcW8=", + "_parent": { + "$ref": "AAAAAAGL++NtKh6cvUs=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++NtKh6eGOg=", + "_parent": { + "$ref": "AAAAAAGL++NtKh6cvUs=" + }, + "reference": { + "$ref": "AAAAAAGL8lJC3yKeddk=" + }, + "navigable": "navigable" + } + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL++Z1IOrl2bA=", + "_parent": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "name": "entrainementList", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++Z1IOrmj24=", + "_parent": { + "$ref": "AAAAAAGL++Z1IOrl2bA=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL++Z1IOrnew4=", + "_parent": { + "$ref": "AAAAAAGL++Z1IOrl2bA=" + }, + "reference": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + }, + "navigable": "navigable" + }, + "visibility": "private" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL8lJC3yKeddk=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Entrainement", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGL8lLYKYP6eHU=", + "_parent": { + "$ref": "AAAAAAGL8lJC3yKeddk=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lLYKYP7ejM=", + "_parent": { + "$ref": "AAAAAAGL8lLYKYP6eHU=" + }, + "reference": { + "$ref": "AAAAAAGL8lJC3yKeddk=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGL8lLYKYP8bHc=", + "_parent": { + "$ref": "AAAAAAGL8lLYKYP6eHU=" + }, + "reference": { + "$ref": "AAAAAAGL8kwWMOvqRNg=" + }, + "navigable": "navigable" + } + } + ], + "stereotype": "interfaces", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL++Q3gS35XNs=", + "_parent": { + "$ref": "AAAAAAGL8lJC3yKeddk=" + }, + "name": "Attribute1", + "type": "" + } + ] + }, + { + "_type": "UMLModel", + "_id": "AAAAAAGL8oOYXQr/AQc=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Models" + }, + { + "_type": "UMLPackage", + "_id": "AAAAAAGL8oPx1E8rJeI=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Package1" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL8qWWJj6joa0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Responsabilité", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAGL8qXHfUcNtPA=", + "_parent": { + "$ref": "AAAAAAGL8qWWJj6joa0=" + }, + "name": "But principale de la classe", + "type": "" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL+8nHIFKZGGE=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "DataManager" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL+82j2lEaUGY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IGenericRepository", + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+84tpm4nUBQ=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "getItemById", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+86GNHNuQcE=", + "_parent": { + "$ref": "AAAAAAGL+84tpm4nUBQ=" + }, + "name": "id", + "type": "int" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+86cPHlwc+E=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "getNbItems", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+88J8ZbWW34=", + "_parent": { + "$ref": "AAAAAAGL+86cPHlwc+E=" + }, + "type": "int", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+86fO3zWI0s=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "getItems", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9DcKZwZz84=", + "_parent": { + "$ref": "AAAAAAGL+86fO3zWI0s=" + }, + "name": "index", + "type": "int" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9DcLJwaaCk=", + "_parent": { + "$ref": "AAAAAAGL+86fO3zWI0s=" + }, + "name": "count", + "type": "int" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9DcLJwbnOI=", + "_parent": { + "$ref": "AAAAAAGL+86fO3zWI0s=" + }, + "name": "orderingPropertyName", + "type": "?String" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9DcLZwcFiA=", + "_parent": { + "$ref": "AAAAAAGL+86fO3zWI0s=" + }, + "name": "descending", + "type": "bool" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9DcLZwdTV8=", + "_parent": { + "$ref": "AAAAAAGL+86fO3zWI0s=" + }, + "type": "array", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+86ncIA8/pY=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "getItemsByName", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9H4NaLkbQE=", + "_parent": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "name": "substring", + "type": "String" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9H4N6Llqjg=", + "_parent": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "name": "index", + "type": "int" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9H4N6LmObw=", + "_parent": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "name": "count", + "type": "int" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9H4N6LnQEw=", + "_parent": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "name": "orderingPropertyName", + "type": "?String" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9H4OKLo8r8=", + "_parent": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "name": "descending", + "type": "bool" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9H4OKLph44=", + "_parent": { + "$ref": "AAAAAAGL+86ncIA8/pY=" + }, + "type": "?array", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+86p3oOiaNc=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "getItemsByName", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9JcOrExLOI=", + "_parent": { + "$ref": "AAAAAAGL+86p3oOiaNc=" + }, + "name": "substring", + "type": "String" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9JcPLEybNk=", + "_parent": { + "$ref": "AAAAAAGL+86p3oOiaNc=" + }, + "name": "index", + "type": "int" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9JcPbEz+zo=", + "_parent": { + "$ref": "AAAAAAGL+86p3oOiaNc=" + }, + "name": "count", + "type": "int" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9JcPbE0XQI=", + "_parent": { + "$ref": "AAAAAAGL+86p3oOiaNc=" + }, + "name": "orderingPropertyName", + "type": "?String" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9JcPbE1q0s=", + "_parent": { + "$ref": "AAAAAAGL+86p3oOiaNc=" + }, + "name": "descending", + "type": "bool" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+86sTYcItmQ=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "updateItem", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9LXLLf8t0A=", + "_parent": { + "$ref": "AAAAAAGL+86sTYcItmQ=" + }, + "name": "oldItem", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9LXLrf9C5A=", + "_parent": { + "$ref": "AAAAAAGL+86sTYcItmQ=" + }, + "name": "newItem", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9LXLrf+Tzg=", + "_parent": { + "$ref": "AAAAAAGL+86sTYcItmQ=" + }, + "type": "void", + "direction": "return" + } + ] + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAGL+86ui4puvnk=", + "_parent": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + }, + "name": "deleteItem", + "parameters": [ + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9MCVL4Dc40=", + "_parent": { + "$ref": "AAAAAAGL+86ui4puvnk=" + }, + "name": "item", + "type": "" + }, + { + "_type": "UMLParameter", + "_id": "AAAAAAGL+9MCVb4E2Hk=", + "_parent": { + "$ref": "AAAAAAGL+86ui4puvnk=" + }, + "type": "bool", + "direction": "return" + } + ] + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL+9O3E77+iB4=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "ITrainingRepository", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+9RSGRB8+vM=", + "_parent": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "source": { + "$ref": "AAAAAAGL+9O3E77+iB4=" + }, + "target": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL+9PlDtA7iBo=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Class1" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL+9PoMtQG54g=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IUserRepository", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL+9RdJBsWH7s=", + "_parent": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "source": { + "$ref": "AAAAAAGL+9PoMtQG54g=" + }, + "target": { + "$ref": "AAAAAAGL+82j2lEaUGY=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL+9Qa4uFEN74=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Class2" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGL++aCGgpsPN4=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "EntrainementSportif", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGL++arORiCGus=", + "_parent": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "source": { + "$ref": "AAAAAAGL++aCGgpsPN4=" + }, + "target": { + "$ref": "AAAAAAGLrxb6dUqeBKo=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMBpdAZQuSkhA=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IFileReader" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMBpd9ig65uB8=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "AthlketeMgr", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAGMBperGiDRgno=", + "_parent": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMBperGiDSkv4=", + "_parent": { + "$ref": "AAAAAAGMBperGiDRgno=" + }, + "reference": { + "$ref": "AAAAAAGMBpd9ig65uB8=" + } + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAGMBperGiDT2kA=", + "_parent": { + "$ref": "AAAAAAGMBperGiDRgno=" + }, + "reference": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + }, + "navigable": "navigable" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMBpe7/CSbj9A=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Fit", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGMBpfYWi3Xomc=", + "_parent": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "source": { + "$ref": "AAAAAAGMBpe7/CSbj9A=" + }, + "target": { + "$ref": "AAAAAAGMBpdAZQuSkhA=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMBpo0VdxaKM0=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "IAnalyseur" + }, + { + "_type": "UMLClass", + "_id": "AAAAAAGMBqILMC7uP0g=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Analyseur", + "ownedElements": [ + { + "_type": "UMLGeneralization", + "_id": "AAAAAAGMBsEyOCaJKLw=", + "_parent": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "source": { + "$ref": "AAAAAAGMBqILMC7uP0g=" + }, + "target": { + "$ref": "AAAAAAGMBpo0VdxaKM0=" + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md b/docs/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md new file mode 100644 index 0000000..3002217 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md @@ -0,0 +1,202 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Diagramme de Classes : Plateforme de Gestion d'Activités Sportives + +Bienvenue dans l'écosystème dynamique de notre plateforme de gestion d'activités sportives ! Ce diagramme de classes offre une vision complète des entités et des relations qui façonnent l'expérience des utilisateurs au sein de notre système. + +**Entités Principales :** + +- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, avec des détails personnels tels que le nom, le prénom, l'email, etc. Chaque utilisateur a un rôle spécifique (Athlete, Coach) qui détermine ses interactions au sein de l'application. + +- **Rôle (Role) :** Classe abstraite qui définit les rôles spécifiques des utilisateurs (Athlete, Coach). Contient des méthodes pour gérer les amis, les entraînements, et les demandes. + +- **Athlète (Athlete) :** Spécialisation de la classe Role, représentant les utilisateurs actifs qui enregistrent des activités sportives, des statistiques, et interagissent avec d'autres athlètes. + +- **Activité (Activite) :** Contient des détails sur une activité sportive tels que le type, la date, la durée, la fréquence cardiaque, etc. + +- **Notification (Notification) :** Messages pour informer les utilisateurs des actions importantes. + +- **Entraînement (Entrainement) :** Sessions planifiées d'activités physiques avec des détails comme la date, la localisation, la description, et les retours. + +- **Statistique (Statistique) :** Informations détaillées sur les performances sportives d'un athlète, comprenant la distance totale, le poids, le temps total, la fréquence cardiaque, etc. + +- **Source de Données (SourceDonnees) :** Représente les sources utilisées pour collecter des données, telles que les montres connectées. + +**Relations Clés :** + +- Les Utilisateurs ont un rôle spécifique (Athlete, Coach) qui détermine leurs fonctionnalités. + +- Un Athlète peut enregistrer plusieurs Activités, Statistiques, et interagir avec différentes Sources de Données. + +- Les Entraînements sont liés aux Utilisateurs, permettant une planification efficace. + +- Les Notifications informent les Utilisateurs des événements importants. + +Explorez ce diagramme pour comprendre comment notre plateforme offre une expérience complète, de la gestion des utilisateurs à l'enregistrement des activités sportives et au suivi des performances. + + +```plantuml +@startuml +class User { + - id: int + - username: String + - nom: string + - prenom: string + - email: string + - motDePasse: string + - sexe: string + - taille: float + - poids: float + - dateNaissance: \DateTime + + getId(): int + + getUsername(): string + + setUsername(string $username): void + + setId(int $id): void + + getNom(): string + + setNom(string $nom): void + + getPrenom(): string + + setPrenom(string $prenom): void + + getEmail(): string + + setEmail(string $email): void + + getMotDePasse(): string + + setMotDePasse(string $motDePasse): void + + getSexe(): string + + setSexe(string $sexe): void + + getTaille(): float + + setTaille(float $taille): void + + getPoids(): float + + setPoids(float $poids): void + + getDateNaissance(): \DateTime + + setDateNaissance(\DateTime $dateNaissance): void + + getRole(): Role + + setRole(Role $role): void + + addNotification($notification): void + + deleteNotification($index): void + + isValidPassword(string $password): bool + + __toString(): string +} +abstract class Role { + - id: int + - usersRequests: array + + getUsersList(): array + + getUsersRequests(): array + + addUsersRequests(RelationshipRequest $request): void + + removeRequest(RelationshipRequest $req): bool + + CheckAdd(User $user): bool + + addUser(User $user): bool + + removeUser(User $user): bool + + addTraining(Training $training): bool + + getTrainingsList(): array +} +abstract class Coach extends Role { +} +class CoachAthlete extends Coach { + + CheckAdd(User $user): bool +} +class Athlete extends Role { + + getActivities(): array + + addActivity(Activity $myActivity): bool + + CheckAdd(User $user): bool +} +class Activite { + - idActivity: int + - type: String + - date: \DateTime + - heureDebut: \DateTime + - heureFin: \DateTime + - effortRessenti: int + - variability: float + - variance: float + - standardDeviation: float + - average: int + - maximum: int + - minimum: int + - avrTemperature: float + - hasAutoPause: bool + + getIdActivity(): int + + getType(): String + + getDate(): \DateTime + + getHeureDebut(): \DateTime + + getHeureFin(): \DateTime + + getEffortRessenti(): int + + getVariability(): float + + getVariance(): float + + getStandardDeviation(): float + + getAverage(): float + + getMaximum(): int + + getMinimum(): int + + getAvrTemperature(): float + + setType(String $type): void + + setEffortRessenti(int $effortRessenti): void + + __toString(): String +} +class Notification { + - type: string + - message: string + - toUserId: int + + getType(): string + + setType(string $type): void + + getMessage(): string + + setMessage(string $message): void + + getToUserId(): int + + setToUserId(int $toUserId): void + + __construct(int $toUserId,string $type, string $message) + + __toString(): string +} +class Entrainement { + - idTraining: int + - date: \DateTime + - latitude: float + - longitude: float + - description: String + - feedback: String + + getId(): int + + getDate(): \DateTime + + getLocation(): String + + getDescription(): String + + getFeedback(): String + + __toString(): String +} +class Statistique { + - idStat: int + - distanceTotale: float + - poids: float + - tempsTotal: time + - FCmoyenne: int + - FCmin: int + - FCmax: int + - cloriesBrulees: int + + getIdStat(): int + + getDistanceTotale(): float + + getPoids(): float + + getTempsTotal(): time + + getFCmoyenne(): int + + getFCmin(): int + + getFCmax(): int + + getCloriesBrulees(): int + + __toString(): String +} +class SourceDonnees { + - idSource: int + - nom: String + - type: String + - precision: enum + - dateDerniereUtilisation: \DateTime + + getIdSource(): int + + getNom(): String + + getType(): String + + getPrecision(): enum + + getDateDerniereUtilisation(): \DateTime + + __toString(): String +} +User -> Role : role +Role -> User : usersList +Athlete -> Statistique : statsList +Athlete -> Activite : activityList +Athlete -> SourceDonnees : sdList +User -> Notification : notificationList +User -> Entrainement : trainingsList +Activite -> SourceDonnees : maSource +@enduml +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeClasses/README_accesDonnees.md b/docs/Diagramme/DiagrammeDeClasses/README_accesDonnees.md new file mode 100644 index 0000000..19c5794 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/README_accesDonnees.md @@ -0,0 +1,90 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Diagramme de la Couche d'Accès aux Données + +Bienvenue dans le cœur de notre système, où les données prennent vie à travers des ensembles de données (repositories) structurés et performants. Ce diagramme met en lumière la conception de la couche d'accès aux données de notre application, offrant un aperçu clair de la gestion des entités clées telles que les utilisateurs, les notifications, les demandes de relations et les entraînements. + +**Principes Fondamentaux :** + +- **IGenericRepository :** Une abstraction générique établissant les contrats essentiels pour l'accès aux données. Définissant des opérations standardisées telles que la récupération, la mise à jour, l'ajout et la suppression d'entités. + +- **Interfaces Spécialisées :** Des interfaces telles que `IUserRepository`, `INotificationRepository`, `IRelationshipRequestRepository` et `ITrainingRepository` étendent les fonctionnalités génériques pour répondre aux besoins spécifiques de chaque entité. + +**Repositories Concrets :** + +- **UserRepository :** Gère les données relatives aux utilisateurs, permettant des opérations de récupération, de mise à jour et de suppression avec une efficacité optimale. + +- **NotificationRepository :** Responsable de la gestion des notifications, assurant un accès structuré et une manipulation sécurisée de ces informations cruciales. + +- **RelationshipRequestRepository :** Facilite la gestion des demandes de relations entre utilisateurs, garantissant une interaction claire et ordonnée. + +- **TrainingRepository :** Permet l'accès et la manipulation des données liées aux entraînements, facilitant le suivi des performances athlétiques. + +Explorez ce diagramme pour découvrir la robustesse de notre architecture de gestion des données, mettant en œuvre des pratiques de développement SOLID pour assurer une expérience utilisateur fiable et évolutive. + +```plantuml +@startuml couche_acces_aux_donnees +abstract class IGenericRepository { + + getItemById(int id) : object + + getNbItems() : int + + getItems(int index, int count, string orderingPropertyName, bool descending) : array + + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array + + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object + + updateItem(oldItem, newItem) : void + + addItem(item) : void + + deleteItem(item) : bool +} +interface IUserRepository extends IGenericRepository { +} +interface INotificationRepository extends IGenericRepository { +} +interface IRelationshipRequestRepository extends IGenericRepository { +} +interface ITrainingRepository extends IGenericRepository { +} +class NotificationRepository implements INotificationRepository { + - notifications : array + + getItemById(int id) : object + + getNbItems() : int + + getItems(int index, int count, string orderingPropertyName, bool descending) : array + + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array + + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object + + updateItem(oldItem, newItem) : void + + addItem(item) : void + + deleteItem(item) : bool +} +class RelationshipRequestRepository implements IRelationshipRequestRepository { + - requests : array + + getItemById(int id) : object + + getNbItems() : int + + getItems(int index, int count, string orderingPropertyName, bool descending) : array + + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array + + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object + + updateItem(oldItem, newItem) : void + + addItem(item) : void + + deleteItem(item) : bool +} +class TrainingRepository implements ITrainingRepository { + - trainings : array + + getItemById(int id) : object + + getNbItems() : int + + getItems(int index, int count, string orderingPropertyName, bool descending) : array + + getItemsByDate(date, int index, int count, string orderingPropertyName, bool descending) : array + + updateItem(oldItem, newItem) : void + + addItem(item) : void + + deleteItem(item) : bool +} +class UserRepository implements IUserRepository { + - users : array + + getItemById(int id) : object + + getNbItems() : int + + getItems(int index, int count, string orderingPropertyName, bool descending) : array + + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array + + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object + + updateItem(oldItem, newItem) : void + + addItem(item) : void + + deleteItem(item) : bool +} +@enduml +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeClasses/README_issue016.md b/docs/Diagramme/DiagrammeDeClasses/README_issue016.md new file mode 100644 index 0000000..9d0dac9 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/README_issue016.md @@ -0,0 +1,138 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Diagramme de Classes : Statistiques pour Coach + +Bienvenue dans l'univers captivant de notre système de gestion d'activités sportives avec une mise au point spéciale sur les statistiques destinées aux coaches. Ce diagramme de classes offre une vue approfondie de la manière dont les utilisateurs, en particulier les athlètes et les coaches, interagissent avec les données de performance. + +**Entités Principales :** + +- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, avec des détails personnels et un rôle spécifique dans l'écosystème sportif. + +- **Athlète (Athlete) :** Un type spécialisé d'utilisateur qui peut enregistrer des statistiques liées à ses activités sportives. + +- **Coach (Coach) :** Un rôle qui s'étend à partir de la classe abstraite Role, dédié à la gestion des athlètes et de leurs statistiques. + +- **Statistique (Statistique) :** Contient des informations détaillées sur les performances sportives d'un athlète, telles que la distance totale, le poids, le temps total, la fréquence cardiaque moyenne, minimale et maximale, ainsi que les calories brûlées. + +**Relations Clés :** + +- Les Utilisateurs ont un rôle spécifique (Athlete, Coach) qui influence leurs interactions au sein de la plateforme. + +- Un Coach peut gérer une liste d'athlètes et avoir accès à leurs statistiques. + +- Un Athlète peut enregistrer plusieurs statistiques liées à ses activités. + +**Objectif Principal :** + +- Permettre aux coaches d'accéder et de surveiller les statistiques détaillées de leurs athlètes, offrant ainsi un aperçu complet de leurs performances sportives. + +Explorez ce diagramme pour découvrir comment notre application crée une synergie entre les utilisateurs, les rôles, et les statistiques, contribuant ainsi à une expérience enrichissante dans le suivi des activités sportives. + + +```plantuml +@startuml +class Athlete { + + getAthlete(): Athlete + + getStatistic(): ?array + + getUsersList(): array + + getUserList(user: User): User + + CheckAdd(user: User): bool + + addUser(user: User): bool + + removeUser(user: User): bool +} + +abstract class Coach { + + abstract getUsersList(): ?array + + abstract getUserList(user: User): User +} + +class CoachAthlete { + + getUsersList(): ?array + + getUserList(user: User): User +} + +abstract class Role { + - int id + - array usersList + - TrainingRepository trainingRepository + + abstract __construct(trainingRepository: ?TrainingRepository) + + abstract getUsersList(): ?array + + abstract getUserList(user: User): User + + abstract getTraining(): ?TrainingRepository + + abstract getTrainingsList(): ?array + + abstract getTrainingList(training: Training): ?Training + + abstract CheckAdd(user: User): bool + + abstract CheckAddTraining(training: Training): bool + + abstract addUser(user: User): bool + + abstract removeUser(user: User): bool + + abstract addTraining(training: Training): bool + + abstract removeTraining(training: Training): bool +} + +class User { + - int id + - String username + - string nom + - string prenom + - string email + - string motDePasse + - string sexe + - float taille + - float poids + - DateTime dateNaissance + + __construct(id: int, username: String, nom: string, prenom: string, email: string, motDePasse: string, sexe: string, taille: float, poids: float, dateNaissance: DateTime, role: Role) + + getId(): int + + setId(id: int): void + + getUsername(): String + + setUsername(username: int): void + + getNom(): string + + setNom(nom: string): void + + getPrenom(): string + + setPrenom(prenom: string): void + + getEmail(): string + + setEmail(email: string): void + + getMotDePasse(): string + + setMotDePasse(motDePasse: string): void + + getSexe(): string + + setSexe(sexe: string): void + + getTaille(): float + + setTaille(taille: float): void + + getPoids(): float + + setPoids(poids: float): void + + getDateNaissance(): DateTime + + setDateNaissance(dateNaissance: DateTime): void + + getRole(): Role + + setRole(role: Role): void + + isValidPassword(password: string): bool + + __toString(): String +} + +class Statistique { + - idStat: int + - distanceTotale: float + - poids: float + - tempsTotal: time + - FCmoyenne: int + - FCmin: int + - FCmax: int + - cloriesBrulees: int + + getIdStat(): int + + getDistanceTotale(): float + + getPoids(): float + + getTempsTotal(): time + + getFCmoyenne(): int + + getFCmin(): int + + getFCmax(): int + + getCloriesBrulees(): int + + __toString(): String +} + +CoachAthlete --|> Coach +Coach --|> Role +Athlete --|> Role +User -> Role : role +Role -> User : usersList +Athlete -> Statistique : statsList +@enduml +```` diff --git a/docs/Diagramme/DiagrammeDeClasses/README_issue022.md b/docs/Diagramme/DiagrammeDeClasses/README_issue022.md new file mode 100644 index 0000000..37c0ac4 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/README_issue022.md @@ -0,0 +1,91 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Diagramme de Classes : Gestion des Utilisateurs et Notifications + +Bienvenue dans le cœur de notre système, où la gestion des utilisateurs et des notifications prend vie à travers ce diagramme de classes. Explorez les relations et les fonctionnalités essentielles qui orchestrent l'interaction entre les utilisateurs, les demandes d'amis, et les notifications. + +**Entités Principales :** + +- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, caractérisés par leur nom et établissant des liens d'amitié avec d'autres utilisateurs. + +- **Notification (Notification) :** Contient le texte informatif des notifications qui peuvent être émises par le système. + +- **Demande d'Ami (Ask) :** Modélise une demande d'amitié émise par un utilisateur en direction d'un autre. + +**Interfaces et Classes Abstraites :** + +- **INotifier :** Interface définissant la méthode `notify()`, implémentée par des classes concrètes pour gérer la notification aux observateurs. + +- **Observer :** Interface définissant la méthode `update()`, implémentée par les classes qui souhaitent être informées des changements dans un sujet observé. + +- **UserManager :** Classe abstraite gérant la logique métier liée aux utilisateurs, tels que l'ajout ou la suppression d'amis, la réponse aux demandes d'amis, et la récupération de la liste d'amis. + +- **IUserRepository :** Interface définissant les méthodes pour la recherche d'utilisateurs et l'ajout d'un nouvel utilisateur. + +**Relations Clés :** + +- Les utilisateurs peuvent avoir plusieurs amis et plusieurs notifications. + +- La classe UserManager est connectée à IUserRepository pour gérer les opérations liées aux utilisateurs. + +- Observer et Subject sont des composants du modèle de conception "Observer", permettant la notification efficace des changements dans le système. + +Plongez-vous dans ce diagramme pour découvrir comment notre application crée un écosystème social dynamique, permettant aux utilisateurs d'interagir, de rester informés et de développer des liens significatifs au sein de la communauté. + + +```plantuml +class User { + + name : string +} + +User "1" --> "*" User: friends +User "1" --> "*" Notification: notifications +User "1" --> "*" Ask: friendRequests +class Notification { + - text : string +} + +interface INotifier { + + notify() : void +} + +INotifier --|> Observer + +abstract class UserManager { + - currentUser : User + + deleteFriend(userId : int) : void + + addFriend(userId : int) : void + + respondToFriendRequest(requestId : int, choice : bool) : void + + getFriends(userId : int) : User[] +} + +class Ask { + - fromUser : int + - toUser : int +} + +Ask --|> Subject + +abstract class Subject { + + attach(o : Observer) : void + + detach(o : Observer) : void + + notify() : void +} + +Subject "1" --> "*" Observer +interface Observer { + + update() : void +} + +UserManager ..> User +UserManager o-- IUserRepository +UserManager o-- INotifier + +interface IUserRepository { + + findByUsername(username : string) : User + + addUser(user : User) : bool +} + +IUserRepository ..> User +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeClasses/README_issue023.md b/docs/Diagramme/DiagrammeDeClasses/README_issue023.md new file mode 100644 index 0000000..3763288 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/README_issue023.md @@ -0,0 +1,200 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Modèle de Données de l'Application + +L'architecture de données de notre application de suivi d'activités sportives repose sur un modèle robuste, avec des entités clés pour représenter les activités, les athlètes et les coachs. Découvrez les composants principaux de notre modèle de données : + +## Activité +L'entité Activité représente une session d'activité sportive avec des détails variés tels que le type d'activité, la date, la durée, l'effort ressenti, etc. Le `ActiviteEntity` encapsule ces données, tandis que le `ActiviteGateway` gère la communication avec la base de données pour les activités. + +## Athlète +L'entité Athlète représente un utilisateur de l'application qui participe à des activités sportives. Le `AthleteEntity` stocke les détails de l'athlète, et le `AtheletGateway` facilite l'accès et la gestion des données des athlètes. + +## Coach +L'entité Coach représente un utilisateur qui peut superviser et coacher d'autres athlètes. Le `CoachEntity` stocke les détails du coach, tandis que le `CoachGateway` gère les interactions avec la base de données. + +## Mapper +Les mappers, tels que `ActiviteMapper`, `AthleteMapper`, et `CoachMapper`, facilitent la conversion entre les entités et les modèles utilisés dans l'application. + +## Connexion à la Base de Données +La classe `Connection` étend de `PDO` et assure la connexion à la base de données. Chaque Gateway utilise cette connexion pour interagir avec la base de données. + + +```plantuml +@startuml +class ActiviteEntity { + - idActivite: int + - type: string + - date: string + - heureDebut: string + - heureFin: string + - effortRessenti: int + - variabilite: int + - variance: int + - ecartType: int + - moyenne: int + - maximum: int + - minimum: int + - temperatureMoyenne: int + + getIdActivite(): int + + getType(): string + + getDate(): string + + getHeureDebut(): string + + getHeureFin(): string + + getEffortRessenti(): int + + getVariabilite(): int + + getVariance(): int + + getEcartType(): int + + getMoyenne(): int + + getMaximum(): int + + getMinimum(): int + + getTemperatureMoyenne(): int + + setIdActivite(idActivite: int): void + + setType(type: string): void + + setDate(date: string): void + + setHeureDebut(heureDebut: string): void + + setHeureFin(heureFin: string): void + + setEffortRessenti(effortRessenti: int): void + + setVariabilite(variabilite: int): void + + setVariance(variance: int): void + + setEcartType(ecartType: int): void + + setMoyenne(moyenne: int): void + + setMaximum(maximum: int): void + + setMinimum(minimum: int): void + + setTemperatureMoyenne(temperatureMoyenne: int): void +} +class ActiviteGateway { + + __construct(connection: Connection) + + getActivite(): ?array + + getActiviteById(activiteId: int): ?array + + getActiviteByType(type: string): ?array + + getActiviteByDate(date: string): ?array + + getActiviteByTimeRange(startTime: string, endTime: string): ?array + + getActiviteByEffort(effortRessenti: int): ?array + + getActiviteByVariability(variabilite: int): ?array + + getActiviteByTemperature(temperatureMoyenne: int): ?array + + addActivite(activite: ActiviteEntity): bool + + updateActivite(oldActivite: ActiviteEntity, newActivite: ActiviteEntity): bool + + deleteActivite(idActivite: int): bool +} +class ActiviteMapper { + + map(data: array): ActiviteEntity + + ActiviteEntityToModel(activiteEntity: ActiviteEntity): Activite +} +class AthleteEntity { + - idAthlete: int + - nom: string + - prenom: string + - email: string + - sexe: string + - taille: float + - poids: float + - motDePasse: string + - dateNaissance: string + + getIdAthlete(): int + + getNom(): string + + getPrenom(): string + + getEmail(): string + + getSexe(): string + + getTaille(): float + + getPoids(): float + + getMotDePasse(): string + + getDateNaissance(): string + + setIdAthlete(idAthlete: int): void + + setNom(nom: string): void + + setPrenom(prenom: string): void + + setEmail(email: string): void + + setSexe(sexe: string): void + + setTaille(taille: float): void + + setPoids(poids: float): void + + setMotDePasse(motDePasse: string): void + + setDateNaissance(dateNaissance: string): void +} +class AtheletGateway { + + __construct(connection: Connection) + + getAthlete(): ?array + + getAthleteById(userId: int): ?array + + getAthleteByName(name: string): ?array + + getAthleteByFirstName(firstName: string): ?array + + getAthleteByEmail(email: string): ?array + + getAthleteByGender(gender: string): ?array + + getAthleteByHeight(height: int): ?array + + getAthleteByWeight(weight: int): ?array + + getAthleteByBirthDate(birthdate: string): ?array + + addAthlete(athlete: AthleteEntity): bool + + updateAthlete(oldAthlete: AthleteEntity, newAthlete: AthleteEntity): bool + + deleteAthlete(idAthlete: int): bool +} +class AthleteMapper { + + fromSqlToEntity(data: array): array + + athleteEntityToModel(athleteEntity: AthleteEntity): User + + athleteToEntity(user: User): AthleteEntity +} +class CoachEntity { + - idCoach: int + - nom: string + - prenom: string + - email: string + - sexe: string + - taille: float + - poids: float + - motDePasse: string + - dateNaissance: string + + getIdCoach(): int + + getNom(): string + + getPrenom(): string + + getEmail(): string + + getSexe(): string + + getTaille(): float + + getPoids(): float + + getMotDePasse(): string + + getDateNaissance(): string + + setIdCoach(idCoach: int): void + + setNom(nom: string): void + + setPrenom(prenom: string): void + + setEmail(email: string): void + + setSexe(sexe: string): void + + setTaille(taille: float): void + + setPoids(poids: float): void + + setMotDePasse(motDePasse: string): void + + setDateNaissance(dateNaissance: string): void +} +class CoachGateway { + + __construct(connection: Connection) + + getCoach(): ?array + + getCoachById(userId: int): ?array + + getCoachByName(name: string): ?array + + getCoachByFirstName(firstName: string): ?array + + getCoachByEmail(email: string): ?array + + getCoachByGender(gender : string): ?array + + getCoachByHeight(height: int): ?array + + getCoachByBirthDate(birthdate: string): ?array + + addCoach(coach: CoachEntity): bool + + updateCoach(oldCoach: CoachEntity, newCoach: CoachEntity): bool + + deleteCoach(idCoach: int): bool +} +class CoachMapper { + + map(data: array): CoachEntity + + CoachEntityToModel(coachEntity: CoachEntity): User + + CoachToEntity(user: User): CoachEntity +} +class Connection extends PDO { + - stmt + + __construct(dsn: string, username: string, password: string) + + executeQuery(query: string, parameters: array): bool + + executeWithErrorHandling(query: string, params: array): array + + getResults(): array +} + +Connection <- ActiviteGateway : connection +Connection <- AtheletGateway : connection +Connection <- CoachGateway : connection +AthleteMapper -> AthleteEntity +CoachMapper -> CoachEntity +ActiviteMapper -> ActiviteEntity +ActiviteMapper -> ActiviteGateway +CoachMapper -> CoachGateway +AthleteMapper -> AtheletGateway +@enduml +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeClasses/README_issue028.md b/docs/Diagramme/DiagrammeDeClasses/README_issue028.md new file mode 100644 index 0000000..e1d0cf7 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeClasses/README_issue028.md @@ -0,0 +1,136 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Diagramme de classes pour l'importation de fichiers .fit + +Bienvenue dans le monde de la gestion d'activités sportives avec notre application innovante ! Cette user story se concentre sur une fonctionnalité essentielle qui améliorera l'expérience des utilisateurs : l'importation de fichiers .fit. Nous avons conçu un diagramme de classes pour vous offrir une vision claire et structurée de la manière dont cette fonctionnalité est implémentée au sein de notre application. + +**Acteurs Principaux :** + +- Utilisateur (User) : Représente un individu inscrit sur notre plateforme, avec la capacité d'importer des fichiers .fit. +- Athlète (Athlete) : Un type spécialisé d'utilisateur, bénéficiant de fonctionnalités supplémentaires liées à la gestion d'activités sportives. + +**Entités Clés :** + +- Activité (Activity) : Représente une session d'activité physique, avec des détails tels que le type, la date, la durée, et plus encore. +- Gestionnaires (Managers) : Gérant différentes facettes de l'application, notamment les utilisateurs, les activités et les fichiers. + +**Fonctionnalité Clé :** + +- Importation de fichiers .fit : Permet aux utilisateurs de charger des données provenant de fichiers .fit, générés par des dispositifs de suivi d'activité. Ces fichiers contiennent des informations précieuses telles que la fréquence cardiaque, la distance parcourue et d'autres métriques essentielles. + +**Architecture :** + +- AuthService (Service d'Authentification) : Gère l'authentification des utilisateurs, garantissant un accès sécurisé à la fonction d'importation. +- UserManager (Gestionnaire d'Utilisateurs) : Gère les opérations liées aux utilisateurs, y compris l'importation de fichiers .fit. +ActivityManager (Gestionnaire d'Activités) : Responsable du stockage et de la gestion des activités importées. + +**Objectif :** + +Offrir aux utilisateurs, en particulier aux athlètes, la possibilité d'enrichir leur profil et de suivre leur performance en important des données détaillées à partir de fichiers .fit. + + +```plantuml +@startuml issue028_DiagrammeDeClasses +class Activite { + -idActivite:int + -type:String + -date:Date + -heureDebut:Date + -heureFin:Date + -effortRessenti:int + -variability:float + -variance:float + -standardDeviation:float + -average:float + -maximum:int + -minimum:int + -avrTemperature:float + -hasAutoPause:boolean + +getIdActivite():int + +getType():String + +getDate():Date + +getHeureDebut():Date + +getHeureFin():Date + +getEffortRessenti():int + +getVariability():float + +getVariance():float + +getStandardDeviation():float + +getAverage():float + +getMaximum():int + +getMinimum():int + +getAvrTemperature():float + +setType(type:String):void + +setEffortRessenti(effortRessenti:int):void + +__toString():String +} +class Role { + -id:int +} +class Athlete { + +getActivities():array + +addActivity(myActivity:Activity):boolean +} +class User { + -id:int + -username:String + -nom:String + -prenom:String + -email:String + -motDePasse:String + -sexe:String + -taille:float + -poids:float + -dateNaissance:Date + +getId():int + +setId(id:int):void + +getUsername():String + +setUsername(username:String):void + +getNom():String + +setNom(nom:String):void + +getPrenom():String + +setPrenom(prenom:String):void + +getEmail():String + +setEmail(email:String):void + +getMotDePasse():String + +setMotDePasse(motDePasse:String):void + +getSexe():String + +setSexe(sexe:String):void + +getTaille():float + +setTaille(taille:float):void + +getPoids():float + +setPoids(poids:float):void + +getDateNaissance():Date + +setDateNaissance(dateNaissance:Date):void + +getRole():Role + +setRole(role:Role):void + +isValidPassword(password:String):boolean + +__toString():String +} +class AthleteManager { + +getActivities():array +} +class ActivityManager { + +saveFitFileToJSON(monFichierFit:object):boolean + +uploadFile(type:string, effortRessenti:int, file_path_or_data:string|resource, options:array):boolean +} +class DataManager { +} +class UserManager { + +login(loginUser:string, passwordUser:string):boolean + +register(loginUser:string, passwordUser:string, data:array):boolean + +deconnecter():boolean +} + +User -> Role: role +Athlete -|> Role +DataManager -> UserManager: -userMgr +DataManager -> AthleteManager: -athleteMgr +DataManager -> ActivityManager: -activityMgr +UserManager -> AuthService: -authService +UserManager -> User: -currentUser +ActivityManager -> AuthService: -authService +Athlete -> Activite: listActivite +AthleteManager -> AuthService: -authService +@enduml +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeSequence/AjouterAmis.png b/docs/Diagramme/DiagrammeDeSequence/AjouterAmis.png new file mode 100644 index 0000000000000000000000000000000000000000..1d66820f410a6c38671afe46a47dabbe99bdbe61 GIT binary patch literal 36122 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 z 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 vFnisGODXp+s}jvq5x*CWp6>gc: pendingRequests: Request[] + +c-->v: DisplayPendingRequests(pendingRequests) +v-->u: Show Friend Requests + +u->v: RespondToRequest(requestId, response) +v-->c: RecordResponse(requestId, response) + + c->m: UpdateRequestStatus(requestId, response) + m-->c: updateStatus: success/failure + c-->v: NotifyUpdateResult(updateStatus) + v-->u: Show Response Result + +@enduml +`````` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeSequence/README_demandeAmi.md b/docs/Diagramme/DiagrammeDeSequence/README_demandeAmi.md new file mode 100644 index 0000000..a4e4bfa --- /dev/null +++ b/docs/Diagramme/DiagrammeDeSequence/README_demandeAmi.md @@ -0,0 +1,30 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Diagramme de Séquence : Recherche d'Amis + +Bienvenue dans le processus dynamique de recherche d'amis au sein de notre application ! Ce diagramme de séquence met en lumière les étapes clés impliquées lorsque les utilisateurs recherchent des amis en utilisant un pseudo spécifique. + +**Acteurs Principaux :** + +- **Utilisateur (u) :** L'individu interagissant avec l'application, initié à la recherche d'amis. + +**Flux d'Interaction :** + +1. **Accès à la Fonctionnalité de Recherche :** L'utilisateur déclenche la fonctionnalité de recherche d'amis depuis son interface utilisateur. + +2. **Saisie du Pseudo :** L'utilisateur entre le pseudo de l'ami qu'il souhaite rechercher. + +3. **Requête de Recherche :** La vue (View) transmet la demande de recherche au contrôleur (Controller), qui déclenche une requête GET au serveur pour récupérer la liste des amis correspondant au pseudo saisi. + +4. **Traitement de la Requête :** Le modèle (Model) récupère la liste d'amis correspondante en utilisant l'identifiant de l'utilisateur et notifie le contrôleur du résultat. + +5. **Notification des Utilisateurs :** Le modèle informe également les utilisateurs concernés (émetteur et destinataire) de l'action de recherche effectuée. + +6. **Rendu de la Vue :** Le contrôleur reçoit la liste d'amis du modèle et rend cette liste à la vue. + +7. **Affichage des Résultats :** La vue affiche les résultats de la recherche à l'utilisateur, montrant les amis qui correspondent au pseudo saisi. + +À travers ce diagramme de séquence, découvrez comment notre application facilite le processus de recherche d'amis, fournissant aux utilisateurs une interface conviviale et réactive pour élargir leur réseau social au sein de la plateforme. + +Diagramme de Séquence : Recherche d'Amis \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeSequence/README_issue021.md b/docs/Diagramme/DiagrammeDeSequence/README_issue021.md new file mode 100644 index 0000000..1cd6631 --- /dev/null +++ b/docs/Diagramme/DiagrammeDeSequence/README_issue021.md @@ -0,0 +1,40 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Processus de Connexion sur la Plateforme + +Bienvenue sur notre plateforme de gestion d'activités sportives ! Pour offrir une expérience fluide et sécurisée, nous avons mis en place un processus de connexion intuitif. Découvrez comment accéder à votre compte ou créer un nouveau compte en quelques étapes simples. + +**Étapes du Processus :** + +1. **Demande de Page de Connexion :** L'utilisateur démarre en exprimant le désir de se connecter à la plateforme. + +2. **Vérification de la Connexion Préexistante :** Le système vérifie si l'utilisateur est déjà connecté. En cas de connexion active, l'utilisateur est redirigé directement vers sa page de compte. + +3. **Page de Connexion :** Si l'utilisateur n'est pas encore connecté, il est dirigé vers la page de connexion, où il peut saisir ses informations d'identification. + +4. **Choix pour les Utilisateurs Possédant un Compte :** Si l'utilisateur a déjà un compte, il peut fournir ses informations de connexion existantes. + +5. **Création de Compte pour les Nouveaux Utilisateurs :** Pour ceux qui n'ont pas encore de compte, l'option de création de compte est disponible. L'utilisateur peut fournir les détails nécessaires pour créer son compte. + +6. **Page de Création de Compte :** Une page dédiée guide l'utilisateur tout au long du processus de création de compte, lui permettant de saisir les informations nécessaires. + +7. **Validation et Connexion :** Une fois que les informations de connexion ou de création de compte sont fournies, le système procède à la vérification et connecte l'utilisateur à son compte. + + +```plantuml +actor User as u +u->Systeme : demandePageConnexion() +alt User déjà connecté + Systeme-->u : redirectionPageCompte() +end +Systeme-->u : PageConnexion() +alt User possède déjà un compte + u->Systeme:InfosConnexion() +else + u->Systeme:CreerCompte() + Systeme-->u :PageCreationCompte() + u->Systeme:InfosCreationCompte() +end +Systeme-->u :Connecter() +``` \ No newline at end of file diff --git a/docs/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md b/docs/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md new file mode 100644 index 0000000..afec35a --- /dev/null +++ b/docs/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md @@ -0,0 +1,63 @@ +[retour au README.md](../../../README.md) +[Retour au diagramme de classes](../README_DIAGRAMMES.md) + +# Introduction au Diagramme de Séquence : Gestion des Amis + +Bienvenue dans le processus dynamique de gestion des amis au sein de notre application ! Ce diagramme de séquence met en lumière les interactions entre l'utilisateur et l'application, ainsi que le flux d'informations entre les différentes composantes du système. + +**Acteurs Principaux :** + +- **Utilisateur (u) :** L'individu interagissant avec l'application, souhaitant consulter et gérer sa liste d'amis. + +**Flux d'Interaction :** + +1. **Demande de la Page d'Amis :** L'utilisateur déclenche la demande de la page d'amis, amorçant le processus d'affichage de sa liste d'amis. + +2. **Récupération des Amis :** Le contrôleur (Controller) reçoit la demande et interagit avec le modèle (Model) pour récupérer la liste d'amis associée à l'identifiant de l'utilisateur. + + - *Cas de Récupération Réussi :* Si la récupération est réussie, le modèle transmet la liste d'amis au contrôleur. + + - *Cas d'Échec de Récupération :* En cas d'échec, une notification d'erreur est renvoyée. + +3. **Affichage de la Liste d'Amis :** Le contrôleur rend la vue (View) en utilisant la liste d'amis récupérée, qui est ensuite affichée à l'utilisateur. + +4. **Suppression d'un Ami :** L'utilisateur décide de supprimer un ami spécifique en cliquant sur l'option correspondante. + +5. **Traitement de la Suppression :** Le contrôleur, en réponse à la demande de suppression, envoie une requête au modèle pour effectuer la suppression de l'ami identifié par son identifiant utilisateur (idUser). + + - *Cas de Suppression Réussie :* Si la suppression est réussie, le modèle renvoie la liste d'amis mise à jour. + + - *Cas d'Échec de Suppression :* En cas d'échec, une notification d'erreur est renvoyée. + +6. **Affichage de la Liste d'Amis Mise à Jour :** La vue est mise à jour avec la nouvelle liste d'amis, qui est ensuite affichée à l'utilisateur. + +À travers ce diagramme de séquence, découvrez comment notre application gère de manière fluide et réactive les interactions de l'utilisateur avec sa liste d'amis, garantissant une expérience utilisateur cohérente et sans heurts. + +```plantuml +actor User as u +boundary View as v +control Controller as c +entity Model as m + +u->v: Request Friends Page +v->c: Get /Friends +c->m: getFriends(userId) +alt successful retrieval + m-->c: friendsList: User[] +else retrieval failed + m-->c: error +end +c-->v: renderView(friendsList) +v-->u: Display Friends + +u->v: clickDeleteFriend(idUser) +v->c: Post: deleteFriend(idUser) +c->m: deleteFriend(idUser) +alt successful deletion + m-->c: updatedFriendsList: User[] +else deletion failed + m-->c: error +end +c-->v: renderView(updatedFriendsList) +v-->u: Display Updated Friends +``` \ No newline at end of file diff --git a/docs/Diagramme/README_DIAGRAMMES.md b/docs/Diagramme/README_DIAGRAMMES.md new file mode 100644 index 0000000..cc22a4c --- /dev/null +++ b/docs/Diagramme/README_DIAGRAMMES.md @@ -0,0 +1,25 @@ +[retour au README.md](../../README.md) + +# Diagrammes nécéssaires à notre projet + +## Diagrammes de classes +- [issue016 - Statistiques coach ](DiagrammeDeClasses/README_issue016.md) +- [issue022 - Ajout des amis ](DiagrammeDeClasses/README_issue022.md) +- [issue023 - User Gateway ](DiagrammeDeClasses/README_issue023.md) +- [issue028 - Importation de fichiers .fit](DiagrammeDeClasses/README_issue028.md) +- [couche d'accès aux données](DiagrammeDeClasses/README_accesDonnees.md) +- [Diagramme général](DiagrammeDeClasses/README_DIAGRAMME.md) + +## Diagrammes de séquence +- [Envoi de demande d'ami](DiagrammeDeSequence/README_demandeAmi.md) +- [Accepter une demande d'ami](DiagrammeDeSequence/README_accepterAmi.md) +- [Supprimer un ami](DiagrammeDeSequence/README_suppressionAmi.md) +- [issue021 - Authentification ](DiagrammeDeSequence/README_issue021.md) + +## Diagrammes de cas d'utilisation +- [Cas d'utilisation pour la gestion du compte et des amitiés](CasUtilisations/README_gestionCompteAmitie.md) +- [Cas d'utilisation pour la gestion des activités et données](CasUtilisations/README_gestionActivites.md) +- [Cas d'utilisation pour la suivi d'une équipe sportive](CasUtilisations/README_coachSuiviSportif.md) + +## Base de données +- [MCD - MLD](BDD/README_BDD.md) \ No newline at end of file From 8d0fca5e12152edf062c5417f607b3c7c02815da Mon Sep 17 00:00:00 2001 From: Antoine PEREDERII Date: Sat, 16 Mar 2024 21:04:42 +0100 Subject: [PATCH 09/10] Update 'README.md' --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index aa256b5..5b116fe 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,9 @@   ![API](https://img.shields.io/badge/API-000?style=for-the-badge&logo=api&logoColor=white&color=orange)
+[![Build Status](https://codefirst.iut.uca.fr/api/badges/HeartDev/API/status.svg)](https://codefirst.iut.uca.fr/HeartDev/API) + + ![Build Status](https://codefirst.iut.uca.fr/git/HeartDev/Web) [![Quality Gate Status]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) [![Bugs]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) From d9951370566f7107128a1ea580b840c519d9651d Mon Sep 17 00:00:00 2001 From: anperederi Date: Sat, 16 Mar 2024 21:07:29 +0100 Subject: [PATCH 10/10] =?UTF-8?q?=F0=9F=93=9D=20Update=20readme=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index aa256b5..5f06e5d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

HeartTrack

- +
@@ -17,11 +17,14 @@   ![API](https://img.shields.io/badge/API-000?style=for-the-badge&logo=api&logoColor=white&color=orange)
-![Build Status](https://codefirst.iut.uca.fr/git/HeartDev/Web) -[![Quality Gate Status]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) -[![Bugs]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) -[![Coverage]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) -[![Vulnerabilities]()](https://codefirst.iut.uca.fr/git/HeartDev/Web) +[![Bugs](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=bugs&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +[![Coverage](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=coverage&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +[![Duplicated Lines (%)](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=duplicated_lines_density&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +[![Maintainability Rating](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=sqale_rating&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +[![Reliability Rating](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=reliability_rating&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +[![Security Rating](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=security_rating&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +[![Vulnerabilities](https://codefirst.iut.uca.fr/sonar/api/project_badges/measure?project=HeartTrack-API&metric=vulnerabilities&token=c3e0444eb978e1d346ed0041c552b24870316a03)](https://codefirst.iut.uca.fr/sonar/dashboard?id=HeartTrack-API) +