Example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel

Introduction

In this page you can find the example usage for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel.

Prototype

AbstractReadOnlyModel

Source Link

Usage

From source file:jp.xet.uncommons.wicket.bootstrap.form.AppendErrorClassIfInvalid.java

License:Apache License

/**
 * ??/*from   ww  w . ja  v  a 2s  .  c  o m*/
 * 
 * @param component ? {@link FormComponent}
 * @throws NullPointerException ?{@code null}???
 */
public AppendErrorClassIfInvalid(final FormComponent<?> component) {
    this(new AbstractReadOnlyModel<FormComponent<?>>() {

        @Override
        public FormComponent<?> getObject() {
            return component;
        }
    });
    Args.notNull(component, "component");
}

From source file:jp.xet.uncommons.wicket.bootstrap.form.AppendErrorClassIfInvalid.java

License:Apache License

/**
 * ??//w ww . j av  a  2  s .com
 * 
 * @param supplier ? {@link FormComponent}???
 * @throws NullPointerException ?{@code null}???
 */
public AppendErrorClassIfInvalid(final IModel<FormComponent<?>> supplier) {
    super("class", new AbstractReadOnlyModel<String>() {

        @Override
        public String getObject() {
            return supplier.getObject().isValid() ? "" : " error";
        }
    });
    Args.notNull(supplier, "supplier");
}

From source file:main.java.info.jtrac.wicket.yui.YuiCalendar.java

License:Apache License

public YuiCalendar(String id, IModel model, boolean required) {

    super(id, null);

    add(HeaderContributor.forJavaScript("resources/yui/yahoo/yahoo-min.js"));
    add(HeaderContributor.forJavaScript("resources/yui/event/event-min.js"));
    add(HeaderContributor.forJavaScript("resources/yui/dom/dom-min.js"));
    add(HeaderContributor.forJavaScript("resources/yui/calendar/calendar-min.js"));
    add(HeaderContributor.forJavaScript("resources/yui/calendar/calendar-utils.js"));
    add(HeaderContributor.forCss("resources/yui/calendar/assets/calendar.css"));

    dateField = new TextField("field", model, Date.class) {
        @Override//  w ww.ja  v  a  2 s .c o  m
        public IConverter getConverter(Class clazz) {
            return new AbstractConverter() {
                private DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

                public Object convertToObject(String s, Locale locale) {
                    if (s == null || s.trim().length() == 0) {
                        return null;
                    }
                    try {
                        return df.parse(s);
                    } catch (Exception e) {
                        throw new ConversionException(e);
                    }
                }

                protected Class getTargetType() {
                    return Date.class;
                }

                @Override
                public String convertToString(Object o, Locale locale) {
                    Date d = (Date) o;
                    return df.format(d);
                }
            };
        }

        @Override
        public IModel getLabel() {
            return YuiCalendar.this.getLabel();
        }
    };
    dateField.setOutputMarkupId(true);
    dateField.setRequired(required);
    dateField.add(new ErrorHighlighter());
    add(dateField);

    final WebMarkupContainer button = new WebMarkupContainer("button");
    button.setOutputMarkupId(true);
    button.add(new AttributeModifier("onclick", true, new AbstractReadOnlyModel() {
        public Object getObject() {
            return "showCalendar(" + getCalendarId() + ", '" + getInputId() + "');";
        }
    }));
    add(button);

    container = new WebMarkupContainer("container");
    container.setOutputMarkupId(true);
    add(container);
}

From source file:name.marcelomorales.siqisiqi.examples.crud.parameters.ListParameters.java

License:Apache License

public ListParameters() {

    add(table = new AjaxFallbackDefaultDataTable<>("parameters", new ArrayList<IColumn<Parameter, String>>() {
        {// w w  w  .j  av  a  2s.c  o m
            add(new PropertyColumn<Parameter, String>(Model.of("Name"), "name"));
        }
    }, new SortableDataProvider<Parameter, String>() {

        @Override
        public Iterator<? extends Parameter> iterator(long first, long count) {
            return parametersEdit.list(null, first, count).iterator();
        }

        @Override
        public long size() {
            return parametersEdit.count(null);
        }

        @Override
        public IModel<Parameter> model(Parameter object) {
            return Model.of(object);
        }
    }, 10).setOutputMarkupId(true));

    add(queryForm = new Form<String>("query param form", Model.of("")) {

        private final Component queryParamValueLabel;

        {
            setOutputMarkupId(true);

            add(queryParamValueLabel = new Label("value", new AbstractReadOnlyModel<Object>() {

                @Override
                public Object getObject() {
                    final String formModelObject = getModelObject();
                    if (Strings.isEmpty(formModelObject)) {
                        return "";
                    }

                    try {
                        return parametersEdit.getString(formModelObject);
                    } catch (ExecutionException e) {
                        return "Error: " + e.getMessage();
                    }
                }
            }).setOutputMarkupId(true));

            add(new TextField<>("param", getModel()).setOutputMarkupId(true).add(new OnChangeAjaxBehavior() {

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    target.add(queryParamValueLabel);
                }
            }));
        }
    });

    add(new Form<ArrayList<String>>("set parameter form", new Model<>(Lists.newArrayList("", ""))) {

        {
            setOutputMarkupId(true);

            add(new TextField<>("param name", new PropertyModel<>(getModel(), "0"))
                    .add(StringValidator.maximumLength(200)).setOutputMarkupId(true));
            add(new TextField<>("param value", new PropertyModel<>(getModel(), "1"))
                    .add(StringValidator.maximumLength(2000)).setOutputMarkupId(true));

            add(new AjaxButton("submit", this) {

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    ArrayList<String> strings = (ArrayList<String>) form.getModelObject();

                    Parameter parameter = new Parameter();
                    parameter.setName(strings.get(0));

                    parametersEdit.customize(parameter, strings.get(1));

                    target.add(form);
                    target.add(queryForm);
                    target.add(table);
                }
            });

        }
    });
}

From source file:name.martingeisse.trading_game.platform.wicket.page.AbstractPage.java

License:Open Source License

public final IModel<GameDefinition> gameDefinitionModel() {
    return new AbstractReadOnlyModel<GameDefinition>() {
        @Override/*www.ja  v a  2 s  .com*/
        public GameDefinition getObject() {
            return getGameDefinition();
        }
    };
}

From source file:name.martingeisse.webide.workbench.WorkbenchPage.java

License:Open Source License

/**
 * Constructor.//w w w  .  j a v  a2s. c om
 */
public WorkbenchPage() {

    // TODO
    long workspaceId = 1;

    this.servicesImplementation = new WorkbenchPageServicesImpl(this);
    setOutputMarkupId(true);
    // setVersioned(false);
    add(new HandleUploadedFileBehavior());
    add(new NewWindowInterceptBehavior() {
        @Override
        protected void onNewWindow() {
            setResponsePage(new WorkbenchPage());
        }
    });

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

    final ITreeProvider<ResourceHandle> resourceTreeProvider = new ResourceTreeProvider(workspaceId, true);
    final JsTree<ResourceHandle> resourceTree = new ResourceTreeComponent("resources", resourceTreeProvider,
            this) {
        @Override
        protected void populateItem(final Item<ResourceHandle> item) {
            final ResourceHandle resource = item.getModelObject();
            item.add(new Image("icon", new AbstractReadOnlyModel<ResourceReference>() {
                @Override
                public ResourceReference getObject() {
                    if (resource.isFile()) {
                        return ResourceIconSelector.FILE_OK.getResourceReference();
                    } else if (resource.isFolder()) {
                        return ResourceIconSelector.FOLDER_OK.getResourceReference();
                    } else {
                        return ResourceIconSelector.MISSING_ICON.getResourceReference();
                    }
                }
            }));
            item.add(new Label("name", resource.getName()));
        }
    };

    filesContainer.add(resourceTree);

    final WebMarkupContainer markersContainer = new WebMarkupContainer("markersContainer");
    markersContainer.setOutputMarkupId(true);
    add(markersContainer);
    markersContainer.add(new MarkerListView("markers", null, 30) {
        @Override
        protected void populateItem(final ListItem<FetchMarkerResult> item) {
            final IModel<FetchMarkerResult> model = item.getModel();
            addResourcePathLabel(item, "resource", model);
            addMeaningIcon(item, "icon", model);
            addMeaningLabel(item, "meaning", model);
            addMessageLabel(item, "message", model);
        }
    });

    final WebMarkupContainer editorContainer = new WebMarkupContainer("editorContainer");
    editorContainer.add(new EmptyPanel("editor"));
    editorContainer.setOutputMarkupId(true);
    add(editorContainer);

    add(new Label("log", new PropertyModel<String>(this, "log")));
    add(new WebMarkupContainer("buildingWorkspaceIndicator") {

        @Override
        public boolean isVisible() {
            return false; // TODO !BuilderService.isBuildFinished();
        }

        @Override
        public void onEvent(final IEvent<?> event) {
            if (event.getPayload() instanceof AjaxRequestTarget) {
                if (buildingWorkspaceIndicateWasVisible == null
                        || buildingWorkspaceIndicateWasVisible != isVisible()) {
                    final AjaxRequestTarget ajaxRequestTarget = (AjaxRequestTarget) event.getPayload();
                    ajaxRequestTarget.add(this);
                    buildingWorkspaceIndicateWasVisible = isVisible();
                }
            }
        }

    }.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true));
    add(new Link<Void>("refreshPluginsButton") {
        @Override
        public void onClick() {
            // TODO
            long workspaceId = 1L;
            long userId = 1L;
            InternalPluginUtil.clearWorkspaceUserPluginBindings(workspaceId, userId);
            setResponsePage(new WorkbenchPage());
        }
    });

}

From source file:net.databinder.auth.components.DataUserStatusPanelBase.java

License:Open Source License

/**
 * Constructs sign in and out links./*  w ww  .  j a  v  a  2s.c om*/
 * @param id Wicket id
 */
public DataUserStatusPanelBase(String id) {
    super(id);

    WebMarkupContainer wrapper = new WebMarkupContainer("signedInWrapper") {
        public boolean isVisible() {
            return getAuthSession().isSignedIn();
        }
    };
    add(wrapper);
    wrapper.add(new Label("username", new AbstractReadOnlyModel() {
        @Override
        public Object getObject() {
            return getAuthSession().getUser().getUsername();
        }
    }));
    wrapper.add(new Link("profile") {
        @Override
        public void onClick() {
            setResponsePage(profilePage(new DataSignInPageBase.ReturnPage() {
                public Page get() {
                    return DataUserStatusPanelBase.this.getPage();
                }
            }));
        }
    }.add(new Label("text", getString("data.auth.status.account", null, "Account"))));

    wrapper.add(new BookmarkablePageLink("admin", adminPageClass()) {
        @Override
        public boolean isEnabled() {
            return !adminPageClass().isInstance(getPage());
        }

        @Override
        public boolean isVisible() {
            T user = ((AuthSession<T>) getSession()).getUser();
            return user != null && user.hasRole(Roles.ADMIN);
        }
    }.add(new Label("text", getString("data.auth.status.admin", null, "Admin"))));

    wrapper.add(new Link("signOut") {
        @Override
        public void onClick() {
            getAuthSession().signOut();
            setResponsePage(getApplication().getHomePage());
        }
    }.add(new Label("text", getString("data.auth.status.sign_out", null, "Sign out"))));

    add(getSignInLink("signIn").add(new Label("text", getString("data.auth.status.sign_in", null, "Sign in"))));
}

From source file:net.databinder.auth.components.RSAPasswordTextField.java

License:Open Source License

protected void init(Form form) {
    setOutputMarkupId(true);//from   w  w w  .  ja v  a 2  s  .c om

    add(new AttributeAppender("style", new Model<String>("visibility:hidden"), ";"));

    form.add(new AttributeAppender("onsubmit", new AbstractReadOnlyModel() {
        public Object getObject() {
            StringBuilder eventBuf = new StringBuilder();
            eventBuf.append("if (").append(getElementValue()).append(" != null && ").append(getElementValue())
                    .append(" != '') ").append(getElementValue()).append(" = encryptedString(key, ")
                    .append(getChallengeVar()).append("+ '|' + ").append(getElementValue()).append(");");

            return eventBuf.toString();
        }
    }, ""));

    challenge = new String(
            Base64.encodeBase64(BigInteger.valueOf(new SecureRandom().nextLong()).toByteArray()));
}

From source file:net.databinder.components.AlternatingClassModifier.java

License:Open Source License

/**
 * Constructs AttributeModifier for "class" with the given alternating class values.
 * @param item Object whose index determines class value.
 *///from www. j  a v  a 2  s .  c om
public AlternatingClassModifier(final ListItem item, final String classA, final String classB) {
    super("class", true, new AbstractReadOnlyModel() {
        @Override
        public Object getObject() {
            return item.getIndex() % 2 == 0 ? classA : classB;
        }
    });
}

From source file:net.dontdrinkandroot.wicket.bootstrap.component.item.ExternalLinkItem.java

License:Apache License

@Override
protected Component createLink(String id) {

    ExternalLink link = new ExternalLink(id, this.hrefModel);

    link.add(new AttributeModifier("rel", new AbstractReadOnlyModel<String>() {

        @Override//from   w  w w .ja  va 2s.  com
        public String getObject() {

            if (UrlUtils.isRelative(ExternalLinkItem.this.hrefModel.getObject())) {
                return null;
            }
            return "external";
        }
    }));
    link.setBody(this.getModel());
    return link;
}