3 import java
.util
.ArrayList
;
7 import net
.fortuna
.ical4j
.util
.validation
.ValidationResult
;
9 import org
.apache
.wicket
.markup
.html
.WebMarkupContainer
;
10 import org
.apache
.wicket
.markup
.html
.basic
.Label
;
11 import org
.apache
.wicket
.markup
.html
.list
.ListItem
;
12 import org
.apache
.wicket
.markup
.html
.list
.ListView
;
13 import org
.apache
.wicket
.markup
.html
.panel
.Panel
;
15 public class ValidationResultPanel
extends Panel
{
20 private static final long serialVersionUID
= 1L;
22 public ValidationResultPanel(String id
, List
<ValidationResult
> results
) {
25 final MultiValueMap
<String
, ValidationResult
> resultMap
= new MultiValueMap
<String
, ValidationResult
>();
27 for (ValidationResult result
: results
)
29 resultMap
.put(result
.component
.toString(), new ValidationResult(null, result
.message
, result
.args
));
32 add(new Label("summary", results
.size() + " results in " + resultMap
.keySet().size() + " components"));
34 List
<ValidationResult
> generalFailures
= (List
<ValidationResult
>) resultMap
.get(null);
35 if (generalFailures
.isEmpty())
37 add(new Label("message", "None."));
38 WebMarkupContainer webMarkupContainer
= new WebMarkupContainer("messages");
39 // webMarkupContainer.add(new WebMarkupContainer("message"));
40 add(webMarkupContainer
.setVisible(false));
44 add(new WebMarkupContainer("message").setVisible(false));
45 add(new ValidationResultListView("messages", generalFailures
));
48 add(new ListView
<String
>("component", new ArrayList
<String
>((Set
<String
>) resultMap
.keySet()))
54 private static final long serialVersionUID
= 1L;
57 protected void populateItem(
58 ListItem
<String
> item
) {
59 String key
= item
.getModelObject();
62 item
.add(new Label("code", key
.toString()));
66 item
.add(new Label("code", ""));
67 item
.setVisible(false);
69 item
.add(new ValidationResultListView("messages", (List
<?
extends ValidationResult
>) resultMap
.get(key
)));
74 // for (Entry<Component, List<ValidationResult>> entry : )
76 // info(entry.getKey().toString());
77 // for (ValidationResult result : entry.getValue())
79 // info(result.getText());
82 // TODO Auto-generated constructor stub