use of org.apache.syncope.client.console.events.SelectedEventsPanel.InspectSelectedEvent in project syncope by apache.
the class EventCategoryPanel method onEvent.
@Override
public void onEvent(final IEvent<?> event) {
if (event.getPayload() instanceof ChangeCategoryEvent) {
// update objects ....
eventCategoryTO.getEvents().clear();
final ChangeCategoryEvent change = (ChangeCategoryEvent) event.getPayload();
final Panel changedPanel = change.getChangedPanel();
if (null != changedPanel.getId()) {
switch(changedPanel.getId()) {
case "type":
eventCategoryTO.setType(type.getModelObject());
eventCategoryTO.setCategory(null);
eventCategoryTO.setSubcategory(null);
if (type.getModelObject() == EventCategoryType.CUSTOM) {
category.setChoices(Collections.<String>emptyList());
subcategory.setChoices(Collections.<String>emptyList());
category.setEnabled(false);
subcategory.setEnabled(false);
custom.setVisible(true);
custom.setEnabled(true);
actionsPanel.setVisible(true);
actionsPanel.setEnabled(true);
} else {
category.setChoices(filter(eventCategoryTOs, type.getModelObject()));
subcategory.setChoices(Collections.<String>emptyList());
category.setEnabled(true);
subcategory.setEnabled(true);
custom.setVisible(false);
custom.setEnabled(false);
actionsPanel.setVisible(false);
actionsPanel.setEnabled(false);
}
change.getTarget().add(categoryContainer);
break;
case "category":
subcategory.setChoices(filter(eventCategoryTOs, type.getModelObject(), category.getModelObject()));
eventCategoryTO.setCategory(category.getModelObject());
eventCategoryTO.setSubcategory(null);
change.getTarget().add(categoryContainer);
break;
default:
eventCategoryTO.setSubcategory(subcategory.getModelObject());
break;
}
}
updateEventsContainer(change.getTarget());
} else if (event.getPayload() instanceof InspectSelectedEvent) {
// update objects ....
eventCategoryTO.getEvents().clear();
final InspectSelectedEvent inspectSelectedEvent = (InspectSelectedEvent) event.getPayload();
final Map.Entry<EventCategoryTO, AuditElements.Result> categoryEvent = AuditLoggerName.parseEventCategory(inspectSelectedEvent.getEvent());
eventCategoryTO.setType(categoryEvent.getKey().getType());
category.setChoices(filter(eventCategoryTOs, type.getModelObject()));
eventCategoryTO.setCategory(categoryEvent.getKey().getCategory());
subcategory.setChoices(filter(eventCategoryTOs, type.getModelObject(), category.getModelObject()));
eventCategoryTO.setSubcategory(categoryEvent.getKey().getSubcategory());
if (categoryEvent.getKey().getType() == EventCategoryType.CUSTOM) {
custom.setModelObject(AuditLoggerName.buildEvent(categoryEvent.getKey().getType(), categoryEvent.getKey().getCategory(), categoryEvent.getKey().getSubcategory(), categoryEvent.getKey().getEvents().isEmpty() ? StringUtils.EMPTY : categoryEvent.getKey().getEvents().iterator().next(), categoryEvent.getValue()));
category.setEnabled(false);
subcategory.setEnabled(false);
custom.setVisible(true);
custom.setEnabled(true);
actionsPanel.setVisible(true);
actionsPanel.setEnabled(true);
} else {
category.setEnabled(true);
subcategory.setEnabled(true);
custom.setVisible(false);
custom.setEnabled(false);
actionsPanel.setVisible(false);
actionsPanel.setEnabled(false);
}
inspectSelectedEvent.getTarget().add(categoryContainer);
updateEventsContainer(inspectSelectedEvent.getTarget());
}
}
Aggregations