Example usage for org.apache.wicket.event Broadcast DEPTH

List of usage examples for org.apache.wicket.event Broadcast DEPTH

Introduction

In this page you can find the example usage for org.apache.wicket.event Broadcast DEPTH.

Prototype

Broadcast DEPTH

To view the source code for org.apache.wicket.event Broadcast DEPTH.

Click Source Link

Document

Depth first traversal.

Usage

From source file:net.rrm.ehour.ui.common.panel.entryselector.EntrySelectorPanel.java

License:Open Source License

private void addHideInactiveFilter(Form<Void> form) {
    final HideInactiveFilter hideInactiveFilter = new HideInactiveFilter();
    hideInactiveFilter.setHideInactive(getEhourWebSession().getHideInactiveSelections());

    final WebMarkupContainer filterIcon = new WebMarkupContainer("filterIcon");
    addFilterIconAttributes(filterIcon, getEhourWebSession().getHideInactiveSelections());
    filterIcon.setOutputMarkupId(true);//from  w w w.  j ava 2  s  .c  o m

    final AjaxLink<Void> hideInactiveLink = new AjaxLink<Void>("filterToggle") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            Boolean hideInactiveSelections = getEhourWebSession().toggleHideInactiveSelections();
            HideInactiveFilter inactiveFilter = new HideInactiveFilter(hideInactiveSelections);
            send(getPage(), Broadcast.DEPTH, new InactiveFilterChangedEvent(inactiveFilter, target));

            target.appendJavaScript(jsRefresh());

            filterIcon.removeAll();
            addFilterIconAttributes(filterIcon, getEhourWebSession().getHideInactiveSelections());
            target.add(filterIcon);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.getAjaxCallListeners().add(new LoadingSpinnerDecorator());
        }
    };

    hideInactiveLink.setVisible(showHideInactiveLink);
    hideInactiveLink.add(filterIcon);
    form.add(hideInactiveLink);
}

From source file:net.rrm.ehour.ui.report.panel.criteria.DateDropDownChoice.java

License:Open Source License

@Override
protected void onInitialize() {
    super.onInitialize();

    add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 507045565542332885L;

        @Override//from  www  .  j a  v  a  2s  . c  o  m
        protected void onUpdate(AjaxRequestTarget target) {
            send(DateDropDownChoice.this.getPage(), Broadcast.DEPTH, new DateChangedPayload(target));
        }
    });
}

From source file:net.rrm.ehour.ui.timesheet.panel.TimesheetRowList.java

License:Open Source License

private TimesheetTextField createTextFieldWithValidation(final TimesheetCell timesheetCell, final int index) {
    PropertyModel<Float> cellModel = new PropertyModel<>(timesheetCell, "timesheetEntry.hours");

    // make sure it's added to the grandtotal
    grandTotals.addValue(index, timesheetCell, cellModel);

    // add inputfield with validation to the parent
    final TimesheetTextField dayInput = new TimesheetTextField(DAY_ID, cellModel, 1);
    dayInput.setOutputMarkupId(true);/*from w w w  .  j a v a2 s.  c om*/

    // add validation
    AjaxFormComponentUpdatingBehavior behavior = new AjaxFormComponentUpdatingBehavior("onblur") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Form sink = dayInput.findParent(Form.class);
            send(sink, Broadcast.DEPTH,
                    new TimesheetInputModifiedEvent(target, index, timesheetCell.getProjectAssignment()));
            form.visitFormComponents(new FormHighlighter(target));
        }

        @Override
        protected void onError(final AjaxRequestTarget target, RuntimeException e) {
            form.visitFormComponents(new FormHighlighter(target));
        }
    };

    dayInput.add(behavior);

    return dayInput;
}

From source file:org.apache.syncope.client.console.panels.ConnObjectListViewPanel.java

License:Apache License

protected ConnObjectListViewPanel(final String id, final String resource, final String anyType,
        final PageReference pageRef) {

    super(id);/*www  .j  ava2 s . c o  m*/

    final List<ConnObjectTO> listOfItems = reloadItems(resource, anyType, null);

    final ListViewPanel.Builder<ConnObjectTO> builder = new ListViewPanel.Builder<ConnObjectTO>(
            ConnObjectTO.class, pageRef) {

        private static final long serialVersionUID = -8251750413385566738L;

        @Override
        protected Component getValueComponent(final String key, final ConnObjectTO bean) {
            final AttrTO attrTO = IterableUtils.find(bean.getAttrs(), new Predicate<AttrTO>() {

                @Override
                public boolean evaluate(final AttrTO object) {
                    return object.getSchema().equals(key);
                }
            });

            return attrTO == null || CollectionUtils.isEmpty(attrTO.getValues())
                    ? new Label("field", StringUtils.EMPTY)
                    : new CollectionPanel("field", attrTO.getValues());
        }

    };

    builder.setReuseItem(false);
    builder.addAction(new ActionLink<ConnObjectTO>() {

        private static final long serialVersionUID = 7511002881490248598L;

        @Override
        public void onClick(final AjaxRequestTarget target, final ConnObjectTO modelObject) {
            viewConnObject(modelObject, target);
        }
    }, ActionLink.ActionType.VIEW, StandardEntitlement.RESOURCE_GET_CONNOBJECT).setItems(listOfItems)
            .includes(ConnIdSpecialAttributeName.UID, ConnIdSpecialAttributeName.NAME,
                    ConnIdSpecialAttributeName.ENABLE)
            .withChecks(ListViewPanel.CheckAvailability.NONE).setReuseItem(false);

    add(builder.build("objs"));

    final WebMarkupContainer arrows = new WebMarkupContainer("arrows");
    add(arrows.setOutputMarkupId(true));

    arrows.add(new AjaxLink<Serializable>("next") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            final List<ConnObjectTO> listOfItems = reloadItems(resource, anyType, nextPageCookie);
            target.add(arrows);
            send(ConnObjectListViewPanel.this, Broadcast.DEPTH,
                    new ListViewReload<ConnObjectTO>(listOfItems, target));
        }

        @Override
        public boolean isVisible() {
            return nextPageCookie != null;
        }
    });
}

From source file:org.apache.syncope.client.console.topology.TopologyTogglePanel.java

License:Apache License

public void toggleWithContent(final AjaxRequestTarget target, final TopologyNode node) {
    setHeader(target, node.getDisplayName());

    modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {

        private static final long serialVersionUID = 8804221891699487139L;

        @Override/*from   www.  j a va2  s  .com*/
        public void onClose(final AjaxRequestTarget target) {
            modal.show(false);
            send(pageRef.getPage(), Broadcast.DEPTH, new UpdateEvent(node.getKey(), target));
        }
    });

    switch (node.getKind()) {
    case SYNCOPE:
        container.addOrReplace(getSyncopeFragment(pageRef));
        break;
    case CONNECTOR_SERVER:
        container.addOrReplace(getLocationFragment(node, pageRef));
        break;
    case FS_PATH:
        container.addOrReplace(getLocationFragment(node, pageRef));
        break;
    case CONNECTOR:
        container.addOrReplace(getConnectorFragment(node, pageRef));
        break;
    case RESOURCE:
        container.addOrReplace(getResurceFragment(node, pageRef));
        break;
    default:
        container.addOrReplace(getEmptyFragment());
    }

    target.add(container);

    this.toggle(target, true);
}

From source file:org.apache.syncope.client.console.wizards.any.Relationships.java

License:Apache License

private Fragment getViewFragment() {
    final Map<String, List<RelationshipTO>> relationships = new HashMap<>();
    addRelationship(relationships, getCurrentRelationships().toArray(new RelationshipTO[] {}));

    final Fragment viewFragment = new Fragment("relationships", "viewFragment", this);
    viewFragment.setOutputMarkupId(true);

    viewFragment.add(new Accordion("relationships",
            CollectionUtils.collect(relationships.keySet(), new SerializableTransformer<String, ITab>() {

                private static final long serialVersionUID = 3514912643300593122L;

                @Override//from   w  w  w  . j ava  2  s.  c  o  m
                public ITab transform(final String input) {
                    return new AbstractTab(new ResourceModel("relationship", input)) {

                        private static final long serialVersionUID = 1037272333056449378L;

                        @Override
                        public Panel getPanel(final String panelId) {
                            return new ListViewPanel.Builder<>(RelationshipTO.class, pageRef)
                                    .setItems(relationships.get(input)).includes("rightType", "rightKey")
                                    .addAction(new ActionLink<RelationshipTO>() {

                                        private static final long serialVersionUID = -6847033126124401556L;

                                        @Override
                                        public void onClick(final AjaxRequestTarget target,
                                                final RelationshipTO modelObject) {
                                            removeRelationships(relationships, modelObject);
                                            send(Relationships.this, Broadcast.DEPTH,
                                                    new ListViewReload<>(target));
                                        }
                                    }, ActionType.DELETE, AnyEntitlement.UPDATE.getFor(anyTO.getType()))
                                    .build(panelId);
                        }
                    };
                }
            }, new ArrayList<ITab>())) {

        private static final long serialVersionUID = 1037272333056449379L;

        @Override
        public void renderHead(final IHeaderResponse response) {
            super.renderHead(response);
            if (relationships.isEmpty()) {
                response.render(OnDomReadyHeaderItem.forScript(String.format(
                        "$('#emptyPlaceholder').append(\"%s\")", getString("relationships.empty.list"))));
            }
        }
    });

    viewFragment.add(ActionLinksPanel.<RelationshipTO>builder().add(new ActionLink<RelationshipTO>() {

        private static final long serialVersionUID = 3257738274365467945L;

        @Override
        public void onClick(final AjaxRequestTarget target, final RelationshipTO ignore) {
            Fragment addFragment = new Fragment("relationships", "addFragment", Relationships.this);
            addOrReplace(addFragment);
            addFragment.add(new Specification().setRenderBodyOnly(true));
            target.add(Relationships.this);
        }
    }, ActionType.CREATE, AnyEntitlement.UPDATE.getFor(anyTO.getType())).build("actions"));

    return viewFragment;
}

From source file:org.apache.syncope.client.console.wizards.resources.ResourceProvisionPanel.java

License:Apache License

public ResourceProvisionPanel(final BaseModal<Serializable> modal, final ResourceTO resourceTO,
        final PageReference pageRef) {

    super(modal, pageRef);
    this.resourceTO = resourceTO;

    baseModel = Model.of(resourceTO.getOrgUnit() == null ? new OrgUnitTO() : resourceTO.getOrgUnit());

    setOutputMarkupId(true);/* w  w  w  . ja v a 2  s.c om*/

    // ----------------------------------------------------------------------
    // Realms provisioning
    // ----------------------------------------------------------------------
    aboutRealmProvison = new WebMarkupContainer("aboutRealmProvison");
    aboutRealmProvison.setOutputMarkupPlaceholderTag(true);
    add(aboutRealmProvison);

    boolean realmProvisionEnabled = resourceTO.getOrgUnit() != null;

    final AjaxCheckBoxPanel enableRealmsProvision = new AjaxCheckBoxPanel("enableRealmsProvision",
            "enableRealmsProvision", Model.of(realmProvisionEnabled), false);
    aboutRealmProvison.add(enableRealmsProvision);
    enableRealmsProvision.setIndex(1).setTitle(getString("enableRealmsProvision.title"));

    final WebMarkupContainer realmsProvisionContainer = new WebMarkupContainer("realmsProvisionContainer");
    realmsProvisionContainer.setOutputMarkupPlaceholderTag(true);
    realmsProvisionContainer.setEnabled(realmProvisionEnabled).setVisible(realmProvisionEnabled);
    aboutRealmProvison.add(realmsProvisionContainer);

    final AjaxTextFieldPanel objectClass = new AjaxTextFieldPanel("objectClass", getString("objectClass"),
            new PropertyModel<String>(baseModel.getObject(), "objectClass"), false);
    realmsProvisionContainer.add(objectClass.addRequiredLabel());

    final AjaxTextFieldPanel extAttrName = new AjaxTextFieldPanel("extAttrName", getString("extAttrName"),
            new PropertyModel<String>(baseModel.getObject(), "extAttrName"), false);
    if (resourceTO.getOrgUnit() != null) {
        extAttrName.setChoices(connectorRestClient.getExtAttrNames(resourceTO.getOrgUnit().getObjectClass(),
                resourceTO.getConnector(), resourceTO.getConfOverride()));
    }
    realmsProvisionContainer.add(extAttrName.addRequiredLabel());

    objectClass.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_BLUR) {

        private static final long serialVersionUID = -1107858522700306810L;

        @Override
        protected void onUpdate(final AjaxRequestTarget target) {
            extAttrName.setChoices(connectorRestClient.getExtAttrNames(objectClass.getModelObject(),
                    resourceTO.getConnector(), resourceTO.getConfOverride()));
            target.focusComponent(extAttrName);
        }
    });

    final AjaxTextFieldPanel connObjectLink = new AjaxTextFieldPanel("connObjectLink",
            new ResourceModel("connObjectLink", "connObjectLink").getObject(),
            new PropertyModel<String>(baseModel.getObject(), "connObjectLink"), false);
    realmsProvisionContainer.add(connObjectLink.addRequiredLabel());

    enableRealmsProvision.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {

        private static final long serialVersionUID = -1107858522700306810L;

        @Override
        protected void onUpdate(final AjaxRequestTarget target) {
            boolean realmProvisionEnabled = enableRealmsProvision.getModelObject();
            realmsProvisionContainer.setEnabled(realmProvisionEnabled).setVisible(realmProvisionEnabled);
            target.add(realmsProvisionContainer);

            if (realmProvisionEnabled) {
                resourceTO.setOrgUnit(baseModel.getObject());
            } else {
                resourceTO.setOrgUnit(null);
            }

        }
    });
    // ----------------------------------------------------------------------

    final ProvisionWizardBuilder wizard = new ProvisionWizardBuilder(resourceTO, pageRef);

    final ListViewPanel.Builder<ProvisionTO> builder = new ListViewPanel.Builder<ProvisionTO>(ProvisionTO.class,
            pageRef) {

        private static final long serialVersionUID = 4907732721283972943L;

        @Override
        protected ProvisionTO getActualItem(final ProvisionTO item, final List<ProvisionTO> list) {
            return item == null ? null : IteratorUtils.find(list.iterator(), new Predicate<ProvisionTO>() {

                @Override
                public boolean evaluate(final ProvisionTO in) {
                    return ((item.getKey() == null && in.getKey() == null)
                            || (in.getKey() != null && in.getKey().equals(item.getKey())))
                            && ((item.getAnyType() == null && in.getAnyType() == null)
                                    || (in.getAnyType() != null && in.getAnyType().equals(item.getAnyType())));
                }
            });
        }

        @Override
        protected void customActionOnCancelCallback(final AjaxRequestTarget target) {
            ResourceProvisionPanel.this.aboutRealmProvison.setVisible(true);
            target.add(ResourceProvisionPanel.this.aboutRealmProvison);
        }

        @Override
        protected void customActionOnFinishCallback(final AjaxRequestTarget target) {
            ResourceProvisionPanel.this.aboutRealmProvison.setVisible(true);
            target.add(ResourceProvisionPanel.this.aboutRealmProvison);
        }
    };

    builder.setItems(resourceTO.getProvisions());
    builder.includes("anyType", "objectClass", "auxClasses");
    builder.setReuseItem(false);

    builder.addAction(new ActionLink<ProvisionTO>() {

        private static final long serialVersionUID = -3722207913631435504L;

        @Override
        public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
            send(ResourceProvisionPanel.this, Broadcast.DEPTH,
                    new AjaxWizard.NewItemActionEvent<>(provisionTO, 2, target)
                            .setResourceModel(new StringResourceModel("inner.provision.mapping",
                                    ResourceProvisionPanel.this, Model.of(provisionTO))));
        }
    }, ActionLink.ActionType.MAPPING, StandardEntitlement.RESOURCE_UPDATE)
            .addAction(new ActionLink<ProvisionTO>() {

                private static final long serialVersionUID = -7780999687733432439L;

                @Override
                public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                    try {
                        SyncopeConsoleSession.get().getService(ResourceService.class)
                                .setLatestSyncToken(resourceTO.getKey(), provisionTO.getAnyType());
                        SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
                    } catch (Exception e) {
                        LOG.error("While setting latest sync token for {}/{}", resourceTO.getKey(),
                                provisionTO.getAnyType(), e);
                        SyncopeConsoleSession.get().error(
                                StringUtils.isBlank(e.getMessage()) ? e.getClass().getName() : e.getMessage());
                    }
                    ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
                }
            }, ActionLink.ActionType.SET_LATEST_SYNC_TOKEN, StandardEntitlement.RESOURCE_UPDATE)
            .addAction(new ActionLink<ProvisionTO>() {

                private static final long serialVersionUID = -7780999687733432439L;

                @Override
                public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                    try {
                        SyncopeConsoleSession.get().getService(ResourceService.class)
                                .removeSyncToken(resourceTO.getKey(), provisionTO.getAnyType());
                        SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
                    } catch (Exception e) {
                        LOG.error("While removing sync token for {}/{}", resourceTO.getKey(),
                                provisionTO.getAnyType(), e);
                        SyncopeConsoleSession.get().error(
                                StringUtils.isBlank(e.getMessage()) ? e.getClass().getName() : e.getMessage());
                    }
                    ((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
                }
            }, ActionLink.ActionType.REMOVE_SYNC_TOKEN, StandardEntitlement.RESOURCE_UPDATE)
            .addAction(new ActionLink<ProvisionTO>() {

                private static final long serialVersionUID = -3722207913631435534L;

                @Override
                public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                    final ProvisionTO clone = SerializationUtils.clone(provisionTO);
                    clone.setKey(null);
                    clone.setAnyType(null);
                    clone.setObjectClass(null);
                    send(ResourceProvisionPanel.this, Broadcast.DEPTH,
                            new AjaxWizard.NewItemActionEvent<>(clone, target)
                                    .setResourceModel(new StringResourceModel("inner.provision.clone",
                                            ResourceProvisionPanel.this, Model.of(provisionTO))));
                }
            }, ActionLink.ActionType.CLONE, StandardEntitlement.RESOURCE_CREATE)
            .addAction(new ActionLink<ProvisionTO>() {

                private static final long serialVersionUID = -3722207913631435544L;

                @Override
                public void onClick(final AjaxRequestTarget target, final ProvisionTO provisionTO) {
                    resourceTO.getProvisions().remove(provisionTO);
                    send(ResourceProvisionPanel.this, Broadcast.DEPTH, new ListViewReload<>(target));
                }
            }, ActionLink.ActionType.DELETE, StandardEntitlement.RESOURCE_DELETE);

    builder.addNewItemPanelBuilder(wizard);

    final WizardMgtPanel<ProvisionTO> list = builder.build("provision");
    add(list);
}

From source file:org.devgateway.eudevfin.dim.pages.transaction.crs.BasicDataTab.java

License:Open Source License

private void addComponents() {
    DropDownField<Area> recipient = new DropDownField<>("7recipient",
            new RWComponentPropertyModel<Area>("recipient"), areaProvider);
    add(recipient);//from  w w w . jav a 2  s .c o  m

    TextAreaInputField channelInstitutionName = new TextAreaInputField("8channelInstitutionName",
            new RWComponentPropertyModel<String>("channelInstitutionName"));
    channelInstitutionName.maxContentLength(150);

    add(channelInstitutionName);

    DropDownField<ChannelCategory> channelOfDelivery = new DropDownField<ChannelCategory>("9channelOfDelivery",
            new RWComponentPropertyModel<ChannelCategory>("channel"),
            (ChoiceProvider) categoryFactory.get(CategoryConstants.CHANNEL_TAG)) {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            super.onUpdate(target);
            typeOfAid.getField().clearInput();
            target.add(typeOfAid);
        }
    };

    String transactionType = parameters.get(Constants.PARAM_TRANSACTION_TYPE).toString("");

    channelOfDelivery.getField().add(new Field8CodeValidator(transactionType) {
        private static final long serialVersionUID = 691836793052873358L;

        @Override
        protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_MULTILATERAL_CHANNEL_CODE);
            return super.decorate(error, validatable);
        }
    });
    add(channelOfDelivery);

    typeOfAid = new DropDownField<Category>("13typeOfAid", new RWComponentPropertyModel<Category>("typeOfAid"),
            categoryFactory.get(CategoryConstants.ALL_TYPE_OF_AID_TAG)) {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            bilateralMultilateral.getField().clearInput();
            typeOfFinance.getField().clearInput();
            target.add(bilateralMultilateral);
            target.add(typeOfFinance);
            Category modelObject = this.getField().getModelObject();
            if (modelObject != null)
                send(getPage(), Broadcast.DEPTH,
                        new Field13ChangedEventPayload(target, modelObject.getDisplayableCode()));
        }
    };

    typeOfAid.getField().add(new TypeOfAidField13ChannelCodeValidator(transactionType, channelOfDelivery) {

        @Override
        protected IValidationError decorateB01For1xxxx(ValidationError error,
                IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_B01_1XXXX_CODE);
            return super.decorateB01For1xxxx(error, validatable);
        }

        @Override
        protected IValidationError decorateB01For2xxxx(ValidationError error,
                IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_B01_2XXXX_CODE);
            return super.decorateB01For2xxxx(error, validatable);
        }

        @Override
        protected IValidationError decorateParentError(ValidationError error,
                IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_PARENT_CODE);
            return error;
        }

    });

    add(typeOfAid);

    bilateralMultilateral = new DropDownField<Category>("10bilateralMultilateral",
            new RWComponentPropertyModel<Category>("biMultilateral"),
            categoryFactory.get(CategoryConstants.BI_MULTILATERAL_TAG)) {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            typeOfAid.getField().clearInput();
            target.add(typeOfAid);
        }
    };

    bilateralMultilateral.getField().add(new BilateralField10CodeValidator(transactionType) {

        private static final long serialVersionUID = 4247327751054728566L;

        @Override
        protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_BILATERAL_FIELD_10_CODE);
            return super.decorate(error, validatable);
        }

    });

    bilateralMultilateral.getField()
            .add(new BilateralField10TypeOfAidCodeValidator(transactionType, typeOfAid) {
                private static final long serialVersionUID = 4247327751054728566L;

                @Override
                protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
                    error.addKey(VALIDATIONKEY_B01_BIMULTI3_CODE);
                    return super.decorate(error, validatable);
                }
            });

    bilateralMultilateral.getField().add(new MultilateralField10CodeValidator(transactionType) {

        private static final long serialVersionUID = -2388019323524154047L;

        @Override
        protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_MULTILATERAL_FIELD_10_CODE);
            return super.decorate(error, validatable);
        }

    });

    bilateralMultilateral.getField()
            .add(new MultilateralField10TypeOfAidCodeValidator(transactionType, typeOfAid) {

                private static final long serialVersionUID = -2388019323524154047L;

                @Override
                protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
                    error.addKey(VALIDATIONKEY_B02_BIMULTI2_CODE);
                    return super.decorate(error, validatable);
                }
            });

    add(bilateralMultilateral);

    DropDownField<Category> typeOfFlow = new DropDownField<>("11typeOfFlow",
            new RWComponentPropertyModel<Category>("typeOfFlow"),
            categoryFactory.get(CategoryConstants.TYPE_OF_FLOW_TAG));
    typeOfFlow.required();
    typeOfFlow.getField().add(new Field11CodeValidator(transactionType) {
        @Override
        protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_FIELD_11_CODE);
            return super.decorate(error, validatable);
        }
    });
    add(typeOfFlow);

    typeOfFinance = new DropDownField<Category>("12typeOfFinance",
            new RWComponentPropertyModel<Category>("typeOfFinance"),
            categoryFactory.get(CategoryConstants.ALL_TYPE_OF_FINANCE_TAG)) {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            typeOfAid.getField().clearInput();
            target.add(typeOfAid);
            Category modelObject = this.getField().getModelObject();
            if (modelObject != null)
                send(getPage(), Broadcast.DEPTH,
                        new Field12ChangedEventPayload(target, modelObject.getDisplayableCode()));
        }
    };

    typeOfFinance.required();
    typeOfFinance.getField().add(new Field12CodeValidator(transactionType) {
        @Override
        protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_FIELD_12_CODE);
            return super.decorate(error, validatable);
        }

        @Override
        protected IValidationError decorateParentError(ValidationError error,
                IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_PARENT_CODE);
            return error;
        }
    });

    typeOfFinance.getField().add(new TypeOfFinanceField12TypeOfAidCodeValidator(typeOfAid) {
        @Override
        protected ValidationError decorate(ValidationError error, IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_FIELD_12_TYPE_OF_AID_CODE);
            return super.decorate(error, validatable);
        }
    });
    add(typeOfFinance);

    TextAreaInputField activityProjectTitle = new TextAreaInputField("14activityProjectTitle",
            new RWComponentPropertyModel<String>("shortDescription"));
    activityProjectTitle.maxContentLength(150);// max length for activity
    // project title
    add(activityProjectTitle);

    DropDownField<Category> sectorPurposeCode = new DropDownField<>("15sectorPurposeCode",
            new RWComponentPropertyModel<Category>("sector"),
            categoryFactory.get(CategoryConstants.ALL_SECTOR_TAG));
    sectorPurposeCode.getField().add(new PurposeField15CodeValidator(transactionType) {
        @Override
        protected IValidationError decorateParentError(ValidationError error,
                IValidatable<Category> validatable) {
            error.addKey(VALIDATIONKEY_PARENT_CODE);
            return error;
        }
    });
    add(sectorPurposeCode);
}

From source file:org.devgateway.eudevfin.dim.pages.transaction.crs.IdentificationDataTab.java

License:Open Source License

private void addComponents() {
    TextInputField<Integer> reportingYear = new TextInputField<Integer>("1reportingYear",
            new YearToLocalDateTimeModel(new RWComponentPropertyModel<LocalDateTime>("reportingYear"))) {
        private static final long serialVersionUID = 1390304553363728058L;

        @Override/*from   ww  w. j  a  va2s . co  m*/
        protected void onUpdate(AjaxRequestTarget target) {
            Integer modelObject = this.getField().getModelObject();
            if (modelObject != null)
                send(getPage(), Broadcast.DEPTH, new ReportingYearChangedEventPayload(target, modelObject));
        }
    };

    reportingYear.typeInteger().required().range(1900, 2099).decorateMask("9999");
    add(reportingYear);

    DateInputField commitmentDate = new DateInputField("1bCommitmentDate",
            new DateToLocalDateTimeModel(new RWComponentPropertyModel<LocalDateTime>("commitmentDate")));
    add(commitmentDate);

    DropDownField<Organization> extendingAgency = new DropDownField<>("3extendingAgency",
            new RWComponentPropertyModel<Organization>("extendingAgency"), organizationProvider);
    extendingAgency.required();

    //see TransactionPage#initializeFinancialTransaction
    extendingAgency.getField().setEnabled(false);

    add(extendingAgency);

    TextInputField<String> donorProjectNumber = new TextInputField<>("5donorProjectNumber",
            new RWComponentPropertyModel<String>("donorProjectNumber"));
    donorProjectNumber.typeString();
    add(donorProjectNumber);

    DropDownField<Category> natureOfSubmission = new DropDownField<Category>("6natureSubmission",
            new RWComponentPropertyModel<Category>("natureOfSubmission"),
            categoryFactory.get(CategoryConstants.NATURE_OF_SUBMISSION_TAG)) {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            crsId.getField().clearInput();
            target.add(crsId);
        }
    };
    natureOfSubmission.required();
    add(natureOfSubmission);

    crsId = new TextInputField<Integer>("4crsId",
            new RWComponentPropertyModel<Integer>("crsIdentificationNumber"));
    crsId.getField()
            .add(new Field4CrsIdCodeValidator(financialTransactionService, transactionId, natureOfSubmission) {
                @Override
                protected ValidationError decorate(ValidationError error, IValidatable<Integer> validatable) {
                    error.addKey(VALIDATIONKEY_CRS_DUPLICATE);
                    return error;
                }
            });
    crsId.typeInteger();
    add(crsId);

}

From source file:org.devgateway.eudevfin.dim.pages.transaction.custom.CustomTransactionPage.java

License:Open Source License

@Override
protected void onBeforeRender() {
    super.onBeforeRender();
    // send events on page load
    CustomFinancialTransaction transaction = (CustomFinancialTransaction) form.getInnermostModel().getObject();
    if (transaction.getTypeOfFinance() != null)
        send(getPage(), Broadcast.DEPTH,
                new Field12ChangedEventPayload(null, transaction.getTypeOfFinance().getDisplayableCode()));

    if (transaction.getProjectCoFinanced() != null)
        send(getPage(), Broadcast.DEPTH,
                new Field14aChangedEventPayload(null, (transaction.getProjectCoFinanced())));

    if (transaction.getTypeOfAid() != null)
        send(getPage(), Broadcast.DEPTH,
                new Field13ChangedEventPayload(null, transaction.getTypeOfAid().getDisplayableCode()));

    if (transaction.getReportingYear() != null)
        send(getPage(), Broadcast.DEPTH,
                new ReportingYearChangedEventPayload(null, transaction.getReportingYear().getYear()));

    if (transaction.getDraft())
        submitButton.setDefaultFormProcessing(false);
    else/*  ww  w .  j a va 2 s  .  c  om*/
        submitButton.setDefaultFormProcessing(true);
}