Search in sources :

Example 1 with InspectSelectedEvent

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());
    }
}
Also used : AjaxDropDownChoicePanel(org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel) AjaxTextFieldPanel(org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel) ActionsPanel(org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel) Panel(org.apache.wicket.markup.html.panel.Panel) InspectSelectedEvent(org.apache.syncope.client.console.events.SelectedEventsPanel.InspectSelectedEvent) AuditElements(org.apache.syncope.common.lib.types.AuditElements)

Aggregations

InspectSelectedEvent (org.apache.syncope.client.console.events.SelectedEventsPanel.InspectSelectedEvent)1 ActionsPanel (org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel)1 AjaxDropDownChoicePanel (org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel)1 AjaxTextFieldPanel (org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel)1 AuditElements (org.apache.syncope.common.lib.types.AuditElements)1 Panel (org.apache.wicket.markup.html.panel.Panel)1