From ce14dc302c4e3fbe24e9eed9f500a613be48d99d Mon Sep 17 00:00:00 2001 From: Ted Spence Date: Mon, 19 Aug 2024 08:02:37 -0700 Subject: [PATCH] Release 115 (#17) # Patch notes for 115.0.4328 These patch notes summarize the changes from version 114.0.4169. Changes to data models: * NotificationDto: Added new field `id` * NotificationDto: Removed field `notificationId` * NotificationDto: Removed field `businessId` * NotificationDto: Removed field `userId` * ResourcesCreateDto: Added new field `projectIds` * RiskExportSettingsDto: Added new field `timeZoneOffset` * RiskExportSettingsDto: Added new field `dueDateFilter` * RiskExportSettingsDto: Added new field `priorityFilter` * RiskExportSettingsDto: Added new field `progressFilter` * RiskExportSettingsDto: Added new field `assignees` * RiskExportSettingsDto: Added new field `tags` * TaskDto: Added new field `theme` --- pom.xml | 2 +- .../java/com/projectmanager/BlobRequest.java | 2 +- .../projectmanager/ProjectManagerClient.java | 2 +- .../java/com/projectmanager/RestRequest.java | 2 +- .../models/ExportDueDateFilterDto.java | 105 ++++++++++++++++ .../models/ExportPriorityFilterDto.java | 118 ++++++++++++++++++ .../models/NotificationDto.java | 36 +----- .../models/ResourcesCreateDto.java | 13 ++ .../models/RiskExportProgressFilterDto.java | 53 ++++++++ .../models/RiskExportSettingsDto.java | 82 +++++++++++- .../com/projectmanager/models/TaskDto.java | 25 +++- 11 files changed, 401 insertions(+), 39 deletions(-) create mode 100644 src/main/java/com/projectmanager/models/ExportDueDateFilterDto.java create mode 100644 src/main/java/com/projectmanager/models/ExportPriorityFilterDto.java create mode 100644 src/main/java/com/projectmanager/models/RiskExportProgressFilterDto.java diff --git a/pom.xml b/pom.xml index f335431..fb87d7c 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.projectmanager projectmanagersdk - 114.0.4169 + 115.0.4328 ProjectManagerSDK Software development kit for the ProjectManager.com API. for Java diff --git a/src/main/java/com/projectmanager/BlobRequest.java b/src/main/java/com/projectmanager/BlobRequest.java index 20ee4e5..0b5ed50 100644 --- a/src/main/java/com/projectmanager/BlobRequest.java +++ b/src/main/java/com/projectmanager/BlobRequest.java @@ -148,7 +148,7 @@ public void AddBody(Object body) { } request.addHeader("SdkName", "Java"); - request.addHeader("SdkVersion", "114.0.4169.0"); + request.addHeader("SdkVersion", "115.0.4328.0"); String applicationName = this.client.getAppName(); diff --git a/src/main/java/com/projectmanager/ProjectManagerClient.java b/src/main/java/com/projectmanager/ProjectManagerClient.java index 90d6cc0..7fe09a9 100644 --- a/src/main/java/com/projectmanager/ProjectManagerClient.java +++ b/src/main/java/com/projectmanager/ProjectManagerClient.java @@ -9,7 +9,7 @@ * @author ProjectManager.com * * @copyright 2023-2024 ProjectManager.com, Inc. - * @version 114.0.4169 + * @version 115.0.4328 * @link https://github.com/projectmgr/projectmanager-sdk-java */ diff --git a/src/main/java/com/projectmanager/RestRequest.java b/src/main/java/com/projectmanager/RestRequest.java index 187b390..a17dd84 100644 --- a/src/main/java/com/projectmanager/RestRequest.java +++ b/src/main/java/com/projectmanager/RestRequest.java @@ -148,7 +148,7 @@ public void AddBody(Object body) { } request.addHeader("SdkName", "Java"); - request.addHeader("SdkVersion", "114.0.4169.0"); + request.addHeader("SdkVersion", "115.0.4328.0"); String applicationName = this.client.getAppName(); diff --git a/src/main/java/com/projectmanager/models/ExportDueDateFilterDto.java b/src/main/java/com/projectmanager/models/ExportDueDateFilterDto.java new file mode 100644 index 0000000..d924bf8 --- /dev/null +++ b/src/main/java/com/projectmanager/models/ExportDueDateFilterDto.java @@ -0,0 +1,105 @@ + +/** + * ProjectManager API for Java + * + * (c) 2023-2024 ProjectManager.com, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author ProjectManager.com + * @copyright 2023-2024 ProjectManager.com, Inc. + * @link https://github.com/projectmgr/projectmanager-sdk-java + */ + + +package com.projectmanager.models; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Due Date Filter Settings + */ +public class ExportDueDateFilterDto +{ + private @Nullable Boolean includeNoDueDate; + private @Nullable Boolean includeOverdue; + private @Nullable Boolean includeToday; + private @Nullable Boolean includeThisWeek; + private @Nullable Boolean includeNextWeek; + private @Nullable Boolean includeLater; + + /** + * Include items without a due date + * + * @return The field includeNoDueDate + */ + public @Nullable Boolean getIncludeNoDueDate() { return this.includeNoDueDate; } + /** + * Include items without a due date + * + * @param value The new value for includeNoDueDate + */ + public void setIncludeNoDueDate(@Nullable Boolean value) { this.includeNoDueDate = value; } + /** + * Include items with a due date in the past + * + * @return The field includeOverdue + */ + public @Nullable Boolean getIncludeOverdue() { return this.includeOverdue; } + /** + * Include items with a due date in the past + * + * @param value The new value for includeOverdue + */ + public void setIncludeOverdue(@Nullable Boolean value) { this.includeOverdue = value; } + /** + * Include items with a due date of today + * + * @return The field includeToday + */ + public @Nullable Boolean getIncludeToday() { return this.includeToday; } + /** + * Include items with a due date of today + * + * @param value The new value for includeToday + */ + public void setIncludeToday(@Nullable Boolean value) { this.includeToday = value; } + /** + * Include items due within the current week + * + * @return The field includeThisWeek + */ + public @Nullable Boolean getIncludeThisWeek() { return this.includeThisWeek; } + /** + * Include items due within the current week + * + * @param value The new value for includeThisWeek + */ + public void setIncludeThisWeek(@Nullable Boolean value) { this.includeThisWeek = value; } + /** + * Include items due within the next week + * + * @return The field includeNextWeek + */ + public @Nullable Boolean getIncludeNextWeek() { return this.includeNextWeek; } + /** + * Include items due within the next week + * + * @param value The new value for includeNextWeek + */ + public void setIncludeNextWeek(@Nullable Boolean value) { this.includeNextWeek = value; } + /** + * Include items due later + * + * @return The field includeLater + */ + public @Nullable Boolean getIncludeLater() { return this.includeLater; } + /** + * Include items due later + * + * @param value The new value for includeLater + */ + public void setIncludeLater(@Nullable Boolean value) { this.includeLater = value; } +}; diff --git a/src/main/java/com/projectmanager/models/ExportPriorityFilterDto.java b/src/main/java/com/projectmanager/models/ExportPriorityFilterDto.java new file mode 100644 index 0000000..d6dd4c4 --- /dev/null +++ b/src/main/java/com/projectmanager/models/ExportPriorityFilterDto.java @@ -0,0 +1,118 @@ + +/** + * ProjectManager API for Java + * + * (c) 2023-2024 ProjectManager.com, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author ProjectManager.com + * @copyright 2023-2024 ProjectManager.com, Inc. + * @link https://github.com/projectmgr/projectmanager-sdk-java + */ + + +package com.projectmanager.models; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Priority filter settings + */ +public class ExportPriorityFilterDto +{ + private @Nullable Boolean isNone; + private @Nullable Boolean isVeryLow; + private @Nullable Boolean isLow; + private @Nullable Boolean isMedium; + private @Nullable Boolean isHigh; + private @Nullable Boolean isVeryHigh; + private @Nullable Boolean isCritical; + + /** + * Include items with no priority + * + * @return The field isNone + */ + public @Nullable Boolean getIsNone() { return this.isNone; } + /** + * Include items with no priority + * + * @param value The new value for isNone + */ + public void setIsNone(@Nullable Boolean value) { this.isNone = value; } + /** + * Include items with very low priority + * + * @return The field isVeryLow + */ + public @Nullable Boolean getIsVeryLow() { return this.isVeryLow; } + /** + * Include items with very low priority + * + * @param value The new value for isVeryLow + */ + public void setIsVeryLow(@Nullable Boolean value) { this.isVeryLow = value; } + /** + * Include items with low priority + * + * @return The field isLow + */ + public @Nullable Boolean getIsLow() { return this.isLow; } + /** + * Include items with low priority + * + * @param value The new value for isLow + */ + public void setIsLow(@Nullable Boolean value) { this.isLow = value; } + /** + * Include items with medium priority + * + * @return The field isMedium + */ + public @Nullable Boolean getIsMedium() { return this.isMedium; } + /** + * Include items with medium priority + * + * @param value The new value for isMedium + */ + public void setIsMedium(@Nullable Boolean value) { this.isMedium = value; } + /** + * Include items with high priority + * + * @return The field isHigh + */ + public @Nullable Boolean getIsHigh() { return this.isHigh; } + /** + * Include items with high priority + * + * @param value The new value for isHigh + */ + public void setIsHigh(@Nullable Boolean value) { this.isHigh = value; } + /** + * Include items with very high priority + * + * @return The field isVeryHigh + */ + public @Nullable Boolean getIsVeryHigh() { return this.isVeryHigh; } + /** + * Include items with very high priority + * + * @param value The new value for isVeryHigh + */ + public void setIsVeryHigh(@Nullable Boolean value) { this.isVeryHigh = value; } + /** + * Include items with critical priority + * + * @return The field isCritical + */ + public @Nullable Boolean getIsCritical() { return this.isCritical; } + /** + * Include items with critical priority + * + * @param value The new value for isCritical + */ + public void setIsCritical(@Nullable Boolean value) { this.isCritical = value; } +}; diff --git a/src/main/java/com/projectmanager/models/NotificationDto.java b/src/main/java/com/projectmanager/models/NotificationDto.java index 387e1ca..f3b3df9 100644 --- a/src/main/java/com/projectmanager/models/NotificationDto.java +++ b/src/main/java/com/projectmanager/models/NotificationDto.java @@ -25,9 +25,7 @@ */ public class NotificationDto { - private @NotNull String notificationId; - private @NotNull String businessId; - private @NotNull String userId; + private @NotNull String id; private @NotNull String senderId; private @Nullable NotificationDto[] children; private @Nullable String notificationType; @@ -40,39 +38,15 @@ public class NotificationDto /** * The unique identifier of this notification * - * @return The field notificationId + * @return The field id */ - public @NotNull String getNotificationId() { return this.notificationId; } + public @NotNull String getId() { return this.id; } /** * The unique identifier of this notification * - * @param value The new value for notificationId + * @param value The new value for id */ - public void setNotificationId(@NotNull String value) { this.notificationId = value; } - /** - * The unique identifier of the workspace for this notification - * - * @return The field businessId - */ - public @NotNull String getBusinessId() { return this.businessId; } - /** - * The unique identifier of the workspace for this notification - * - * @param value The new value for businessId - */ - public void setBusinessId(@NotNull String value) { this.businessId = value; } - /** - * The unique identifier of the recipient of this notification - * - * @return The field userId - */ - public @NotNull String getUserId() { return this.userId; } - /** - * The unique identifier of the recipient of this notification - * - * @param value The new value for userId - */ - public void setUserId(@NotNull String value) { this.userId = value; } + public void setId(@NotNull String value) { this.id = value; } /** * The unique identifier of the sender of this notification * diff --git a/src/main/java/com/projectmanager/models/ResourcesCreateDto.java b/src/main/java/com/projectmanager/models/ResourcesCreateDto.java index 47dfe9f..a9d4b31 100644 --- a/src/main/java/com/projectmanager/models/ResourcesCreateDto.java +++ b/src/main/java/com/projectmanager/models/ResourcesCreateDto.java @@ -27,8 +27,21 @@ */ public class ResourcesCreateDto { + private @Nullable String[] projectIds; private @Nullable ResourceCreateDto[] users; + /** + * When creating a user they will also be added to the projectIds specified. If null or empty the user will be invited but no access will be given to any projects. + * + * @return The field projectIds + */ + public @Nullable String[] getProjectIds() { return this.projectIds; } + /** + * When creating a user they will also be added to the projectIds specified. If null or empty the user will be invited but no access will be given to any projects. + * + * @param value The new value for projectIds + */ + public void setProjectIds(@Nullable String[] value) { this.projectIds = value; } /** * * @return The field users diff --git a/src/main/java/com/projectmanager/models/RiskExportProgressFilterDto.java b/src/main/java/com/projectmanager/models/RiskExportProgressFilterDto.java new file mode 100644 index 0000000..cef41b3 --- /dev/null +++ b/src/main/java/com/projectmanager/models/RiskExportProgressFilterDto.java @@ -0,0 +1,53 @@ + +/** + * ProjectManager API for Java + * + * (c) 2023-2024 ProjectManager.com, Inc. + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + * + * @author ProjectManager.com + * @copyright 2023-2024 ProjectManager.com, Inc. + * @link https://github.com/projectmgr/projectmanager-sdk-java + */ + + +package com.projectmanager.models; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * Risk Progress Filter Settings + */ +public class RiskExportProgressFilterDto +{ + private @Nullable Boolean isOpen; + private @Nullable Boolean isClosed; + + /** + * Include risks that are open + * + * @return The field isOpen + */ + public @Nullable Boolean getIsOpen() { return this.isOpen; } + /** + * Include risks that are open + * + * @param value The new value for isOpen + */ + public void setIsOpen(@Nullable Boolean value) { this.isOpen = value; } + /** + * Include risks that are closed + * + * @return The field isClosed + */ + public @Nullable Boolean getIsClosed() { return this.isClosed; } + /** + * Include risks that are closed + * + * @param value The new value for isClosed + */ + public void setIsClosed(@Nullable Boolean value) { this.isClosed = value; } +}; diff --git a/src/main/java/com/projectmanager/models/RiskExportSettingsDto.java b/src/main/java/com/projectmanager/models/RiskExportSettingsDto.java index 76081c9..99b2f56 100644 --- a/src/main/java/com/projectmanager/models/RiskExportSettingsDto.java +++ b/src/main/java/com/projectmanager/models/RiskExportSettingsDto.java @@ -28,6 +28,12 @@ public class RiskExportSettingsDto private @NotNull String[] columns; private @Nullable String orderBy; private @Nullable String orderDirection; + private @NotNull Integer timeZoneOffset; + private @Nullable ExportDueDateFilterDto dueDateFilter; + private @Nullable ExportPriorityFilterDto priorityFilter; + private @Nullable RiskExportProgressFilterDto progressFilter; + private @Nullable String[] assignees; + private @Nullable String[] tags; /** * the name used by the export @@ -45,7 +51,7 @@ public class RiskExportSettingsDto * Format to export to, currently csv and excel are supported * * Valid options are: - * * csv + * * Csv * * excel * * @return The field format @@ -55,7 +61,7 @@ public class RiskExportSettingsDto * Format to export to, currently csv and excel are supported * * Valid options are: - * * csv + * * Csv * * excel * * @param value The new value for format @@ -135,4 +141,76 @@ public class RiskExportSettingsDto * @param value The new value for orderDirection */ public void setOrderDirection(@Nullable String value) { this.orderDirection = value; } + /** + * Timezone offset in minutes + * + * @return The field timeZoneOffset + */ + public @NotNull Integer getTimeZoneOffset() { return this.timeZoneOffset; } + /** + * Timezone offset in minutes + * + * @param value The new value for timeZoneOffset + */ + public void setTimeZoneOffset(@NotNull Integer value) { this.timeZoneOffset = value; } + /** + * Specify the due date filter for the export. If left null, no due date filter will be applied + * + * @return The field dueDateFilter + */ + public @Nullable ExportDueDateFilterDto getDueDateFilter() { return this.dueDateFilter; } + /** + * Specify the due date filter for the export. If left null, no due date filter will be applied + * + * @param value The new value for dueDateFilter + */ + public void setDueDateFilter(@Nullable ExportDueDateFilterDto value) { this.dueDateFilter = value; } + /** + * Specify the priority filter for the export. If left null, no priority filter will be applied + * + * @return The field priorityFilter + */ + public @Nullable ExportPriorityFilterDto getPriorityFilter() { return this.priorityFilter; } + /** + * Specify the priority filter for the export. If left null, no priority filter will be applied + * + * @param value The new value for priorityFilter + */ + public void setPriorityFilter(@Nullable ExportPriorityFilterDto value) { this.priorityFilter = value; } + /** + * Specify the progress filter for the export. If left null, no progress filter will be applied + * + * @return The field progressFilter + */ + public @Nullable RiskExportProgressFilterDto getProgressFilter() { return this.progressFilter; } + /** + * Specify the progress filter for the export. If left null, no progress filter will be applied + * + * @param value The new value for progressFilter + */ + public void setProgressFilter(@Nullable RiskExportProgressFilterDto value) { this.progressFilter = value; } + /** + * A list of resourceIds to filter the risks by assignees. If left null or empty this will be ignored + * + * @return The field assignees + */ + public @Nullable String[] getAssignees() { return this.assignees; } + /** + * A list of resourceIds to filter the risks by assignees. If left null or empty this will be ignored + * + * @param value The new value for assignees + */ + public void setAssignees(@Nullable String[] value) { this.assignees = value; } + /** + * A list of tagIds to filter the risks by tags. If left null or empty this will be ignored + * + * @return The field tags + */ + public @Nullable String[] getTags() { return this.tags; } + /** + * A list of tagIds to filter the risks by tags. If left null or empty this will be ignored + * + * @param value The new value for tags + */ + public void setTags(@Nullable String[] value) { this.tags = value; } }; diff --git a/src/main/java/com/projectmanager/models/TaskDto.java b/src/main/java/com/projectmanager/models/TaskDto.java index 8cf2e9f..cb96b89 100644 --- a/src/main/java/com/projectmanager/models/TaskDto.java +++ b/src/main/java/com/projectmanager/models/TaskDto.java @@ -47,6 +47,7 @@ public class TaskDto private @NotNull Integer priorityId; private @Nullable String wbs; private @Nullable String color; + private @Nullable String theme; private @Nullable Double actualCost; private @Nullable Double actualResourceCost; private @Nullable Double plannedCost; @@ -423,17 +424,37 @@ public class TaskDto */ public void setWbs(@Nullable String value) { this.wbs = value; } /** - * Task Color as set in the Gantt + * The hexadecimal RRGGBB Task Color as set in the Gantt. This value is read-only; to set this value, + * change the `Theme` field. * * @return The field color */ public @Nullable String getColor() { return this.color; } /** - * Task Color as set in the Gantt + * The hexadecimal RRGGBB Task Color as set in the Gantt. This value is read-only; to set this value, + * change the `Theme` field. * * @param value The new value for color */ public void setColor(@Nullable String value) { this.color = value; } + /** + * Color theme definition for this Task. + * + * eg. Blue, Brown, DarkBlue, DarkGrey, Gold, Green, Grey, LightBrown, LightGreen, + * LightGrey, LightPurple, LightYellow, Magenta, Mauve, Navy, Orange, Purple, Red. + * + * @return The field theme + */ + public @Nullable String getTheme() { return this.theme; } + /** + * Color theme definition for this Task. + * + * eg. Blue, Brown, DarkBlue, DarkGrey, Gold, Green, Grey, LightBrown, LightGreen, + * LightGrey, LightPurple, LightYellow, Magenta, Mauve, Navy, Orange, Purple, Red. + * + * @param value The new value for theme + */ + public void setTheme(@Nullable String value) { this.theme = value; } /** * The actual cost of this Task to date, if known. *