Skip to content

Commit

Permalink
Review the tasks schema (finally)
Browse files Browse the repository at this point in the history
This is a (hopefully) final pre-release review of common-tasks-3 schema.

Some types were renamed to achieve a bit of consistency. Obviously
outdated or leftover pieces of schema were removed. Some docs were
added.

Main activity features (and some structures that we use for a long time)
were marked as non-experimental.
  • Loading branch information
mederly committed Oct 27, 2021
1 parent ba98bb5 commit 0faab13
Show file tree
Hide file tree
Showing 33 changed files with 536 additions and 792 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ public static String getDisplayName(ProvenanceAcquisitionType acquisition) {
return "ProvenanceAcquisitionType.details";
}

public static String getDisplayName(TaskErrorHandlingStrategyEntryType taskErrorHandlingStrategy) {
public static String getDisplayName(ActivityErrorHandlingStrategyEntryType taskErrorHandlingStrategy) {
return "Strategy (order " + (taskErrorHandlingStrategy.getOrder() == null ? " not defined)" : Integer.toString(taskErrorHandlingStrategy.getOrder()) + ")");
}

Expand All @@ -244,12 +244,4 @@ public static String getDisplayName(ActivityDefinitionType partitionDefinition)
// return string;
return "";
}

private static String appendKind(String string, TaskKindType taskKindType) {
if (string.isBlank()) {
return string += taskKindType;
}

return string += ", " + taskKindType;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ private void createErrorHandlingStrategyTab(List<ITab> tabs, PageTask parentPage

@Override
public WebMarkupContainer createPanel(String panelId) {
return new SingleContainerPanel<TaskExecutionConstraintsType>(panelId, PrismContainerWrapperModel.fromContainerWrapper(getObjectModel(), TaskType.F_ERROR_HANDLING_STRATEGY), TaskErrorHandlingStrategyType.COMPLEX_TYPE);
return new SingleContainerPanel<TaskExecutionConstraintsType>(panelId, PrismContainerWrapperModel.fromContainerWrapper(getObjectModel(), TaskType.F_ERROR_HANDLING_STRATEGY), ActivityErrorHandlingStrategyType.COMPLEX_TYPE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@

import java.util.Objects;

import com.evolveum.midpoint.xml.ns._public.common.common_3.BucketManagementOperationStatisticsType;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import com.evolveum.midpoint.xml.ns._public.common.common_3.WorkBucketManagementOperationPerformanceInformationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivityBucketManagementStatisticsType;

public class ActivityBucketManagementStatisticsUtil {
Expand All @@ -35,8 +36,8 @@ public static void addTo(@NotNull ActivityBucketManagementStatisticsType aggrega
return;
}

for (WorkBucketManagementOperationPerformanceInformationType operation : part.getOperation()) {
WorkBucketManagementOperationPerformanceInformationType matchingOperation =
for (BucketManagementOperationStatisticsType operation : part.getOperation()) {
BucketManagementOperationStatisticsType matchingOperation =
findMatchingOperation(aggregate, operation);
if (matchingOperation != null) {
addTo(matchingOperation, operation);
Expand All @@ -47,19 +48,19 @@ public static void addTo(@NotNull ActivityBucketManagementStatisticsType aggrega
}

@Nullable
private static WorkBucketManagementOperationPerformanceInformationType findMatchingOperation(
private static BucketManagementOperationStatisticsType findMatchingOperation(
@NotNull ActivityBucketManagementStatisticsType info,
@NotNull WorkBucketManagementOperationPerformanceInformationType operation) {
for (WorkBucketManagementOperationPerformanceInformationType existingOperation : info.getOperation()) {
@NotNull BucketManagementOperationStatisticsType operation) {
for (BucketManagementOperationStatisticsType existingOperation : info.getOperation()) {
if (Objects.equals(existingOperation.getName(), operation.getName())) {
return existingOperation;
}
}
return null;
}

private static void addTo(@NotNull WorkBucketManagementOperationPerformanceInformationType aggregate,
@NotNull WorkBucketManagementOperationPerformanceInformationType part) {
private static void addTo(@NotNull BucketManagementOperationStatisticsType aggregate,
@NotNull BucketManagementOperationStatisticsType part) {
aggregate.setCount(or0(aggregate.getCount()) + or0(part.getCount()));
aggregate.setTotalTime(or0(aggregate.getTotalTime()) + or0(part.getTotalTime()));
aggregate.setMinTime(min(aggregate.getMinTime(), part.getMinTime()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
import java.util.Comparator;
import java.util.List;

import com.evolveum.midpoint.xml.ns._public.common.common_3.BucketManagementOperationStatisticsType;
import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.xml.ns._public.common.common_3.WorkBucketManagementOperationPerformanceInformationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivityBucketManagementStatisticsType;

import static com.evolveum.midpoint.schema.statistics.Formatting.Alignment.LEFT;
Expand All @@ -31,26 +31,26 @@ public class TaskWorkBucketManagementPerformanceInformationPrinter extends Abstr

@Override
public void prepare() {
List<WorkBucketManagementOperationPerformanceInformationType> operations = getSortedOperations();
List<BucketManagementOperationStatisticsType> operations = getSortedOperations();
createData(operations);
createFormatting();
}

@NotNull
private List<WorkBucketManagementOperationPerformanceInformationType> getSortedOperations() {
List<WorkBucketManagementOperationPerformanceInformationType> operations = new ArrayList<>(information.getOperation());
operations.sort(Comparator.comparing(WorkBucketManagementOperationPerformanceInformationType::getName));
private List<BucketManagementOperationStatisticsType> getSortedOperations() {
List<BucketManagementOperationStatisticsType> operations = new ArrayList<>(information.getOperation());
operations.sort(Comparator.comparing(BucketManagementOperationStatisticsType::getName));
return operations;
}

private void createData(List<WorkBucketManagementOperationPerformanceInformationType> operations) {
private void createData(List<BucketManagementOperationStatisticsType> operations) {
initData();
for (WorkBucketManagementOperationPerformanceInformationType op : operations) {
for (BucketManagementOperationStatisticsType op : operations) {
createRecord(op);
}
}

private void createRecord(WorkBucketManagementOperationPerformanceInformationType op) {
private void createRecord(BucketManagementOperationStatisticsType op) {
long totalTime = zeroIfNull(op.getTotalTime());
long totalWastedTime = zeroIfNull(op.getTotalWastedTime());
long totalWaitTime = zeroIfNull(op.getTotalWaitTime());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public static void sortBucketsBySequentialNumber(List<WorkBucketType> buckets) {
}

@Nullable
public static AbstractWorkSegmentationType getWorkSegmentationConfiguration(WorkBucketsManagementType buckets) {
public static AbstractWorkSegmentationType getWorkSegmentationConfiguration(BucketsDefinitionType buckets) {
if (buckets != null) {
return MiscUtil.getFirstNonNull(
buckets.getNumericSegmentation(),
Expand Down
Loading

0 comments on commit 0faab13

Please sign in to comment.