01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.crm.report.settings;
15:
16: import org.jetbrains.annotations.NotNull;
17:
18: import java.util.ArrayList;
19: import java.util.Arrays;
20: import java.util.Collection;
21: import java.util.Collections;
22: import java.util.Comparator;
23:
24: /**
25: * User: Martin
26: * Date: 01.03.2006
27: * Time: 18:13:42
28: */
29: public class ValidationResult {
30: @NotNull
31: private ArrayList<ValidationMessage> validationMessages;
32:
33: public ValidationResult() {
34: validationMessages = new ArrayList<ValidationMessage>();
35: }
36:
37: public ValidationResult(@NotNull
38: Collection<? extends ValidationMessage> validationMessages) {
39: this .validationMessages = new ArrayList<ValidationMessage>(
40: validationMessages);
41: }
42:
43: public void addValidationMessage(@NotNull
44: ValidationMessage validationMessage) {
45: validationMessages.add(validationMessage);
46: }
47:
48: public void addValidationMessages(@NotNull
49: ValidationMessage[] vms) {
50: validationMessages.addAll(Arrays.asList(vms));
51: }
52:
53: public void addValidationMessages(@NotNull
54: Collection<? extends ValidationMessage> vms) {
55: validationMessages.addAll(vms);
56: }
57:
58: @NotNull
59: public ArrayList<ValidationMessage> getValidationMessages(@NotNull
60: ValidationMessage.Severity[] severities) {
61: ArrayList<ValidationMessage> filteredValidationMessages = new ArrayList<ValidationMessage>();
62: for (ValidationMessage validationMessage : validationMessages) {
63: for (ValidationMessage.Severity severity : severities) {
64: if (validationMessage.getSeverity().equals(severity)) {
65: filteredValidationMessages.add(validationMessage);
66: }
67: }
68: }
69:
70: ArrayList<ValidationMessage> orderedValidationMessages = new ArrayList<ValidationMessage>(
71: filteredValidationMessages);
72: Collections.sort(orderedValidationMessages,
73: new Comparator<ValidationMessage>() {
74: public int compare(@NotNull
75: ValidationMessage vm1, @NotNull
76: ValidationMessage vm2) {
77: return vm1.getSeverity().compareTo(
78: vm2.getSeverity());
79: }
80: });
81:
82: return orderedValidationMessages;
83: }
84:
85: public boolean containsValidationMessages(@NotNull
86: ValidationMessage.Severity[] severity) {
87: for (ValidationMessage validationMessage : validationMessages) {
88: for (ValidationMessage.Severity s : severity) {
89: if (validationMessage.getSeverity().equals(s)) {
90: return true;
91: }
92: }
93: }
94:
95: return false;
96: }
97:
98: }
|