diff --git a/spec/openapi.yaml b/spec/openapi.yaml index 2d2fee82dc4dcec5d9bfbce3f2678b9e384315ea..118664e0fcdb914ed34bdaf421e4c794b0c1e1ca 100644 --- a/spec/openapi.yaml +++ b/spec/openapi.yaml @@ -279,6 +279,11 @@ components: website: type: string description: the URL for the homepage of this working group + sustainer_commitment: + type: + - string + - "null" + description: the URL for the sustainer commitment for the working group, optional WorkingGroupParticipationAgreements: type: object diff --git a/src/main/java/org/eclipsefoundation/wg/models/WorkingGroup.java b/src/main/java/org/eclipsefoundation/wg/models/WorkingGroup.java index 1bc85738f6a1cbf0abea427f2822e4fb9fb45be9..4fc7d971955de5f9af6ec80e0cdd4270b89b94ff 100644 --- a/src/main/java/org/eclipsefoundation/wg/models/WorkingGroup.java +++ b/src/main/java/org/eclipsefoundation/wg/models/WorkingGroup.java @@ -18,75 +18,75 @@ import com.fasterxml.jackson.annotation.JsonProperty; * Entity representing a working group. */ public record WorkingGroup(String alias, String title, String status, String logo, String description, String parentOrganization, - WorkingGroupResources resources, List<WorkingGroupParticipationLevel> levels) { + WorkingGroupResources resources, List<WorkingGroupParticipationLevel> levels) { - public WorkingGroup { - Objects.requireNonNull(alias); - Objects.requireNonNull(title); - Objects.requireNonNull(status); - Objects.requireNonNull(logo); - Objects.requireNonNull(description); - Objects.requireNonNull(parentOrganization); - Objects.requireNonNull(resources); - Objects.requireNonNull(levels); - } + public WorkingGroup { + Objects.requireNonNull(alias); + Objects.requireNonNull(title); + Objects.requireNonNull(status); + Objects.requireNonNull(logo); + Objects.requireNonNull(description); + Objects.requireNonNull(parentOrganization); + Objects.requireNonNull(resources); + Objects.requireNonNull(levels); + } - /** - * Entity representing a Working Group committee - */ - public record WorkingGroupCommittee(String groupPrefix, String workingGroup, CommitteeRole appointedPrimary, - CommitteeRole appointedAlternate, CommitteeRole electedPrimary, CommitteeRole electedAlternate, CommitteeRole invitedGuest, - CommitteeRole committerRepresentative) { + /** + * Entity representing a Working Group committee + */ + public record WorkingGroupCommittee(String groupPrefix, String workingGroup, CommitteeRole appointedPrimary, + CommitteeRole appointedAlternate, CommitteeRole electedPrimary, CommitteeRole electedAlternate, CommitteeRole invitedGuest, + CommitteeRole committerRepresentative) { - public WorkingGroupCommittee { - Objects.requireNonNull(groupPrefix); - Objects.requireNonNull(workingGroup); - } + public WorkingGroupCommittee { + Objects.requireNonNull(groupPrefix); + Objects.requireNonNull(workingGroup); } + } - /** - * Entity representing a working group participation agreement. - */ - public record WorkingGroupParticipationAgreement(@JsonProperty("document_id") String documentId, String pdf) { + /** + * Entity representing a working group participation agreement. + */ + public record WorkingGroupParticipationAgreement(@JsonProperty("document_id") String documentId, String pdf) { - public WorkingGroupParticipationAgreement { - Objects.requireNonNull(documentId); - Objects.requireNonNull(pdf); - } + public WorkingGroupParticipationAgreement { + Objects.requireNonNull(documentId); + Objects.requireNonNull(pdf); } + } - /** - * Entity representing a working group's participation agreements. - */ - public record WorkingGroupParticipationAgreements(WorkingGroupParticipationAgreement individual, - WorkingGroupParticipationAgreement organization) { + /** + * Entity representing a working group's participation agreements. + */ + public record WorkingGroupParticipationAgreements(WorkingGroupParticipationAgreement individual, + WorkingGroupParticipationAgreement organization) { - } + } - /** - * Entity representing a working group's resources. - */ - public record WorkingGroupResources(String charter, String website, String members, String sponsorship, String contactForm, - WorkingGroupParticipationAgreements participationAgreements) { + /** + * Entity representing a working group's resources. + */ + public record WorkingGroupResources(String charter, String website, String members, String sponsorship, String contactForm, + String sustainerCommitment, WorkingGroupParticipationAgreements participationAgreements) { - public WorkingGroupResources { - Objects.requireNonNull(charter); - Objects.requireNonNull(website); - Objects.requireNonNull(members); - Objects.requireNonNull(sponsorship); - Objects.requireNonNull(contactForm); - Objects.requireNonNull(participationAgreements); - } + public WorkingGroupResources { + Objects.requireNonNull(charter); + Objects.requireNonNull(website); + Objects.requireNonNull(members); + Objects.requireNonNull(sponsorship); + Objects.requireNonNull(contactForm); + Objects.requireNonNull(participationAgreements); } + } - /** - * Entity representing a working group participation level. - */ - public record WorkingGroupParticipationLevel(String relation, String description) { + /** + * Entity representing a working group participation level. + */ + public record WorkingGroupParticipationLevel(String relation, String description) { - public WorkingGroupParticipationLevel { - Objects.requireNonNull(relation); - Objects.requireNonNull(description); - } + public WorkingGroupParticipationLevel { + Objects.requireNonNull(relation); + Objects.requireNonNull(description); } + } } diff --git a/src/main/resources/working_groups.json b/src/main/resources/working_groups.json index 9aca08f55083bd3ba723828509124f2243744616..9c049d512c8cc42398f759307959b83f2b7e62e8 100644 --- a/src/main/resources/working_groups.json +++ b/src/main/resources/working_groups.json @@ -19,7 +19,8 @@ "website": "https://adoptium.net", "members": "https://adoptium.net/members.html", "sponsorship": "https://www.eclipse.org/org/workinggroups/sponsorship/working-group-sponsorship-agreement.pdf", - "contact_form": "https://accounts.eclipse.org/contact/membership" + "contact_form": "https://accounts.eclipse.org/contact/membership", + "sustainer_commitment": "https://www.eclipse.org/org/working-groups/adoptium/eclipse-temurin-sustainer-commitment.pdf" }, "levels": [ {