From b4e1f9bc315eb701d0dec0e34c38651672239566 Mon Sep 17 00:00:00 2001 From: ryzheboka <25465835+ryzheboka@users.noreply.github.com> Date: Mon, 28 Feb 2022 16:30:34 +0100 Subject: [PATCH] TSK-1532: Refactor names of entities in REST-Doc by capitalizing them; refactor Java-doc according to guidelines --- .../api/ClassificationQuery.java | 95 +-- .../api/ClassificationService.java | 162 +++-- .../api/models/Classification.java | 81 +-- .../api/models/ClassificationSummary.java | 62 +- .../internal/ClassificationServiceImpl.java | 5 +- .../pro/taskana/common/api/JobService.java | 10 +- .../pro/taskana/common/api/TaskanaEngine.java | 136 ++-- .../common/internal/TaskanaEngineImpl.java | 2 +- .../api/CombinedClassificationFilter.java | 13 +- .../taskana/monitor/api/MonitorService.java | 31 +- .../taskana/monitor/api/TaskTimestamp.java | 2 +- .../reports/ClassificationCategoryReport.java | 2 +- .../api/reports/ClassificationReport.java | 6 +- .../taskana/monitor/api/reports/Report.java | 16 +- .../reports/TaskCustomFieldValueReport.java | 2 +- .../monitor/api/reports/TaskStatusReport.java | 2 +- .../reports/TimeIntervalReportBuilder.java | 59 +- .../monitor/api/reports/TimestampReport.java | 2 +- .../api/reports/WorkbasketPriorityReport.java | 2 +- .../monitor/api/reports/WorkbasketReport.java | 4 +- .../api/reports/header/ColumnHeader.java | 4 +- .../header/TaskStatusColumnHeader.java | 2 +- .../api/reports/item/AgeQueryItem.java | 5 +- .../item/DetailedMonitorQueryItem.java | 4 +- .../monitor/api/reports/item/QueryItem.java | 13 +- .../reports/item/QueryItemPreprocessor.java | 6 +- .../api/reports/item/TimestampQueryItem.java | 2 +- .../row/DetailedClassificationRow.java | 4 +- .../monitor/api/reports/row/FoldableRow.java | 4 +- .../taskana/monitor/api/reports/row/Row.java | 6 +- .../monitor/api/reports/row/SingleRow.java | 6 +- .../monitor/api/reports/row/TimestampRow.java | 8 +- .../DaysToWorkingDaysReportPreProcessor.java | 2 +- .../WorkingDaysToDaysReportConverter.java | 19 +- .../TimeIntervalReportBuilderImpl.java | 2 +- .../reports/TimestampReportBuilderImpl.java | 2 +- .../spi/history/api/TaskanaHistory.java | 14 +- .../spi/routing/api/TaskRoutingProvider.java | 4 +- .../spi/task/api/CreateTaskPreprocessor.java | 4 +- .../java/pro/taskana/task/api/TaskQuery.java | 111 ++- .../pro/taskana/task/api/TaskService.java | 653 ++++++++++-------- .../taskana/task/api/models/Attachment.java | 33 +- .../task/api/models/AttachmentSummary.java | 23 +- .../task/api/models/ObjectReference.java | 30 +- .../pro/taskana/task/api/models/Task.java | 119 ++-- .../taskana/task/api/models/TaskComment.java | 22 +- .../taskana/task/api/models/TaskSummary.java | 170 ++--- .../task/internal/jobs/TaskRefreshJob.java | 2 +- .../pro/taskana/user/api/UserService.java | 12 +- .../pro/taskana/user/api/models/User.java | 39 +- .../AbstractWorkbasketAccessItemQuery.java | 5 +- .../workbasket/api/WorkbasketPermission.java | 4 +- .../workbasket/api/WorkbasketService.java | 352 ++++++---- .../workbasket/api/models/Workbasket.java | 60 +- .../api/models/WorkbasketAccessItem.java | 40 +- .../api/models/WorkbasketSummary.java | 66 +- .../internal/WorkbasketServiceImpl.java | 3 +- .../report/ProvideTimestampReportAccTest.java | 2 +- .../java/acceptance/report/ReportTest.java | 2 +- .../ClassificationQueryFilterParameter.java | 12 +- .../monitor/rest/ReportFilterParameter.java | 108 +-- .../task/rest/TaskQueryFilterParameter.java | 370 +++++----- ...kbasketAccessItemQueryFilterParameter.java | 4 +- .../rest/WorkbasketQueryFilterParameter.java | 20 +- 64 files changed, 1710 insertions(+), 1357 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationQuery.java b/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationQuery.java index b40ac5f7d..dfba7e8bd 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationQuery.java +++ b/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationQuery.java @@ -1,5 +1,6 @@ package pro.taskana.classification.api; +import pro.taskana.classification.api.models.Classification; import pro.taskana.classification.api.models.ClassificationSummary; import pro.taskana.common.api.BaseQuery; import pro.taskana.common.api.TimeInterval; @@ -10,7 +11,7 @@ public interface ClassificationQuery extends BaseQuery { /** - * Add your key to your query. + * Add one or multiple {@linkplain ClassificationSummary#getKey() keys} to your query. * * @param key as String * @return the query @@ -18,7 +19,7 @@ public interface ClassificationQuery ClassificationQuery keyIn(String... key); /** - * Add your Id to your query. + * Add one or multiple {@linkplain ClassificationSummary#getId() ids} to your query. * * @param id as String * @return the query @@ -26,7 +27,7 @@ public interface ClassificationQuery ClassificationQuery idIn(String... id); /** - * Add your parentIds to your query. + * Add one or multiple {@linkplain ClassificationSummary#getParentId() parentIds} to your query. * * @param parentId as an array of Strings * @return the query @@ -34,7 +35,7 @@ public interface ClassificationQuery ClassificationQuery parentIdIn(String... parentId); /** - * Add your parentKeys to your query. + * Add your {@linkplain ClassificationSummary#getParentKey() parentKeys} to your query. * * @param parentKey as an array of Strings * @return the query @@ -42,7 +43,7 @@ public interface ClassificationQuery ClassificationQuery parentKeyIn(String... parentKey); /** - * Add your category to your query. + * Add your {@linkplain ClassificationSummary#getCategory() categories} to your query. * * @param category as String * @return the query @@ -50,7 +51,7 @@ public interface ClassificationQuery ClassificationQuery categoryIn(String... category); /** - * Add your type to your query. + * Add your {@linkplain ClassificationSummary#getType() types} to your query. * * @param type as String * @return the query @@ -58,7 +59,8 @@ public interface ClassificationQuery ClassificationQuery typeIn(String... type); /** - * Add your domains to your query which are used as filter. + * Add your {@linkplain ClassificationSummary#getDomain() domains} to your query which are used as + * filter. * * @param domain or domains for filtering. * @return the query @@ -66,7 +68,8 @@ public interface ClassificationQuery ClassificationQuery domainIn(String... domain); /** - * Add to your query if the Classification shall be valid in its domain. + * Add to your query if the {@linkplain pro.taskana.classification.api.models.Classification + * Classification} shall be valid in its {@linkplain ClassificationSummary#getDomain() domain}. * * @param validInDomain a simple flag showing if domain is valid * @return the query @@ -74,25 +77,25 @@ public interface ClassificationQuery ClassificationQuery validInDomainEquals(Boolean validInDomain); /** - * Add your created-Dates to your query. + * Add your {@linkplain Classification#getCreated() created}-Dates to your query. * - * @param createdIn the {@link TimeInterval} within which the searched-for classifications were - * created. + * @param createdIn the {@linkplain TimeInterval} within which the searched-for classifications + * were created. * @return the query */ ClassificationQuery createdWithin(TimeInterval... createdIn); /** - * Add your modified-Dates to your query. + * Add your {@linkplain Classification#getModified() modified}-Dates to your query. * - * @param modifiedIn the {@link TimeInterval} within which the searched-for classifications were - * modified the last time. + * @param modifiedIn the {@linkplain TimeInterval} within which the searched-for classifications + * were modified the last time. * @return the query */ ClassificationQuery modifiedWithin(TimeInterval... modifiedIn); /** - * Add your name to your query. + * Add your {@linkplain ClassificationSummary#getName() names} to your query. * * @param nameIn as String * @return the query @@ -100,7 +103,8 @@ public interface ClassificationQuery ClassificationQuery nameIn(String... nameIn); /** - * Add your name to your query. It will be compared in SQL with an LIKE. + * Add your {@linkplain ClassificationSummary#getName() names} to your query. They will be + * compared in SQL with a LIKE. * * @param nameLike as String * @return the query @@ -108,8 +112,9 @@ public interface ClassificationQuery ClassificationQuery nameLike(String... nameLike); /** - * Add your description to your query. It will be compared in SQL with an LIKE. If you use a - * wildcard like % then it will be transmitted to the database. + * Add your {@linkplain Classification#getDescription() descriptions} to your query. They will be + * compared in SQL with a LIKE. If you use a wildcard like % then it will be transmitted to the + * database. * * @param descriptionLike your description * @return the query @@ -117,7 +122,7 @@ public interface ClassificationQuery ClassificationQuery descriptionLike(String descriptionLike); /** - * Add your priority to your query. + * Add your {@linkplain ClassificationSummary#getPriority() priorities} to your query. * * @param priorities as integers * @return the query @@ -125,7 +130,7 @@ public interface ClassificationQuery ClassificationQuery priorityIn(int... priorities); /** - * Add your serviceLevel to your query. + * Add your {@linkplain ClassificationSummary#getServiceLevel() serviceLevels} to your query. * * @param serviceLevelIn as String * @return the query @@ -133,7 +138,8 @@ public interface ClassificationQuery ClassificationQuery serviceLevelIn(String... serviceLevelIn); /** - * Add your serviceLevel to your query. It will be compared in SQL with an LIKE. + * Add your {@linkplain ClassificationSummary#getServiceLevel() serviceLevels} to your query. They + * will be compared in SQL with a LIKE. * * @param serviceLevelLike as String * @return the query @@ -141,7 +147,8 @@ public interface ClassificationQuery ClassificationQuery serviceLevelLike(String... serviceLevelLike); /** - * Add your applicationEntryPoint to your query. + * Add your {@linkplain ClassificationSummary#getApplicationEntryPoint() applicationEntryPoints} + * to your query. * * @param applicationEntryPointIn name of the applications entrypoint * @return the query @@ -149,7 +156,8 @@ public interface ClassificationQuery ClassificationQuery applicationEntryPointIn(String... applicationEntryPointIn); /** - * Add your applicationEntryPoint to your query. It will be compared in SQL with an LIKE. + * Add your {@linkplain ClassificationSummary#getApplicationEntryPoint() applicationEntryPoints} + * to your query. They will be compared in SQL with a LIKE. * * @param applicationEntryPointLike name of the applications entrypoint * @return the query @@ -157,9 +165,10 @@ public interface ClassificationQuery ClassificationQuery applicationEntryPointLike(String... applicationEntryPointLike); /** - * Add the values of custom attributes for exact matching to your query. + * Add the values of specified {@linkplain ClassificationCustomField ClassificationCustomFields} + * for exact matching to your query. * - * @param customField identifies which custom attribute is affected. + * @param customField identifies which custom attribute is affected * @param searchArguments the customField values of the searched for tasks * @return the query * @throws InvalidArgumentException if searchArguments is empty or null @@ -169,9 +178,10 @@ public interface ClassificationQuery throws InvalidArgumentException; /** - * Add the values of custom attributes for pattern matching to your query. They will be compared - * in SQL with the LIKE operator. You may use a wildcard like % to specify the pattern. If you - * specify multiple arguments they are combined with the OR keyword. + * Add the values of specified {@linkplain ClassificationCustomField ClassificationCustomFields} + * for pattern matching to your query. They will be compared in SQL with the LIKE operator. You + * may use a wildcard like % to specify the pattern. If you specify multiple arguments they are + * combined with the OR keyword. * * @param customField identifies which custom attribute is affected. * @param searchArguments the customField values of the searched-for tasks @@ -183,25 +193,26 @@ public interface ClassificationQuery throws InvalidArgumentException; /** - * Sort the query result by key. + * Sort the query result by {@linkplain ClassificationSummary#getKey() key}. * - * @param sortDirection Determines whether the result is sorted in ascending or descending order. + * @param sortDirection Determines whether the result is sorted in ascending or descending order * If sortDirection is null, the result is sorted in ascending order * @return the query */ ClassificationQuery orderByKey(SortDirection sortDirection); /** - * Sort the query result by the parent classification ID. + * Sort the query result by the {@linkplain ClassificationSummary#getParentId() id of the parent}. * - * @param sortDirection Determines whether the result is sorted in ascending or descending order. + * @param sortDirection Determines whether the result is sorted in ascending or descending order * If sortDirection is null, the result is sorted in ascending order * @return the query */ ClassificationQuery orderByParentId(SortDirection sortDirection); /** - * Sort the query result by the parent classification key. + * Sort the query result by the {@linkplain ClassificationSummary#getParentKey() key of the + * parent}. * * @param sortDirection Determines whether the result is sorted in ascending or descending order. * If sortDirection is null, the result is sorted in ascending order @@ -210,16 +221,16 @@ public interface ClassificationQuery ClassificationQuery orderByParentKey(SortDirection sortDirection); /** - * Sort the query result by category. + * Sort the query result by {@linkplain ClassificationSummary#getCategory() category}. * - * @param sortDirection Determines whether the result is sorted in ascending or descending order. + * @param sortDirection Determines whether the result is sorted in ascending or descending order * If sortDirection is null, the result is sorted in ascending order * @return the query */ ClassificationQuery orderByCategory(SortDirection sortDirection); /** - * Sort the query result by domain. + * Sort the query result by {@linkplain ClassificationSummary#getDomain() domain}. * * @param sortDirection Determines whether the result is sorted in ascending or descending order. * If sortDirection is null, the result is sorted in ascending order @@ -228,7 +239,7 @@ public interface ClassificationQuery ClassificationQuery orderByDomain(SortDirection sortDirection); /** - * Sort the query result by name. + * Sort the query result by {@linkplain ClassificationSummary#getName() name}. * * @param sortDirection Determines whether the result is sorted in ascending or descending order. * If sortDirection is null, the result is sorted in ascending order @@ -237,7 +248,7 @@ public interface ClassificationQuery ClassificationQuery orderByName(SortDirection sortDirection); /** - * Sort the query result by service level. + * Sort the query result by {@linkplain ClassificationSummary#getServiceLevel() serviceLevel}. * * @param sortDirection Determines whether the result is sorted in ascending or descending order. * If sortDirection is null, the result is sorted in ascending order @@ -246,7 +257,7 @@ public interface ClassificationQuery ClassificationQuery orderByServiceLevel(SortDirection sortDirection); /** - * Sort the query result by priority. + * Sort the query result by {@linkplain ClassificationSummary#getPriority() priority}. * * @param sortDirection Determines whether the result is sorted in ascending or descending order. * If sortDirection is null, the result is sorted in ascending order @@ -255,7 +266,8 @@ public interface ClassificationQuery ClassificationQuery orderByPriority(SortDirection sortDirection); /** - * Sort the query result by the application entry point name. + * Sort the query result by the {@linkplain ClassificationSummary#getApplicationEntryPoint() name + * of the application entry point}. * * @param sortDirection Determines whether the result is sorted in ascending or descending order. * If sortDirection is null, the result is sorted in ascending order @@ -264,7 +276,8 @@ public interface ClassificationQuery ClassificationQuery orderByApplicationEntryPoint(SortDirection sortDirection); /** - * This method sorts the query result according to the value of a custom field. + * This method sorts the query result according to the value of the specified {@linkplain + * ClassificationCustomField custom field}. * * @param customField identifies which custom attribute is affected. * @param sortDirection Determines whether the result is sorted in ascending or descending order. diff --git a/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationService.java b/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationService.java index 9539cc818..f5375e56b 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationService.java +++ b/lib/taskana-core/src/main/java/pro/taskana/classification/api/ClassificationService.java @@ -10,86 +10,110 @@ import pro.taskana.common.api.exceptions.DomainNotFoundException; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; -/** This class manages the classifications. */ +/** This class manages {@linkplain Classification Classifications}. */ public interface ClassificationService { /** - * Get the Classification for key and domain. If there's no Classification in the given domain, - * return the Classification from the master domain. + * Gets the {@linkplain Classification} identified by the provided {@linkplain + * Classification#getKey() key} and {@linkplain Classification#getDomain() domain}. If there's no + * {@linkplain Classification} in the given {@linkplain Classification#getDomain() domain}, + * returns the {@linkplain Classification} from the master domain. * - * @param key the key of the searched-for classifications - * @param domain the domain of the searched-for classifications - * @return If exist: domain-specific classification, else master classification - * @throws ClassificationNotFoundException if no classification is found that matches the key - * either in domain or in the master domain. + * @param key the {@linkplain Classification#getKey() key} of the searched-for {@linkplain + * Classification} + * @param domain the {@linkplain Classification#getDomain() domain} of the searched-for + * {@linkplain Classification} + * @return if exist: domain-specific {@linkplain Classification}, else master {@linkplain + * Classification} + * @throws ClassificationNotFoundException if no {@linkplain Classification} is found that matches + * the {@linkplain Classification#getKey() key} either in {@linkplain + * Classification#getDomain() domain} or in the master {@linkplain Classification#getDomain() + * domain} */ Classification getClassification(String key, String domain) throws ClassificationNotFoundException; /** - * Get the Classification by id. + * Gets the {@linkplain Classification} identified by the provided {@linkplain + * Classification#getId() id}. * - * @param id the id of the searched-for classifications - * @return the classification identified by id - * @throws ClassificationNotFoundException if no classification is found that matches the id. + * @param id the {@linkplain Classification#getId() id} of the searched-for {@linkplain + * Classification} + * @return the {@linkplain Classification} identified by {@linkplain Classification#getId() id} + * @throws ClassificationNotFoundException if no {@linkplain Classification} is found that matches + * the {@linkplain Classification#getId() id} */ Classification getClassification(String id) throws ClassificationNotFoundException; /** - * Delete a classification with all child classifications. + * Deletes a {@linkplain Classification} with all child {@linkplain Classification + * Classifications}. * - * @param id the id of the searched-for classifications - * @throws ClassificationInUseException if there are Task existing, which refer to this - * classification. - * @throws ClassificationNotFoundException if for an domain no classification specification is - * found. - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @param id the {@linkplain Classification#getId() id} of the searched-for {@linkplain + * Classification} + * @throws ClassificationInUseException if there are {@linkplain + * pro.taskana.task.api.models.Task}s which refer to this {@linkplain Classification} + * @throws ClassificationNotFoundException if no {@linkplain Classification} with the specified + * {@linkplain Classification#getId() id} is found + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN} or {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN} */ void deleteClassification(String id) throws ClassificationInUseException, ClassificationNotFoundException, NotAuthorizedException; /** - * Delete a classification with all child classifications. + * Deletes the {@linkplain Classification} identified by the provided {@linkplain + * Classification#getKey() key} and {@linkplain Classification#getDomain() domain} with all its + * child {@linkplain Classification Classifications}. * - * @param classificationKey the key of the classification you want to delete. - * @param domain the domains for which you want to delete the classification. if "", the function - * tries to delete the "master domain" classification and any other classification with this - * key. - * @throws ClassificationInUseException if there are Task existing, which refer to this - * classification. - * @throws ClassificationNotFoundException if for an domain no classification specification is - * found. - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @param classificationKey the {@linkplain Classification#getKey() key} of the {@linkplain + * Classification} you want to delete. + * @param domain the {@linkplain Classification#getDomain() domain} of the the {@linkplain + * Classification} you want to delete. if "", the function tries to delete the "master domain" + * {@linkplain Classification} and any other {@linkplain Classification} with this {@linkplain + * Classification#getKey() key}. + * @throws ClassificationInUseException if there are {@linkplain + * pro.taskana.task.api.models.Task}s which refer to this {@linkplain Classification}. + * @throws ClassificationNotFoundException if no {@linkplain Classification} with the specified + * {@linkplain Classification#getKey() key} and {@linkplain Classification#getDomain() domain} + * is found. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN} or {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN} */ void deleteClassification(String classificationKey, String domain) throws ClassificationInUseException, ClassificationNotFoundException, NotAuthorizedException; /** - * Inserts a new Classification after adding default values.
- * The Classification will be added to master-domain, too - if not already existing.
+ * Inserts a new {@linkplain Classification} after applying default values.
+ * The {@linkplain Classification} will be added to master-domain, too - if not already existing. + *
* The default values are: * * * - * @param classification the Classification to insert - * @return Classification which is equipped with unique ID. - * @throws ClassificationAlreadyExistException if the Classification does already exists at the - * given domain. - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN - * @throws DomainNotFoundException if the {@code domain} does not exist in the configuration - * @throws MalformedServiceLevelException if the {@code serviceLevel} property does not comply - * with the ISO 8601 specification + * @param classification the {@linkplain Classification} to insert + * @return the inserted {@linkplain Classification} with unique {@linkplain Classification#getId() + * id}. + * @throws ClassificationAlreadyExistException if the {@linkplain Classification} already exists + * in the given {@linkplain Classification#getDomain() domain}. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN} or {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN} + * @throws DomainNotFoundException if the {@linkplain Classification#getDomain() domain} does not + * exist in the configuration + * @throws MalformedServiceLevelException if the {@linkplain Classification#getServiceLevel() + * serviceLevel} does not comply with the ISO 8601 specification * @throws InvalidArgumentException if the {@linkplain Classification} contains invalid properties */ Classification createClassification(Classification classification) @@ -97,16 +121,20 @@ public interface ClassificationService { InvalidArgumentException, MalformedServiceLevelException; /** - * Updates a Classification. + * Updates the specified {@linkplain Classification}. * - * @param classification the Classification to update - * @return the updated Classification. - * @throws ClassificationNotFoundException if the classification OR it's parent does not exist. - * @throws NotAuthorizedException if the caller got no ADMIN or BUSINESS_ADMIN permissions. - * @throws ConcurrencyException If the classification was modified in the meantime and is not the - * most up to date anymore. - * @throws MalformedServiceLevelException if the {@code serviceLevel} property does not comply - * with the ISO 8601 specification + * @param classification the {@linkplain Classification} to update + * @return the updated {@linkplain Classification}. + * @throws ClassificationNotFoundException if the {@linkplain Classification} or its parent does + * not exist. + * @throws NotAuthorizedException if the caller got no {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN} or {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN} permissions. + * @throws ConcurrencyException if the {@linkplain Classification} was modified in the meantime + * and is not the most up to date anymore; that's the case if the given modified timestamp + * differs from the one in the database + * @throws MalformedServiceLevelException if the {@linkplain Classification#getServiceLevel() + * serviceLevel} does not comply with the ISO 8601 specification * @throws InvalidArgumentException if the {@linkplain Classification} contains invalid properties */ Classification updateClassification(Classification classification) @@ -116,18 +144,22 @@ public interface ClassificationService { /** * This method provides a query builder for querying the database. * - * @return a {@link ClassificationQuery} + * @return a {@linkplain ClassificationQuery} */ ClassificationQuery createClassificationQuery(); /** - * Creating a new {@link Classification} with unchangeable default values. It will be only - * generated and is not inserted until CREATE-call. + * Creating a new {@link Classification} initialized with unchangeable values for {@linkplain + * Classification#getKey() key}, {@linkplain Classification#getDomain() domain} and {@linkplain + * Classification#getType() type}. The classification will not be inserted into the database until + * {@linkplain ClassificationService#createClassification(Classification)} call. * - * @param key the key of the classification - * @param domain the domain of the new classification - * @param type the type of the new classification - * @return classification to specify + * @param key the {@linkplain Classification#getKey() key} of the {@linkplain Classification} + * @param domain the {@linkplain Classification#getDomain() domain} of the new {@linkplain + * Classification} + * @param type the {@linkplain Classification#getType() type} of the new {@linkplain + * Classification} + * @return the initialized {@linkplain Classification} */ Classification newClassification(String key, String domain, String type); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/Classification.java b/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/Classification.java index 418bc9950..54e6ec169 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/Classification.java +++ b/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/Classification.java @@ -8,51 +8,51 @@ import pro.taskana.classification.api.ClassificationCustomField; public interface Classification extends ClassificationSummary { /** - * Set/Change a reference to the current parent classification via ID. EMPTY if there is no - * parent. + * Sets/Changes a reference to the current parent Classification via id. If the Classification has + * no parent, the value of parentId should be an empty String. * - * @param parentId The ID of the parent classification. + * @param parentId the id of the parent Classification */ void setParentId(String parentId); /** - * Set/Change a reference to the current parent classification via key. EMPTY if there is no - * parent. + * Sets/Changes a reference to the current parent Classification via key. If the Classification + * has no parent, the value of parentKey should be an empty String. * - * @param parentKey The key of the parent classification. + * @param parentKey the key of the parent Classification */ void setParentKey(String parentKey); /** - * Set/Change the category of this classification. + * Sets/Changes the category of the Classification. * - * @param category The category of the classification. + * @param category the category of the Classification */ void setCategory(String category); /** - * Get the current domain-name of this classification. + * Returns the current domain of the Classification. * - * @return domain name + * @return domain */ String getDomain(); /** - * Get the logical name of the associated application entry point. + * Returns the logical name of the associated applicationEntryPoint of the Classification. * * @return applicationEntryPoint */ String getApplicationEntryPoint(); /** - * Set the logical name of the associated application entry point. + * Sets the logical name of the associated applicationEntryPoint of the Classification. * - * @param applicationEntryPoint The application entry point + * @param applicationEntryPoint the applicationEntryPoint */ void setApplicationEntryPoint(String applicationEntryPoint); /** - * Duplicates this Classification without the id. + * Duplicates the Classification without the id. * * @param key for the new Classification * @return a copy of this Classification @@ -60,91 +60,94 @@ public interface Classification extends ClassificationSummary { Classification copy(String key); /** - * Get a flag if the classification if currently valid in the used domain. + * Returns whether the Classification is currently valid in the used domain. * - * @return isValidInDomain - flag + * @return isValidInDomain */ Boolean getIsValidInDomain(); /** - * Set/Change the flag which marks the classification as valid/invalid in the currently used + * Sets/Changes the flag which marks the Classification as valid/invalid in the currently used * domain. * - * @param isValidInDomain - flag + * @param isValidInDomain flag */ void setIsValidInDomain(Boolean isValidInDomain); /** - * Get the timestamp when this classification was as created. + * Returns the time when the Classification was created. * - * @return created as instant + * @return the time of creation as Instant */ Instant getCreated(); /** - * Get the timestamp when this classification was as modified the last time. + * Returns the time when the Classification was modified the last time. * - * @return modified as instant + * @return the time of last modification as Instant */ Instant getModified(); /** - * Set/Change the classification name. + * Sets/Changes the name of the Classification. * * @param name the name of the Classification */ void setName(String name); /** - * Get the description of a classification. + * Returns the description of the Classification. * * @return description */ String getDescription(); /** - * Set/Change the classification description. + * Sets/Changes the description of the Classification. * * @param description the description of the Classification */ void setDescription(String description); /** - * Set/Change the numeric priority of a classification. + * Sets/Changes the numeric priority of the Classification. * - * @param priority the Priority of the Classification + * @param priority the priority of the Classification */ void setPriority(int priority); /** - * Set/Change the service level. + * Sets/Changes the serviceLevel of the Classification. * - * @param serviceLevel the service level. Must be a String in ISO-8601 duration format. See the - * parse() method of {@code Duration} for details. + * @param serviceLevel the serviceLevel; must be a String in ISO-8601 duration format; see the + * parse() method of {@code Duration} for details */ void setServiceLevel(String serviceLevel); /** - * Sets the value for custom Attribute. + * Sets the value for the specified {@linkplain ClassificationCustomField + * ClassificationCustomField}. * - * @param customField identifies which custom attribute is to be set. - * @param value the value of the custom attribute to be set - * @deprecated Use {@link #setCustomField(ClassificationCustomField, String)} instead + * @param customField the {@linkplain ClassificationCustomField ClassificationCustomField} + * identifies which custom attribute is to be set + * @param value the value of the {@linkplain ClassificationCustomField ClassificationCustomField} + * to be set + * @deprecated Use {@linkplain #setCustomField(ClassificationCustomField, String)} instead */ void setCustomAttribute(ClassificationCustomField customField, String value); /** - * Sets the value for custom field. + * Sets the value for {@linkplain ClassificationCustomField}. * - * @param customField identifies which custom field is to be set. - * @param value the value of the custom field to be set + * @param customField identifies which {@linkplain ClassificationCustomField} is to be set + * @param value the value of the {@linkplain ClassificationCustomField} to be set */ void setCustomField(ClassificationCustomField customField, String value); /** - * Return a summary of the current Classification. + * Return a summary of the Classification. * - * @return the ClassificationSummary object for the current classification + * @return the {@linkplain ClassificationSummary} object for the current Classification */ ClassificationSummary asSummary(); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/ClassificationSummary.java b/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/ClassificationSummary.java index 4bfe4f89e..7285ba5bb 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/ClassificationSummary.java +++ b/lib/taskana-core/src/main/java/pro/taskana/classification/api/models/ClassificationSummary.java @@ -4,102 +4,108 @@ import pro.taskana.classification.api.ClassificationCustomField; /** * Interface for ClassificationSummaries. This is a specific short model-object which only requieres - * the most important information. Specific ones can be load afterwards via ID. + * the most important information. Detailed information can be load afterwards via id. */ public interface ClassificationSummary { /** - * Gets the id of the classification. + * Returns the id of the Classification. * - * @return classificationId + * @return the id of the Classification */ String getId(); /** - * Gets the key of the classification. + * Returns the key of the Classification. * - * @return classificationKey + * @return the key of the Classification */ String getKey(); /** - * Gets the category of the classification. + * Returns the category of the Classification. * - * @return classificationCategory + * @return the category of the Classification */ String getCategory(); /** - * Gets the type of the classification. + * Returns the type of the Classification. * - * @return classificationType + * @return the type of the Classification */ String getType(); /** - * Gets the domain of the classification. + * Returns the domain of the Classification. * - * @return classificationDomain + * @return the domain of the Classification */ String getDomain(); /** - * Gets the name of the classification. + * Returns the name of the Classification. * - * @return classificationName + * @return the name of the Classification */ String getName(); /** - * Gets the ID of the parent classification. + * Returns the id of the parent Classification. * * @return parentId */ String getParentId(); /** - * Gets the key of the parent classification. + * Returns the key of the parent Classification. * * @return parentKey */ String getParentKey(); /** - * Gets the service level of the classification. It is a String in ISO-8601 duration format. See + * Returns the serviceLevel of the Classification. It is a String in ISO-8601 duration format. See * the parse() method of {@code Duration} for details. * - * @return the service level + * @return serviceLevel */ String getServiceLevel(); /** - * Gets the application entry point of the classification. + * Returns the applicationEntryPoint of the Classification. * - * @return the application entry point + * @return applicationEntryPoint */ String getApplicationEntryPoint(); /** - * Gets the priority of the classification. + * Returns the priority of the Classification. * - * @return the priority + * @return priority */ int getPriority(); /** - * Gets the custom attribute of the classification. + * Returns the value of the specified {@linkplain ClassificationCustomField + * ClassificationCustomField} of the Classification. * - * @param customField identifies which custom attribute is requested. - * @return the value for the given customField - * @deprecated Use {@link #getCustomField(ClassificationCustomField)} instead + * @param customField identifies which {@linkplain ClassificationCustomField + * ClassificationCustomField} is requested + * @return the value for the given {@linkplain ClassificationCustomField + * ClassificationCustomField} + * @deprecated Use {@linkplain #getCustomField(ClassificationCustomField)} instead */ String getCustomAttribute(ClassificationCustomField customField); /** - * Gets the custom field of the classification. + * Returns the value of the specified {@linkplain ClassificationCustomField + * ClassificationCustomField} of the classification. * - * @param customField identifies which custom field is requested. - * @return the value for the given custom field + * @param customField identifies which {@linkplain ClassificationCustomField + * ClassificationCustomField} is requested + * @return the value for the given {@linkplain ClassificationCustomField + * ClassificationCustomField} */ String getCustomField(ClassificationCustomField customField); diff --git a/lib/taskana-core/src/main/java/pro/taskana/classification/internal/ClassificationServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/classification/internal/ClassificationServiceImpl.java index cfb9dcda6..c37c0e296 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/classification/internal/ClassificationServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/classification/internal/ClassificationServiceImpl.java @@ -508,8 +508,9 @@ public class ClassificationServiceImpl implements ClassificationService { * * @param classificationImpl the classification * @return the old classification - * @throws ConcurrencyException if the classification has been modified by some other process. - * @throws ClassificationNotFoundException if the given classification does not exist. + * @throws ConcurrencyException if the classification has been modified by some other process; + * that's the case if the given modified timestamp differs from the one in the database + * @throws ClassificationNotFoundException if the given classification does not exist */ private Classification getExistingClassificationAndVerifyTimestampHasNotChanged( ClassificationImpl classificationImpl) diff --git a/lib/taskana-core/src/main/java/pro/taskana/common/api/JobService.java b/lib/taskana-core/src/main/java/pro/taskana/common/api/JobService.java index 4b2e4d4de..426624a7d 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/common/api/JobService.java +++ b/lib/taskana-core/src/main/java/pro/taskana/common/api/JobService.java @@ -1,13 +1,15 @@ package pro.taskana.common.api; -/** Service to manage the TASKANA jobs. */ +import pro.taskana.common.internal.jobs.TaskanaJob; + +/** Service to manage the {@linkplain TaskanaJob TaskanaJobs}. */ public interface JobService { /** - * Create a schedule a new job. + * Initializes the given {@linkplain ScheduledJob} and inserts it into the database. * - * @param job {@link ScheduledJob} The job to be created. - * @return {@link ScheduledJob} The created job. + * @param job the {@linkplain ScheduledJob job} to be created + * @return the created {@linkplain ScheduledJob job} */ ScheduledJob createJob(ScheduledJob job); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java b/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java index a8b63bb84..9e5462b50 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java +++ b/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java @@ -9,6 +9,7 @@ import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.security.CurrentUserContext; import pro.taskana.monitor.api.MonitorService; import pro.taskana.task.api.TaskService; +import pro.taskana.task.api.models.Task; import pro.taskana.user.api.UserService; import pro.taskana.workbasket.api.WorkbasketService; @@ -16,131 +17,167 @@ import pro.taskana.workbasket.api.WorkbasketService; public interface TaskanaEngine { /** - * The TaskService can be used for operations on all Tasks. + * Returns a {@linkplain TaskService} initialized with the current TaskanaEngine. {@linkplain + * TaskService} can be used for operations on all {@linkplain Task Tasks}. * - * @return the TaskService + * @return an instance of {@linkplain TaskService} */ TaskService getTaskService(); /** - * The MonitorService can be used for monitoring Tasks. + * Returns a {@linkplain MonitorService} initialized with the current TaskanaEngine. {@linkplain + * MonitorService} can be used for monitoring {@linkplain Task Tasks}. * - * @return the MonitorService + * @return an instance of {@linkplain MonitorService} */ MonitorService getMonitorService(); /** - * The WorkbasketService can be used for operations on all Workbaskets. + * Returns a {@linkplain WorkbasketService} initialized with the current TaskanaEngine. The + * {@linkplain WorkbasketService} can be used for operations on all {@linkplain + * pro.taskana.workbasket.api.models.Workbasket Workbaskets}. * - * @return the WorbasketService + * @return an instance of {@linkplain WorkbasketService} */ WorkbasketService getWorkbasketService(); /** - * The ClassificationService can be used for operations on all Categories. + * Returns a {@linkplain ClassificationService} initialized with the current TaskanaEngine. The + * {@linkplain ClassificationService} can be used for operations on all {@linkplain + * pro.taskana.classification.api.models.Classification Classifications}. * - * @return the ClassificationService + * @return an instance of {@linkplain ClassificationService} */ ClassificationService getClassificationService(); /** - * The JobService can be user for all job operations. + * Returns a {@linkplain JobService} initialized with the current TaskanaEngine. The {@linkplain + * JobService} can be used for all operations on {@linkplain + * pro.taskana.common.internal.jobs.TaskanaJob TaskanaJobs}. * - * @return the JobService + * @return an instance of {@linkplain JobService} */ JobService getJobService(); + /** + * Returns a {@linkplain UserService} initialized with the current TaskanaEngine. The {@linkplain + * UserService} can be used for all operations on {@linkplain pro.taskana.user.api.models.User + * Users}. + * + * @return an instance of {@linkplain UserService} + */ UserService getUserService(); + /** + * Returns a {@linkplain ConfigurationService} initialized with the current TaskanaEngine. The + * {@linkplain ConfigurationService} can be used to manage custom configuration options. + * + * @return an instance of {@linkplain ConfigurationService} + */ ConfigurationService getConfigurationService(); /** - * The Taskana configuration. + * Returns the {@linkplain TaskanaEngineConfiguration configuration} of the TaskanaEngine. * - * @return the TaskanaConfiguration + * @return {@linkplain TaskanaEngineConfiguration configuration} */ TaskanaEngineConfiguration getConfiguration(); /** - * The WorkingDaysToDaysConverter used to compute holidays. + * Returns the {@linkplain WorkingDaysToDaysConverter} of the TaskanaEngine. The {@linkplain + * WorkingDaysToDaysConverter} is used to compute holidays. * - * @return the converter + * @return {@linkplain WorkingDaysToDaysConverter} */ WorkingDaysToDaysConverter getWorkingDaysToDaysConverter(); /** - * Checks if the history plugin is enabled. + * Checks if the {@linkplain pro.taskana.spi.history.api.TaskanaHistory TaskanaHistory} plugin is + * enabled. * - * @return true if the history is enabled. Otherwise false. + * @return true if the history is enabled; otherwise false */ boolean isHistoryEnabled(); /** - * gets the current connection management mode. + * Returns the {@linkplain ConnectionManagementMode ConnectionManagementMode} of the + * TaskanaEngine. * - * @return the current connection management mode. + * @return {@linkplain ConnectionManagementMode ConnectionManagementMode} */ ConnectionManagementMode getConnectionManagementMode(); /** - * sets the connection management mode. + * Sets {@linkplain ConnectionManagementMode ConnectionManagementMode} of the TaskanaEngine. * - * @param mode the connection management mode Valid values are: + * @param mode the valid values for the {@linkplain ConnectionManagementMode} are: * */ void setConnectionManagementMode(ConnectionManagementMode mode); /** - * Set the connection to be used by TASKANA in mode {@linkplain - * ConnectionManagementMode#EXPLICIT}. If this Api is called, taskana uses the connection passed - * by the client for all subsequent API calls until the client resets this connection. Control - * over commit and rollback of the connection is the responsibility of the client. In order to - * close the connection, closeConnection() or setConnection(null) has to be called. + * Set the {@code Connection} to be used by TASKANA in mode {@linkplain + * ConnectionManagementMode#EXPLICIT EXPLICIT}. If this API is called, TASKANA uses the {@code + * Connection} passed by the client for all subsequent API calls until the client resets this + * {@code Connection}. Control over commit and rollback of the {@code Connection} is the + * responsibility of the client. In order to close the {@code Connection}, {@code + * closeConnection()} or {@code setConnection(null)} has to be called. * - * @param connection - The java.sql.Connection that is controlled by the client + * @param connection - The {@code java.sql.Connection} that is controlled by the client * @throws SQLException if a database access error occurs */ void setConnection(java.sql.Connection connection) throws SQLException; /** - * Closes the client's connection, sets it to null and switches to mode PARTICIPATE. Only - * applicable in mode EXPLICIT. Has the same effect as setConnection(null). + * Closes the client's connection, sets it to null and switches to mode {@linkplain + * ConnectionManagementMode#PARTICIPATE PARTICIPATE}. Only applicable in mode {@linkplain + * ConnectionManagementMode#EXPLICIT EXPLICIT}. Has the same effect as {@code + * setConnection(null)}. */ void closeConnection(); /** - * check whether the current user is member of one of the roles specified. + * Check whether the current user is member of one of the {@linkplain TaskanaRole TaskanaRoles} + * specified. * - * @param roles The roles that are checked for membership of the current user - * @return true if the current user is a member of at least one of the specified groups + * @param roles The {@linkplain TaskanaRole TaskanaRoles} that are checked for membership of the + * current user + * @return true if the current user is a member of at least one of the specified {@linkplain + * TaskanaRole TaskanaRole} */ boolean isUserInRole(TaskanaRole... roles); /** - * Checks whether current user is member of any of the specified roles. + * Checks whether current user is member of any of the specified {@linkplain TaskanaRole + * TaskanaRoles}. * - * @param roles The roles that are checked for membership of the current user - * @throws NotAuthorizedException If the current user is not member of any specified role + * @param roles The {@linkplain TaskanaRole TaskanaRoles} that are checked for membership of the + * current user + * @throws NotAuthorizedException If the current user is not member of any specified {@linkplain + * TaskanaRole TaskanaRole} */ void checkRoleMembership(TaskanaRole... roles) throws NotAuthorizedException; /** - * Executes a given supplier with admin privileges and thus skips further permission checks. With - * great power comes great responsibility. + * Executes a given {@code Supplier} with admin privileges and thus skips further permission + * checks. With great power comes great responsibility. * * @param supplier will be executed with admin privileges - * @param defined with the supplier return value - * @return output from supplier + * @param defined with the return value of the {@code Supplier} + * @return output from {@code Supplier} */ T runAsAdmin(Supplier supplier); /** - * Executes a given runnable with admin privileges and thus skips further permission checks. With - * great power comes great responsibility. + * Executes a given {@code Runnable} with admin privileges and thus skips further permission + * checks. With great power comes great responsibility. * * @see #runAsAdmin(Supplier) */ @@ -154,9 +191,9 @@ public interface TaskanaEngine { } /** - * Returns the CurrentUserContext class. + * Returns the {@linkplain CurrentUserContext} of the TaskanaEngine. * - * @return the CurrentUserContext + * @return {@linkplain CurrentUserContext} */ CurrentUserContext getCurrentUserContext(); @@ -164,9 +201,12 @@ public interface TaskanaEngine { * Connection management mode. Controls the connection handling of taskana * *
    - *
  • PARTICIPATE - taskana participates in global transaction. This is the default mode - *
  • AUTOCOMMIT - taskana commits each API call separately - *
  • EXPLICIT - commit processing is managed explicitly by the client + *
  • {@linkplain ConnectionManagementMode#PARTICIPATE PARTICIPATE} - taskana participates * in + * global transaction; this is the default mode * + *
  • {@linkplain ConnectionManagementMode#AUTOCOMMIT AUTOCOMMIT} - taskana commits each * API + * call separately * + *
  • {@linkplain ConnectionManagementMode#EXPLICIT EXPLICIT} - commit processing is * managed + * explicitly by the client *
*/ enum ConnectionManagementMode { diff --git a/lib/taskana-core/src/main/java/pro/taskana/common/internal/TaskanaEngineImpl.java b/lib/taskana-core/src/main/java/pro/taskana/common/internal/TaskanaEngineImpl.java index 84abd9e72..44e87eb4a 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/common/internal/TaskanaEngineImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/common/internal/TaskanaEngineImpl.java @@ -309,7 +309,7 @@ public class TaskanaEngineImpl implements TaskanaEngine { * This method creates the sqlSessionManager of myBatis. It integrates all the SQL mappers and * sets the databaseId attribute. * - * @return a {@link SqlSessionFactory} + * @return a {@linkplain SqlSessionFactory} * @throws SystemException when a connection to the database could not be opened. */ protected SqlSessionManager createSqlSessionManager() { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/CombinedClassificationFilter.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/CombinedClassificationFilter.java index 3af92be52..e107f5e01 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/CombinedClassificationFilter.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/CombinedClassificationFilter.java @@ -1,12 +1,17 @@ package pro.taskana.monitor.api; +import pro.taskana.classification.api.models.Classification; import pro.taskana.monitor.api.reports.WorkbasketReport; +import pro.taskana.task.api.models.Attachment; +import pro.taskana.task.api.models.Task; /** - * The CombinedClassificationFilter is a pair of a classificationId for a task and a - * classificationId for the corresponding attachment that is used to filter the {@link - * WorkbasketReport} by the classification of the attachment. To filter by the classification of the - * task, the classificationId of the attachment should be null. + * The CombinedClassificationFilter is a pair of a classificationId for a {@linkplain Task} and a + * classificationId for the corresponding {@linkplain Attachment}. Such pair can only be created for + * tasks that have no more than one {@linkplain Attachment}. The pair is used to filter the + * {@linkplain WorkbasketReport} by the {@linkplain Classification} of the {@linkplain Attachment}. + * To filter by the {@linkplain Classification} of the {@linkplain Task}, the + * attachmentClassificationId of the CombinedClassificationFilter should be NULL. */ public class CombinedClassificationFilter { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/MonitorService.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/MonitorService.java index ad0295377..1029fb749 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/MonitorService.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/MonitorService.java @@ -13,57 +13,58 @@ import pro.taskana.task.api.TaskCustomField; public interface MonitorService { /** - * Provides a {@link WorkbasketReport.Builder} for creating a {@link WorkbasketReport}. + * Provides a {@linkplain WorkbasketReport.Builder} for creating a {@linkplain WorkbasketReport}. * - * @return a {@link WorkbasketReport.Builder} + * @return a {@linkplain WorkbasketReport.Builder} */ WorkbasketReport.Builder createWorkbasketReportBuilder(); /** - * Provides a {@link WorkbasketPriorityReport.Builder} for creating a {@link + * Provides a {@linkplain WorkbasketPriorityReport.Builder} for creating a {@link * WorkbasketPriorityReport}. * - * @return a {@link WorkbasketReport.Builder} + * @return a {@linkplain WorkbasketReport.Builder} */ WorkbasketPriorityReport.Builder createWorkbasketPriorityReportBuilder(); /** - * Provides a {@link ClassificationCategoryReport.Builder} for creating a {@link + * Provides a {@linkplain ClassificationCategoryReport.Builder} for creating a {@link * ClassificationCategoryReport}. * - * @return a {@link ClassificationCategoryReport.Builder} + * @return a {@linkplain ClassificationCategoryReport.Builder} */ ClassificationCategoryReport.Builder createClassificationCategoryReportBuilder(); /** - * Provides a {@link ClassificationReport.Builder} for creating a {@link ClassificationReport} or - * a {@link pro.taskana.monitor.api.reports.ClassificationReport.DetailedClassificationReport}. + * Provides a {@linkplain ClassificationReport.Builder} for creating a {@linkplain + * ClassificationReport} or a {@linkplain + * pro.taskana.monitor.api.reports.ClassificationReport.DetailedClassificationReport}. * - * @return a {@link ClassificationReport.Builder} + * @return a {@linkplain ClassificationReport.Builder} */ ClassificationReport.Builder createClassificationReportBuilder(); /** - * Provides a {@link TaskCustomFieldValueReport.Builder} for creating a {@link + * Provides a {@linkplain TaskCustomFieldValueReport.Builder} for creating a {@link * TaskCustomFieldValueReport}. * * @param taskCustomField the customField whose values should appear in the report - * @return a {@link TaskCustomFieldValueReport.Builder} + * @return a {@linkplain TaskCustomFieldValueReport.Builder} */ TaskCustomFieldValueReport.Builder createTaskCustomFieldValueReportBuilder( TaskCustomField taskCustomField); /** - * Provides a {@link TaskStatusReport.Builder} for creating a {@link TaskStatusReport}. + * Provides a {@linkplain TaskStatusReport.Builder} for creating a {@linkplain TaskStatusReport}. * - * @return a {@link TaskStatusReport.Builder} + * @return a {@linkplain TaskStatusReport.Builder} */ TaskStatusReport.Builder createTaskStatusReportBuilder(); /** - * Provides a {@link TimestampReport.Builder} for creating a {@link TimestampReport}. + * Provides a {@linkplain TimestampReport.Builder} for creating a {@linkplain TimestampReport}. * - * @return a {@link TimestampReport.Builder} + * @return a {@linkplain TimestampReport.Builder} */ TimestampReport.Builder createTimestampReportBuilder(); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/TaskTimestamp.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/TaskTimestamp.java index 22df94953..4a0fbd2f8 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/TaskTimestamp.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/TaskTimestamp.java @@ -2,7 +2,7 @@ package pro.taskana.monitor.api; import pro.taskana.task.api.models.Task; -/** This enum contains all timestamps saved in the database table for a {@link Task}. */ +/** This enum contains all timestamps saved in the database table for a {@linkplain Task}. */ public enum TaskTimestamp { CREATED, CLAIMED, diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationCategoryReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationCategoryReport.java index 4471c7fe1..c4e5085c3 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationCategoryReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationCategoryReport.java @@ -28,7 +28,7 @@ public class ClassificationCategoryReport super(timeIntervalColumnHeaders, new String[] {"CLASSIFICATION CATEGORIES"}); } - /** Builder for {@link ClassificationCategoryReport}. */ + /** Builder for {@linkplain ClassificationCategoryReport}. */ public interface Builder extends TimeIntervalReportBuilder { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationReport.java index 469d48ba1..120e67a2e 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/ClassificationReport.java @@ -30,7 +30,7 @@ public class ClassificationReport extends Report { @@ -42,9 +42,9 @@ public class ClassificationReport extends Report {@link QueryItem} whose value is relevant for this report. - * @param {@link ColumnHeader} which can determine if an <Item> belongs into that column - * or not. + * @param {@linkplain QueryItem} whose value is relevant for this report. + * @param {@linkplain ColumnHeader} which can determine if an <Item> belongs into that + * column or not. */ public abstract class Report> { @@ -125,11 +125,11 @@ public abstract class Report {@link QueryItem} whose value is relevant for this report. - * @param {@link ColumnHeader} which can determine if an <Item> belongs into that column - * or not. + * @param {@linkplain QueryItem} whose value is relevant for this report. + * @param {@linkplain ColumnHeader} which can determine if an <Item> belongs into that + * column or not. */ public interface Builder> { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskCustomFieldValueReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskCustomFieldValueReport.java index 0abaaa0c4..3563934ac 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskCustomFieldValueReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskCustomFieldValueReport.java @@ -26,7 +26,7 @@ public class TaskCustomFieldValueReport extends Report { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskStatusReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskStatusReport.java index 2056d2a69..0818d3838 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskStatusReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TaskStatusReport.java @@ -30,7 +30,7 @@ public class TaskStatusReport extends Report { @Override diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimeIntervalReportBuilder.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimeIntervalReportBuilder.java index 39f94bb2c..22dd3b6e1 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimeIntervalReportBuilder.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimeIntervalReportBuilder.java @@ -26,24 +26,24 @@ public interface TimeIntervalReportBuilder< extends Report.Builder { /** - * Adds a list {@linkplain TimeIntervalColumnHeader}s to the builder to subdivide the report into - * clusters. + * Adds a list {@linkplain TimeIntervalColumnHeader}s to the Builder to subdivide the {@link + * Report} into clusters. * - * @param columnHeaders the column headers the report should consist of. + * @param columnHeaders the column headers the {@linkplain Report} should consist of. * @return the TimeIntervalReportBuilder */ B withColumnHeaders(List columnHeaders); /** - * If this filter is used, the days of the report are counted in working days. + * If this filter is used, the days of the Report are counted in working days. * * @return the TimeIntervalReportBuilder */ B inWorkingDays(); /** - * Adds a list of workbasket ids to the builder. The created report contains only tasks with a - * workbasket id in this list. + * Adds a list of workbasket ids to the builder. The created {@linkplain Report} contains only + * {@linkplain Task}s with a workbasketId in this list. * * @param workbasketIds a list of workbasket ids * @return the TimeIntervalReportBuilder @@ -51,8 +51,8 @@ public interface TimeIntervalReportBuilder< B workbasketIdIn(List workbasketIds); /** - * Adds a list of states to the builder. The created report contains only tasks with a state in - * this list. + * Adds a list of states to the builder. The created {@linkplain Report} contains only {@linkplain + * Task Tasks} with a state in this list. * * @param states a list of states * @return the TimeIntervalReportBuilder @@ -60,8 +60,8 @@ public interface TimeIntervalReportBuilder< B stateIn(List states); /** - * Adds a list of classificationCategories to the builder. The created report contains only tasks - * with a category in this list. + * Adds a list of classificationCategories to the builder. The created {@linkplain Report} + * contains only {@linkplain Task Tasks} with a category in this list. * * @param classificationCategory a list of classificationCategories * @return the TimeIntervalReportBuilder @@ -69,8 +69,8 @@ public interface TimeIntervalReportBuilder< B classificationCategoryIn(List classificationCategory); /** - * Adds a list of classificationIds to the builder. The created report contains only tasks with a - * classificationId in this list. + * Adds a list of classificationIds to the builder. The created {@linkplain Report} contains only + * {@linkplain Task Tasks} with a classificationId in this list. * * @param classificationIds a list of classificationIds * @return the TimeIntervalReportBuilder @@ -78,8 +78,8 @@ public interface TimeIntervalReportBuilder< B classificationIdIn(List classificationIds); /** - * Adds a list of excludedClassificationIds to the builder. The created report contains only tasks - * with a classificationId NOT in this list. + * Adds a list of excludedClassificationIds to the builder. The created {@linkplain Report} + * contains only {@linkplain Task Tasks} with a classificationId NOT in this list. * * @param excludedClassificationIds a list of excludedClassificationIds * @return the TimeIntervalReportBuilder @@ -87,8 +87,8 @@ public interface TimeIntervalReportBuilder< B excludedClassificationIdIn(List excludedClassificationIds); /** - * Adds a list of domains to the builder. The created report contains only tasks with a domain in - * this list. + * Adds a list of domains to the builder. The created {@linkplain Report} contains only + * {@linkplain Task Tasks} with a domain in this list. * * @param domains a list of domains * @return the TimeIntervalReportBuilder @@ -98,9 +98,9 @@ public interface TimeIntervalReportBuilder< /** * Adds the values of a certain {@linkplain TaskCustomField} for exact matching to the builder. * - *

The created report contains only tasks with a {@linkplain + *

The created {@linkplain Report} contains only {@linkplain Task Tasks} with a {@linkplain * Task#getCustomField(TaskCustomField) custom attribute} value exactly matching one of the items - * in the list. + * in the List. * * @param customField the specified {@linkplain TaskCustomField} * @param strings the values the specified {@linkplain Task#getCustomField(TaskCustomField) custom @@ -114,14 +114,14 @@ public interface TimeIntervalReportBuilder< /** * Excludes the values of a certain {@linkplain TaskCustomField} to the builder. * - *

The created report contains only tasks with a {@linkplain + *

The created {@linkplain Report} contains only {@linkplain Task Tasks} with a {@linkplain * Task#getCustomField(TaskCustomField) custom attribute} value not matching one of the items in - * the list. + * the List. * * @param customField the specified {@linkplain TaskCustomField} * @param strings the values the specified {@linkplain Task#getCustomField(TaskCustomField) custom * attribute} should not match - * @return the modified {@linkplain TimeIntervalReportBuilder} + * @return the modified TimeIntervalReportBuilder * @throws InvalidArgumentException if filter values are not given */ B customAttributeNotIn(TaskCustomField customField, String... strings) @@ -130,7 +130,7 @@ public interface TimeIntervalReportBuilder< /** * Adds the values of a certain {@linkplain TaskCustomField} for pattern matching to the builder. * - *

The created report contains only tasks with a {@linkplain + *

The created {@linkplain Report} contains only {@linkplain Task Tasks} with a {@linkplain * Task#getCustomField(TaskCustomField) custom attribute} value pattern-matching one of the items * in the list. They will be compared in SQL with the LIKE operator. You may use a wildcard like % * to specify the pattern. If you specify multiple arguments they are combined with the OR @@ -146,10 +146,11 @@ public interface TimeIntervalReportBuilder< throws InvalidArgumentException; /** - * Returns a list of all taskIds of the report that are in the list of selected items. + * Returns a list of all taskIds of the {@linkplain Report} that are in the list of selected + * items. * * @param selectedItems a list of selectedItems - * @param timestamp the task timestamp of interest + * @param timestamp the {@linkplain TaskTimestamp} of interest * @return the list of all taskIds * @throws InvalidArgumentException if the column headers are not initialized * @throws NotAuthorizedException if the user has no rights to access the monitor @@ -159,9 +160,9 @@ public interface TimeIntervalReportBuilder< throws NotAuthorizedException, InvalidArgumentException; /** - * Returns a list of all values of an entered custom field that are in the report. + * Returns a list of all values of an entered custom field that are in the {@linkplain Report}. * - * @param taskCustomField the customField whose values should appear in the list + * @param taskCustomField the {@linkplain TaskCustomField} whose values should appear in the list * @return the list of all custom attribute values * @throws NotAuthorizedException if the user has no rights to access the monitor */ @@ -169,10 +170,10 @@ public interface TimeIntervalReportBuilder< throws NotAuthorizedException; /** - * Builds the given report. + * Builds the {@linkplain Report} for the specified {@linkplain TaskTimestamp}. * - * @param timestamp The task timestamp of interest - * @return The build report + * @param timestamp The {@linkplain TaskTimestamp} of interest + * @return The build {@linkplain Report} * @throws NotAuthorizedException if the user has no rights to access the monitor * @throws InvalidArgumentException if an error occurs */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimestampReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimestampReport.java index 2c793ede7..812272b7b 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimestampReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/TimestampReport.java @@ -39,7 +39,7 @@ public class TimestampReport extends Report { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketPriorityReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketPriorityReport.java index 397552c2a..5e18515ec 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketPriorityReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketPriorityReport.java @@ -27,7 +27,7 @@ public class WorkbasketPriorityReport extends Report { @Override diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketReport.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketReport.java index c50d051d5..387481bdf 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketReport.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/WorkbasketReport.java @@ -27,7 +27,7 @@ public class WorkbasketReport extends Report { @@ -39,7 +39,7 @@ public class WorkbasketReport extends Report {@link QueryItem} on which the {@link Report} is based on. + * @param {@linkplain QueryItem} on which the {@linkplain Report} is based on. */ public interface ColumnHeader { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/header/TaskStatusColumnHeader.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/header/TaskStatusColumnHeader.java index 4012fbea5..ab6b906b5 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/header/TaskStatusColumnHeader.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/header/TaskStatusColumnHeader.java @@ -3,7 +3,7 @@ package pro.taskana.monitor.api.reports.header; import pro.taskana.monitor.api.reports.item.TaskQueryItem; import pro.taskana.task.api.TaskState; -/** The TaskStatusColumnHeader represents a column for each {@link TaskState}. */ +/** The TaskStatusColumnHeader represents a column for each {@linkplain TaskState}. */ public class TaskStatusColumnHeader implements ColumnHeader { private final TaskState state; diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/AgeQueryItem.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/AgeQueryItem.java index 82000387b..8adc6eec2 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/AgeQueryItem.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/AgeQueryItem.java @@ -1,9 +1,6 @@ package pro.taskana.monitor.api.reports.item; -/** - * The MonitorQueryItem entity contains the number of tasks for a key (e.g. workbasketKey) and age - * in days. - */ +/** The AgeQueryItem contains age in days. */ public interface AgeQueryItem extends QueryItem { int getAgeInDays(); diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/DetailedMonitorQueryItem.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/DetailedMonitorQueryItem.java index 536b231d2..c7e677046 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/DetailedMonitorQueryItem.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/DetailedMonitorQueryItem.java @@ -1,8 +1,8 @@ package pro.taskana.monitor.api.reports.item; /** - * The DetailedMonitorQueryItem extends the {@link MonitorQueryItem}. The additional attachment key - * is used for the detailed classification report. + * The DetailedMonitorQueryItem extends the {@linkplain MonitorQueryItem}. The additional attachment + * key is used for the detailed classification report. */ public class DetailedMonitorQueryItem extends MonitorQueryItem { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItem.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItem.java index db38dfd77..fe116a105 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItem.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItem.java @@ -2,18 +2,23 @@ package pro.taskana.monitor.api.reports.item; import pro.taskana.monitor.api.reports.Report; -/** A QueryItem is en entity on which a {@link Report} is based on. */ +/** + * A QueryItem is en entity on which a {@linkplain Report} is based on. It represents the content of + * a cell in the {@linkplain Report}. + */ public interface QueryItem { /** - * The key of a QueryItem determines its row within a {@link Report}. + * The key of a QueryItem determines its {@linkplain pro.taskana.monitor.api.reports.row.Row row} + * within a {@linkplain Report}. * - * @return the key of this query item. + * @return the key of this QueryItem. */ String getKey(); /** - * Its value will be added to the existing cell value during the insertion into a report. + * Its value will be added to the existing cell value during the insertion into a {@linkplain + * Report}. * * @return the value */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItemPreprocessor.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItemPreprocessor.java index 73fa91a3e..84e28f5e3 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItemPreprocessor.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/QueryItemPreprocessor.java @@ -3,9 +3,9 @@ package pro.taskana.monitor.api.reports.item; import pro.taskana.monitor.api.reports.Report; /** - * The QueryItemPreprocessor is used when adding {@link QueryItem}s into a {@link Report}. It - * defines a processing step which is executed on each {@link QueryItem} before inserting it into - * the {@link Report}. + * The QueryItemPreprocessor is used when adding {@linkplain QueryItem}s into a {@linkplain Report}. + * It defines a processing step which is executed on each {@linkplain QueryItem} before inserting it + * into the {@linkplain Report}. * * @param Item class which is being pre processed. */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/TimestampQueryItem.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/TimestampQueryItem.java index 27e60570a..964900ec3 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/TimestampQueryItem.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/item/TimestampQueryItem.java @@ -3,7 +3,7 @@ package pro.taskana.monitor.api.reports.item; import pro.taskana.monitor.api.TaskTimestamp; import pro.taskana.monitor.api.reports.TimestampReport; -/** The TimestampQueryItem contains the necessary information for the {@link TimestampReport}. */ +/** The TimestampQueryItem represents the content of a cell in the {@linkplain TimestampReport}. */ public class TimestampQueryItem implements AgeQueryItem { private static final String N_A = "N/A"; diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/DetailedClassificationRow.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/DetailedClassificationRow.java index 685deacff..d56626370 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/DetailedClassificationRow.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/DetailedClassificationRow.java @@ -4,8 +4,8 @@ import pro.taskana.monitor.api.reports.ClassificationReport; import pro.taskana.monitor.api.reports.item.DetailedMonitorQueryItem; /** - * Represents a single Row inside {@link ClassificationReport.DetailedClassificationReport}. The - * collapsing criteria is the attachement key of each {@link DetailedMonitorQueryItem}. + * Represents a single Row inside {@linkplain ClassificationReport.DetailedClassificationReport}. + * The collapsing criteria is the attachement key of each {@linkplain DetailedMonitorQueryItem}. */ public class DetailedClassificationRow extends FoldableRow { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/FoldableRow.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/FoldableRow.java index edf6a7bfb..316d4485d 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/FoldableRow.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/FoldableRow.java @@ -9,11 +9,11 @@ import pro.taskana.monitor.api.reports.Report; import pro.taskana.monitor.api.reports.item.QueryItem; /** - * The FoldableRow extends the {@link SingleRow}. In contrast to the {@link SingleRow} the + * The FoldableRow extends the {@linkplain SingleRow}. In contrast to the {@linkplain SingleRow} the * FoldableRow contains rows which can be collapsed or expanded. The FoldableRow itself displays the * sum of all foldable rows. * - * @param the {@link QueryItem} on which the {@link Report} is based on. + * @param the {@linkplain QueryItem} on which the {@linkplain Report} is based on. */ public abstract class FoldableRow extends SingleRow { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/Row.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/Row.java index c17a185d0..9ae30d091 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/Row.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/Row.java @@ -7,10 +7,10 @@ import pro.taskana.monitor.api.reports.header.ColumnHeader; import pro.taskana.monitor.api.reports.item.QueryItem; /** - * Representation of a row in a {@link Report}. It contains an array of cells whose index - * corresponds to the {@link ColumnHeader} index in the {@link Report}. + * Representation of a row in a {@linkplain Report}. It contains an array of cells whose index + * corresponds to the {@linkplain ColumnHeader} index in the {@linkplain Report}. * - * @param {@link QueryItem} on which the {@link Report} is based on. + * @param {@linkplain QueryItem} on which the {@linkplain Report} is based on. */ public interface Row { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/SingleRow.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/SingleRow.java index 43efba427..803996008 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/SingleRow.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/SingleRow.java @@ -7,10 +7,10 @@ import pro.taskana.monitor.api.reports.header.ColumnHeader; import pro.taskana.monitor.api.reports.item.QueryItem; /** - * A SingleRow represents a single row in a {@link Report}. It contains an array of cells whose - * index corresponds to the {@link ColumnHeader} index in the {@link Report}. + * A SingleRow represents a single row in a {@linkplain Report}. It contains an array of cells whose + * index corresponds to the {@linkplain ColumnHeader} index in the {@linkplain Report}. * - * @param {@link QueryItem} on which the {@link Report} is based on. + * @param {@linkplain QueryItem} on which the {@linkplain Report} is based on. */ public class SingleRow implements Row { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/TimestampRow.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/TimestampRow.java index 29cabeaf6..3e87c6722 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/TimestampRow.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/api/reports/row/TimestampRow.java @@ -4,7 +4,7 @@ import pro.taskana.monitor.api.reports.TimestampReport; import pro.taskana.monitor.api.reports.item.TimestampQueryItem; /** - * A single Row inside the {@link TimestampReport}. It contains 4 sub-rows for each org level + * A single Row inside the {@linkplain TimestampReport}. It contains 4 sub-rows for each org level * respectively. */ public class TimestampRow extends FoldableRow { @@ -24,7 +24,7 @@ public class TimestampRow extends FoldableRow { } /** - * Row inside the {@link TimestampReport} containing the information regarding a specific org + * Row inside the {@linkplain TimestampReport} containing the information regarding a specific org * level 1. */ public static final class OrgLevel1Row extends FoldableRow { @@ -45,7 +45,7 @@ public class TimestampRow extends FoldableRow { } /** - * Row inside the {@link TimestampReport} containing the information regarding a specific org + * Row inside the {@linkplain TimestampReport} containing the information regarding a specific org * level 2. */ public static final class OrgLevel2Row extends FoldableRow { @@ -66,7 +66,7 @@ public class TimestampRow extends FoldableRow { } /** - * Row inside the {@link TimestampReport} containing the information regarding a specific org + * Row inside the {@linkplain TimestampReport} containing the information regarding a specific org * level 3. */ public static final class OrgLevel3Row extends FoldableRow { diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/DaysToWorkingDaysReportPreProcessor.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/DaysToWorkingDaysReportPreProcessor.java index e6043da4b..1a6516b38 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/DaysToWorkingDaysReportPreProcessor.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/DaysToWorkingDaysReportPreProcessor.java @@ -9,7 +9,7 @@ import pro.taskana.monitor.api.reports.item.AgeQueryItem; import pro.taskana.monitor.api.reports.item.QueryItemPreprocessor; /** - * Uses {@link WorkingDaysToDaysConverter} to convert an <I>s age to working days. + * Uses {@linkplain WorkingDaysToDaysConverter} to convert an <I>s age to working days. * * @param QueryItem which is being processed */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/WorkingDaysToDaysReportConverter.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/WorkingDaysToDaysReportConverter.java index 39d9a8902..17c8fbf5c 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/WorkingDaysToDaysReportConverter.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/preprocessor/WorkingDaysToDaysReportConverter.java @@ -18,10 +18,11 @@ import pro.taskana.monitor.api.reports.header.TimeIntervalColumnHeader; /** * The DaysToWorkingDaysReportConverter provides a method to convert an age in days into an age in * working days. Before the method convertDaysToWorkingDays() can be used, the - * WorkingDaysToDaysConverter has to be initialized. For a list of {@link TimeIntervalColumnHeader}s - * the converter creates a "table" with integer that represents the age in days from the largest - * lower limit until the smallest upper limit of the timeIntervalColumnHeaders. This table is valid - * for a whole day until the converter is initialized with bigger limits. + * WorkingDaysToDaysConverter has to be initialized. For a list of {@linkplain + * TimeIntervalColumnHeader}s the converter creates a "table" with integer that represents the age + * in days from the largest lower limit until the smallest upper limit of the + * timeIntervalColumnHeaders. This table is valid for a whole day until the converter is initialized + * with bigger limits. */ public class WorkingDaysToDaysReportConverter { @@ -46,14 +47,14 @@ public class WorkingDaysToDaysReportConverter { } /** - * Initializes the WorkingDaysToDaysConverter for a list of {@link TimeIntervalColumnHeader}s and - * a referenceDate. A new table is only created if there are bigger limits or the date has + * Initializes the WorkingDaysToDaysConverter for a list of {@linkplain TimeIntervalColumnHeader}s + * and a referenceDate. A new table is only created if there are bigger limits or the date has * changed. * - * @param columnHeaders a list of {@link TimeIntervalColumnHeader}s that determines the size of - * the table + * @param columnHeaders a list of {@linkplain TimeIntervalColumnHeader}s that determines the size + * of the table * @param converter the converter used by taskana to determine if a specific day is a working day. - * @param referenceDate a {@link Instant} that represents the current day of the table + * @param referenceDate a {@linkplain Instant} that represents the current day of the table * @return an instance of the WorkingDaysToDaysConverter * @throws InvalidArgumentException thrown if columnHeaders or referenceDate is null */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java index e7bdb635c..01d7cc6ca 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java @@ -24,7 +24,7 @@ import pro.taskana.task.api.TaskCustomField; import pro.taskana.task.api.TaskState; /** - * Implementation of {@link TimeIntervalReportBuilder}. + * Implementation of {@linkplain TimeIntervalReportBuilder}. * * @param the true Builder behind this Interface * @param the true AgeQueryItem inside the Report diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimestampReportBuilderImpl.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimestampReportBuilderImpl.java index d419e7793..85f0609cf 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimestampReportBuilderImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimestampReportBuilderImpl.java @@ -22,7 +22,7 @@ import pro.taskana.monitor.internal.MonitorMapper; import pro.taskana.monitor.internal.preprocessor.DaysToWorkingDaysReportPreProcessor; import pro.taskana.task.api.TaskState; -/** The implementation of {@link TimestampReport.Builder}. */ +/** The implementation of {@linkplain TimestampReport.Builder}. */ public class TimestampReportBuilderImpl extends TimeIntervalReportBuilderImpl implements TimestampReport.Builder { diff --git a/lib/taskana-core/src/main/java/pro/taskana/spi/history/api/TaskanaHistory.java b/lib/taskana-core/src/main/java/pro/taskana/spi/history/api/TaskanaHistory.java index 229276f6b..560e2a5ba 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/spi/history/api/TaskanaHistory.java +++ b/lib/taskana-core/src/main/java/pro/taskana/spi/history/api/TaskanaHistory.java @@ -15,28 +15,28 @@ public interface TaskanaHistory { /** * Initialize TaskanaHistory service. * - * @param taskanaEngine {@link TaskanaEngine} The Taskana engine for needed initialization. + * @param taskanaEngine {@linkplain TaskanaEngine} The Taskana engine for needed initialization. */ void initialize(TaskanaEngine taskanaEngine); /** - * Create a new task history event. + * Create a new {@linkplain TaskHistoryEvent}. * - * @param event {@link TaskHistoryEvent} The event to be created. + * @param event {@linkplain TaskHistoryEvent} The event to be created. */ void create(TaskHistoryEvent event); /** - * Create a new workbasket history event. + * Create a new {@linkplain WorkbasketHistoryEvent}. * - * @param event {@link WorkbasketHistoryEvent} The event to be created. + * @param event {@linkplain WorkbasketHistoryEvent} The event to be created. */ void create(WorkbasketHistoryEvent event); /** - * Create a new classification history event. + * Create a new {@linkplain ClassificationHistoryEvent}. * - * @param event {@link ClassificationHistoryEvent} The event to be created. + * @param event {@linkplain ClassificationHistoryEvent} The event to be created. */ void create(ClassificationHistoryEvent event); diff --git a/lib/taskana-core/src/main/java/pro/taskana/spi/routing/api/TaskRoutingProvider.java b/lib/taskana-core/src/main/java/pro/taskana/spi/routing/api/TaskRoutingProvider.java index 56995c378..ef4340c37 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/spi/routing/api/TaskRoutingProvider.java +++ b/lib/taskana-core/src/main/java/pro/taskana/spi/routing/api/TaskRoutingProvider.java @@ -9,14 +9,14 @@ public interface TaskRoutingProvider { /** * Initialize TaskRoutingProvider service. * - * @param taskanaEngine {@link TaskanaEngine} The Taskana engine needed for initialization. + * @param taskanaEngine {@linkplain TaskanaEngine} The Taskana engine needed for initialization. */ void initialize(TaskanaEngine taskanaEngine); /** * Determines a WorkbasketId for a given task. * - * @param task {@link Task} The task for which a workbasket must be determined. + * @param task {@linkplain Task} The task for which a workbasket must be determined. * @return the id of the workbasket in which the task is to be created. */ String determineWorkbasketId(Task task); diff --git a/lib/taskana-core/src/main/java/pro/taskana/spi/task/api/CreateTaskPreprocessor.java b/lib/taskana-core/src/main/java/pro/taskana/spi/task/api/CreateTaskPreprocessor.java index 57faecab6..e4c0ee23c 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/spi/task/api/CreateTaskPreprocessor.java +++ b/lib/taskana-core/src/main/java/pro/taskana/spi/task/api/CreateTaskPreprocessor.java @@ -5,9 +5,9 @@ import pro.taskana.task.api.models.Task; public interface CreateTaskPreprocessor { /** - * Processes a task before its creation. + * Processes a {@linkplain Task} before its creation. * - * @param taskToProcess {@link Task} The Task to preprocess. + * @param taskToProcess {@linkplain Task} The Task to preprocess. */ void processTaskBeforeCreation(Task taskToProcess); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskQuery.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskQuery.java index 11890ae49..3a3d00662 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskQuery.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskQuery.java @@ -5,6 +5,7 @@ import pro.taskana.common.api.KeyDomain; import pro.taskana.common.api.TimeInterval; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.task.api.models.ObjectReference; +import pro.taskana.task.api.models.Task; import pro.taskana.task.api.models.TaskSummary; /** TaskQuery for generating dynamic sql. */ @@ -493,7 +494,7 @@ public interface TaskQuery extends BaseQuery { /** * Add your state to your query. * - * @param states the states as {@link TaskState} + * @param states the states as {@linkplain TaskState} * @return the query */ TaskQuery stateIn(TaskState... states); @@ -501,7 +502,7 @@ public interface TaskQuery extends BaseQuery { /** * Exclude these states from your query. * - * @param states the states as {@link TaskState} + * @param states the states as {@linkplain TaskState} * @return the query */ TaskQuery stateNotIn(TaskState... states); @@ -905,7 +906,7 @@ public interface TaskQuery extends BaseQuery { // region primaryObjectReference /** - * Add the {@link ObjectReference} to exact match to your query. Each individual value has to + * Add the {@linkplain ObjectReference} to exact match to your query. Each individual value has to * match. Fields with the value 'null' will be ignored. The id of each ObjectReference will be * ignored * @@ -1474,32 +1475,136 @@ public interface TaskQuery extends BaseQuery { // endregion // region secondaryObjectReferenceCompany + + /** + * Add the values of the {@linkplain ObjectReference#getCompany() company} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryObjectReferences} for exact matching + * to your query. + * + * @param companyIn the {@linkplain ObjectReference#getCompany() company} values of the searched + * for {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorCompanyIn(String... companyIn); + /** + * Add the values of {@linkplain ObjectReference#getCompany() company} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryobjectReferences} for pattern matching + * to your query. They will be compared in SQL with the LIKE operator. You may use a wildcard like + * % to specify the pattern. If you specify multiple arguments they are combined with the OR + * keyword. + * + * @param companyLike the {@linkplain ObjectReference#getCompany() company} values of the + * searched-for {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorCompanyLike(String... companyLike); // endregion // region secondaryObjectReferenceSystem + + /** + * Add the values of the {@linkplain ObjectReference#getSystem() system} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryObjectReferences} for exact matching + * to your query. + * + * @param systemIn the {@linkplain ObjectReference#getSystem() system} values of the searched for + * {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorSystemIn(String... systemIn); + /** + * Add the values of {@linkplain ObjectReference#getSystem system} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryobjectReferences} for pattern matching + * to your query. They will be compared in SQL with the LIKE operator. You may use a wildcard like + * % to specify the pattern. If you specify multiple arguments they are combined with the OR + * keyword. + * + * @param systemLike the {@linkplain ObjectReference#getSystem system} values of the searched-for + * {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorSystemLike(String... systemLike); // endregion // region secondaryObjectReferenceSystemInstance + + /** + * Add the values of the {@linkplain ObjectReference#getSystemInstance() systemInstance} of at + * least one of the {@linkplain Task#getSecondaryObjectReferences() secondaryObjectReferences} for + * exact matching to your query. + * + * @param systemInstanceIn the {@linkplain ObjectReference#getSystemInstance() systemInstance} + * values of the searched for {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorSystemInstanceIn(String... systemInstanceIn); + /** + * Add the values of {@linkplain ObjectReference#getSystemInstance() systemInstance} of at least + * one of the {@linkplain Task#getSecondaryObjectReferences() secondaryobjectReferences} for + * pattern matching to your query. They will be compared in SQL with the LIKE operator. You may + * use a wildcard like % to specify the pattern. If you specify multiple arguments they are + * combined with the OR keyword. + * + * @param systemInstanceLike the {@linkplain ObjectReference#getSystemInstance() systemInstance} + * values of the searched-for {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorSystemInstanceLike(String... systemInstanceLike); // endregion // region secondaryObjectReferenceType + + /** + * Add the values of the {@linkplain ObjectReference#getType() type} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryObjectReferences} for exact matching + * to your query. + * + * @param typeIn the {@linkplain ObjectReference#getType() type} values of the searched for + * {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorTypeIn(String... typeIn); + /** + * Add the values of {@linkplain ObjectReference#getType type} of at least one of the {@linkplain + * Task#getSecondaryObjectReferences() secondaryobjectReferences} for pattern matching to your + * query. They will be compared in SQL with the LIKE operator. You may use a wildcard like % to + * specify the pattern. If you specify multiple arguments they are combined with the OR keyword. + * + * @param typeLike the {@linkplain ObjectReference#getType type} values of the searched-for + * {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorTypeLike(String... typeLike); // endregion // region secondaryObjectReferenceValue + + /** + * Add the values of the {@linkplain ObjectReference#getValue() value} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryObjectReferences} for exact matching + * to your query. + * + * @param valueIn the {@linkplain ObjectReference#getValue() value} values of the searched for + * {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorValueIn(String... valueIn); + /** + * Add the values of {@linkplain ObjectReference#getValue() value} of at least one of the + * {@linkplain Task#getSecondaryObjectReferences() secondaryobjectReferences} for pattern matching + * to your query. They will be compared in SQL with the LIKE operator. You may use a wildcard like + * % to specify the pattern. If you specify multiple arguments they are combined with the OR + * keyword. + * + * @param valueLike the {@linkplain ObjectReference#getValue() value} values of the searched-for + * {@linkplain Task Tasks} + * @return the {@linkplain TaskQuery} + */ TaskQuery sorValueLike(String... valueLike); // region customAttributes diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskService.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskService.java index 9decc1385..48bac1ed4 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskService.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/TaskService.java @@ -5,11 +5,14 @@ import java.util.List; import java.util.Map; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; +import pro.taskana.classification.api.models.Classification; import pro.taskana.common.api.BulkOperationResults; +import pro.taskana.common.api.TaskanaRole; import pro.taskana.common.api.exceptions.ConcurrencyException; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.TaskanaException; +import pro.taskana.common.internal.util.IdGenerator; import pro.taskana.task.api.exceptions.AttachmentPersistenceException; import pro.taskana.task.api.exceptions.InvalidOwnerException; import pro.taskana.task.api.exceptions.InvalidStateException; @@ -21,128 +24,141 @@ import pro.taskana.task.api.models.Attachment; import pro.taskana.task.api.models.ObjectReference; import pro.taskana.task.api.models.Task; import pro.taskana.task.api.models.TaskComment; +import pro.taskana.workbasket.api.WorkbasketPermission; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; +import pro.taskana.workbasket.api.models.Workbasket; /** The Task Service manages all operations on tasks. */ public interface TaskService { /** - * Claim an existing task for the current user. + * Claim an existing {@linkplain Task} for the current user. * - * @param taskId the id of the task to be claimed - * @return claimed Task - * @throws TaskNotFoundException if the task with taskId was not found - * @throws InvalidStateException if the state of the task with taskId is not READY - * @throws InvalidOwnerException if the task with taskId is claimed by some else - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @param taskId the {@linkplain Task#getId() id} of the {@linkplain Task} to be claimed + * @return claimed {@linkplain Task} + * @throws TaskNotFoundException if the {@linkplain Task} with taskId was not found + * @throws InvalidStateException if the {@linkplain Task#getState() state} of the {@linkplain + * Task} with taskId is not {@linkplain TaskState#READY READY} + * @throws InvalidOwnerException if the {@linkplain Task} with taskId is claimed by some else + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in */ Task claim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, NotAuthorizedException; /** - * Claim an existing task for the current user even if it is already claimed by someone else. + * Claim an existing {@linkplain Task} for the current user even if it is already claimed by + * someone else. * - * @param taskId the id of the task to be claimed - * @return claimed Task - * @throws TaskNotFoundException if the task with taskId was not found - * @throws InvalidStateException if the state of the task with taskId is not READY - * @throws InvalidOwnerException if the task with taskId is claimed by someone else - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @param taskId the {@linkplain Task#getId() id} of the {@linkplain Task} to be claimed + * @return claimed {@linkplain Task} + * @throws TaskNotFoundException if the {@linkplain Task} with taskId was not found + * @throws InvalidStateException if the {@linkplain Task#getState() state} of the {@linkplain + * Task} with taskId is not READY + * @throws InvalidOwnerException if the {@linkplain Task} with taskId is claimed by someone else + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in */ Task forceClaim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, NotAuthorizedException; /** - * Cancel the claim of an existing task if it was claimed by the current user before. + * Cancel the claim of an existing {@linkplain Task} if it was claimed by the current user before. * - * @param taskId id of the task which should be unclaimed. + * @param taskId {@linkplain Task#getId() id} of the task which should be unclaimed. * @return updated unclaimed task - * @throws TaskNotFoundException if the task can't be found or does not exist - * @throws InvalidStateException if the task is already in an end state. - * @throws InvalidOwnerException if the task is claimed by another user. - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @throws TaskNotFoundException if the {@linkplain Task} can't be found or does not exist + * @throws InvalidStateException if the {@linkplain Task} is already in an end {@linkplain + * Task#getState() state}. + * @throws InvalidOwnerException if the {@linkplain Task} is claimed by another user. + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the task is in */ Task cancelClaim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, NotAuthorizedException; /** - * Cancel the claim of an existing task even if it was claimed by another user. + * Cancel the claim of an existing {@linkplain Task} even if it was claimed by another user. * - * @param taskId id of the task which should be unclaimed. - * @return updated unclaimed task - * @throws TaskNotFoundException if the task can't be found or does not exist - * @throws InvalidStateException if the task is already in an end state. - * @throws InvalidOwnerException if forceCancel is false and the task is claimed by another user. - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @param taskId id of the {@linkplain Task} which should be unclaimed. + * @return updated unclaimed {@linkplain Task} + * @throws TaskNotFoundException if the {@linkplain Task} can't be found or does not exist + * @throws InvalidStateException if the {@linkplain Task} is already in an end {@linkplain + * Task#getState() state} + * @throws InvalidOwnerException if forceCancel is false and the {@linkplain Task} is claimed by + * another user. + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in */ Task forceCancelClaim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, NotAuthorizedException; /** - * Complete a claimed Task as owner/admin and update State and Timestamps. If task is already - * completed, the task is returned as itself. + * Complete a claimed {@linkplain Task} as owner/admin and update {@linkplain Task#getState() + * state} and Timestamps. If {@linkplain Task} is already completed, the {@linkplain Task} is + * returned as itself. * - * @param taskId - Id of the Task which should be completed. - * @return Task - updated task after completion. - * @throws InvalidStateException if Task wasn't claimed before. - * @throws TaskNotFoundException if the given Task can't be found in DB. + * @param taskId - {@linkplain Task#getId() id} of the {@linkplain Task} which should be + * completed. + * @return Task - updated {@linkplain Task} after completion. + * @throws InvalidStateException if {@linkplain Task} wasn't claimed before. + * @throws TaskNotFoundException if the given {@linkplain Task} can't be found in DB. * @throws InvalidOwnerException if current user is not the task-owner or administrator. - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in */ Task completeTask(String taskId) throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, NotAuthorizedException; /** - * Completes a Task and updates State and Timestamps in every case if the Task exists. If task is - * already completed, the task is returned as itself. + * Completes a {@linkplain Task} and updates {@linkplain Task#getState() state} and Timestamps in + * every case if the {@linkplain Task} exists. If {@linkplain Task} is already completed, the + * {@linkplain Task} is returned as itself. * - * @param taskId - Id of the Task which should be completed. - * @return Task - updated task after completion. - * @throws InvalidStateException if Task wasn't claimed before. - * @throws TaskNotFoundException if the given Task can't be found in DB. + * @param taskId - {@linkplain Task#getId() id} of the {@linkplain Task} which should be + * completed. + * @return Task - updated {@linkplain Task} after completion. + * @throws InvalidStateException if {@linkplain Task} wasn't claimed before. + * @throws TaskNotFoundException if the given {@linkplain Task} can't be found in DB. * @throws InvalidOwnerException if current user is not the task-owner or administrator. - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in */ Task forceCompleteTask(String taskId) throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, NotAuthorizedException; /** - * Inserts a not existing Task.
- * The default values of the created Task are: + * Inserts a not existing {@linkplain Task}.
+ * The default values of the created {@linkplain Task} are: * *

    - *
  • id - generated by {@linkplain pro.taskana.common.internal.util.IdGenerator - * IdGenerator} - *
  • externalId - generated by IdGenerator - *
  • businessProcessId - generated by IdGenerator - *
  • name - name of its Classification - *
  • description - description of its Classification - *
  • creator - id of current user - *
  • state - 'READY' - *
  • isRead - {@code false} - *
  • isTransferred - {@code false} + *
  • {@linkplain Task#getId() id} - generated by {@linkplain IdGenerator} + *
  • {@linkplain Task#getExternalId() externalId} - generated by IdGenerator + *
  • {@linkplain Task#getBusinessProcessId() businessProcessId} - generated by + * IdGenerator + *
  • {@linkplain Task#getName() name} - name of its Classification + *
  • {@linkplain Task#getDescription() description} - description of its Classification + *
  • {@linkplain Task#getCreator() creator} - id of current user + *
  • {@linkplain Task#getState() state} - 'READY' + *
  • {@linkplain Task#isRead() isRead} - {@code false} + *
  • {@linkplain Task#isTransferred() isTransferred} - {@code false} *
* - * @param taskToCreate the transient task object to be inserted - * @return the created and inserted task - * @throws TaskAlreadyExistException if the Task does already exist. - * @throws NotAuthorizedException thrown if the current user is not authorized to create that task - * @throws WorkbasketNotFoundException thrown if the workbasket referenced by the task is not - * found - * @throws ClassificationNotFoundException thrown if the Classification referenced by the task is - * not found + * @param taskToCreate the transient {@linkplain Task} object to be inserted + * @return the created and inserted {@linkplain Task} + * @throws TaskAlreadyExistException if the {@linkplain Task} does already exist. + * @throws NotAuthorizedException thrown if the current user is not authorized to create that + * {@linkplain Task} + * @throws WorkbasketNotFoundException thrown if the workbasket referenced by the {@linkplain + * Task} is not found + * @throws ClassificationNotFoundException thrown if the Classification referenced by the + * {@linkplain Task} is not found * @throws InvalidArgumentException thrown if the primary ObjectReference is invalid * @throws AttachmentPersistenceException if an Attachment with ID will be added multiple times * without using the task-methods @@ -155,20 +171,20 @@ public interface TaskService { ObjectReferencePersistenceException; /** - * Gets the details of a task by Id without checking permissions. + * Gets the details of a {@linkplain Task} by {@linkplain Task#getId() id} without checking + * permissions. * - * @param taskId the id of the task - * @return the Task - * @throws TaskNotFoundException thrown of the {@link Task} with taskId is not found - * @throws NotAuthorizedException if the current user has no READ permission for the workbasket - * the task is in. + * @param taskId the {@linkplain Task#getId()} of the {@linkplain Task} + * @return the {@linkplain Task} + * @throws TaskNotFoundException thrown of the {@linkplain Task} with taskId is not found + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in. */ Task getTask(String taskId) throws TaskNotFoundException, NotAuthorizedException; /** - * Transfers a {@linkplain Task} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} while always setting the {@linkplain - * Task#isTransferred transfer} flag. + * Transfers a {@linkplain Task} to another {@linkplain Workbasket} while always setting the + * {@linkplain Task#isTransferred transfer} flag. * * @see #transfer(String, String, boolean) */ @@ -180,35 +196,32 @@ public interface TaskService { } /** - * Transfers a {@linkplain Task} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket}. + * Transfers a {@linkplain Task} to another {@linkplain Workbasket}. * - *

The transfer resets the read flag and sets the transfer flag if {@code setTransferFlag} is - * {@code true}. + *

The transfer resets the {@linkplain Task#isRead() read} flag and sets the {@linkplain + * Task#isTransferred() transfer} flag if {@code setTransferFlag} is {@code true}. * - * @param taskId the id of the {@linkplain Task} which should be transferred - * @param destinationWorkbasketId the id of the target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} + * @param taskId the {@linkplain Task#getId()} of the {@linkplain Task} which should be + * transferred + * @param destinationWorkbasketId the {@linkplain Workbasket#getId() id} of the target {@linkplain + * Workbasket} * @param setTransferFlag the control about whether to set the {@linkplain Task#isTransferred()} * flag or not * @return the transferred {@linkplain Task} * @throws TaskNotFoundException Thrown if the {@linkplain Task} with taskId was not found. - * @throws WorkbasketNotFoundException Thrown if the target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} was not found. + * @throws WorkbasketNotFoundException Thrown if the target {@linkplain Workbasket} was not found. * @throws NotAuthorizedException Thrown if the current user is not authorized to transfer this - * {@linkplain Task} to the target {@linkplain pro.taskana.workbasket.api.models.Workbasket - * Workbasket} - * @throws InvalidStateException Thrown if the {@linkplain Task} is in a state which does not - * allow transferring + * {@linkplain Task} to the target {@linkplain Workbasket} + * @throws InvalidStateException Thrown if the {@linkplain Task} is in a {@linkplain + * Task#getState() state} which does not allow transferring */ Task transfer(String taskId, String destinationWorkbasketId, boolean setTransferFlag) throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidStateException; /** - * Transfers a {@linkplain Task} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} while always setting the {@linkplain - * Task#isTransferred transfer} flag. + * Transfers a {@linkplain Task} to another {@linkplain Workbasket} while always setting the + * {@linkplain Task#isTransferred transfer} flag. * * @see #transfer(String, String, String, boolean) */ @@ -220,106 +233,106 @@ public interface TaskService { } /** - * Transfers a {@linkplain Task} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket}. + * Transfers a {@linkplain Task} to another {@linkplain Workbasket}. * - *

The transfer resets the read flag and sets the transfer flag if {@code setTransferFlag} is - * {@code true}. + *

The transfer resets the {@linkplain Task#isRead() read} flag and sets the transfer flag if + * {@code setTransferFlag} is {@code true}. * * @param taskId the id of the {@linkplain Task} which should be transferred - * @param workbasketKey the key of the target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} - * @param domain the domain of the target {@linkplain pro.taskana.workbasket.api.models.Workbasket - * Workbasket} + * @param workbasketKey the key of the target {@linkplain Workbasket} + * @param domain the domain of the target {@linkplain Workbasket} * @param setTransferFlag the control about whether to set the {@linkplain Task#isTransferred()} * flag or not * @return the transferred {@linkplain Task} - * @throws TaskNotFoundException Thrown if the {@link Task} with taskId was not found. - * @throws WorkbasketNotFoundException Thrown if the target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} was not found. + * @throws TaskNotFoundException Thrown if the {@linkplain Task} with taskId was not found. + * @throws WorkbasketNotFoundException Thrown if the target {@linkplain Workbasket} was not found. * @throws NotAuthorizedException Thrown if the current user is not authorized to transfer this - * {@linkplain Task} to the target Workbasket - * @throws InvalidStateException Thrown if the {@linkplain Task} is in a state which does not - * allow transferring + * {@linkplain Task} to the target {@linkplain Workbasket} + * @throws InvalidStateException Thrown if the {@linkplain Task} is in a {@linkplain + * Task#getState()} which does not allow transferring */ Task transfer(String taskId, String workbasketKey, String domain, boolean setTransferFlag) throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidStateException; /** - * Marks a task as read. + * Marks a {@linkplain Task} as read. * - * @param taskId the id of the task to be updated - * @param isRead the new status of the read flag. - * @return the updated Task - * @throws TaskNotFoundException Thrown if the {@link Task} with taskId was not found - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @param taskId the {@linkplain Task#getId() id} of the {@linkplain Task} to be updated + * @param isRead the new status of the {@linkplain Task#isRead() read} flag + * @return the updated {@linkplain Task} + * @throws TaskNotFoundException Thrown if the {@linkplain Task} with taskId was not found + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission + * READ} permission for the {@linkplain Workbasket} the {@linkplain Task} is in */ Task setTaskRead(String taskId, boolean isRead) throws TaskNotFoundException, NotAuthorizedException; /** - * This method provides a query builder for querying the database. + * Provides a query builder for querying the database. * - * @return a {@link TaskQuery} + * @return a {@linkplain TaskQuery} */ TaskQuery createTaskQuery(); /** * This method provides a query builder for querying the database. * - * @return a {@link TaskCommentQuery} + * @return a {@linkplain TaskCommentQuery} */ TaskCommentQuery createTaskCommentQuery(); /** - * Returns a not inserted instance of {@link Task}. The returned task has no workbasket Id set. - * When createTask() is invoked for this task, TaskService will call the TaskRouting SPI to - * determine a workbasket for the task. If the TaskRouting API is not active, e.g. because no - * TaskRouter is registered, or the TaskRouter(s) don't find a workbasket, the task will not be - * inserted. + * Returns a not inserted instance of {@linkplain Task}. The returned {@linkplain Task} has no + * {@linkplain Task#getWorkbasketSummary() w} set. When createTask() is invoked for this task, + * TaskService will call the TaskRouting SPI to determine a workbasket for the task. If the + * TaskRouting API is not active, e.g. because no TaskRouter is registered, or the TaskRouter(s) + * don't find a workbasket, the task will not be inserted. * * @return an empty new Task */ Task newTask(); /** - * Returns a not inserted instance of {@link Task}. + * Returns a not inserted instance of {@linkplain Task}. * - * @param workbasketId the id of the workbasket to which the task belongs - * @return an empty new Task + * @param workbasketId the {@linkplain Workbasket#getId() id} of the {@linkplain Workbasket} to + * which the task belongs + * @return an empty new {@linkplain Task} */ Task newTask(String workbasketId); /** - * Returns a not inserted instance of {@link Task}. + * Returns a not inserted instance of {@linkplain Task}. * - * @param workbasketKey the key of the workbasket to which the task belongs - * @param domain the domain of the workbasket to which the task belongs - * @return an empty new Task + * @param workbasketKey the {@linkplain Workbasket#getKey() key} of the {@linkplain Workbasket} to + * which the {@linkplain Task} belongs + * @param domain the {@linkplain Workbasket#getDomain() domain} of the {@linkplain Workbasket} to + * which the {@linkplain Task} belongs + * @return an empty new {@linkplain Task} */ Task newTask(String workbasketKey, String domain); /** - * Returns a not inserted instance of {@link TaskComment}. + * Returns a not inserted instance of {@linkplain TaskComment}. * - * @param taskId The id of the task to which the task comment belongs - * @return an empty new TaskComment + * @param taskId The {@linkplain Task#getId() id} of the {@linkplain Task} to which the task + * comment belongs + * @return an empty new {@linkplain TaskComment} */ TaskComment newTaskComment(String taskId); /** - * Returns a not inserted instance of {@link Attachment}. + * Returns a not inserted instance of {@linkplain Attachment}. * - * @return an empty new Attachment + * @return an empty new {@linkplain Attachment} */ Attachment newAttachment(); /** - * Returns a not inserted instance of {@link ObjectReference}. + * Returns a not inserted instance of {@linkplain ObjectReference}. * - * @return an empty new ObjectReference + * @return an empty new {@linkplain ObjectReference} */ ObjectReference newObjectReference(); @@ -327,23 +340,26 @@ public interface TaskService { String company, String system, String systemInstance, String type, String value); /** - * Update a task. + * Update a {@linkplain Task}. * - * @param task the task to be updated in the database - * @return the updated task - * @throws InvalidArgumentException if the task to be updated contains invalid properties like - * e.g. invalid object references - * @throws TaskNotFoundException if the id of the task is not found in the database - * @throws ConcurrencyException if the task has already been updated by another user - * @throws ClassificationNotFoundException if the updated task refers to a classification that - * cannot be found - * @throws NotAuthorizedException if the current user is not authorized to update the task - * @throws AttachmentPersistenceException if an Attachment with ID will be added multiple times - * without using the task-methods - * @throws ObjectReferencePersistenceException if an ObjectReference with ID will be added - * multiple times without using the task-methods - * @throws InvalidStateException if an attempt is made to change the owner of the task and the - * task is not in state READY . + * @param task the {@linkplain Task} to be updated in the database + * @return the updated {@linkplain Task} + * @throws InvalidArgumentException if the {@linkplain Task} to be updated contains invalid + * properties like e.g. invalid {@linkplain ObjectReference}s + * @throws TaskNotFoundException if the id of the {@linkplain Task} is not found in the database + * @throws ConcurrencyException if the {@linkplain Task} has been updated by another user in the + * meantime; that's the case if the given modified timestamp differs from the one in the + * database + * @throws ClassificationNotFoundException if the updated {@linkplain Task} refers to a {@link + * Classification} that cannot be found + * @throws NotAuthorizedException if the current user is not authorized to update the {@linkplain + * Task} + * @throws AttachmentPersistenceException if an {@linkplain Attachment} with ID will be added + * multiple times without using the Task-methods + * @throws ObjectReferencePersistenceException if an {@linkplain ObjectReference} with ID will be + * added multiple times without using the Task-methods + * @throws InvalidStateException if an attempt is made to change the owner of the {@linkplain + * Task} that state isn't READY. */ Task updateTask(Task task) throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException, @@ -351,9 +367,8 @@ public interface TaskService { ObjectReferencePersistenceException, InvalidStateException; /** - * Transfers a list of {@linkplain Task Tasks} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} while always setting the {@linkplain - * Task#isTransferred transfer} flag. + * Transfers a list of {@linkplain Task Tasks} to another {@linkplain Workbasket} while always + * setting the {@linkplain Task#isTransferred transfer} flag. * * @see #transferTasks(String, List, boolean) */ @@ -365,33 +380,32 @@ public interface TaskService { } /** - * Transfers a list of {@linkplain Task Tasks} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket}. + * Transfers a list of {@linkplain Task Tasks} to another {@linkplain Workbasket}. * - *

The transfer resets the read flag and sets the transfer flag if {@code setTransferFlag} is - * {@code true}. Exceptions will be thrown if the caller got no permissions on the target or it - * does not exist. Other Exceptions will be stored and returned in the end. + *

The transfer resets the {@linkplain Task#isRead() read flag} and sets the {@linkplain + * Task#isTransferred() transfer flag} if {@code setTransferFlag} is {@code true}. Exceptions will + * be thrown if the caller got no {@linkplain WorkbasketPermission} on the target or if the target + * {@linkplain Workbasket} does not exist. Other Exceptions will be stored and returned in the + * end. * - * @param destinationWorkbasketId target {@linkplain pro.taskana.workbasket.api.models.Workbasket - * Workbasket} id + * @param destinationWorkbasketId {@linkplain Workbasket#getId() id} of the target {@linkplain + * Workbasket} * @param taskIds list of source {@linkplain Task Tasks} which will be moved * @param setTransferFlag the control about whether to set the {@linkplain Task#isTransferred()} * flag or not - * @return Bulkresult with ID and Error in it for failed transactions. + * @return Bulkresult with {@linkplain Task#getId() ids} and Error in it for failed transactions * @throws NotAuthorizedException if the caller has no permissions on target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket}. - * @throws InvalidArgumentException if the method parameters are EMPTY or NULL. - * @throws WorkbasketNotFoundException if the target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} can not be found. + * Workbasket} + * @throws InvalidArgumentException if the method parameters are EMPTY or NULL + * @throws WorkbasketNotFoundException if the target {@linkplain Workbasket} can not be found */ BulkOperationResults transferTasks( String destinationWorkbasketId, List taskIds, boolean setTransferFlag) throws NotAuthorizedException, InvalidArgumentException, WorkbasketNotFoundException; /** - * Transfers a list of {@linkplain Task Tasks} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} while always setting the {@linkplain - * Task#isTransferred} flag. + * Transfers a list of {@linkplain Task Tasks} to another {@linkplain Workbasket} while always + * setting the {@linkplain Task#isTransferred} flag. * * @see #transferTasks(String, String, List, boolean) */ @@ -403,26 +417,24 @@ public interface TaskService { } /** - * Transfers a list of {@linkplain Task Tasks} to another {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket}. + * Transfers a list of {@linkplain Task Tasks} to another {@linkplain Workbasket}. * - *

The transfer resets the read flag and sets the transfer flag if {@code setTransferFlag} is - * {@code true}. Exceptions will be thrown if the caller got no permissions on the target or it - * does not exist. Other Exceptions will be stored and returned in the end. + *

The transfer resets the {@linkplain Task#isRead() read flag} and sets the {@linkplain + * Task#isTransferred() transfer flag} if {@code setTransferFlag} is {@code true}. Exceptions will + * be thrown if the caller got no {@linkplain WorkbasketPermission Permission} on the target + * {@linkplain Workbasket} or if it does not exist. Other Exceptions will be stored and returned + * in the end. * - * @param destinationWorkbasketKey target {@linkplain pro.taskana.workbasket.api.models.Workbasket - * Workbasket} key - * @param destinationWorkbasketDomain target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} domain - * @param taskIds list of source {@linkplain Task Tasks} which will be moved + * @param destinationWorkbasketKey target {@linkplain Workbasket#getKey()} Workbasket} + * @param destinationWorkbasketDomain target {@linkplain Workbasket#getDomain() domain} + * @param taskIds List of source {@linkplain Task Tasks} which will be moved * @param setTransferFlag the control about whether to set the {@linkplain Task#isTransferred()} * flag or not - * @return BulkResult with ID and Error in it for failed transactions. - * @throws NotAuthorizedException if the caller has no permissions on target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket}. + * @return BulkResult with {@linkplain Task#getId() id} and Error in it for failed transactions. + * @throws NotAuthorizedException if the caller has no {@linkplain WorkbasketPermission} on target + * {@linkplain Workbasket}. * @throws InvalidArgumentException if the method parameters are EMPTY or NULL. - * @throws WorkbasketNotFoundException if the target {@linkplain - * pro.taskana.workbasket.api.models.Workbasket Workbasket} can not be found. + * @throws WorkbasketNotFoundException if the target {@linkplain Workbasket} can not be found. */ BulkOperationResults transferTasks( String destinationWorkbasketKey, @@ -432,44 +444,51 @@ public interface TaskService { throws NotAuthorizedException, InvalidArgumentException, WorkbasketNotFoundException; /** - * Deletes the task with the given Id. + * Deletes the {@linkplain Task} with the given {@linkplain Task#getId() id}. * - * @param taskId The Id of the task to delete. - * @throws TaskNotFoundException If the given Id does not refer to an existing task. - * @throws InvalidStateException If the state of the referenced task is not an end state. - * @throws NotAuthorizedException if the current user is not member of role ADMIN + * @param taskId The {@linkplain Task#getId() id} of the {@linkplain Task} to delete. + * @throws TaskNotFoundException If the given {@linkplain Task#getId() id} does not refer to an + * existing {@linkplain Task}. + * @throws InvalidStateException If the {@linkplain Task#getState() state} of the referenced + * {@linkplain Task} is not an end state. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * TaskanaRole#ADMIN} */ void deleteTask(String taskId) throws TaskNotFoundException, InvalidStateException, NotAuthorizedException; /** - * Deletes the task with the given Id even if it is not completed. + * Deletes the {@linkplain Task} with the given {@linkplain Task#getId() id} even if it is not + * completed. * - * @param taskId The Id of the task to delete. - * @throws TaskNotFoundException If the given Id does not refer to an existing task. - * @throws InvalidStateException If the state of the referenced task is not an end state and - * forceDelete is false. - * @throws NotAuthorizedException if the current user is not member of role ADMIN + * @param taskId The {@linkplain Task#getId() id} of the {@linkplain Task} to delete. + * @throws TaskNotFoundException If the given {@linkplain Task#getId() id} does not refer to an + * existing {@linkplain Task}. + * @throws InvalidStateException If the state of the referenced {@linkplain Task} is not an end + * state and forceDelete is false. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * TaskanaRole#ADMIN} */ void forceDeleteTask(String taskId) throws TaskNotFoundException, InvalidStateException, NotAuthorizedException; /** - * Selects and claims the first task which is returned by the task query. + * Selects and claims the first {@linkplain Task} which is returned by the {@linkplain TaskQuery}. * - * @param taskQuery the task query. - * @return the task that got selected and claimed - * @throws InvalidOwnerException if the task is claimed by someone else - * @throws NotAuthorizedException if the current user has no read permission for the workbasket - * the task is in + * @param taskQuery the {@linkplain TaskQuery}. + * @return the {@linkplain Task} that got selected and claimed + * @throws InvalidOwnerException if the {@linkplain Task} is claimed by someone else + * @throws NotAuthorizedException if the current user has no read permission for the Workbasket + * the {@linkplain Task} is in */ Task selectAndClaim(TaskQuery taskQuery) throws NotAuthorizedException, InvalidOwnerException; /** - * Deletes a list of tasks. + * Deletes a list of {@linkplain Task Tasks}. * - * @param tasks the ids of the tasks to delete. - * @return the result of the operations with Id and Exception for each failed task deletion. + * @param tasks the {@linkplain Task#getId() ids} of the tasks to delete. + * @return the result of the operations with each {@linkplain Task#getId() id} and Exception for + * each failed task deletion. * @throws InvalidArgumentException if the TaskIds parameter is NULL * @throws NotAuthorizedException if the current user is not member of role ADMIN */ @@ -477,189 +496,223 @@ public interface TaskService { throws InvalidArgumentException, NotAuthorizedException; /** - * Completes a list of tasks. + * Completes a list of {@linkplain Task Tasks}. * - * @param taskIds of the tasks which should be completed. - * @return the result of the operations with Id and Exception for each failed task completion. - * @throws InvalidArgumentException If the taskId parameter is NULL. + * @param taskIds {@linkplain Task#getId() ids} of the {@linkplain Task Tasks} which should be + * completed + * @return the result of the operations with each {@linkplain Task#getId() id} and Exception for + * each failed completion + * @throws InvalidArgumentException If the taskIds parameter is NULL */ BulkOperationResults completeTasks(List taskIds) throws InvalidArgumentException; /** - * Completes a list of tasks. + * Completes each existing {@linkplain Task} in the given List in every case, independent of the + * {@linkplain Task#getOwner() owner} or {@linkplain Task#getState() state} of the {@linkplain + * Task}. If the {@linkplain Task} is already {@linkplain TaskState#COMPLETED completed}, the + * {@linkplain Task} stays unchanged. * * @see TaskService#forceCompleteTask - * @param taskIds of the tasks which should be completed. - * @return the result of the operations with Id and Exception for each failed task completion. - * @throws InvalidArgumentException If the taskId parameter is NULL. + * @param taskIds {@linkplain Task#getId() id} of the {@linkplain Task Tasks} which should be + * completed + * @return the result of the operations with {@linkplain Task#getId() id} and Exception for each + * failed completion + * @throws InvalidArgumentException If the taskIds parameter is NULL */ BulkOperationResults forceCompleteTasks(List taskIds) throws InvalidArgumentException; /** - * Updates tasks with a matching {@link ObjectReference}. + * Updates specified {@linkplain TaskCustomField TaskCustomFields} of {@linkplain Task Tasks} + * associated with the given {@linkplain ObjectReference}. * - * @param selectionCriteria the {@link ObjectReference} that is used to select the tasks. - * @param customFieldsToUpdate a {@link Map} that contains as key the identification of the custom - * field and as value the corresponding new value of that custom field. - * @return a list of the Ids of all modified tasks + * @param selectionCriteria the {@linkplain ObjectReference} that is used to select the tasks + * @param customFieldsToUpdate a Map that contains as key the identification of the {@linkplain + * TaskCustomField} and as value the corresponding new value of that field + * @return a list of the {@linkplain Task#getId() ids} of all modified {@linkplain Task Tasks} * @throws InvalidArgumentException if the given selectionCriteria is invalid or the given - * customFieldsToUpdate are null or empty. + * customFieldsToUpdate are NULL or empty */ List updateTasks( ObjectReference selectionCriteria, Map customFieldsToUpdate) throws InvalidArgumentException; /** - * Updates tasks with matching taskIds. + * Updates specified {@linkplain TaskCustomField TaskCustomFields} for all given {@linkplain Task + * Tasks}. * - * @param taskIds the taskIds that are used to select the tasks. - * @param customFieldsToUpdate a {@link Map} that contains as key the identification of the custom - * field and as value the corresponding new value of that custom field. - * @return a list of the Ids of all modified tasks - * @throws InvalidArgumentException if the given customFieldsToUpdate are null or empty. + * @param taskIds the {@linkplain Task#getId() taskIds} that are used to select the {@linkplain + * Task Tasks}. + * @param customFieldsToUpdate a Map that contains as key the identification of the {@linkplain + * TaskCustomField} and as value the corresponding new value of that {@linkplain + * TaskCustomField}. + * @return a list of the {@linkplain Task#getId() ids} of all modified {@linkplain Task Tasks} + * @throws InvalidArgumentException if the given customFieldsToUpdate are NULL or empty. */ List updateTasks(List taskIds, Map customFieldsToUpdate) throws InvalidArgumentException; /** - * Create a task comment. + * Inserts the specified {@linkplain TaskComment} into the database. * - * @param taskComment the task comment to be created. - * @return the created task comment. - * @throws NotAuthorizedException If the current user has no authorization to create a task - * comment for the given taskId in the TaskComment or is not authorized to access the task. - * @throws TaskNotFoundException If the given taskId in the TaskComment does not refer to an - * existing task. - * @throws InvalidArgumentException If the given taskCommentId from the provided task comment is - * not null or empty + * @param taskComment the {@linkplain TaskComment} to be created + * @return the created {@linkplain TaskComment} + * @throws NotAuthorizedException if the current user has no authorization to create a {@link + * TaskComment} for the given taskId or is not authorized to access the {@linkplain Task} + * @throws TaskNotFoundException if the given {@linkplain TaskComment#getTaskId() taskId} does not + * refer to an existing {@linkplain Task} + * @throws InvalidArgumentException if the {@linkplain TaskComment#getId() id} of the provided + * {@link TaskComment} is not NULL or empty */ TaskComment createTaskComment(TaskComment taskComment) throws NotAuthorizedException, TaskNotFoundException, InvalidArgumentException; /** - * Update a task comment. + * Updates the specified {@linkplain TaskComment}. * - * @param taskComment the task comment to be updated in the database. - * @return the updated task comment. - * @throws NotAuthorizedException If the current user has no authorization to update a task - * comment or is not authorized to access the task. - * @throws ConcurrencyException if an attempt is made to update the task comment and another user. - * updated it already. - * @throws TaskCommentNotFoundException If the given taskCommentId in the TaskComment does not - * refer to an existing taskComment. - * @throws TaskNotFoundException If the given taskId in the TaskComment does not refer to an - * existing task. - * @throws InvalidArgumentException If the given taskCommentId from the provided task comment is - * null or empty + * @param taskComment the {@linkplain TaskComment} to be updated in the database + * @return the updated {@linkplain TaskComment} + * @throws NotAuthorizedException if the current user has no authorization to update the + * {@linkplain TaskComment} or is not authorized to access the {@linkplain Task} + * @throws ConcurrencyException if an attempt is made to update the {@linkplain TaskComment} and + * another user updated it already; that's the case if the given {} timestamp differs from the + * one in the database + * @throws TaskCommentNotFoundException if the {@linkplain TaskComment#getId() is} of the + * specified {@linkplain TaskComment}does not refer to an existing {@linkplain TaskComment} + * @throws TaskNotFoundException if the {@linkplain TaskComment#getTaskId() taskId} does not refer + * to an existing {@linkplain Task} + * @throws InvalidArgumentException if the given {@linkplain TaskComment#getId() id} is NULL or + * empty */ TaskComment updateTaskComment(TaskComment taskComment) throws NotAuthorizedException, ConcurrencyException, TaskCommentNotFoundException, TaskNotFoundException, InvalidArgumentException; /** - * Deletes the task comment with the given Id. + * Deletes the {@linkplain TaskComment} with the given {@linkplain TaskComment#getId() id}. * - * @param taskCommentId The id of the task comment to delete. - * @throws NotAuthorizedException If the current user has no authorization to delete a task + * @param taskCommentId the {@linkplain TaskComment#getId() id} of the {@linkplain TaskComment} to + * delete + * @throws NotAuthorizedException if the current user has no authorization to delete a task * comment or is not authorized to access the task. - * @throws InvalidArgumentException If the taskCommentId is null/empty - * @throws TaskCommentNotFoundException If the given taskCommentId in the TaskComment does not + * @throws InvalidArgumentException if the taskCommentId is NULL or empty + * @throws TaskCommentNotFoundException if the given taskCommentId in the TaskComment does not * refer to an existing taskComment. - * @throws TaskNotFoundException If the given taskId in the TaskComment does not refer to an - * existing task. - * @throws InvalidArgumentException If the given taskCommentId is null or empty + * @throws TaskNotFoundException if the {@linkplain TaskComment#getTaskId() taskId} of the + * TaskComment does not refer to an existing {@linkplain Task}. + * @throws InvalidArgumentException if the given taskCommentId is NULL or empty */ void deleteTaskComment(String taskCommentId) throws NotAuthorizedException, TaskCommentNotFoundException, TaskNotFoundException, InvalidArgumentException; /** - * Retrieves a task comment for a given taskCommentId. + * Retrieves the {@linkplain TaskComment} with the given {@linkplain TaskComment#getId() id}. * - * @param taskCommentId The id of the task comment which should be retrieved - * @return the task comment identified by taskCommentId - * @throws TaskCommentNotFoundException If the given taskCommentId in the TaskComment does not - * refer to an existing taskComment. - * @throws NotAuthorizedException If the current user has no authorization to retrieve a - * taskComment from a certain task or is not authorized to access the task. - * @throws TaskNotFoundException If the given taskId in the TaskComment does not refer to an - * existing task. - * @throws InvalidArgumentException If the given taskCommentId is null or empty + * @param taskCommentId the {@linkplain TaskComment#getId() id} of the {@linkplain TaskComment} + * which should be retrieved + * @return the {@linkplain TaskComment} identified by taskCommentId + * @throws TaskCommentNotFoundException if the given taskCommentId does not refer to an existing + * {@linkplain TaskComment} + * @throws NotAuthorizedException if the current user has no authorization to retrieve a + * {@linkplain TaskComment} from a certain {@linkplain Task} or is not authorized to access + * the {@linkplain Task} + * @throws TaskNotFoundException if the {@linkplain TaskComment#getTaskId() taskId} of the + * TaskComment does not refer to an existing {@linkplain Task} + * @throws InvalidArgumentException if the given taskCommentId is NULL or empty */ TaskComment getTaskComment(String taskCommentId) throws TaskCommentNotFoundException, NotAuthorizedException, TaskNotFoundException, InvalidArgumentException; /** - * Retrieves a list of task comments for a given taskId. + * Retrieves the List of {@linkplain TaskComment TaskComments} for the Task with given {@linkplain + * Task#getId() id}. * - * @param taskId The id of the task for which all task comments should be retrieved - * @return the list of task comments attached to task with id taskId - * @throws NotAuthorizedException If the current user has no authorization to retrieve a - * taskComment from a certain task or is not authorized to access the task. - * @throws TaskNotFoundException If the given taskId in the TaskComment does not refer to an - * existing task. + * @param taskId the {@linkplain Task#getId() id} of the {@linkplain Task} for which all task + * comments should be retrieved + * @return the List of task comments attached to the specified {@linkplain Task} + * @throws NotAuthorizedException if the current user has no authorization to retrieve a + * taskComment from the {@linkplain Task} or is not authorized to access the {@linkplain Task} + * @throws TaskNotFoundException if the given taskId does not refer to an existing {@linkplain + * Task} */ List getTaskComments(String taskId) throws NotAuthorizedException, TaskNotFoundException; /** - * Sets the callback state on a list of tasks. Note: this method is primarily intended to be used - * by the TaskanaAdapter + * Sets the specified {@linkplain CallbackState} on a list of {@linkplain Task Tasks}. Note: this + * method is primarily intended to be used by the TaskanaAdapter * - * @param externalIds the EXTERNAL_IDs of the tasks on which the callback state is set. - * @param state the callback state that is to be set on the tasks - * @return the result of the operations with Id and Exception for each failed task deletion. + * @param externalIds the {@linkplain Task#getExternalId() externalIds} of the {@linkplain Task + * Tasks} on which the {@linkplain CallbackState} is set + * @param state the {@linkplain CallbackState} that is to be set on the {@linkplain Task Tasks} + * @return the result of the operations with {@linkplain Task#getId() id} and Exception for each + * failed operation */ BulkOperationResults setCallbackStateForTasks( List externalIds, CallbackState state); /** - * Sets the owner on a list of tasks. The owner will only be set on tasks that are in state READY. + * Sets the {@linkplain Task#getOwner() owner} on a List of {@linkplain Task Tasks}. The + * {@linkplain Task#getOwner() owner} will only be set on {@linkplain Task Tasks} that are in + * state {@linkplain TaskState#READY}. * - * @param owner the new owner of the tasks - * @param taskIds the IDs of the tasks on which the owner is to be set. - * @return the result of the operations with Id and Exception for each failed task update. + * @param owner the new {@linkplain Task#getOwner() owner} of the {@linkplain Task Tasks} + * @param taskIds the {@linkplain Task#getId() ids} of the {@linkplain Task Tasks} on which the + * {@linkplain Task#getOwner() owner} is to be set + * @return the result of the operations with {@linkplain Task#getId() id} and Exception for each + * failed {@linkplain Task}-update */ BulkOperationResults setOwnerOfTasks( String owner, List taskIds); /** - * Sets the planned property on a list of tasks. Only tasks in state READY and CLAIMED will be - * affected by this method. On each task, the corresponding due date is set according to the - * shortest service level in the classifications of the task and the task's attachments. + * Sets the {@linkplain Task#getPlanned() planned} Instant on a List of {@linkplain Task Tasks}. + * Only {@linkplain Task Tasks} in state {@linkplain TaskState#READY} and {@linkplain + * TaskState#CLAIMED} will be affected by this method. On each {@linkplain Task}, the + * corresponding {@linkplain Task#getDue() due date} is set according to the shortest serviceLevel + * in the {@linkplain Task#getClassificationSummary() Classification} of the {@linkplain Task} and + * its {@linkplain Task#getAttachments() Attachments}. * - * @param planned the new 'PLANNED" property of the tasks - * @param taskIds the IDs of the tasks on which the new planned property is to be set. - * @return the result of the operations with Id and Exception for each failed task update. + * @param planned the new {@linkplain Task#getPlanned() planned} Instant of the {@linkplain Task + * Tasks} + * @param taskIds the {@linkplain Task#getId() ids} of the {@linkplain Task Tasks} on which the + * new {@linkplain Task#getPlanned() planned} Instant is to be set + * @return the result of the operations with {@linkplain Task#getId() id} and Exception for each + * failed {@linkplain Task Task} update. */ BulkOperationResults setPlannedPropertyOfTasks( Instant planned, List taskIds); /** - * Cancels a task. Cancellation means a task is obsolete from a business perspective an does not - * need to be completed anymore. + * Cancels the {@linkplain Task} with the given {@linkplain Task#getId() id}. Cancellation means a + * {@linkplain Task} is obsolete from a business perspective and does not need to be completed + * anymore. * - * @param taskId the id of the task to cancel. - * @return the updated task. - * @throws TaskNotFoundException if the Task with Id TaskId is not found - * @throws InvalidStateException if the task is not in state READY or CLAIMED - * @throws NotAuthorizedException if the current user is not authorized to see the task + * @param taskId the {@linkplain Task#getId() id} of the {@linkplain Task} to cancel + * @return the updated {@linkplain Task} + * @throws TaskNotFoundException if the {@linkplain Task} with taskId is not found + * @throws InvalidStateException if the {@linkplain Task} is not in state {@linkplain + * TaskState#READY} or {@linkplain TaskState#CLAIMED} + * @throws NotAuthorizedException if the current user is not authorized to see the {@linkplain + * Task} */ Task cancelTask(String taskId) throws TaskNotFoundException, InvalidStateException, NotAuthorizedException; /** - * Terminates a task. Termination is a administrative action to complete a task. This is typically - * done by an administration to correct any technical issue. + * Terminates a {@linkplain Task}. Termination is an administrative action to complete a + * {@linkplain Task}. This is typically done by administration to correct any technical issue. * - * @param taskId the id of the task to cancel. - * @return the updated task. - * @throws TaskNotFoundException if the Task with Id TaskId is not found - * @throws InvalidStateException if the task is not in state READY or CLAIMED - * @throws NotAuthorizedException if the current user is not authorized to see the task + * @param taskId the id of the {@linkplain Task} to cancel + * @return the updated {@linkplain Task} + * @throws TaskNotFoundException if the {@linkplain Task} with taskId is not found + * @throws InvalidStateException if the {@linkplain Task} is not in state {@linkplain + * TaskState#READY} or {@linkplain TaskState#CLAIMED} + * @throws NotAuthorizedException if the current user is not authorized to see the {@linkplain + * Task} */ Task terminateTask(String taskId) throws TaskNotFoundException, InvalidStateException, NotAuthorizedException; diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Attachment.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Attachment.java index ee79b3035..39d89988f 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Attachment.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Attachment.java @@ -5,56 +5,57 @@ import java.util.Map; import pro.taskana.classification.api.models.ClassificationSummary; -/** Attachment-Interface to specify Attachment Attributes. */ +/** Attachment-Interface to specify attributes of an Attachment. */ public interface Attachment extends AttachmentSummary { /** - * Sets the {@link ObjectReference primaryObjectReference} of the attachment. + * Sets the {@linkplain ObjectReference primaryObjectReference} of the Attachment. * - * @param objectReference the {@link ObjectReference primaryObjectReference} of the attachment + * @param objectReference the {@linkplain ObjectReference primaryObjectReference} of the + * Attachment */ void setObjectReference(ObjectReference objectReference); /** - * Set the classification summary for this attachment. + * Set the {@linkplain ClassificationSummary classificationSummary} for this Attachment. * - * @param classificationSummary the {@link ClassificationSummary} for this attachment + * @param classificationSummary the {@linkplain ClassificationSummary} for this Attachment */ void setClassificationSummary(ClassificationSummary classificationSummary); /** - * Sets the time when the attachment was received. + * Sets the time when the Attachment was received. * - * @param received the time as {@link Instant} when the attachment was received + * @param received the time when the Attachment was received as Instant */ void setReceived(Instant received); /** - * Sets the Channel on which the attachment was received. + * Sets the channel on which the Attachment was received. * - * @param channel the channel on which the attachment was received + * @param channel the channel on which the Attachment was received */ void setChannel(String channel); /** - * Returns the custom attributes of this attachment. + * Returns the custom attributes of this Attachment. * - * @return customAttributes as {@link Map} + * @return customAttributes as {@linkplain Map} */ Map getCustomAttributeMap(); /** - * Sets the custom attribute Map of the attachment. + * Sets the custom attribute Map of the Attachment. * - * @param customAttributes a {@link Map} that contains the custom attributes of the attachment as - * key, value pairs + * @param customAttributes a {@linkplain Map} that contains the custom attributes of the + * Attachment as key, value pairs */ void setCustomAttributeMap(Map customAttributes); /** - * Return a summary of the current Attachment. + * Returns a summary of the current Attachment. * - * @return the AttachmentSummary object for the current attachment + * @return the {@linkplain AttachmentSummary} object for the current Attachment */ AttachmentSummary asSummary(); diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/AttachmentSummary.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/AttachmentSummary.java index 3a50a3afb..ea50ccff7 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/AttachmentSummary.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/AttachmentSummary.java @@ -11,58 +11,59 @@ import pro.taskana.classification.api.models.ClassificationSummary; public interface AttachmentSummary { /** - * Gets the id of the attachment. + * Returns the id of the {@linkplain Attachment}. * * @return attachmentId */ String getId(); /** - * Gets the id of the associated task. + * Returns the id of the associated {@linkplain Task}. * * @return taskId */ String getTaskId(); /** - * Gets the time when the attachment was created. + * Returns the time when the {@linkplain Attachment} was created. * * @return the created Instant */ Instant getCreated(); /** - * Gets the time when the attachment was last modified. + * Returns the time when the {@linkplain Attachment} was last modified. * * @return the last modified Instant */ Instant getModified(); /** - * Gets the {@link ObjectReference primaryObjectReference} of the attachment. + * Returns the {@linkplain ObjectReference primaryObjectReference} of the {@linkplain Attachment}. * - * @return {@link ObjectReference primaryObjectReference} of the attachment + * @return {@linkplain ObjectReference primaryObjectReference} of the {@linkplain Attachment} */ ObjectReference getObjectReference(); /** - * Gets the Channel on which the attachment was received. + * Returns the channel on which the {@linkplain Attachment} was received. * * @return the channel */ String getChannel(); /** - * Gets the classificationSummary of the attachment. + * Returns the {@linkplain ClassificationSummary classificationSummary} of the {@linkplain + * Attachment}. * - * @return the classification summary + * @return {@linkplain ClassificationSummary classificationSummary} */ ClassificationSummary getClassificationSummary(); /** - * Gets the time when the attachment was received. + * Returns the time when the {@linkplain Attachment} was received. * - * @return received Instant + * @return the received Instant */ Instant getReceived(); diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/ObjectReference.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/ObjectReference.java index c49c85a96..0b6bda2f0 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/ObjectReference.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/ObjectReference.java @@ -4,37 +4,37 @@ package pro.taskana.task.api.models; public interface ObjectReference { /** - * Gets the id of the ObjectReference. + * Returns the id of the ObjectReference. * * @return the id of the ObjectReference. */ String getId(); /** - * Gets the id of the associated task. + * Returns the id of the associated {@linkplain Task}. * - * @return the taskId + * @return taskId */ String getTaskId(); /** - * Gets the company of the ObjectReference. + * Returns the company of the ObjectReference. * - * @return the company + * @return company */ String getCompany(); /** * Sets the company of the ObjectReference. * - * @param company the company of the object reference + * @param company the company of the ObjectReference */ void setCompany(String company); /** - * Gets the system of the ObjectReference. + * Returns the system of the ObjectReference. * - * @return the system + * @return system */ String getSystem(); @@ -46,23 +46,23 @@ public interface ObjectReference { void setSystem(String system); /** - * Gets the systemInstance of the ObjectReference. + * Returns the systemInstance of the ObjectReference. * - * @return the systemInstance + * @return systemInstance */ String getSystemInstance(); /** * Sets the system instance of the ObjectReference. * - * @param systemInstance the system instance of the ObjectReference + * @param systemInstance the systemInstance of the ObjectReference */ void setSystemInstance(String systemInstance); /** - * Gets the type of the ObjectReference. + * Returns the type of the ObjectReference. * - * @return the type + * @return type */ String getType(); @@ -74,9 +74,9 @@ public interface ObjectReference { void setType(String type); /** - * Gets the value of the ObjectReference. + * Returns the value of the ObjectReference. * - * @return the value + * @return value */ String getValue(); diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Task.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Task.java index b60933b5e..92f2cf5ee 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Task.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/Task.java @@ -7,8 +7,10 @@ import java.util.Map; import pro.taskana.classification.api.models.Classification; import pro.taskana.task.api.TaskCustomField; import pro.taskana.task.api.TaskService; +import pro.taskana.user.api.models.User; +import pro.taskana.workbasket.api.models.WorkbasketSummary; -/** task-Interface to specify attribute interactions. */ +/** Task-Interface to specify the model of a Task. */ public interface Task extends TaskSummary { /** @@ -25,28 +27,28 @@ public interface Task extends TaskSummary { * externalId can only be set before the Task is inserted. Taskana rejects attempts to modify * externalId. * - * @param externalId the external Id + * @param externalId the externalId */ void setExternalId(String externalId); /** * Sets the time when the work on this Task should be started. * - * @param planned as exact {@link Instant} + * @param planned as exact {@linkplain Instant} */ void setPlanned(Instant planned); /** - * Sets the time when when the surrounding process started. + * Sets the time when the surrounding process started. * - * @param received as exact {@link Instant} + * @param received as exact {@linkplain Instant} */ void setReceived(Instant received); /** * Sets the time when the work on this Task should be finished. * - * @param due as exact {@link Instant} + * @param due as exact {@linkplain Instant} */ void setDue(Instant due); @@ -65,10 +67,13 @@ public interface Task extends TaskSummary { void setDescription(String description); /** - * Sets the Classification key that - together with the Domain from this Task's work basket - - * selects the appropriate {@link Classification} for this Task. + * Sets the {@linkplain Classification#getKey() key} of the {@linkplain Classification} that - + * together with the {@linkplain WorkbasketSummary#getDomain() domain} from the {@linkplain + * pro.taskana.workbasket.api.models.Workbasket Workbasket} of the Task - selects the appropriate + * {@linkplain Classification} for this Task. * - * @param classificationKey the classification key for the Task + * @param classificationKey the {@linkplain Classification#getKey() key} of the {@linkplain + * Classification} for the Task */ void setClassificationKey(String classificationKey); @@ -82,110 +87,113 @@ public interface Task extends TaskSummary { void setManualPriority(int manualPriority); /** - * Returns the key of the Workbasket where the Task is stored in. + * Returns the {@linkplain WorkbasketSummary#getKey() key} of the {@linkplain + * pro.taskana.workbasket.api.models.Workbasket Workbasket} where the Task is stored in. * * @return workbasketKey */ String getWorkbasketKey(); /** - * Returns a Map of custom Attributes. + * Returns a Map of customAttributes. * - * @return customAttributes as {@link Map} + * @return customAttributes as Map */ Map getCustomAttributeMap(); /** - * Sets a Map of custom Attributes. + * Sets a Map of custom attributes. * - * @param customAttributes a {@link Map} that contains the custom attributes + * @param customAttributes a Map that contains the custom attributes */ void setCustomAttributeMap(Map customAttributes); /** - * Returns a Map of Callback info. + * Returns the callbackInfo. * - * @return callbackInfo as {@link Map} + * @return callbackInfo as Map */ Map getCallbackInfo(); /** - * Sets a Map of callback info. + * Sets the callbackInfo. * - * @param callbackInfo a {@link Map} that contains the callback info + * @param callbackInfo a {@linkplain Map} that contains the callback information */ void setCallbackInfo(Map callbackInfo); /** - * Sets the value for custom Attribute. + * Sets the value for the specified {@linkplain TaskCustomField customField}. * - * @param customField identifies which custom attribute is to be set. - * @param value the value of the custom attribute to be set - * @deprecated Use {@link #setCustomField(TaskCustomField, String)} instead + * @param customField identifies which {@linkplain TaskCustomField customField} is to be set + * @param value the value of the {@linkplain TaskCustomField customField} to be set + * @deprecated Use {@linkplain #setCustomField(TaskCustomField, String)} instead */ void setCustomAttribute(TaskCustomField customField, String value); /** - * Sets the value for custom field. + * Sets the value for the specified {@linkplain TaskCustomField customField}. * - * @param customField identifies which custom field is to be set. - * @param value the value of the custom field to be set + * @param customField identifies which {@linkplain TaskCustomField customField} is to be set. + * @param value the value of the {@linkplain TaskCustomField customField} to be set */ void setCustomField(TaskCustomField customField, String value); /** - * Add an attachment.
- * NULL will be ignored and an attachment with the same ID will be replaced by the newer one.
+ * Add an {@linkplain Attachment}.
+ * NULL will be ignored and an {@linkplain Attachment} with the same id will be replaced by the + * newer one.
* - * @param attachment the {@link Attachment attachment} to be added to the Task + * @param attachment the {@linkplain Attachment attachment} to be added to the Task */ void addAttachment(Attachment attachment); /** - * Return the attachments for this Task.
- * Do not use List.add()/addAll() for adding Elements, because it can cause redundant data. Use + * Return the {@linkplain Attachment attachment} for the Task.
+ * Do not use List.add()/addAll() for adding elements, because it can cause redundant data. Use * addAttachment(). Clear() and remove() can be used, because it's a controllable change. * - * @return the {@link List list} of {@link Attachment attachments} for this Task + * @return the List of {@linkplain Attachment attachments} for this Task */ List getAttachments(); /** - * Sets the external business process id. + * Sets the associated businessProcessId. * - * @param businessProcessId Sets the business process id the Task belongs to. + * @param businessProcessId Sets the businessProcessId the Task belongs to. */ void setBusinessProcessId(String businessProcessId); /** - * Sets the parent business process id to group associated processes. + * Sets the parentBusinessProcessId. ParentBusinessProcessId is needed to group associated + * processes and to identify the main process. * - * @param parentBusinessProcessId Sets the parent business process id the Task belongs to + * @param parentBusinessProcessId the business process id of the parent the Task belongs to */ void setParentBusinessProcessId(String parentBusinessProcessId); /** - * Sets the ownerId of this Task. + * Sets the id of the owner of the Task. * - * @param taskOwnerId the user id of the Task's owner + * @param taskOwnerId the {@linkplain User#getId() id} of the owner of the Task */ void setOwner(String taskOwnerId); /** - * Sets the {@link ObjectReference primaryObjectReference} of the Task. + * Sets the {@linkplain ObjectReference primaryObjectReference} of the Task. * * @param primaryObjRef to Task main-subject */ void setPrimaryObjRef(ObjectReference primaryObjRef); /** - * Initializes and sets the {@link ObjectReference primaryObjectReference} of the Task. + * Initializes and sets the {@linkplain ObjectReference primaryObjectReference} of the Task. * - * @param company of the {@link ObjectReference primaryObjectReference} to be set - * @param system of the {@link ObjectReference primaryObjectReference} to be set - * @param systemInstance of the {@link ObjectReference primaryObjectReference} to be set - * @param type of the {@link ObjectReference primaryObjectReference} to be set - * @param value of the {@link ObjectReference primaryObjectReference} to be set + * @param company of the {@linkplain ObjectReference primaryObjectReference} to be set + * @param system of the {@linkplain ObjectReference primaryObjectReference} to be set + * @param systemInstance of the {@linkplain ObjectReference primaryObjectReference} to be set + * @param type of the {@linkplain ObjectReference primaryObjectReference} to be set + * @param value of the {@linkplain ObjectReference primaryObjectReference} to be set */ void setPrimaryObjRef( String company, String system, String systemInstance, String type, String value); @@ -198,33 +206,34 @@ public interface Task extends TaskSummary { void setNote(String note); /** - * Return a summary of the current Task. + * Returns a summary of the current Task. * - * @return the TaskSummary object for the current Task + * @return the {@linkplain TaskSummary} object for the current Task */ TaskSummary asSummary(); /** - * Removes an attachment of the current Task locally, when the ID is represented and does return - * the removed attachment or null if there was no match.
- * The changed Task need to be updated calling the {@link TaskService#updateTask(Task)}. + * Removes an {@linkplain Attachment attachment} of the current Task locally, when the ID is + * represented and does return the removed {@linkplain Attachment attachment} or null if there was + * no match.
+ * The changed Task need to be updated calling the {@linkplain TaskService#updateTask(Task)}. * - * @param attachmentID ID of the attachment which should be removed. - * @return attachment which will be removed after updating OR null if there was no matching - * attachment + * @param attachmentID ID of the {@linkplain Attachment attachment} which should be removed. + * @return {@linkplain Attachment attachment} which will be removed after updating OR null if + * there was no match. */ Attachment removeAttachment(String attachmentID); /** - * Returns the category of the current classification. + * Returns the category of the current {@linkplain Classification}. * * @return classificationCategory */ String getClassificationCategory(); /** - * Duplicates this Task without the internal and external id. All referenced {@link Attachment}s - * and {@link ObjectReference}s are copied as well. + * Duplicates this Task without the internal and external id. All referenced {@linkplain + * Attachment}s and {@linkplain ObjectReference}s are copied as well. * * @return a copy of this Task */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskComment.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskComment.java index cf9f92ba0..928ca3911 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskComment.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskComment.java @@ -2,60 +2,60 @@ package pro.taskana.task.api.models; import java.time.Instant; -/** TaskComment-Interface to specify TaskComment Attributes. */ +/** TaskComment-Interface to specify attributes of the TaskComment. */ public interface TaskComment { /** - * Gets the id of the task comment. + * Returns the id of the TaskComment. * * @return taskId */ String getId(); /** - * Gets the id of the associated task. + * Returns the id of the associated Task. * * @return taskId */ String getTaskId(); /** - * Gets the name of the task comment-creator. + * Returns the id of the creator of the TaskComment. * * @return creator */ String getCreator(); /** - * Gets the long name of the task comment creator. + * Returns the long name of the creator of the TaskComment. * - * @return the long Name of the creator + * @return the long name of the creator */ String getCreatorFullName(); /** - * Gets the text field of the task comment. + * Returns the content of the TaskComment. * * @return textField */ String getTextField(); /** - * Sets the text field of the task comment. + * Sets the content of the TaskComment. * - * @param textField the text field + * @param textField the textField */ void setTextField(String textField); /** - * Gets the time when the task comment was created. + * Returns the time when the TaskComment was created. * * @return the created Instant */ Instant getCreated(); /** - * Gets the time when the task comment was last modified. + * Returns the time when the TaskComment was last modified. * * @return the last modified Instant */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskSummary.java b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskSummary.java index b49b8d18f..8b91184f7 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskSummary.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/api/models/TaskSummary.java @@ -16,261 +16,265 @@ import pro.taskana.workbasket.api.models.WorkbasketSummary; public interface TaskSummary { /** - * Gets the id of the Task. + * Returns the id of the {@linkplain Task}. * * @return taskId */ String getId(); /** - * Gets the external id of the Task. + * Returns the externalId of the {@linkplain Task}. * - * @return the external Id + * @return externalId */ String getExternalId(); /** - * Gets the name of the creator of the Task. + * Returns the name of the creator of the {@linkplain Task}. * * @return creator */ String getCreator(); /** - * Gets the time when the task was created. + * Returns the time when the {@linkplain Task} was created. * - * @return the created {@link Instant} + * @return the created Instant */ Instant getCreated(); /** - * Gets the time when the Task was claimed. + * Returns the time when the {@linkplain Task} was claimed. * - * @return the claimed {@link Instant} + * @return the claimed Instant */ Instant getClaimed(); /** - * Gets the time when the Task was completed. + * Returns the time when the {@linkplain Task} was completed. * - * @return the completed {@link Instant} + * @return the completed Instant */ Instant getCompleted(); /** - * Gets the time when the Task was last modified. + * Returns the time when the {@linkplain Task} was last modified. * - * @return the last modified {@link Instant} + * @return the last modified Instant */ Instant getModified(); /** - * Gets the time when the Task is planned to be executed. + * Returns the time when the {@linkplain Task} is planned to be executed. * - * @return the planned {@link Instant} + * @return the planned Instant */ Instant getPlanned(); /** - * Gets the time when the surrounding process was started. + * Returns the time when the surrounding process was started. * - * @return the received {@link Instant} + * @return the received Instant */ Instant getReceived(); /** - * Gets the time when the Task is due. + * Returns the time when the {@linkplain Task} is due. * - * @return the due {@link Instant} + * @return the due Instant */ Instant getDue(); /** - * Gets the name of the Task. + * Returns the name of the {@linkplain Task}. * - * @return the Task's name + * @return name */ String getName(); /** - * Gets the note attached to the Task. + * Returns the note attached to the {@linkplain Task}. * - * @return the Task's note + * @return note */ String getNote(); /** - * Gets the description of the Task. + * Returns the description of the {@linkplain Task}. * - * @return the Task's description + * @return description */ String getDescription(); /** - * Gets the priority of the Task. + * Returns the priority of the {@linkplain Task}. * - * @return the Task's priority + * @return priority */ int getPriority(); /** - * Gets the manualPriority of the Task. If the value of manualPriority is zero or greater, the - * priority is automatically set to manualPriority. In this case, all computations of priority are - * disabled. If the value of manualPriority is negative, Tasks are not prioritized manually. + * Gets the manualPriority of the {@linkplain Task}. If the value of manualPriority is zero or + * greater, the priority is automatically set to manualPriority. In this case, all computations of + * priority are disabled. If the value of manualPriority is negative, Tasks are not prioritized + * manually. * * @return the manualPriority of the Task */ int getManualPriority(); /** - * Gets the state of the Task. + * Returns the state of the {@linkplain Task}. * - * @return the Task's state + * @return state */ TaskState getState(); /** - * Gets the {@link ClassificationSummary} of the Task. + * Returns the {@linkplain ClassificationSummary} of the {@linkplain Task}. * - * @return the Task's {@link ClassificationSummary} + * @return {@linkplain ClassificationSummary} */ ClassificationSummary getClassificationSummary(); /** - * Gets the {@link WorkbasketSummary} of the Task. + * Returns the {@linkplain WorkbasketSummary} of the {@linkplain Task}. * - * @return the Task's {@link WorkbasketSummary} + * @return {@linkplain WorkbasketSummary} */ WorkbasketSummary getWorkbasketSummary(); /** - * Gets the {@link AttachmentSummary attachmentSummaries} of the Task. + * Returns the {@linkplain AttachmentSummary attachmentSummaries} of the {@linkplain Task}. * - * @return the Task's {@link AttachmentSummary attachmentSummaries} + * @return {@linkplain AttachmentSummary attachmentSummaries} */ List getAttachmentSummaries(); /** - * Gets the secondary {@link ObjectReference}s of the Task. + * Returns the {@linkplain ObjectReference secondaryObjectReferences} of the {@linkplain Task}. * - * @return the Task's secondary {@link ObjectReference}s + * @return {@linkplain ObjectReference secondaryObjectReferences} */ List getSecondaryObjectReferences(); /** - * Add an {@link ObjectReference} to the list of secondary {@link ObjectReference}s.
- * NULL will be ignored and an ObjectReference with the same ID will be replaced by the newer one. - *
+ * Add an {@linkplain ObjectReference} to the List of secondary {@linkplain ObjectReference + * objectReferences}.
+ * NULL will be ignored and an {@linkplain ObjectReference} with the same {@linkplain + * ObjectReference#getId() id} will be replaced by the newer one.
* - * @param objectReference the secondary {@link ObjectReference objectReference} to be added to the - * Task + * @param objectReference the secondary {@linkplain ObjectReference objectReference} to be added + * to the {@linkplain Task} */ void addSecondaryObjectReference(ObjectReference objectReference); /** - * Add an {@link ObjectReference} to the list of secondary {@link ObjectReference}s.
- * NULL will be ignored and an ObjectReference with the same ID will be replaced by the newer one. - *
+ * Add an {@linkplain ObjectReference} to the List of secondary {@linkplain ObjectReference}s.
+ * NULL will be ignored and an ObjectReference with the same {@linkplain ObjectReference#getId() + * id} will be replaced by the newer one.
* - * @param company of the {@link ObjectReference objectReference} to be added to the Task - * @param system of the {@link ObjectReference objectReference} to be added to the Task - * @param systemInstance of the {@link ObjectReference objectReference} to be added to the Task - * @param type of the {@link ObjectReference objectReference} to be added to the Task - * @param value of the {@link ObjectReference objectReference} to be added to the Task + * @param company of the {@linkplain ObjectReference objectReference} to be added to the Task + * @param system of the {@linkplain ObjectReference objectReference} to be added to the Task + * @param systemInstance of the {@linkplain ObjectReference objectReference} to be added to the + * Task + * @param type of the {@linkplain ObjectReference objectReference} to be added to the Task + * @param value of the {@linkplain ObjectReference objectReference} to be added to the Task */ void addSecondaryObjectReference( String company, String system, String systemInstance, String type, String value); /** - * Removes a secondary {@link ObjectReference} of the current Task locally, when the ID is - * represented and does return the removed {@link ObjectReference} or null if there was no match. - *
- * The changed Task need to be updated calling the {@link TaskService#updateTask(Task)}. + * Removes a secondary {@linkplain ObjectReference} of the current Task locally, when the ID is + * represented and does return the removed {@linkplain ObjectReference} or null if there was no + * match.
+ * The changed Task need to be updated calling the {@linkplain TaskService#updateTask(Task)}. * - * @param objectReferenceID ID of the {@link ObjectReference} which should be removed. - * @return the {@link ObjectReference} which will be removed after updating OR null if there was - * no matching {@link ObjectReference} + * @param objectReferenceID {@linkplain ObjectReference#getId() id} of the {@linkplain + * ObjectReference} which should be removed + * @return the {@linkplain ObjectReference} which will be removed after updating or null if there + * was no matching {@linkplain ObjectReference} */ ObjectReference removeSecondaryObjectReference(String objectReferenceID); /** - * Gets the domain of the Task. + * Returns the domain of the {@linkplain Task}. * - * @return the Task's domain + * @return domain */ String getDomain(); /** - * Gets the businessProcessId of the Task. + * Returns the businessProcessId of the {@linkplain Task}. * - * @return the Task's businessProcessId + * @return businessProcessId */ String getBusinessProcessId(); /** - * Gets the parentBusinessProcessId of the Task. + * Returns the parentBusinessProcessId of the {@linkplain Task}. * - * @return the Task's parentBusinessProcessId + * @return parentBusinessProcessId */ String getParentBusinessProcessId(); /** - * Gets the owner of the Task. + * Returns the owner of the {@linkplain Task}. * - * @return the Task's owner + * @return owner */ String getOwner(); /** - * Gets the owner's long name of the Task. + * Returns long name of the owner of the {@linkplain Task}. * - * @return the long name of the Task owner + * @return the long name of the owner */ String getOwnerLongName(); /** - * Gets the primary {@link ObjectReference} of the Task. + * Returns the primary {@linkplain ObjectReference} of the {@linkplain Task}. * - * @return the Task's primary {@link ObjectReference} + * @return the Tasks primary {@linkplain ObjectReference} */ ObjectReference getPrimaryObjRef(); /** - * Gets the isRead flag of the Task. + * Returns the isRead flag of the {@linkplain Task}. * - * @return the Task's isRead flag + * @return the Tasks isRead flag */ boolean isRead(); /** - * Gets the isTransferred flag of the Task. + * Returns the isTransferred flag of the {@linkplain Task}. * - * @return the Task's isTransferred flag. + * @return the Tasks isTransferred flag */ boolean isTransferred(); /** - * Returns whether the Task is prioritized manually. That means that the priority is set to the - * value of the manualPriority of the Task. + * Returns whether the {@linkplain Task} is prioritized manually. That means that the priority is + * set to the value of the manualPriority of the {@linkplain Task}. * * @return true, if Tasks are prioritized manually; false otherwise */ boolean isManualPriorityActive(); /** - * Gets the custom attribute of the Task. + * Returns the value of the specified {@linkplain TaskCustomField} of the {@linkplain Task}. * - * @param customField identifies which custom attribute is requested. + * @param customField identifies which {@linkplain TaskCustomField} is requested * @return the value for the given customField - * @deprecated Use {@link #getCustomField(TaskCustomField)} instead + * @deprecated Use {@linkplain #getCustomField(TaskCustomField)} instead */ String getCustomAttribute(TaskCustomField customField); /** - * Gets the custom attribute of the task. + * Returns the value of the specified {@linkplain TaskCustomField} of the {@linkplain Task}. * - * @param customField identifies which custom attribute is requested. - * @return the value for the given customField + * @param customField identifies which {@linkplain TaskCustomField} is requested + * @return the value for the given {@linkplain TaskCustomField} */ String getCustomField(TaskCustomField customField); diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/internal/jobs/TaskRefreshJob.java b/lib/taskana-core/src/main/java/pro/taskana/task/internal/jobs/TaskRefreshJob.java index 8de66aa54..8db3b1547 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/internal/jobs/TaskRefreshJob.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/internal/jobs/TaskRefreshJob.java @@ -14,7 +14,7 @@ import pro.taskana.common.internal.jobs.AbstractTaskanaJob; import pro.taskana.common.internal.transaction.TaskanaTransactionProvider; import pro.taskana.task.internal.TaskServiceImpl; -/** This class executes a job of type {@linkplain pro.taskana.task.internal.jobs.TaskRefreshJob}. */ +/** This class executes a job of type {@linkplain TaskRefreshJob}. */ public class TaskRefreshJob extends AbstractTaskanaJob { public static final String TASK_IDS = "taskIds"; diff --git a/lib/taskana-core/src/main/java/pro/taskana/user/api/UserService.java b/lib/taskana-core/src/main/java/pro/taskana/user/api/UserService.java index c9c863fde..31b4bdbde 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/user/api/UserService.java +++ b/lib/taskana-core/src/main/java/pro/taskana/user/api/UserService.java @@ -51,7 +51,9 @@ public interface UserService { * @param userToCreate the {@linkplain User} which should be inserted * @return the inserted {@linkplain User} * @throws InvalidArgumentException if some fields are not set properly - * @throws NotAuthorizedException if the current user is not admin or business-admin + * @throws NotAuthorizedException if the current user is not {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} * @throws UserAlreadyExistException if there already exists a {@linkplain User} with the * specified {@linkplain User#getId() id} inside the database */ @@ -67,7 +69,9 @@ public interface UserService { * * @param userToUpdate the {@linkplain User} which should be updated * @return the updated {@linkplain User} - * @throws NotAuthorizedException if the current user is not admin or business-admin + * @throws NotAuthorizedException if the current user is not {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} * @throws UserNotFoundException if there does not exist a {@linkplain User} with the specified * {@linkplain User#getId() id} inside the database */ @@ -81,7 +85,9 @@ public interface UserService { * gets deleted. * * @param id the {@linkplain User#getId() id} of the {@linkplain User} which should be deleted - * @throws NotAuthorizedException if the current user is not admin or business-admin + * @throws NotAuthorizedException if the current user is not {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} * @throws UserNotFoundException if there does not exist a {@linkplain User} with the specified * {@linkplain User#getId() id} inside the database */ diff --git a/lib/taskana-core/src/main/java/pro/taskana/user/api/models/User.java b/lib/taskana-core/src/main/java/pro/taskana/user/api/models/User.java index 171931d68..c80e532c1 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/user/api/models/User.java +++ b/lib/taskana-core/src/main/java/pro/taskana/user/api/models/User.java @@ -4,7 +4,7 @@ package pro.taskana.user.api.models; public interface User { /** - * Gets the id of the User. + * Returns the id of the User. * * @return userId */ @@ -18,7 +18,7 @@ public interface User { void setId(String id); /** - * Gets the first name of the User. + * Returns the first name of the User. * * @return firstName */ @@ -32,7 +32,7 @@ public interface User { void setFirstName(String firstName); /** - * Gets the last name of the User. + * Returns the last name of the User. * * @return lastName */ @@ -46,7 +46,7 @@ public interface User { void setLastName(String lastName); /** - * Gets the full name of the User. + * Returns the full name of the User. * * @return fullName */ @@ -60,7 +60,7 @@ public interface User { void setFullName(String fullName); /** - * Gets the long name of the User. + * Returns the long name of the User. * * @return longName */ @@ -74,7 +74,7 @@ public interface User { void setLongName(String longName); /** - * Gets the email address of the User. + * Returns the email address of the User. * * @return email */ @@ -88,7 +88,7 @@ public interface User { void setEmail(String email); /** - * Gets the phone number of the User. + * Returns the phone number of the User. * * @return phone */ @@ -102,7 +102,7 @@ public interface User { void setPhone(String phone); /** - * Gets the mobile phone number of the User. + * Returns the mobile phone number of the User. * * @return mobilePhone */ @@ -116,63 +116,63 @@ public interface User { void setMobilePhone(String mobilePhone); /** - * Gets the orgLevel4 of the User. + * Returns the orgLevel4 of the User. * * @return orgLevel4 */ String getOrgLevel4(); /** - * Sets the fourth organization level of the User. + * Sets the orgLevel4 of the User. * * @param orgLevel4 the fourth organization level of the User */ void setOrgLevel4(String orgLevel4); /** - * Gets the orgLevel3 of the User. + * Returns the orgLevel3 of the User. * * @return orgLevel3 */ String getOrgLevel3(); /** - * Sets the third organization level of the User. + * Sets the orgLevel3 of the User. * * @param orgLevel3 the third organization level of the User */ void setOrgLevel3(String orgLevel3); /** - * Gets the orgLevel2 of the User. + * Returns the orgLevel2 of the User. * * @return orgLevel2 */ String getOrgLevel2(); /** - * Sets the second organization level of the User. + * Sets the orgLevel2 of the User. * * @param orgLevel2 the second organization level of the User */ void setOrgLevel2(String orgLevel2); /** - * Gets the orgLevel1 of the User. + * Returns the orgLevel1 of the User. * * @return orgLevel1 */ String getOrgLevel1(); /** - * Sets the first organization level of the User. + * Sets the orgLevel1 of the User. * * @param orgLevel1 the first organization level of the User */ void setOrgLevel1(String orgLevel1); /** - * Gets the data of the User. + * Returns the data of the User. * * @return data */ @@ -185,5 +185,10 @@ public interface User { */ void setData(String data); + /** + * Duplicates this User. + * + * @return a copy of this User + */ User copy(); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/AbstractWorkbasketAccessItemQuery.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/AbstractWorkbasketAccessItemQuery.java index 1893f6c54..fecdcc03a 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/AbstractWorkbasketAccessItemQuery.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/AbstractWorkbasketAccessItemQuery.java @@ -1,6 +1,7 @@ package pro.taskana.workbasket.api; import pro.taskana.common.api.BaseQuery; +import pro.taskana.workbasket.api.models.Workbasket; import pro.taskana.workbasket.api.models.WorkbasketAccessItem; /** @@ -22,9 +23,9 @@ public interface AbstractWorkbasketAccessItemQuery< Q idIn(String... ids); /** - * Add your workbasket id to your query. + * Add the {@linkplain Workbasket#getId() id} to your query. * - * @param workbasketId the workbasket Id + * @param workbasketId the {@linkplain Workbasket#getId() id} of the Workbasket * @return the query */ Q workbasketIdIn(String... workbasketId); diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketPermission.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketPermission.java index 31906b1ce..9c75d5a39 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketPermission.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketPermission.java @@ -1,6 +1,8 @@ package pro.taskana.workbasket.api; -/** This enum contains all permission values for the workbaskets. */ +import pro.taskana.workbasket.api.models.Workbasket; + +/** This enum contains all permission values for the {@linkplain Workbasket Workbaskets}. */ public enum WorkbasketPermission { READ, OPEN, diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketService.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketService.java index 73a4ae159..ec8a4614f 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketService.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/WorkbasketService.java @@ -8,6 +8,7 @@ import pro.taskana.common.api.exceptions.DomainNotFoundException; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.TaskanaException; +import pro.taskana.user.api.models.User; import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException; import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException; import pro.taskana.workbasket.api.exceptions.WorkbasketInUseException; @@ -20,32 +21,39 @@ import pro.taskana.workbasket.api.models.WorkbasketSummary; public interface WorkbasketService { /** - * Get Workbasket for a given id. + * Get the {@linkplain Workbasket} specified by the given {@linkplain WorkbasketSummary#getId() + * id}. * - * @param workbasketId the Id of the Workbasket requested + * @param workbasketId the {@linkplain WorkbasketSummary#getId() id} of the {@linkplain + * Workbasket} requested * @return the requested Workbasket - * @throws WorkbasketNotFoundException If the Workbasket with workbasketId is not found - * @throws NotAuthorizedException If the current user or group does not have the permissions for - * interactions. + * @throws WorkbasketNotFoundException If the {@linkplain Workbasket} with workbasketId is not + * found + * @throws NotAuthorizedException If the current user or group does not have the {@linkplain + * WorkbasketPermission permissions} for interactions. */ Workbasket getWorkbasket(String workbasketId) throws WorkbasketNotFoundException, NotAuthorizedException; /** - * Get Workbasket for a given key. + * Get the {@linkplain Workbasket} specified by the given {@linkplain WorkbasketSummary#getKey() + * key} and {@linkplain WorkbasketSummary#getDomain() domain}. * - * @param workbasketKey the Key of the Workbasket requested - * @param domain the domain of the workbasket - * @return the requested Workbasket - * @throws WorkbasketNotFoundException If the Workbasket with workbasketId is not found - * @throws NotAuthorizedException If the current user or group does not have the permissions for - * interactions. + * @param workbasketKey the {@linkplain WorkbasketSummary#getKey() key} of the {@linkplain + * Workbasket} requested + * @param domain the {@linkplain WorkbasketSummary#getDomain() domain} of the {@linkplain + * Workbasket} + * @return the requested {@linkplain Workbasket} + * @throws WorkbasketNotFoundException If the {@linkplain Workbasket} with workbasketId is not + * found + * @throws NotAuthorizedException If the current user or group does not have the {@linkplain + * WorkbasketPermission permissions} for interactions. */ Workbasket getWorkbasket(String workbasketKey, String domain) throws WorkbasketNotFoundException, NotAuthorizedException; /** - * Creates a new Workbasket.
+ * Creates a new {@linkplain Workbasket}.
* The default values are: * *

    @@ -53,91 +61,106 @@ public interface WorkbasketService { * IdGenerator} *
* - * @param workbasket The Workbasket to create - * @return the created and inserted Workbasket - * @throws InvalidArgumentException If a required property of the Workbasket is not set. - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN - * @throws WorkbasketAlreadyExistException if the Workbasket exists already - * @throws DomainNotFoundException if the domain does not exist in the configuration. + * @param workbasket The {@linkplain Workbasket} to create + * @return the created and inserted {@linkplain Workbasket} + * @throws InvalidArgumentException If a required property of the {@linkplain Workbasket} is not + * set. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} + * @throws WorkbasketAlreadyExistException if the {@linkplain Workbasket} exists already + * @throws DomainNotFoundException if the {@linkplain Workbasket#getDomain() domain} does not + * exist in the configuration. */ Workbasket createWorkbasket(Workbasket workbasket) throws InvalidArgumentException, NotAuthorizedException, WorkbasketAlreadyExistException, DomainNotFoundException; /** - * Update a Workbasket. + * Update the given {@linkplain Workbasket}. * - * @param workbasket The Workbasket to update - * @return the updated Workbasket - * @throws InvalidArgumentException if workbasket name or type is invalid + * @param workbasket The {@linkplain Workbasket} to update + * @return the updated {@linkplain Workbasket} + * @throws InvalidArgumentException if {@linkplain Workbasket#getName() name} or {@linkplain + * Workbasket#getType() type} of the {@linkplain Workbasket} is invalid * @throws NotAuthorizedException if the current user is not authorized to update the {@linkplain * Workbasket} * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} cannot be found. * @throws ConcurrencyException if an attempt is made to update the {@linkplain Workbasket} and - * another user updated it already + * another user updated it already; that's the case if the given modified timestamp differs + * from the one in the database */ Workbasket updateWorkbasket(Workbasket workbasket) throws InvalidArgumentException, NotAuthorizedException, WorkbasketNotFoundException, ConcurrencyException; /** - * Returns a new WorkbasketAccessItem which is not inserted. + * Returns a new {@linkplain WorkbasketAccessItem} which is not inserted. * - * @param workbasketId the workbasket id used to identify the referenced {@linkplain Workbasket} + * @param workbasketId the {@linkplain Workbasket#getId() id} used to identify the referenced + * {@linkplain Workbasket} * @param accessId the group id or user id for which access is controlled - * @return new WorkbasketAccessItem + * @return new {@linkplain WorkbasketAccessItem} */ WorkbasketAccessItem newWorkbasketAccessItem(String workbasketId, String accessId); /** - * Create and insert a new {@link WorkbasketAccessItem} with a WorkbasketId, an accessId and - * permissions. + * Create and insert a new {@linkplain WorkbasketAccessItem} with a {@linkplain + * WorkbasketAccessItem#getWorkbasketId() workbasketId}, an {@linkplain + * WorkbasketAccessItem#getAccessId() accessId} and {@linkplain + * WorkbasketAccessItem#getPermission(WorkbasketPermission) permissions}. * - * @param workbasketAccessItem the new workbasketAccessItem - * @return the created WorkbasketAccessItem - * @throws InvalidArgumentException if the preconditions dont match the required ones. - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN - * @throws WorkbasketNotFoundException if the workbasketAccessItem refers to a not existing - * workbasket * - * @throws WorkbasketAccessItemAlreadyExistException if there exists already a - * WorkbasketAccessItem for the same access id and workbasket + * @param workbasketAccessItem the new {@linkplain WorkbasketAccessItem} + * @return the created {@linkplain WorkbasketAccessItem} + * @throws InvalidArgumentException if the preconditions don't match the required ones. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} + * @throws WorkbasketNotFoundException if the {@linkplain WorkbasketAccessItem} refers to a not + * existing workbasket + * @throws WorkbasketAccessItemAlreadyExistException if there exists already a {@linkplain + * WorkbasketAccessItem} for the same {@linkplain WorkbasketAccessItem#getAccessId() accessId} + * and {@linkplain Workbasket} */ WorkbasketAccessItem createWorkbasketAccessItem(WorkbasketAccessItem workbasketAccessItem) throws InvalidArgumentException, NotAuthorizedException, WorkbasketNotFoundException, WorkbasketAccessItemAlreadyExistException; /** - * This method updates a {@link WorkbasketAccessItem}. + * This method updates a {@linkplain WorkbasketAccessItem}. * - * @param workbasketAccessItem the {@link WorkbasketAccessItem} + * @param workbasketAccessItem the {@linkplain WorkbasketAccessItem} * @return the updated entity - * @throws InvalidArgumentException if accessid or workbasketId is changed in the - * workbasketAccessItem - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @throws InvalidArgumentException if {@linkplain WorkbasketAccessItem#getAccessId() accessId} or + * {@linkplain WorkbasketAccessItem#getWorkbasketId() workbasketId} is changed in the + * {@linkplain WorkbasketAccessItem} + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} */ WorkbasketAccessItem updateWorkbasketAccessItem(WorkbasketAccessItem workbasketAccessItem) throws InvalidArgumentException, NotAuthorizedException; /** - * Deletes a specific {@link WorkbasketAccessItem}. + * Deletes a specific {@linkplain WorkbasketAccessItem}. * - * @param id the id of the WorbasketAccessItem to be deleted - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @param id the {@linkplain WorkbasketAccessItem#getId() id} of the {@linkplain + * WorkbasketAccessItem} to be deleted + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} */ void deleteWorkbasketAccessItem(String id) throws NotAuthorizedException; /** * This method checks the authorization for the actual User. * - * @param workbasketId the id of the workbasket we want to access - * @param permission the needed {@link WorkbasketPermission} If more than one permission is - * specified, the current user needs all of them. + * @param workbasketId the {@linkplain Workbasket#getId() id} of the {@linkplain Workbasket} we + * want to access + * @param permission the needed {@linkplain WorkbasketPermission}; if more than one {@linkplain + * WorkbasketPermission permission} is specified, the current user needs all of them * @throws NotAuthorizedException if the current user has not the requested authorization for the - * specified workbasket + * specified {@linkplain Workbasket} * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} cannot be found for the * given {@linkplain Workbasket#getId() id}. */ @@ -147,20 +170,22 @@ public interface WorkbasketService { /** * This method checks the authorization for the actual User. * - * @param workbasketKey the key of the workbasket we want to access - * @param domain the domain of the workbasket we want to access - * @param permission the needed {@link WorkbasketPermission}. If more than one permission is - * specified, the current user needs all of them. - * @throws NotAuthorizedException if the current user has not the requested permission for the - * specified workbasket - * @throws WorkbasketNotFoundException if no workbasket can be found for the given key+domain - * values. + * @param workbasketKey the {@linkplain Workbasket#getKey() key} of the {@linkplain Workbasket} we + * want to access + * @param domain the {@linkplain Workbasket#getDomain() domain} of the {@linkplain Workbasket} we + * want to access + * @param permission the needed {@linkplain WorkbasketPermission}; if more than one {@linkplain + * WorkbasketPermission permission} is specified, the current user needs all of them. + * @throws NotAuthorizedException if the current user has not the requested {@linkplain + * WorkbasketPermission permission} for the specified {@linkplain Workbasket} + * @throws WorkbasketNotFoundException if no {@linkplain Workbasket} can be found for the given + * {@linkplain Workbasket#getKey() key} and {@linkplain Workbasket#getDomain() domain} values. */ void checkAuthorization(String workbasketKey, String domain, WorkbasketPermission... permission) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Get all {@link WorkbasketAccessItem s} for a {@linkplain Workbasket}. + * Get all {@linkplain WorkbasketAccessItem}s for a {@linkplain Workbasket}. * * @param workbasketId the {@linkplain Workbasket#getId() id} of the {@linkplain Workbasket} * @return List of {@linkplain WorkbasketAccessItem}s for the {@linkplain Workbasket} @@ -172,25 +197,29 @@ public interface WorkbasketService { throws NotAuthorizedException; /** - * Setting up the new WorkbasketAccessItems for a Workbasket. Already stored values will be - * completely replaced by the current ones. + * Setting up the new {@linkplain WorkbasketAccessItem}s for a {@linkplain Workbasket}. Already + * stored values will be completely replaced by the current ones. * - *

Preconditions for each {@link WorkbasketAccessItem} then {@code wbAccessItems}: + *

Preconditions for each {@linkplain WorkbasketAccessItem} then {@code wbAccessItems}: * *

    - *
  • {@link WorkbasketAccessItem#getWorkbasketId()} is not null - *
  • {@link WorkbasketAccessItem#getWorkbasketId()} is equal to {@code workbasketId} - *
  • {@link WorkbasketAccessItem#getAccessId()} is unique + *
  • {@linkplain WorkbasketAccessItem#getWorkbasketId()} is not null + *
  • {@linkplain WorkbasketAccessItem#getWorkbasketId()} is equal to {@code workbasketId} + *
  • {@linkplain WorkbasketAccessItem#getAccessId()} is unique *
* - * @param workbasketId ID of the access-target workbasket. - * @param wbAccessItems List of WorkbasketAccessItems which does replace all current stored ones. + * @param workbasketId {@linkplain Workbasket#getId() id} of the access-target {@linkplain + * Workbasket}. + * @param wbAccessItems List of {@linkplain WorkbasketAccessItem}s which does replace all current + * stored ones. * @throws InvalidArgumentException will be thrown when the parameter {@code wbAccessItems} is * NULL or member doesn't match the preconditions - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} * @throws WorkbasketAccessItemAlreadyExistException if {@code wbAccessItems} contains multiple - * accessItems with the same accessId. + * {@linkplain WorkbasketAccessItem} with the same {@linkplain + * WorkbasketAccessItem#getAccessId() accessId}. * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} cannot be found for the * given {@linkplain Workbasket#getId() id}. */ @@ -201,114 +230,128 @@ public interface WorkbasketService { /** * This method provides a query builder for querying the database. * - * @return a {@link WorkbasketQuery} + * @return a {@linkplain WorkbasketQuery} */ WorkbasketQuery createWorkbasketQuery(); /** * This method provides a query builder for querying the database. * - * @return a {@link WorkbasketAccessItemQuery} - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @return a {@linkplain WorkbasketAccessItemQuery} + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} */ WorkbasketAccessItemQuery createWorkbasketAccessItemQuery() throws NotAuthorizedException; /** - * Returns a new workbasket which is not inserted. + * Returns a new {@linkplain Workbasket} which is not inserted. * - * @param key the workbasket key used to identify the workbasket - * @param domain the domain of the new workbasket - * @return new Workbasket + * @param key the {@linkplain Workbasket#getKey() key} used to identify the {@linkplain + * Workbasket} + * @param domain the {@linkplain Workbasket#getDomain() domain} of the new {@linkplain Workbasket} + * @return new {@linkplain Workbasket} */ Workbasket newWorkbasket(String key, String domain); /** - * Returns a set with all permissions of the current user at this workbasket.
- * If the workbasketId is invalid, an empty list of permissions is returned since there is no - * distinction made between the situation that the workbasket is not found and the caller has no - * permissions on the workbasket. + * Returns a set with all {@linkplain WorkbasketPermission permissions} of the current user at + * this {@linkplain Workbasket}.
+ * If the workbasketId is invalid, an empty List of {@linkplain WorkbasketPermission}s is returned + * since there is no distinction made between the situation that the {@linkplain Workbasket} is + * not found and the caller has no {@linkplain WorkbasketPermission permissions} on the + * {@linkplain Workbasket}. * - * @param workbasketId the id of the referenced workbasket + * @param workbasketId the {@linkplain Workbasket#getId() id} of the referenced {@linkplain + * Workbasket} * @return a {@link List} with all {@link WorkbasketPermission}s of the caller on the requested - * workbasket. + * {@linkplain Workbasket}. */ List getPermissionsForWorkbasket(String workbasketId); /** - * Returns the distribution targets for a given workbasket. + * Returns the distribution targets for a given {@linkplain Workbasket}. * - * @param workbasketId the id of the referenced workbasket - * @return the distribution targets of the specified workbasket - * @throws NotAuthorizedException if the current user has no read permission for the specified - * workbasket - * @throws WorkbasketNotFoundException if the workbasket doesn't exist + * @param workbasketId the {@linkplain Workbasket#getId() id} of the referenced {@linkplain + * Workbasket} + * @return the distribution targets of the specified {@linkplain Workbasket} + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ permission} for the specified {@linkplain Workbasket} + * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} doesn't exist */ List getDistributionTargets(String workbasketId) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Returns the distribution targets for a given workbasket. + * Returns the distribution targets for a given {@linkplain Workbasket}. * - * @param workbasketKey the key of the referenced workbasket - * @param domain the domain of the referenced workbasket - * @return the distribution targets of the specified workbasket - * @throws NotAuthorizedException if the current user has no read permission for the specified - * workbasket - * @throws WorkbasketNotFoundException if the workbasket doesn't exist + * @param workbasketKey the {@linkplain Workbasket#getKey() key} of the referenced {@linkplain + * Workbasket} + * @param domain the {@linkplain Workbasket#getDomain() domain} of the referenced {@linkplain + * Workbasket} + * @return the distribution targets of the specified {@linkplain Workbasket} + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ permission} for the specified {@linkplain Workbasket} + * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} doesn't exist */ List getDistributionTargets(String workbasketKey, String domain) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Set the distribution targets for a workbasket. + * Set the distribution targets for a {@linkplain Workbasket}. * - * @param sourceWorkbasketId the id of the source workbasket for which the distribution targets - * are to be set - * @param targetWorkbasketIds a list of the ids of the target workbaskets - * @throws NotAuthorizedException if the current used doesn't have READ permission for the source - * workbasket - * @throws WorkbasketNotFoundException if either the source workbasket or any of the target - * workbaskets don't exist + * @param sourceWorkbasketId the {@linkplain Workbasket#getId() id} of the source {@linkplain + * Workbasket} for which the distribution targets are to be set + * @param targetWorkbasketIds a list of the ids of the target {@linkplain Workbasket}s + * @throws NotAuthorizedException if the current used doesn't have {@linkplain + * WorkbasketPermission#READ READ permission} for the source {@linkplain Workbasket} + * @throws WorkbasketNotFoundException if either the source {@linkplain Workbasket} or any of the + * target {@linkplain Workbasket}s don't exist */ void setDistributionTargets(String sourceWorkbasketId, List targetWorkbasketIds) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Add a distribution target to a workbasket. If the specified distribution target exists already, - * the method silently returns without doing anything. + * Add a distribution target to a {@linkplain Workbasket}. If the specified distribution target + * exists already, the method silently returns without doing anything. * - * @param sourceWorkbasketId the id of the source workbasket - * @param targetWorkbasketId the id of the target workbasket - * @throws NotAuthorizedException if the current user doesn't have READ permission for the source - * workbasket - * @throws WorkbasketNotFoundException if either the source workbasket or the target workbasket - * doesn't exist + * @param sourceWorkbasketId the {@linkplain Workbasket#getId() id} of the source {@linkplain + * Workbasket} + * @param targetWorkbasketId the {@linkplain Workbasket#getId() id} of the target {@linkplain + * Workbasket} + * @throws NotAuthorizedException if the current user doesn't have {@linkplain + * WorkbasketPermission#READ READ permission} for the source {@linkplain Workbasket}s + * @throws WorkbasketNotFoundException if either the source {@linkplain Workbasket} or the target + * {@linkplain Workbasket} doesn't exist */ void addDistributionTarget(String sourceWorkbasketId, String targetWorkbasketId) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Remove a distribution target from a workbasket. If the specified distribution target doesn't - * exist, the method silently returns without doing anything. + * Remove a distribution target from a {@linkplain Workbasket}. If the specified distribution + * target doesn't exist, the method silently returns without doing anything. * - * @param sourceWorkbasketId The id of the source workbasket - * @param targetWorkbasketId The id of the target workbasket - * @throws NotAuthorizedException If the current user doesn't have READ permission for the source - * workbasket + * @param sourceWorkbasketId The {@linkplain Workbasket#getId() id} of the source {@linkplain + * Workbasket} + * @param targetWorkbasketId The {@linkplain Workbasket#getId() id} of the target {@linkplain + * Workbasket} + * @throws NotAuthorizedException If the current user doesn't have {@linkplain + * WorkbasketPermission#READ READ permission} for the source {@linkplain Workbasket} */ void removeDistributionTarget(String sourceWorkbasketId, String targetWorkbasketId) throws NotAuthorizedException; /** - * Deletes the workbasket by the given ID of it. + * Deletes the {@linkplain Workbasket} by the given {@linkplain Workbasket#getId() id}. * - * @param workbasketId Id of the workbasket which should be deleted. - * @return true if the workbasket was deleted successfully. false if the workbasket is marked for - * deletion. - * @throws NotAuthorizedException if the current user got no permissions for this interaction. - * @throws WorkbasketNotFoundException if the workbasket does not exist. - * @throws WorkbasketInUseException if the workbasket does contain task-content. + * @param workbasketId {@linkplain Workbasket#getId() id} of the {@linkplain Workbasket} which + * should be deleted. + * @return true if the {@linkplain Workbasket} was deleted successfully; false if the {@linkplain + * Workbasket} is marked for deletion + * @throws NotAuthorizedException if the current user got no {@linkplain WorkbasketPermission}s + * for this interaction + * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} does not exist + * @throws WorkbasketInUseException if the {@linkplain Workbasket} does contain task-content * @throws InvalidArgumentException if the workbasketId is NULL or EMPTY */ boolean deleteWorkbasket(String workbasketId) @@ -316,47 +359,54 @@ public interface WorkbasketService { InvalidArgumentException; /** - * Deletes a list of workbaskets. + * Deletes the list of {@linkplain Workbasket}s specified via {@linkplain Workbasket#getId() ids}. * - * @param workbasketsIds the ids of the workbaskets to delete. - * @return the result of the operations with Id and Exception for each failed workbasket deletion. - * @throws InvalidArgumentException if the WorkbasketIds parameter list is NULL or empty - * @throws NotAuthorizedException if the current user got no permission for this interaction. + * @param workbasketsIds the {@linkplain Workbasket#getId() ids} of the {@linkplain Workbasket}s + * to delete. + * @return the result of the operations and an Exception for each failed workbasket deletion + * @throws InvalidArgumentException if the WorkbasketIds parameter List is NULL or empty + * @throws NotAuthorizedException if the current user got no {@linkplain WorkbasketPermission} for + * this interaction */ BulkOperationResults deleteWorkbaskets(List workbasketsIds) throws NotAuthorizedException, InvalidArgumentException; /** - * Returns the distribution sources for a given workbasket. + * Returns the distribution sources for a given {@linkplain Workbasket}. * - * @param workbasketId the id of the referenced workbasket - * @return the workbaskets that are distribution sources of the specified workbasket. - * @throws NotAuthorizedException if the current user has no read permission for the specified - * workbasket - * @throws WorkbasketNotFoundException if the workbasket doesn't exist + * @param workbasketId the {@linkplain Workbasket#getId() id} of the referenced {@linkplain + * Workbasket} + * @return the workbaskets that are distribution sources of the specified {@linkplain Workbasket}. + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ permission} for the specified {@linkplain Workbasket} + * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} doesn't exist */ List getDistributionSources(String workbasketId) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Returns the distribution sources for a given workbasket. + * Returns the distribution sources for a given {@linkplain Workbasket}. * - * @param workbasketKey the key of the referenced workbasket - * @param domain the domain of the referenced workbasket - * @return the workbaskets that are distribution sources of the specified workbasket. - * @throws NotAuthorizedException if the current user has no read permission for the specified - * workbasket - * @throws WorkbasketNotFoundException if the workbasket doesn't exist + * @param workbasketKey the {@linkplain Workbasket#getKey() key} of the referenced {@linkplain + * Workbasket} + * @param domain the {@linkplain Workbasket#getDomain() domain} of the referenced {@linkplain + * Workbasket} + * @return the workbaskets that are distribution sources of the specified {@linkplain Workbasket}. + * @throws NotAuthorizedException if the current user has no {@linkplain WorkbasketPermission#READ + * READ permission} for the specified {@linkplain Workbasket} + * @throws WorkbasketNotFoundException if the {@linkplain Workbasket} doesn't exist */ List getDistributionSources(String workbasketKey, String domain) throws NotAuthorizedException, WorkbasketNotFoundException; /** - * Deletes all WorkbasketAccessItems using the given AccessId of a user. + * Deletes all {@linkplain WorkbasketAccessItem}s using the given {@linkplain + * WorkbasketAccessItem#getAccessId()}. * - * @param accessId of a taskana-user. - * @throws NotAuthorizedException if the current user is not member of role BUSINESS_ADMIN or - * ADMIN + * @param accessId {@linkplain User#getId() id} of a taskana-{@linkplain User}. + * @throws NotAuthorizedException if the current user is not member of role {@linkplain + * pro.taskana.common.api.TaskanaRole#ADMIN admin} or {@linkplain + * pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin} */ void deleteWorkbasketAccessItemsForAccessId(String accessId) throws NotAuthorizedException; } diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/Workbasket.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/Workbasket.java index 537859847..480b6baaa 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/Workbasket.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/Workbasket.java @@ -9,87 +9,87 @@ import pro.taskana.workbasket.api.WorkbasketType; public interface Workbasket extends WorkbasketSummary { /** - * Sets the name of the workbasket. + * Sets the name of the Workbasket. * - * @param workbasketName the name of the workbasket + * @param workbasketName the name of the Workbasket */ void setName(String workbasketName); /** - * Sets the workbasket-descriptions. + * Sets the description of the Workbasket. * - * @param description the description of the workbasket + * @param description the description of the Workbasket */ void setDescription(String description); /** - * Sets the type of the workbasket. + * Sets the type of the Workbasket. * - * @param type the type of the workbasket + * @param type the type of the Workbasket */ void setType(WorkbasketType type); /** - * Sets the value for custom Attribute. + * Sets the value of the specified {@linkplain WorkbasketCustomField}. * - * @param customField identifies which custom attribute is to be set. - * @param value the value of the custom attribute to be set - * @deprecated Use {@link #setCustomField(WorkbasketCustomField, String)} instead + * @param customField identifies which {@linkplain WorkbasketCustomField} is to be set + * @param value the value of the {@linkplain WorkbasketCustomField} to be set + * @deprecated Use {@linkplain #setCustomField(WorkbasketCustomField, String)} instead */ void setCustomAttribute(WorkbasketCustomField customField, String value); /** - * Sets the value for custom field. + * Sets the value for the specified {@linkplain WorkbasketCustomField}. * - * @param customField identifies which custom field is to be set. - * @param value the value of the custom field to be set + * @param customField identifies which {@linkplain WorkbasketCustomField} is to be set. + * @param value the value of the {@linkplain WorkbasketCustomField} to be set */ void setCustomField(WorkbasketCustomField customField, String value); /** * Sets the value for orgLevel1 attribute. * - * @param orgLevel1 the orgLevel1 property of the workbasket + * @param orgLevel1 the orgLevel1 property of the Workbasket */ void setOrgLevel1(String orgLevel1); /** * Sets the value for orgLevel2 attribute. * - * @param orgLevel2 the orgLevel2 property of the workbasket + * @param orgLevel2 the orgLevel2 property of the Workbasket */ void setOrgLevel2(String orgLevel2); /** * Sets the value for orgLevel3 attribute. * - * @param orgLevel3 the orgLevel3 property of the workbasket + * @param orgLevel3 the orgLevel3 property of the Workbasket */ void setOrgLevel3(String orgLevel3); /** * Sets the value for orgLevel4 attribute. * - * @param orgLevel4 the orgLevel4 property of the workbasket + * @param orgLevel4 the orgLevel4 of the Workbasket */ void setOrgLevel4(String orgLevel4); /** - * Return the value for the markedForDeletion attribute. + * Checks if the Workbasket is marked for deletion. * - * @return markedForDeletion + * @return the markedForDeletion flag */ boolean isMarkedForDeletion(); /** - * Sets the value for markedForDeletion attribute. + * Sets the value for markedForDeletion flag. * - * @param markedForDeletion the markedForDeletion property of the workbasket + * @param markedForDeletion the markedForDeletion flag of the Workbasket */ void setMarkedForDeletion(boolean markedForDeletion); /** - * Duplicates this Workbasket without the id. + * Duplicates the Workbasket without the id. * * @param key for the new Workbasket * @return a copy of this Workbasket @@ -97,30 +97,30 @@ public interface Workbasket extends WorkbasketSummary { Workbasket copy(String key); /** - * Sets the owner-ID of the workbasket. + * Sets the owner of the Workbasket. * - * @param owner of the current workbasket + * @param owner the id of the owner of the current Workbasket */ void setOwner(String owner); /** - * Returns the date when the workbasket was created. + * Returns the time when the Workbasket was created. * - * @return created as Instant + * @return the created Instant */ Instant getCreated(); /** - * Returns the date when the workbasket was modified the last time. + * Returns the time when the Workbasket was modified last time. * - * @return modified as Instant + * @return the modified Instant */ Instant getModified(); /** - * Return a summary of the current workbasket. + * Returns a summary of the current Workbasket. * - * @return the WorkbasketSummary object for the current work basket + * @return the {@linkplain WorkbasketSummary} object for the current Workbasket */ WorkbasketSummary asSummary(); } diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketAccessItem.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketAccessItem.java index 167c64ef8..3f9f41295 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketAccessItem.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketAccessItem.java @@ -4,69 +4,73 @@ import pro.taskana.workbasket.api.WorkbasketPermission; /** * Interface for WorkbasketAccessItem. This interface is used to control access of users to - * workbaskets. + * {@linkplain Workbasket Workbaskets}. */ public interface WorkbasketAccessItem { /** * Returns the current id of the WorkbasketAccessItem. * - * @return Id + * @return id */ String getId(); /** - * Returns the Id of the referenced workbasket. + * Returns the {@linkplain WorkbasketSummary#getId() id} of the referenced {@linkplain + * Workbasket}. * - * @return the workbasket Id + * @return {@linkplain WorkbasketSummary#getId() workbasketId} */ String getWorkbasketId(); /** - * Returns the Key of the referenced workbasket. + * Returns the {@linkplain WorkbasketSummary#getKey() key} of the referenced {@linkplain + * Workbasket}. * - * @return the workbasket Key + * @return {@linkplain WorkbasketSummary#getKey() key} */ String getWorkbasketKey(); /** - * Returns the group id or user id for which this WorkbasketAccessItem controls access + * Returns the id of the group or the user for which this WorkbasketAccessItem controls access * permissions. * - * @return access id, this is the group id or user id + * @return the accessId, this is the group id or user id */ String getAccessId(); /** * Returns the name of the group or user for which this WorkbasketAccessItem controls access - * permissions. + * {@linkplain WorkbasketPermission permissions}. * - * @return access name, this is the name of the group or user + * @return the accessName, this is the name of the group or user */ String getAccessName(); /** * Set the name of the group or user for which this WorkbasketAccessItem controls access - * permissions. + * {@linkplain WorkbasketPermission permissions}. * * @param name the name of the group or user for which this WorkbasketAccessItem controls access - * permissions. + * {@linkplain WorkbasketPermission permissions} */ void setAccessName(String name); /** - * Sets a given permission for the referenced workbasket. + * Sets a given {@linkplain WorkbasketPermission permissions} for the referenced {@link + * Workbasket}. * - * @param permission the permission which is set. - * @param value the value for the permission. + * @param permission the {@linkplain WorkbasketPermission permissions} which is set + * @param value the value for the {@linkplain WorkbasketPermission permissions} */ void setPermission(WorkbasketPermission permission, boolean value); /** - * Returns weather the given permission is permitted or not. + * Returns whether the given {@linkplain WorkbasketPermission permissions} is permitted or not. * - * @param permission the permission in question. - * @return True, when the given permission is permitted. Otherwise false. + * @param permission the {@linkplain WorkbasketPermission permissions} in question + * @return True, if the given {@linkplain WorkbasketPermission permissions} is permitted; + * otherwise false */ boolean getPermission(WorkbasketPermission permission); diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketSummary.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketSummary.java index c0ed39413..5601628d4 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketSummary.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/api/models/WorkbasketSummary.java @@ -10,103 +10,107 @@ import pro.taskana.workbasket.api.WorkbasketType; public interface WorkbasketSummary { /** - * Gets the id of the workbasket. + * Returns the id of the {@linkplain Workbasket}. * - * @return workbasketId + * @return id */ String getId(); /** - * Gets the key of the workbasket. + * Returns the key of the {@linkplain Workbasket}. * - * @return workbasketKey + * @return key */ String getKey(); /** - * Gets the name of the workbasket. + * Returns the name of the {@linkplain Workbasket}. * - * @return workbasket's name + * @return name */ String getName(); /** - * Gets the description of the workbasket. + * Returns the description of the {@linkplain Workbasket}. * - * @return workbasket's description + * @return description */ String getDescription(); /** - * Gets the owner of the workbasket. + * Returns the owner of the {@linkplain Workbasket}. * - * @return workbasket's owner + * @return owner */ String getOwner(); /** - * Gets the domain of the workbasket. + * Returns the domain of the {@linkplain Workbasket}. * - * @return workbasket's domain + * @return domain */ String getDomain(); /** - * Gets the type of the workbasket. + * Returns the type of the {@linkplain Workbasket}. * - * @return workbasket's type + * @return type */ WorkbasketType getType(); /** - * Gets the custom attribute of the workbasket. + * Returns the value of the specified {@linkplain WorkbasketCustomField} of the {@linkplain + * Workbasket}. * - * @param customField identifies which custom attribute is requested. - * @return the value for the given customField - * @deprecated Use {@link #getCustomField(WorkbasketCustomField)} instead + * @param customField identifies which {@linkplain WorkbasketCustomField} is requested + * @return the value for the given {@linkplain WorkbasketCustomField} + * @deprecated Use {@linkplain #getCustomField(WorkbasketCustomField)} instead */ String getCustomAttribute(WorkbasketCustomField customField); /** - * Gets the custom attribute of the workbasket. + * Returns the value of the specified {@linkplain WorkbasketCustomField} of the {@linkplain + * Workbasket}. * - * @param customField identifies which custom attribute is requested. - * @return the value for the given customField + * @param customField identifies which the value of the specified {@linkplain + * WorkbasketCustomField} of the {@linkplain Workbasket} is requested + * @return the value for the given the value of the specified {@linkplain WorkbasketCustomField} + * of the {@linkplain Workbasket} */ String getCustomField(WorkbasketCustomField customField); /** - * Gets the orglevel1 property of the workbasket. + * Returns the orglevel1 of the {@linkplain Workbasket}. * - * @return the workbasket's orglevel1 property + * @return orglevel1 */ String getOrgLevel1(); /** - * Gets the orglevel2 property of the workbasket. + * Returns the orglevel2 of the {@linkplain Workbasket}. * - * @return the workbasket's orglevel2 property + * @return orglevel2 */ String getOrgLevel2(); /** - * Gets the orglevel3 property of the workbasket. + * Returns the orglevel3 of the {@linkplain Workbasket}. * - * @return the workbasket's orglevel3 property + * @return orglevel3 */ String getOrgLevel3(); /** - * Gets the orglevel4 property of the workbasket. + * Returns the orglevel4 of the {@linkplain Workbasket}. * - * @return the workbasket's orglevel4 property + * @return orglevel4 */ String getOrgLevel4(); /** - * Gets the markedForDeletion property of the workbasket. + * Checks if the {@linkplain Workbasket} is marked for deletion. * - * @return the workbasket's markedForDeletion property + * @return the markedForDeletion flag */ boolean isMarkedForDeletion(); diff --git a/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java index e1ede5675..a07a06297 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/workbasket/internal/WorkbasketServiceImpl.java @@ -946,7 +946,8 @@ public class WorkbasketServiceImpl implements WorkbasketService { * * @param oldWorkbasket the old workbasket in the system * @param workbasketImplToUpdate the workbasket to update - * @throws ConcurrencyException if the workbasket has been modified by some other process. + * @throws ConcurrencyException if the workbasket has been modified by some other process; that's + * the case if the given modified timestamp differs from the one in the database */ public void checkModifiedHasNotChanged( Workbasket oldWorkbasket, WorkbasketImpl workbasketImplToUpdate) throws ConcurrencyException { diff --git a/lib/taskana-core/src/test/java/acceptance/report/ProvideTimestampReportAccTest.java b/lib/taskana-core/src/test/java/acceptance/report/ProvideTimestampReportAccTest.java index 77d50d45d..a330789cd 100644 --- a/lib/taskana-core/src/test/java/acceptance/report/ProvideTimestampReportAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/report/ProvideTimestampReportAccTest.java @@ -20,7 +20,7 @@ import pro.taskana.monitor.api.reports.item.TimestampQueryItem; import pro.taskana.monitor.api.reports.row.SingleRow; import pro.taskana.monitor.api.reports.row.TimestampRow; -/** Test class for {@link TimestampReport}. */ +/** Test class for {@linkplain TimestampReport}. */ @ExtendWith(JaasExtension.class) class ProvideTimestampReportAccTest extends AbstractReportAccTest { diff --git a/lib/taskana-core/src/test/java/acceptance/report/ReportTest.java b/lib/taskana-core/src/test/java/acceptance/report/ReportTest.java index c3b332d6b..58ceae633 100644 --- a/lib/taskana-core/src/test/java/acceptance/report/ReportTest.java +++ b/lib/taskana-core/src/test/java/acceptance/report/ReportTest.java @@ -18,7 +18,7 @@ import pro.taskana.monitor.api.reports.row.FoldableRow; import pro.taskana.monitor.api.reports.row.Row; import pro.taskana.monitor.api.reports.row.SingleRow; -/** Tests for {@link Report}. */ +/** Tests for {@linkplain Report}. */ class ReportTest { private static final List HEADERS = diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationQueryFilterParameter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationQueryFilterParameter.java index 789ca30ac..1a0d249dc 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationQueryFilterParameter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationQueryFilterParameter.java @@ -15,31 +15,31 @@ import pro.taskana.common.rest.QueryParameter; public class ClassificationQueryFilterParameter implements QueryParameter { - /** Filter by the name of the classification. This is an exact match. */ + /** Filter by the name of the Classification. This is an exact match. */ @JsonProperty("name") private final String[] name; /** - * Filter by the name of the classification. This results in a substring search. (% is appended to + * Filter by the name of the Classification. This results in a substring search. (% is appended to * the beginning and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("name-like") private final String[] nameLike; - /** Filter by the key of the classification. This is an exact match. */ + /** Filter by the key of the Classification. This is an exact match. */ @JsonProperty("key") private final String[] key; - /** Filter by the category of the classification. This is an exact match. */ + /** Filter by the category of the Classification. This is an exact match. */ @JsonProperty("category") private final String[] category; - /** Filter by the domain of the classification. This is an exact match. */ + /** Filter by the domain of the Classification. This is an exact match. */ @JsonProperty("domain") private final String[] domain; - /** Filter by the type of the classification. This is an exact match. */ + /** Filter by the type of the Classification. This is an exact match. */ @JsonProperty("type") private final String[] type; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/ReportFilterParameter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/ReportFilterParameter.java index d736b0e6b..cdb60f625 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/ReportFilterParameter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/ReportFilterParameter.java @@ -7,11 +7,11 @@ import pro.taskana.task.api.TaskState; public class ReportFilterParameter { - /** Determine weather the report should convert the age of the tasks into working days. */ + /** Determine weather the report should convert the age of the Tasks into working days. */ @JsonProperty("in-working-days") protected final Boolean inWorkingDays; - /** Filter by workbasket id of the task. This is an exact match. */ + /** Filter by workbasket id of the Task. This is an exact match. */ @JsonProperty("workbasket-id") protected final String[] workbasketId; @@ -19,275 +19,275 @@ public class ReportFilterParameter { @JsonProperty("state") protected final TaskState[] state; - /** Filter by the classification category of the task. This is an exact match. */ + /** Filter by the classification category of the Task. This is an exact match. */ @JsonProperty("classification-category") protected final String[] classificationCategory; - /** Filter by domain of the task. This is an exact match. */ + /** Filter by domain of the Task. This is an exact match. */ @JsonProperty("domain") protected final String[] domain; - /** Filter by the classification id of the task. This is an exact match. */ + /** Filter by the classification id of the Task. This is an exact match. */ @JsonProperty("classification-id") protected final String[] classificationId; - /** Filter by the classification id of the task. This is an exact match. */ + /** Filter by the classification id of the Task. This is an exact match. */ @JsonProperty("excluded-classification-id") protected final String[] excludedClassificationId; - /** Filter by the value of the field custom1 of the task. This is an exact match. */ + /** Filter by the value of the field custom1 of the Task. This is an exact match. */ @JsonProperty("custom-1") protected final String[] custom1; /** - * Filter by the custom1 field of the task. This results in a substring search (% is appended to + * Filter by the custom1 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-1-like") protected final String[] custom1Like; - /** Filter out by values of the field custom1 of the task. This is an exact match. */ + /** Filter out by values of the field custom1 of the Task. This is an exact match. */ @JsonProperty("custom-1-not-in") protected final String[] custom1NotIn; - /** Filter by the value of the field custom2 of the task. This is an exact match. */ + /** Filter by the value of the field custom2 of the Task. This is an exact match. */ @JsonProperty("custom-2") protected final String[] custom2; /** - * Filter by the custom2 field of the task. This results in a substring search (% is appended to + * Filter by the custom2 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-2-like") protected final String[] custom2Like; - /** Filter out by values of the field custom2 of the task. This is an exact match. */ + /** Filter out by values of the field custom2 of the Task. This is an exact match. */ @JsonProperty("custom-2-not-in") protected final String[] custom2NotIn; - /** Filter by the value of the field custom3 of the task. This is an exact match. */ + /** Filter by the value of the field custom3 of the Task. This is an exact match. */ @JsonProperty("custom-3") protected final String[] custom3; /** - * Filter by the custom3 field of the task. This results in a substring search (% is appended to + * Filter by the custom3 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-3-like") protected final String[] custom3Like; - /** Filter out by values of the field custom3 of the task. This is an exact match. */ + /** Filter out by values of the field custom3 of the Task. This is an exact match. */ @JsonProperty("custom-3-not-in") protected final String[] custom3NotIn; - /** Filter by the value of the field custom4 of the task. This is an exact match. */ + /** Filter by the value of the field custom4 of the Task. This is an exact match. */ @JsonProperty("custom-4") protected final String[] custom4; /** - * Filter by the custom4 field of the task. This results in a substring search (% is appended to + * Filter by the custom4 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-4-like") protected final String[] custom4Like; - /** Filter out by values of the field custom4 of the task. This is an exact match. */ + /** Filter out by values of the field custom4 of the Task. This is an exact match. */ @JsonProperty("custom-4-not-in") protected final String[] custom4NotIn; - /** Filter by the value of the field custom5 of the task. This is an exact match. */ + /** Filter by the value of the field custom5 of the Task. This is an exact match. */ @JsonProperty("custom-5") protected final String[] custom5; /** - * Filter by the custom5 field of the task. This results in a substring search (% is appended to + * Filter by the custom5 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-5-like") protected final String[] custom5Like; - /** Filter out by values of the field custom5 of the task. This is an exact match. */ + /** Filter out by values of the field custom5 of the Task. This is an exact match. */ @JsonProperty("custom-5-not-in") protected final String[] custom5NotIn; - /** Filter by the value of the field custom6 of the task. This is an exact match. */ + /** Filter by the value of the field custom6 of the Task. This is an exact match. */ @JsonProperty("custom-6") protected final String[] custom6; /** - * Filter by the custom6 field of the task. This results in a substring search (% is appended to + * Filter by the custom6 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-6-like") protected final String[] custom6Like; - /** Filter out by values of the field custom6 of the task. This is an exact match. */ + /** Filter out by values of the field custom6 of the Task. This is an exact match. */ @JsonProperty("custom-6-not-in") protected final String[] custom6NotIn; - /** Filter by the value of the field custom7 of the task. This is an exact match. */ + /** Filter by the value of the field custom7 of the Task. This is an exact match. */ @JsonProperty("custom-7") protected final String[] custom7; /** - * Filter by the custom7 field of the task. This results in a substring search (% is appended to + * Filter by the custom7 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-7-like") protected final String[] custom7Like; - /** Filter out by values of the field custom7 of the task. This is an exact match. */ + /** Filter out by values of the field custom7 of the Task. This is an exact match. */ @JsonProperty("custom-7-not-in") protected final String[] custom7NotIn; - /** Filter by the value of the field custom8 of the task. This is an exact match. */ + /** Filter by the value of the field custom8 of the Task. This is an exact match. */ @JsonProperty("custom-8") protected final String[] custom8; /** - * Filter by the custom8 field of the task. This results in a substring search (% is appended to + * Filter by the custom8 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-8-like") protected final String[] custom8Like; - /** Filter out by values of the field custom8 of the task. This is an exact match. */ + /** Filter out by values of the field custom8 of the Task. This is an exact match. */ @JsonProperty("custom-8-not-in") protected final String[] custom8NotIn; - /** Filter by the value of the field custom9 of the task. This is an exact match. */ + /** Filter by the value of the field custom9 of the Task. This is an exact match. */ @JsonProperty("custom-9") protected final String[] custom9; /** - * Filter by the custom9 field of the task. This results in a substring search (% is appended to + * Filter by the custom9 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-9-like") protected final String[] custom9Like; - /** Filter out by values of the field custom9 of the task. This is an exact match. */ + /** Filter out by values of the field custom9 of the Task. This is an exact match. */ @JsonProperty("custom-9-not-in") protected final String[] custom9NotIn; - /** Filter by the value of the field custom10 of the task. This is an exact match. */ + /** Filter by the value of the field custom10 of the Task. This is an exact match. */ @JsonProperty("custom-10") protected final String[] custom10; /** - * Filter by the custom10 field of the task. This results in a substring search (% is appended to + * Filter by the custom10 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-10-like") protected final String[] custom10Like; - /** Filter out by values of the field custom10 of the task. This is an exact match. */ + /** Filter out by values of the field custom10 of the Task. This is an exact match. */ @JsonProperty("custom-10-not-in") protected final String[] custom10NotIn; - /** Filter by the value of the field custom11 of the task. This is an exact match. */ + /** Filter by the value of the field custom11 of the Task. This is an exact match. */ @JsonProperty("custom-11") protected final String[] custom11; /** - * Filter by the custom11 field of the task. This results in a substring search (% is appended to + * Filter by the custom11 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-11-like") protected final String[] custom11Like; - /** Filter out by values of the field custom11 of the task. This is an exact match. */ + /** Filter out by values of the field custom11 of the Task. This is an exact match. */ @JsonProperty("custom-11-not-in") protected final String[] custom11NotIn; - /** Filter by the value of the field custom12 of the task. This is an exact match. */ + /** Filter by the value of the field custom12 of the Task. This is an exact match. */ @JsonProperty("custom-12") protected final String[] custom12; /** - * Filter by the custom12 field of the task. This results in a substring search (% is appended to + * Filter by the custom12 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-12-like") protected final String[] custom12Like; - /** Filter out by values of the field custom12 of the task. This is an exact match. */ + /** Filter out by values of the field custom12 of the Task. This is an exact match. */ @JsonProperty("custom-12-not-in") protected final String[] custom12NotIn; - /** Filter by the value of the field custom13 of the task. This is an exact match. */ + /** Filter by the value of the field custom13 of the Task. This is an exact match. */ @JsonProperty("custom-13") protected final String[] custom13; /** - * Filter by the custom13 field of the task. This results in a substring search (% is appended to + * Filter by the custom13 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-13-like") protected final String[] custom13Like; - /** Filter out by values of the field custom13 of the task. This is an exact match. */ + /** Filter out by values of the field custom13 of the Task. This is an exact match. */ @JsonProperty("custom-13-not-in") protected final String[] custom13NotIn; - /** Filter by the value of the field custom14 of the task. This is an exact match. */ + /** Filter by the value of the field custom14 of the Task. This is an exact match. */ @JsonProperty("custom-14") protected final String[] custom14; /** - * Filter by the custom14 field of the task. This results in a substring search (% is appended to + * Filter by the custom14 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-14-like") protected final String[] custom14Like; - /** Filter out by values of the field custom14 of the task. This is an exact match. */ + /** Filter out by values of the field custom14 of the Task. This is an exact match. */ @JsonProperty("custom-14-not-in") protected final String[] custom14NotIn; - /** Filter by the value of the field custom15 of the task. This is an exact match. */ + /** Filter by the value of the field custom15 of the Task. This is an exact match. */ @JsonProperty("custom-15") protected final String[] custom15; /** - * Filter by the custom15 field of the task. This results in a substring search (% is appended to + * Filter by the custom15 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-15-like") protected final String[] custom15Like; - /** Filter out by values of the field custom15 of the task. This is an exact match. */ + /** Filter out by values of the field custom15 of the Task. This is an exact match. */ @JsonProperty("custom-15-not-in") protected final String[] custom15NotIn; - /** Filter by the value of the field custom16 of the task. This is an exact match. */ + /** Filter by the value of the field custom16 of the Task. This is an exact match. */ @JsonProperty("custom-16") protected final String[] custom16; /** - * Filter by the custom16 field of the task. This results in a substring search (% is appended to + * Filter by the custom16 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("custom-16-like") protected final String[] custom16Like; - /** Filter out by values of the field custom16 of the task. This is an exact match. */ + /** Filter out by values of the field custom16 of the Task. This is an exact match. */ @JsonProperty("custom-16-not-in") protected final String[] custom16NotIn; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskQueryFilterParameter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskQueryFilterParameter.java index bf0d3e39c..01f00f58a 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskQueryFilterParameter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskQueryFilterParameter.java @@ -49,17 +49,17 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] taskIdNotIn; // endregion // region externalId - /** Filter by the external id of the task. This is an exact match. */ + /** Filter by the external id of the Task. This is an exact match. */ @JsonProperty("external-id") private final String[] externalIdIn; - /** Filter by what the external id of the task shouldn't be. This is an exact match. */ + /** Filter by what the external id of the Task shouldn't be. This is an exact match. */ @JsonProperty("external-id-not") private final String[] externalIdNotIn; // endregion // region received /** - * Filter by a time interval within which the task was received. To create an open interval you + * Filter by a time interval within which the Task was received. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -90,7 +90,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant receivedUntil; /** - * Filter by a time interval within which the task wasn't received. To create an open interval you + * Filter by a time interval within which the Task wasn't received. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -123,7 +123,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region created /** - * Filter by a time interval within which the task was created. To create an open interval you can + * Filter by a time interval within which the Task was created. To create an open interval you can * just leave it blank. * *

The format is ISO-8601. @@ -154,7 +154,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant createdUntil; /** - * Filter by a time interval within which the task wasn't created. To create an open interval you + * Filter by a time interval within which the Task wasn't created. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -186,7 +186,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region claimed /** - * Filter by a time interval within which the task was claimed. To create an open interval you can + * Filter by a time interval within which the Task was claimed. To create an open interval you can * just leave it blank. * *

The format is ISO-8601. @@ -195,7 +195,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant[] claimedWithin; /** - * Filter by a time interval within which the task wasn't claimed. To create an open interval you + * Filter by a time interval within which the Task wasn't claimed. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -205,7 +205,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region modified /** - * Filter by a time interval within which the task was modified. To create an open interval you + * Filter by a time interval within which the Task was modified. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -214,7 +214,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant[] modifiedWithin; /** - * Filter by a time interval within which the task wasn't modified. To create an open interval you + * Filter by a time interval within which the Task wasn't modified. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -224,7 +224,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region planned /** - * Filter by a time interval within which the task was planned. To create an open interval you can + * Filter by a time interval within which the Task was planned. To create an open interval you can * just leave it blank. * *

The format is ISO-8601. @@ -255,7 +255,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant plannedUntil; /** - * Filter by a time interval within which the task was planned. To create an open interval you can + * Filter by a time interval within which the Task was planned. To create an open interval you can * just leave it blank. * *

The format is ISO-8601. @@ -287,7 +287,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region due /** - * Filter by a time interval within which the task was due. To create an open interval you can + * Filter by a time interval within which the Task was due. To create an open interval you can * just leave it blank. * *

The format is ISO-8601. @@ -318,7 +318,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant dueUntil; /** - * Filter by a time interval within which the task wasn't due. To create an open interval you can + * Filter by a time interval within which the Task wasn't due. To create an open interval you can * just leave it blank. * *

The format is ISO-8601. @@ -350,7 +350,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region completed /** - * Filter by a time interval within which the task was completed. To create an open interval you + * Filter by a time interval within which the Task was completed. To create an open interval you * can just leave it blank. * *

The format is ISO-8601. @@ -381,7 +381,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant completedUntil; /** - * Filter by a time interval within which the task wasn't completed. To create an open interval + * Filter by a time interval within which the Task wasn't completed. To create an open interval * you can just leave it blank. * *

The format is ISO-8601. @@ -413,16 +413,16 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant completedUntilNot; // endregion // region name - /** Filter by the name of the task. This is an exact match. */ + /** Filter by the name of the Task. This is an exact match. */ @JsonProperty("name") private final String[] nameIn; - /** Filter by what the name of the task shouldn't be. This is an exact match. */ + /** Filter by what the name of the Task shouldn't be. This is an exact match. */ @JsonProperty("name-not") private final String[] nameNotIn; /** - * Filter by the name of the task. This results in a substring search (% is appended to the front + * Filter by the name of the Task. This results in a substring search (% is appended to the front * and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved * correctly. */ @@ -430,7 +430,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] nameLike; /** - * Filter by what the name of the task shouldn't be. This results in a substring search (% is + * Filter by what the name of the Task shouldn't be. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -438,16 +438,16 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] nameNotLike; // endregion // region creator - /** Filter by creator of the task. This is an exact match. */ + /** Filter by creator of the Task. This is an exact match. */ @JsonProperty("creator") private final String[] creatorIn; - /** Filter by what the creator of the task shouldn't be. This is an exact match. */ + /** Filter by what the creator of the Task shouldn't be. This is an exact match. */ @JsonProperty("creator-not") private final String[] creatorNotIn; /** - * Filter by the creator of the task. This results in a substring search (% is appended to the + * Filter by the creator of the Task. This results in a substring search (% is appended to the * front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved * correctly. */ @@ -455,7 +455,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] creatorLike; /** - * Filter by what the creator of the task shouldn't be. This results in a substring search (% is + * Filter by what the creator of the Task shouldn't be. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -464,7 +464,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region note /** - * Filter by the note of the task. This results in a substring search (% is appended to the front + * Filter by the note of the Task. This results in a substring search (% is appended to the front * and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved * correctly. */ @@ -472,7 +472,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] noteLike; /** - * Filter by what the note of the task shouldn't be. This results in a substring search (% is + * Filter by what the note of the Task shouldn't be. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -481,7 +481,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region description /** - * Filter by the description of the task. This results in a substring search (% is appended to the + * Filter by the description of the Task. This results in a substring search (% is appended to the * front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved * correctly. */ @@ -489,7 +489,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] descriptionLike; /** - * Filter by what the description of the task shouldn't be. This results in a substring search (% + * Filter by what the description of the Task shouldn't be. This results in a substring search (% * is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -497,43 +497,43 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] descriptionNotLike; // endregion // region priority - /** Filter by the priority of the task. This is an exact match. */ + /** Filter by the priority of the Task. This is an exact match. */ @JsonProperty("priority") private final int[] priorityIn; - /** Filter by what the priority of the task shouldn't be. This is an exact match. */ + /** Filter by what the priority of the Task shouldn't be. This is an exact match. */ @JsonProperty("priority-not") private final int[] priorityNotIn; // endregion // region state - /** Filter by the task state. This is an exact match. */ + /** Filter by the Task state. This is an exact match. */ @JsonProperty("state") private final TaskState[] stateIn; - /** Filter by what the task state shouldn't be. This is an exact match. */ + /** Filter by what the Task state shouldn't be. This is an exact match. */ @JsonProperty("state-not") private final TaskState[] stateNotIn; // endregion // region classificationId - /** Filter by the classification id of the task. This is an exact match. */ + /** Filter by the classification id of the Task. This is an exact match. */ @JsonProperty("classification-id") private final String[] classificationIdIn; - /** Filter by what the classification id of the task shouldn't be. This is an exact match. */ + /** Filter by what the classification id of the Task shouldn't be. This is an exact match. */ @JsonProperty("classification-id-not") private final String[] classificationIdNotIn; // endregion // region classificationKey - /** Filter by the classification key of the task. This is an exact match. */ + /** Filter by the classification key of the Task. This is an exact match. */ @JsonProperty("classification-key") private final String[] classificationKeyIn; - /** Filter by the classification key of the task. This is an exact match. */ + /** Filter by the classification key of the Task. This is an exact match. */ @JsonProperty("classification-key-not") private final String[] classificationKeyNotIn; /** - * Filter by the classification key of the task. This results in a substring search (% is appended + * Filter by the classification key of the Task. This results in a substring search (% is appended * to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -541,7 +541,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] classificationKeyLike; /** - * Filter by what the classification key of the task shouldn't be. This results in a substring + * Filter by what the classification key of the Task shouldn't be. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -549,18 +549,18 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] classificationKeyNotLike; // endregion // region classificationCategory - /** Filter by the classification category of the task. This is an exact match. */ + /** Filter by the classification category of the Task. This is an exact match. */ @JsonProperty("classification-category") private final String[] classificationCategoryIn; /** - * Filter by what the classification category of the task shouldn't be. This is an exact match. + * Filter by what the classification category of the Task shouldn't be. This is an exact match. */ @JsonProperty("classification-category-not") private final String[] classificationCategoryNotIn; /** - * Filter by the classification category of the task. This results in a substring search (% is + * Filter by the classification category of the Task. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -568,7 +568,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] classificationCategoryLike; /** - * Filter by what the classification category of the task shouldn't be. This results in a + * Filter by what the classification category of the Task shouldn't be. This results in a * substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -576,16 +576,16 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] classificationCategoryNotLike; // endregion // region classificationName - /** Filter by the classification name of the task. This is an exact match. */ + /** Filter by the classification name of the Task. This is an exact match. */ @JsonProperty("classification-name") private final String[] classificationNameIn; - /** Filter by what the classification name of the task shouldn't be. This is an exact match. */ + /** Filter by what the classification name of the Task shouldn't be. This is an exact match. */ @JsonProperty("classification-name-not") private final String[] classificationNameNotIn; /** - * Filter by the classification name of the task. This results in a substring search (% is + * Filter by the classification name of the Task. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -593,7 +593,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] classificationNameLike; /** - * Filter by what the classification name of the task shouldn't be. This results in a substring + * Filter by what the classification name of the Task shouldn't be. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -601,44 +601,44 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] classificationNameNotLike; // endregion // region workbasketId - /** Filter by workbasket id of the task. This is an exact match. */ + /** Filter by workbasket id of the Task. This is an exact match. */ @JsonProperty("workbasket-id") private final String[] workbasketIdIn; - /** Filter by what the workbasket id of the task shouldn't be. This is an exact match. */ + /** Filter by what the workbasket id of the Task shouldn't be. This is an exact match. */ @JsonProperty("workbasket-id-not") private final String[] workbasketIdNotIn; // endregion // region workbasketKeyDomain /** - * Filter by workbasket keys of the task. This parameter can only be used in combination with + * Filter by workbasket keys of the Task. This parameter can only be used in combination with * 'domain' */ @JsonProperty("workbasket-key") private final String[] workbasketKeyIn; /** - * Filter by what the workbasket keys of the task aren't. This parameter can only be used in + * Filter by what the workbasket keys of the Task aren't. This parameter can only be used in * combination with 'domain' */ @JsonProperty("workbasket-key-not") private final String[] workbasketKeyNotIn; - /** Filter by domain of the task. This is an exact match. */ + /** Filter by domain of the Task. This is an exact match. */ @JsonProperty("domain") private final String domain; // endregion // region businessProcessId - /** Filter by the business process id of the task. This is an exact match. */ + /** Filter by the business process id of the Task. This is an exact match. */ @JsonProperty("business-process-id") private final String[] businessProcessIdIn; - /** Filter by what the business process id of the task shouldn't be. This is an exact match. */ + /** Filter by what the business process id of the Task shouldn't be. This is an exact match. */ @JsonProperty("business-process-id-not") private final String[] businessProcessIdNot; /** - * Filter by the business process id of the task. This results in a substring search (% is + * Filter by the business process id of the Task. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -646,7 +646,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] businessProcessIdLike; /** - * Filter by the business process id of the task shouldn't be. This results in a substring search + * Filter by the business process id of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -655,18 +655,18 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region parentBusinessProcessId - /** Filter by the parent business process id of the task. This is an exact match. */ + /** Filter by the parent business process id of the Task. This is an exact match. */ @JsonProperty("parent-business-process-id") private final String[] parentBusinessProcessIdIn; /** - * Filter by what the parent business process id of the task shouldn't be. This is an exact match. + * Filter by what the parent business process id of the Task shouldn't be. This is an exact match. */ @JsonProperty("parent-business-process-id-not") private final String[] parentBusinessProcessIdNotIn; /** - * Filter by the parent business process id of the task. This results in a substring search (% is + * Filter by the parent business process id of the Task. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -674,7 +674,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] parentBusinessProcessIdLike; /** - * Filter by the parent business process id of the task shouldn't be. This results in a substring + * Filter by the parent business process id of the Task shouldn't be. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -683,16 +683,16 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region owner - /** Filter by owner of the task. This is an exact match. */ + /** Filter by owner of the Task. This is an exact match. */ @JsonProperty("owner") private final String[] ownerIn; - /** Filter by what the owner of the task shouldn't be. This is an exact match. */ + /** Filter by what the owner of the Task shouldn't be. This is an exact match. */ @JsonProperty("owner-not") private final String[] ownerNotIn; /** - * Filter by the owner of the task. This results in a substring search (% is appended to the front + * Filter by the owner of the Task. This results in a substring search (% is appended to the front * and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved * correctly. */ @@ -700,7 +700,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] ownerLike; /** - * Filter by what the owner of the task shouldn't be. This results in a substring search (% is + * Filter by what the owner of the Task shouldn't be. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -709,7 +709,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region primaryObjectReference /** - * Filter by the primary object reference of the task. This is an exact match. "por" is a + * Filter by the primary object reference of the Task. This is an exact match. "por" is a * parameter of complex type. Its following attributes from por[].id to por[].value can be * specified according to the description of complex parameters in the overview, e.g. * por={"value":"exampleValue"} @@ -718,19 +718,19 @@ public class TaskQueryFilterParameter implements QueryParameter private final ObjectReference[] primaryObjectReferenceIn; // endregion // region primaryObjectReferenceCompany - /** Filter by the company of the primary object reference of the task. This is an exact match. */ + /** Filter by the company of the primary object reference of the Task. This is an exact match. */ @JsonProperty("por-company") private final String[] porCompanyIn; /** - * Filter by what the company of the primary object reference of the task shouldn't be. This is an + * Filter by what the company of the primary object reference of the Task shouldn't be. This is an * exact match. */ @JsonProperty("por-company-not") private final String[] porCompanyNotIn; /** - * Filter by the company of the primary object reference of the task. This results in a substring + * Filter by the company of the primary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -738,7 +738,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porCompanyLike; /** - * Filter by what the company of the primary object reference of the task shouldn't be. This + * Filter by what the company of the primary object reference of the Task shouldn't be. This * results in a substring search (% is appended to the front and end of the requested value). * Further SQL "LIKE" wildcard characters will be resolved correctly. */ @@ -746,19 +746,19 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porCompanyNotLike; // endregion // region primaryObjectReferenceSystem - /** Filter by the system of the primary object reference of the task. This is an exact match. */ + /** Filter by the system of the primary object reference of the Task. This is an exact match. */ @JsonProperty("por-system") private final String[] porSystemIn; /** - * Filter by what the system of the primary object reference of the task shouldn't be. This is an + * Filter by what the system of the primary object reference of the Task shouldn't be. This is an * exact match. */ @JsonProperty("por-system-not") private final String[] porSystemNotIn; /** - * Filter by the system of the primary object reference of the task. This results in a substring + * Filter by the system of the primary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -766,7 +766,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porSystemLike; /** - * Filter by what the system of the primary object reference of the task shouldn't be. This + * Filter by what the system of the primary object reference of the Task shouldn't be. This * results in a substring search (% is appended to the front and end of the requested value). * Further SQL "LIKE" wildcard characters will be resolved correctly. */ @@ -775,21 +775,21 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region primaryObjectReferenceSystemInstance /** - * Filter by the system instance of the primary object reference of the task. This is an exact + * Filter by the system instance of the primary object reference of the Task. This is an exact * match. */ @JsonProperty("por-instance") private final String[] porInstanceIn; /** - * Filter by what the system instance of the primary object reference of the task shouldn't be. + * Filter by what the system instance of the primary object reference of the Task shouldn't be. * This is an exact match. */ @JsonProperty("por-instance-not") private final String[] porInstanceNotIn; /** - * Filter by the system instance of the primary object reference of the task. This results in a + * Filter by the system instance of the primary object reference of the Task. This results in a * substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -797,7 +797,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porInstanceLike; /** - * Filter by what the system instance of the primary object reference of the task shouldn't be. + * Filter by what the system instance of the primary object reference of the Task shouldn't be. * This results in a substring search (% is appended to the front and end of the requested value). * Further SQL "LIKE" wildcard characters will be resolved correctly. */ @@ -805,19 +805,19 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porInstanceNotLike; // endregion // region primaryObjectReferenceSystemType - /** Filter by the type of the primary object reference of the task. This is an exact match. */ + /** Filter by the type of the primary object reference of the Task. This is an exact match. */ @JsonProperty("por-type") private final String[] porTypeIn; /** - * Filter by what the type of the primary object reference of the task shouldn't be. This is an + * Filter by what the type of the primary object reference of the Task shouldn't be. This is an * exact match. */ @JsonProperty("por-type-not") private final String[] porTypeNotIn; /** - * Filter by the type of the primary object reference of the task. This results in a substring + * Filter by the type of the primary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -825,7 +825,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porTypeLike; /** - * Filter by what the type of the primary object reference of the task shouldn't be. This results + * Filter by what the type of the primary object reference of the Task shouldn't be. This results * in a substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -833,19 +833,19 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porTypeNotLike; // endregion // region primaryObjectReferenceSystemValue - /** Filter by the value of the primary object reference of the task. This is an exact match. */ + /** Filter by the value of the primary object reference of the Task. This is an exact match. */ @JsonProperty("por-value") private final String[] porValueIn; /** - * Filter by what the value of the primary object reference of the task shouldn't be. This is an + * Filter by what the value of the primary object reference of the Task shouldn't be. This is an * exact match. */ @JsonProperty("por-value-not") private final String[] porValueNotIn; /** - * Filter by the value of the primary object reference of the task. This results in a substring + * Filter by the value of the primary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -853,7 +853,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] porValueLike; /** - * Filter by what the value of the primary object reference of the task shouldn't be. This results + * Filter by what the value of the primary object reference of the Task shouldn't be. This results * in a substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -862,7 +862,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region secondaryObjectReference /** - * Filter by the primary object reference of the task. This is an exact match. "sor" is a + * Filter by the primary object reference of the Task. This is an exact match. "sor" is a * parameter of complex type. Its following attributes from sor[].id to sor[].value can be * specified according to the description of complex parameters in the overview, e.g. * sor={"value":"exampleValue"} @@ -872,13 +872,13 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region secondaryObjectReferenceCompany /** - * Filter by the company of the secondary object reference of the task. This is an exact match. + * Filter by the company of the secondary object reference of the Task. This is an exact match. */ @JsonProperty("sor-company") private final String[] sorCompanyIn; /** - * Filter by the company of the secondary object references of the task. This results in a + * Filter by the company of the secondary object references of the Task. This results in a * substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -887,12 +887,12 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region secondaryObjectReferenceSystem - /** Filter by the system of the secondary object reference of the task. This is an exact match. */ + /** Filter by the system of the secondary object reference of the Task. This is an exact match. */ @JsonProperty("sor-system") private final String[] sorSystemIn; /** - * Filter by the system of the secondary object reference of the task. This results in a substring + * Filter by the system of the secondary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -902,14 +902,14 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region secondaryObjectReferenceSystemInstance /** - * Filter by the system instance of the secondary object reference of the task. This is an exact + * Filter by the system instance of the secondary object reference of the Task. This is an exact * match. */ @JsonProperty("sor-instance") private final String[] sorInstanceIn; /** - * Filter by the system instance of the secondary object reference of the task. This results in a + * Filter by the system instance of the secondary object reference of the Task. This results in a * substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -918,12 +918,12 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region secondaryObjectReferenceSystemType - /** Filter by the type of the secondary object reference of the task. This is an exact match. */ + /** Filter by the type of the secondary object reference of the Task. This is an exact match. */ @JsonProperty("sor-type") private final String[] sorTypeIn; /** - * Filter by the type of the secondary object reference of the task. This results in a substring + * Filter by the type of the secondary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -932,12 +932,12 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region primaryObjectReferenceSystemValue - /** Filter by the value of the secondary object reference of the task. This is an exact match. */ + /** Filter by the value of the secondary object reference of the Task. This is an exact match. */ @JsonProperty("sor-value") private final String[] sorValueIn; /** - * Filter by the value of the secondary object reference of the task. This results in a substring + * Filter by the value of the secondary object reference of the Task. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -946,41 +946,41 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region read - /** Filter by the is read flag of the task. This is an exact match. */ + /** Filter by the is read flag of the Task. This is an exact match. */ @JsonProperty("is-read") private final Boolean isRead; // endregion // region transferred - /** Filter by the is transferred flag of the task. This is an exact match. */ + /** Filter by the is transferred flag of the Task. This is an exact match. */ @JsonProperty("is-transferred") private final Boolean isTransferred; // endregion // region attachmentClassificationId - /** Filter by the attachment classification id of the task. This is an exact match. */ + /** Filter by the attachment classification id of the Task. This is an exact match. */ @JsonProperty("attachment-classification-id") private final String[] attachmentClassificationIdIn; /** - * Filter by what the attachment classification id of the task shouldn't be. This is an exact + * Filter by what the attachment classification id of the Task shouldn't be. This is an exact * match. */ @JsonProperty("attachment-classification-id-not") private final String[] attachmentClassificationIdNotIn; // endregion // region attachmentClassificationKey - /** Filter by the attachment classification key of the task. This is an exact match. */ + /** Filter by the attachment classification key of the Task. This is an exact match. */ @JsonProperty("attachment-classification-key") private final String[] attachmentClassificationKeyIn; /** - * Filter by what the attachment classification key of the task shouldn't be. This is an exact + * Filter by what the attachment classification key of the Task shouldn't be. This is an exact * match. */ @JsonProperty("attachment-classification-key-not") private final String[] attachmentClassificationKeyNotIn; /** - * Filter by the attachment classification key of the task. This results in a substring search (% + * Filter by the attachment classification key of the Task. This results in a substring search (% * is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -988,7 +988,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentClassificationKeyLike; /** - * Filter by what the attachment classification key of the task shouldn't be. This results in a + * Filter by what the attachment classification key of the Task shouldn't be. This results in a * substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -996,19 +996,19 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentClassificationKeyNotLike; // endregion // region attachmentClassificationName - /** Filter by the attachment classification name of the task. This is an exact match. */ + /** Filter by the attachment classification name of the Task. This is an exact match. */ @JsonProperty("attachment-classification-name") private final String[] attachmentClassificationNameIn; /** - * Filter by what the attachment classification name of the task shouldn't be. This is an exact + * Filter by what the attachment classification name of the Task shouldn't be. This is an exact * match. */ @JsonProperty("attachment-classification-name-not") private final String[] attachmentClassificationNameNotIn; /** - * Filter by the attachment classification name of the task. This results in a substring search (% + * Filter by the attachment classification name of the Task. This results in a substring search (% * is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -1016,7 +1016,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentClassificationNameLike; /** - * Filter by what the attachment classification name of the task shouldn't be. This results in a + * Filter by what the attachment classification name of the Task shouldn't be. This results in a * substring search (% is appended to the front and end of the requested value). Further SQL * "LIKE" wildcard characters will be resolved correctly. */ @@ -1024,16 +1024,16 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentClassificationNameNotLike; // endregion // region attachmentChannel - /** Filter by the attachment channel of the task. This is an exact match. */ + /** Filter by the attachment channel of the Task. This is an exact match. */ @JsonProperty("attachment-channel") private final String[] attachmentChannelIn; - /** Filter by what the attachment channel of the task shouldn't be. This is an exact match. */ + /** Filter by what the attachment channel of the Task shouldn't be. This is an exact match. */ @JsonProperty("attachment-channel-not") private final String[] attachmentChannelNotIn; /** - * Filter by the attachment channel of the task. This results in a substring search (% is appended + * Filter by the attachment channel of the Task. This results in a substring search (% is appended * to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1041,7 +1041,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentChannelLike; /** - * Filter by what the attachment channel of the task shouldn't be. This results in a substring + * Filter by what the attachment channel of the Task shouldn't be. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -1049,16 +1049,16 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentChannelNotLike; // endregion // region attachmentReferenceValue - /** Filter by the attachment reference of the task. This is an exact match. */ + /** Filter by the attachment reference of the Task. This is an exact match. */ @JsonProperty("attachment-reference") private final String[] attachmentReferenceIn; - /** Filter by what the attachment reference of the task shouldn't be. This is an exact match. */ + /** Filter by what the attachment reference of the Task shouldn't be. This is an exact match. */ @JsonProperty("attachment-reference-not") private final String[] attachmentReferenceNotIn; /** - * Filter by the attachment reference of the task. This results in a substring search (% is + * Filter by the attachment reference of the Task. This results in a substring search (% is * appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters * will be resolved correctly. */ @@ -1066,7 +1066,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] attachmentReferenceLike; /** - * Filter by what the attachment reference of the task shouldn't be. This results in a substring + * Filter by what the attachment reference of the Task shouldn't be. This results in a substring * search (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -1075,7 +1075,7 @@ public class TaskQueryFilterParameter implements QueryParameter // endregion // region attachmentReceived /** - * Filter by a time interval within which the attachment of the task was received. To create an + * Filter by a time interval within which the attachment of the Task was received. To create an * open interval you can just leave it blank. * *

The format is ISO-8601. @@ -1084,7 +1084,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant[] attachmentReceivedWithin; /** - * Filter by a time interval within which the attachment of the task wasn't received. To create an + * Filter by a time interval within which the attachment of the Task wasn't received. To create an * open interval you can just leave it blank. * *

The format is ISO-8601. @@ -1093,16 +1093,16 @@ public class TaskQueryFilterParameter implements QueryParameter private final Instant[] attachmentReceivedNotWithin; // endregion // region customAttributes - /** Filter by the value of the field custom1 of the task. This is an exact match. */ + /** Filter by the value of the field custom1 of the Task. This is an exact match. */ @JsonProperty("custom-1") private final String[] custom1In; - /** Exclude values of the field custom1 of the task. */ + /** Exclude values of the field custom1 of the Task. */ @JsonProperty("custom-1-not") private final String[] custom1NotIn; /** - * Filter by the custom1 field of the task. This results in a substring search (% is appended to + * Filter by the custom1 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1110,23 +1110,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom1Like; /** - * Filter by what the custom1 field of the task shouldn't be. This results in a substring search + * Filter by what the custom1 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-1-not-like") private final String[] custom1NotLike; - /** Filter by the value of the field custom2 of the task. This is an exact match. */ + /** Filter by the value of the field custom2 of the Task. This is an exact match. */ @JsonProperty("custom-2") private final String[] custom2In; - /** Filter out by values of the field custom2 of the task. This is an exact match. */ + /** Filter out by values of the field custom2 of the Task. This is an exact match. */ @JsonProperty("custom-2-not") private final String[] custom2NotIn; /** - * Filter by the custom2 field of the task. This results in a substring search (% is appended to + * Filter by the custom2 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1134,23 +1134,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom2Like; /** - * Filter by what the custom2 field of the task shouldn't be. This results in a substring search + * Filter by what the custom2 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-2-not-like") private final String[] custom2NotLike; - /** Filter by the value of the field custom3 of the task. This is an exact match. */ + /** Filter by the value of the field custom3 of the Task. This is an exact match. */ @JsonProperty("custom-3") private final String[] custom3In; - /** Filter out by values of the field custom3 of the task. This is an exact match. */ + /** Filter out by values of the field custom3 of the Task. This is an exact match. */ @JsonProperty("custom-3-not") private final String[] custom3NotIn; /** - * Filter by the custom3 field of the task. This results in a substring search (% is appended to + * Filter by the custom3 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1158,23 +1158,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom3Like; /** - * Filter by what the custom3 field of the task shouldn't be. This results in a substring search + * Filter by what the custom3 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-3-not-like") private final String[] custom3NotLike; - /** Filter by the value of the field custom4 of the task. This is an exact match. */ + /** Filter by the value of the field custom4 of the Task. This is an exact match. */ @JsonProperty("custom-4") private final String[] custom4In; - /** Filter out by values of the field custom4 of the task. This is an exact match. */ + /** Filter out by values of the field custom4 of the Task. This is an exact match. */ @JsonProperty("custom-4-not") private final String[] custom4NotIn; /** - * Filter by the custom4 field of the task. This results in a substring search (% is appended to + * Filter by the custom4 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1182,23 +1182,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom4Like; /** - * Filter by what the custom4 field of the task shouldn't be. This results in a substring search + * Filter by what the custom4 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-4-not-like") private final String[] custom4NotLike; - /** Filter by the value of the field custom5 of the task. This is an exact match. */ + /** Filter by the value of the field custom5 of the Task. This is an exact match. */ @JsonProperty("custom-5") private final String[] custom5In; - /** Filter out by values of the field custom5 of the task. This is an exact match. */ + /** Filter out by values of the field custom5 of the Task. This is an exact match. */ @JsonProperty("custom-5-not") private final String[] custom5NotIn; /** - * Filter by the custom5 field of the task. This results in a substring search (% is appended to + * Filter by the custom5 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1206,23 +1206,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom5Like; /** - * Filter by what the custom5 field of the task shouldn't be. This results in a substring search + * Filter by what the custom5 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-5-not-like") private final String[] custom5NotLike; - /** Filter by the value of the field custom6 of the task. This is an exact match. */ + /** Filter by the value of the field custom6 of the Task. This is an exact match. */ @JsonProperty("custom-6") private final String[] custom6In; - /** Filter out by values of the field custom6 of the task. This is an exact match. */ + /** Filter out by values of the field custom6 of the Task. This is an exact match. */ @JsonProperty("custom-6-not") private final String[] custom6NotIn; /** - * Filter by the custom6 field of the task. This results in a substring search (% is appended to + * Filter by the custom6 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1230,23 +1230,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom6Like; /** - * Filter by what the custom6 field of the task shouldn't be. This results in a substring search + * Filter by what the custom6 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-6-not-like") private final String[] custom6NotLike; - /** Filter by the value of the field custom7 of the task. This is an exact match. */ + /** Filter by the value of the field custom7 of the Task. This is an exact match. */ @JsonProperty("custom-7") private final String[] custom7In; - /** Filter out by values of the field custom7 of the task. This is an exact match. */ + /** Filter out by values of the field custom7 of the Task. This is an exact match. */ @JsonProperty("custom-7-not") private final String[] custom7NotIn; /** - * Filter by the custom7 field of the task. This results in a substring search (% is appended to + * Filter by the custom7 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1254,23 +1254,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom7Like; /** - * Filter by what the custom7 field of the task shouldn't be. This results in a substring search + * Filter by what the custom7 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-7-not-like") private final String[] custom7NotLike; - /** Filter by the value of the field custom8 of the task. This is an exact match. */ + /** Filter by the value of the field custom8 of the Task. This is an exact match. */ @JsonProperty("custom-8") private final String[] custom8In; - /** Filter out by values of the field custom8 of the task. This is an exact match. */ + /** Filter out by values of the field custom8 of the Task. This is an exact match. */ @JsonProperty("custom-8-not") private final String[] custom8NotIn; /** - * Filter by the custom8 field of the task. This results in a substring search (% is appended to + * Filter by the custom8 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1278,23 +1278,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom8Like; /** - * Filter by what the custom8 field of the task shouldn't be. This results in a substring search + * Filter by what the custom8 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-8-not-like") private final String[] custom8NotLike; - /** Filter by the value of the field custom9 of the task. This is an exact match. */ + /** Filter by the value of the field custom9 of the Task. This is an exact match. */ @JsonProperty("custom-9") private final String[] custom9In; - /** Filter out by values of the field custom9 of the task. This is an exact match. */ + /** Filter out by values of the field custom9 of the Task. This is an exact match. */ @JsonProperty("custom-9-not") private final String[] custom9NotIn; /** - * Filter by the custom9 field of the task. This results in a substring search (% is appended to + * Filter by the custom9 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1302,23 +1302,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom9Like; /** - * Filter by what the custom9 field of the task shouldn't be. This results in a substring search + * Filter by what the custom9 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-9-not-like") private final String[] custom9NotLike; - /** Filter by the value of the field custom10 of the task. This is an exact match. */ + /** Filter by the value of the field custom10 of the Task. This is an exact match. */ @JsonProperty("custom-10") private final String[] custom10In; - /** Filter out by values of the field custom10 of the task. This is an exact match. */ + /** Filter out by values of the field custom10 of the Task. This is an exact match. */ @JsonProperty("custom-10-not") private final String[] custom10NotIn; /** - * Filter by the custom10 field of the task. This results in a substring search (% is appended to + * Filter by the custom10 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1326,23 +1326,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom10Like; /** - * Filter by what the custom10 field of the task shouldn't be. This results in a substring search + * Filter by what the custom10 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-10-not-like") private final String[] custom10NotLike; - /** Filter by the value of the field custom11 of the task. This is an exact match. */ + /** Filter by the value of the field custom11 of the Task. This is an exact match. */ @JsonProperty("custom-11") private final String[] custom11In; - /** Filter out by values of the field custom11 of the task. This is an exact match. */ + /** Filter out by values of the field custom11 of the Task. This is an exact match. */ @JsonProperty("custom-11-not") private final String[] custom11NotIn; /** - * Filter by the custom11 field of the task. This results in a substring search (% is appended to + * Filter by the custom11 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1350,23 +1350,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom11Like; /** - * Filter by what the custom11 field of the task shouldn't be. This results in a substring search + * Filter by what the custom11 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-11-not-like") private final String[] custom11NotLike; - /** Filter by the value of the field custom12 of the task. This is an exact match. */ + /** Filter by the value of the field custom12 of the Task. This is an exact match. */ @JsonProperty("custom-12") private final String[] custom12In; - /** Filter out by values of the field custom12 of the task. This is an exact match. */ + /** Filter out by values of the field custom12 of the Task. This is an exact match. */ @JsonProperty("custom-12-not") private final String[] custom12NotIn; /** - * Filter by the custom12 field of the task. This results in a substring search (% is appended to + * Filter by the custom12 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1374,23 +1374,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom12Like; /** - * Filter by what the custom12 field of the task shouldn't be. This results in a substring search + * Filter by what the custom12 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-12-not-like") private final String[] custom12NotLike; - /** Filter by the value of the field custom13 of the task. This is an exact match. */ + /** Filter by the value of the field custom13 of the Task. This is an exact match. */ @JsonProperty("custom-13") private final String[] custom13In; - /** Filter out by values of the field custom13 of the task. This is an exact match. */ + /** Filter out by values of the field custom13 of the Task. This is an exact match. */ @JsonProperty("custom-13-not") private final String[] custom13NotIn; /** - * Filter by the custom13 field of the task. This results in a substring search (% is appended to + * Filter by the custom13 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1398,23 +1398,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom13Like; /** - * Filter by what the custom13 field of the task shouldn't be. This results in a substring search + * Filter by what the custom13 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-13-not-like") private final String[] custom13NotLike; - /** Filter by the value of the field custom14 of the task. This is an exact match. */ + /** Filter by the value of the field custom14 of the Task. This is an exact match. */ @JsonProperty("custom-14") private final String[] custom14In; - /** Filter out by values of the field custom14 of the task. This is an exact match. */ + /** Filter out by values of the field custom14 of the Task. This is an exact match. */ @JsonProperty("custom-14-not") private final String[] custom14NotIn; /** - * Filter by the custom14 field of the task. This results in a substring search (% is appended to + * Filter by the custom14 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1422,23 +1422,23 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom14Like; /** - * Filter by what the custom14 field of the task shouldn't be. This results in a substring search + * Filter by what the custom14 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-14-not-like") private final String[] custom14NotLike; - /** Filter by the value of the field custom15 of the task. This is an exact match. */ + /** Filter by the value of the field custom15 of the Task. This is an exact match. */ @JsonProperty("custom-15") private final String[] custom15In; - /** Filter out by values of the field custom15 of the task. This is an exact match. */ + /** Filter out by values of the field custom15 of the Task. This is an exact match. */ @JsonProperty("custom-15-not") private final String[] custom15NotIn; /** - * Filter by the custom15 field of the task. This results in a substring search (% is appended to + * Filter by the custom15 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1446,22 +1446,22 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom15Like; /** - * Filter by what the custom15 field of the task shouldn't be. This results in a substring search + * Filter by what the custom15 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @JsonProperty("custom-15-not-like") private final String[] custom15NotLike; - /** Filter by the value of the field custom16 of the task. This is an exact match. */ + /** Filter by the value of the field custom16 of the Task. This is an exact match. */ @JsonProperty("custom-16") private final String[] custom16In; - /** Filter out by values of the field custom16 of the task. This is an exact match. */ + /** Filter out by values of the field custom16 of the Task. This is an exact match. */ @JsonProperty("custom-16-not") private final String[] custom16NotIn; /** - * Filter by the custom16 field of the task. This results in a substring search (% is appended to + * Filter by the custom16 field of the Task. This results in a substring search (% is appended to * the front and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -1469,7 +1469,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom16Like; /** - * Filter by what the custom16 field of the task shouldn't be. This results in a substring search + * Filter by what the custom16 field of the Task shouldn't be. This results in a substring search * (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard * characters will be resolved correctly. */ @@ -1477,17 +1477,17 @@ public class TaskQueryFilterParameter implements QueryParameter private final String[] custom16NotLike; // endregion // region callbackState - /** Filter by the callback state of the task. This is an exact match. */ + /** Filter by the callback state of the Task. This is an exact match. */ @JsonProperty("callback-state") private final CallbackState[] callbackStateIn; - /** Filter by what the callback state of the task shouldn't be. This is an exact match. */ + /** Filter by what the callback state of the Task shouldn't be. This is an exact match. */ @JsonProperty("callback-state-not") private final CallbackState[] callbackStateNotIn; // endregion // region wildcardSearchValue /** - * Filter by wildcard search field of the task. + * Filter by wildcard search field of the Task. * *

This must be used in combination with 'wildcard-search-value' */ @@ -1495,7 +1495,7 @@ public class TaskQueryFilterParameter implements QueryParameter private final WildcardSearchField[] wildcardSearchFieldIn; /** - * Filter by wildcard search field of the task. This is an exact match. + * Filter by wildcard search field of the Task. This is an exact match. * *

This must be used in combination with 'wildcard-search-fields' */ diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemQueryFilterParameter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemQueryFilterParameter.java index 5c84e8f99..2ba17d34d 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemQueryFilterParameter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemQueryFilterParameter.java @@ -10,12 +10,12 @@ import pro.taskana.workbasket.api.WorkbasketAccessItemQuery; public class WorkbasketAccessItemQueryFilterParameter implements QueryParameter { - /** Filter by the key of the workbasket. This is an exact match. */ + /** Filter by the key of the Workbasket. This is an exact match. */ @JsonProperty("workbasket-key") private final String[] workbasketKey; /** - * Filter by the key of the workbasket. This results in a substring search.. (% is appended to the + * Filter by the key of the Workbasket. This results in a substring search.. (% is appended to the * beginning and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketQueryFilterParameter.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketQueryFilterParameter.java index 12a4167b0..d4beba3c5 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketQueryFilterParameter.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketQueryFilterParameter.java @@ -11,36 +11,36 @@ import pro.taskana.workbasket.api.WorkbasketType; public class WorkbasketQueryFilterParameter implements QueryParameter { - /** Filter by the name of the workbasket. This is an exact match. */ + /** Filter by the name of the Workbasket. This is an exact match. */ @JsonProperty("name") private final String[] name; /** - * Filter by the name of the workbasket. This results in a substring search. (% is appended to the + * Filter by the name of the Workbasket. This results in a substring search. (% is appended to the * beginning and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("name-like") private final String[] nameLike; - /** Filter by the key of the workbasket. This is an exact match. */ + /** Filter by the key of the Workbasket. This is an exact match. */ @JsonProperty("key") private final String[] key; /** - * Filter by the key of the workbasket. This results in a substring search.. (% is appended to the + * Filter by the key of the Workbasket. This results in a substring search.. (% is appended to the * beginning and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @JsonProperty("key-like") private final String[] keyLike; - /** Filter by the owner of the workbasket. This is an exact match. */ + /** Filter by the owner of the Workbasket. This is an exact match. */ @JsonProperty("owner") private final String[] owner; /** - * Filter by the owner of the workbasket. This results in a substring search.. (% is appended to + * Filter by the owner of the Workbasket. This results in a substring search.. (% is appended to * the beginning and end of the requested value). Further SQL "LIKE" wildcard characters will be * resolved correctly. */ @@ -48,22 +48,22 @@ public class WorkbasketQueryFilterParameter implements QueryParameter