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

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

Introduction

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

Prototype

public LoadableDetachableModel(T object) 

Source Link

Document

This constructor is used if you already have the object retrieved and want to wrap it with a detachable model.

Usage

From source file:com.fdorigo.rmfly.wicket.dataproviders.JudgeDataProvider.java

@Override
public IModel<Judge> model(final Judge object) {
    final Integer id = object.getId();
    LoadableDetachableModel<Judge> ldm = new LoadableDetachableModel<Judge>(object) {
        @Override//w  ww. j  av  a  2 s.  c o  m
        protected Judge load() {
            return getFacade().find(id);
        }
    };
    return ldm;
}

From source file:com.fdorigo.rmfly.wicket.dataproviders.RecordDataProvider.java

@Override
public IModel<Record> model(final Record object) {
    final String id = object.getNnumber();
    LoadableDetachableModel<Record> ldm = new LoadableDetachableModel<Record>(object) {
        @Override/*from   w  w  w  .  ja v  a 2s. c om*/
        protected Record load() {
            return getFacade().find(id);
        }
    };
    return ldm;
}

From source file:com.fdorigo.rmfly.wicket.dataproviders.ScoreDataProvider.java

@Override
public IModel<Score> model(final Score object) {
    final Integer id = object.getId();
    LoadableDetachableModel<Score> ldm = new LoadableDetachableModel<Score>(object) {
        @Override//  ww w .  ja v  a2s. c  om
        protected Score load() {
            return getFacade().find(id);
        }
    };
    return ldm;
}

From source file:net.tirasa.jpasqlazure.web.pages.util.PersonProvider.java

License:Apache License

@Override
public IModel<Person> model(final Person person) {
    return new LoadableDetachableModel<Person>(person) {

        @Override/*w ww.j av a  2s  .co  m*/
        protected Person load() {
            return repository.findOne(person.getId());
        }
    };
}

From source file:org.apache.karaf.webconsole.cxf.internal.services.DetailsPage.java

License:Apache License

@SuppressWarnings({ "serial", "rawtypes" })
public DetailsPage(PageParameters params) {
    String busId = params.get("busId").toString();

    final BusModel model = new BusModel(buses, busId);

    Bus object = model.getObject();/*from w  w w . j av a  2  s  .  co m*/

    add(new Link("traceOn") {
        @Override
        public void onClick() {
            Bus bus = model.getObject();

            Session.get().info("Trace enabled");
            bus.getInInterceptors().add(traceIn);
            bus.getOutInterceptors().add(traceOut);
        }
    });

    add(new Link("traceOff") {
        @Override
        public void onClick() {
            Bus bus = model.getObject();

            Session.get().info("Trace disabled");
            bus.getInInterceptors().remove(traceIn);
            bus.getOutInterceptors().remove(traceOut);
        }
    });

    ServerRegistry extension = object.getExtension(ServerRegistry.class);
    LoadableDetachableModel<List<Server>> serverModel = new LoadableDetachableModel<List<Server>>(
            extension.getServers()) {
        @Override
        protected List<Server> load() {
            return model.getObject().getExtension(ServerRegistry.class).getServers();
        }
    };

    add(new ListView<Server>("servers", serverModel) {
        @Override
        protected void populateItem(ListItem<Server> item) {
            Server server = item.getModelObject();

            item.add(new Label("class", server.getClass().getName()));

            item.add(new Link("stop") {
                @Override
                public void onClick() {
                    //server.stop();
                }
            });
            item.add(new Link("start") {
                @Override
                public void onClick() {
                    //server.start();
                }
            });

            ServiceInfo service = server.getEndpoint().getEndpointInfo().getService();
            item.add(new ListView<EndpointInfo>("endpoints",
                    new ArrayList<EndpointInfo>(service.getEndpoints())) {
                @Override
                protected void populateItem(ListItem<EndpointInfo> item) {
                    EndpointInfo endpointInfo = item.getModelObject();

                    item.add(new Label("namespace", endpointInfo.getName().getNamespaceURI()));
                    item.add(new Label("element", endpointInfo.getName().getLocalPart()));
                    item.add(new Label("transport", endpointInfo.getTransportId()));

                    item.add(new ListView<OperationInfo>("operations",
                            new ArrayList<OperationInfo>(endpointInfo.getInterface().getOperations())) {

                        @Override
                        protected void populateItem(ListItem<OperationInfo> item) {
                            OperationInfo operation = item.getModelObject();

                            item.add(new Label("input", "" + operation.getInput().getName()));
                            item.add(new Label("output", "" + operation.getOutput().getName()));
                            item.add(new Label("faults", "" + operation.getFaults()));
                        }

                    });
                }
            });

            Endpoint endpoint = server.getEndpoint();
            List<Interceptor<?>> inInterceptors = (List) endpoint.getInInterceptors();
            List<Interceptor<?>> outInterceptors = (List) endpoint.getOutInterceptors();
            List<Interceptor<?>> faultInterceptors = (List) endpoint.getInFaultInterceptors();

            item.add(new InterceptorView("in-interceptors", inInterceptors));
            item.add(new InterceptorView("out-interceptors", outInterceptors));
            item.add(new InterceptorView("fault-interceptors", faultInterceptors));
        }
    });
}

From source file:org.cipango.ims.hss.web.serviceprofile.ViewServiceProfilePage.java

License:Apache License

@SuppressWarnings("unchecked")
public ViewServiceProfilePage(PageParameters pageParameters) {
    super(pageParameters);
    _key = pageParameters.getString("id");
    ServiceProfile serviceProfile = null;
    if (_key != null) {
        serviceProfile = _dao.findById(_key);
        if (serviceProfile == null) {
            error(MapVariableInterpolator.interpolate(getString(getPrefix() + ".error.notFound"),
                    new MicroMap("identity", _key)));
            _key = null;/*from   ww w.  ja v  a  2s.c o m*/
        }
    }

    _title = getString("serviceProfile.edit.title", new DaoDetachableModel(serviceProfile));
    add(new Label("title", _title));

    IModel ifcsModel = new LoadableDetachableModel(
            serviceProfile == null ? Collections.EMPTY_SET : serviceProfile.getIfcs(false)) {
        @Override
        protected Object load() {
            return _dao.findById(_key).getIfcs(false);
        }

    };
    add(new RefreshingView("ifcs", ifcsModel) {
        @Override
        protected Iterator getItemModels() {
            return new CompoundModelIterator((Collection) getDefaultModelObject());
        }

        @Override
        protected void populateItem(Item item) {
            item.add(new ViewIfcPanel("ifc", item.getModel(), false));
        }
    });

    IModel sharedIfcsModel = new LoadableDetachableModel(
            serviceProfile == null ? Collections.EMPTY_SET : serviceProfile.getIfcs(true)) {
        @Override
        protected Object load() {
            return _dao.findById(_key).getIfcs(true);
        }

    };

    add(new RefreshingView("sharedIfcs", sharedIfcsModel) {
        @Override
        protected Iterator getItemModels() {
            return new CompoundModelIterator((Collection) getDefaultModelObject());
        }

        @Override
        protected void populateItem(Item item) {
            item.add(new ViewIfcPanel("ifc", item.getModel(), true));
        }
    });

    if (serviceProfile != null)
        setContextMenu(new ContextPanel(serviceProfile));
}

From source file:org.cipango.ims.hss.web.subscription.AddSubscriptionPage.java

License:Apache License

@SuppressWarnings("unchecked")
public AddSubscriptionPage() {
    super(null);/*from www .jav  a 2s  .  c  o m*/
    add(new Label("title", getTitle()));
    Form form = new Form("form");
    add(form);

    WebMarkupContainer privateId = new WebMarkupContainer("privateIdentity",
            new CompoundPropertyModel(new LoadableDetachableModel(new PrivateIdentity()) {
                @Override
                protected Object load() {
                    return new PrivateIdentity();
                }

            }));
    form.add(privateId);

    privateId.add(new RequiredTextField<String>("identity"));
    privateId.add(new RequiredTextField("passwordAsString", String.class));
    privateId.add(new RequiredTextField("operatorId", byte[].class).add(new AbstractValidator<byte[]>() {
        @Override
        protected void onValidate(IValidatable<byte[]> validatable) {
            if (validatable.getValue().length != 16)
                error(validatable, "validator.byteArray.length");
        }
    }));

    WebMarkupContainer publicId = new WebMarkupContainer("publicIdentity",
            new CompoundPropertyModel(new LoadableDetachableModel(new PublicUserIdentity()) {
                @Override
                protected Object load() {
                    return new PublicUserIdentity();
                }

            }));
    form.add(publicId);
    publicId.add(new RequiredTextField<String>("identity").add(new UriValidator()));
    publicId.add(new CheckBox("barred"));

    publicId.add(new DropDownChoice("identityType",
            Arrays.asList(new Short[] { IdentityType.PUBLIC_USER_IDENTITY, IdentityType.WILDCARDED_IMPU }),
            new ChoiceRenderer<Short>() {
                @Override
                public Object getDisplayValue(Short id) {
                    return IdentityType.toString(id);
                }

            }));
    publicId.add(new TextField("displayName", String.class));
    publicId.add(new DropDownChoice("serviceProfile", new LoadableDetachableModel() {

        @Override
        protected Object load() {
            return _serviceProfileDao.getAllServiceProfile();
        }

    }, new ChoiceRenderer<ServiceProfile>() {
        @Override
        public Object getDisplayValue(ServiceProfile profile) {
            return profile.getName();
        }

    }).setRequired(true));

    WebMarkupContainer subscriptionMarkup = new WebMarkupContainer("subscription",
            new CompoundPropertyModel(new LoadableDetachableModel() {
                @Override
                protected Object load() {
                    return new Subscription();
                }

            }));
    form.add(subscriptionMarkup);
    subscriptionMarkup.add(new RequiredTextField<String>("name"));

    form.add(new Button("ok") {
        @Override
        public void onSubmit() {
            Form form = getForm();
            try {
                Subscription subscription = (Subscription) form.get("subscription").getDefaultModelObject();

                PrivateIdentity privateIdentity = (PrivateIdentity) form.get("privateIdentity")
                        .getDefaultModelObject();
                privateIdentity.setSubscription(subscription);

                PublicUserIdentity publicIdentity = (PublicUserIdentity) form.get("publicIdentity")
                        .getDefaultModelObject();
                privateIdentity.addPublicId(publicIdentity);

                ImplicitRegistrationSet implicitRegistrationSet = new ImplicitRegistrationSet();
                _implicitRegistrationSetDao.save(implicitRegistrationSet);
                publicIdentity.setImplicitRegistrationSet(implicitRegistrationSet);

                _dao.saveWithCascade(subscription);

                getSession().info(getString("modification.success"));

                setResponsePage(ViewSubscriptionPage.class, new PageParameters("id=" + subscription.getName()));
            } catch (Exception e) {
                __log.debug("Unable to apply add subscription", e);
                getSession().error(getString(getPrefix() + ".error.duplicate"));
            }
        }
    });
    form.add(new Button("cancel") {
        @Override
        public void onSubmit() {
            getSession().info(getString("modification.cancel"));
            goToBackPage(SubscriptionBrowserPage.class);
        }
    }.setDefaultFormProcessing(false));

    form.add(new CheckBox("anotherUser", new Model<Boolean>()));
}

From source file:org.cipango.ims.hss.web.subscription.ViewSubscriptionPage.java

License:Apache License

@SuppressWarnings("unchecked")
public ViewSubscriptionPage(PageParameters pageParameters) {
    super(pageParameters);
    Subscription subscription = getSubscription(pageParameters);
    _key = (subscription == null) ? null : subscription.getName();

    _title = getString(getPrefix() + ".edit.title", new DaoDetachableModel(subscription));
    add(new Label("title", _title));

    IModel privateIdsModel = new LoadableDetachableModel(
            subscription == null ? Collections.EMPTY_SET : subscription.getPrivateIdentities()) {
        @Override/*  ww  w.ja va  2  s . com*/
        protected Object load() {
            return _dao.findById(_key).getPrivateIdentities();
        }

    };

    add(new SvgMarkupContainer("svg", subscription));

    add(new RefreshingView("privateIds", privateIdsModel) {

        @Override
        protected Iterator getItemModels() {
            return new CompoundModelIterator((Collection) getDefaultModelObject());
        }

        @Override
        protected void populateItem(Item item) {
            PrivateIdentity privateIdentity = (PrivateIdentity) item.getModelObject();
            MarkupContainer link = new BookmarkablePageLink("identityLink", EditPrivateIdPage.class,
                    new PageParameters("id=" + privateIdentity.getIdentity()));
            link.add(new Label("identity"));
            item.add(link);
            item.add(new Label("passwordAsString"));
            item.add(new Label("operatorId"));
            item.add(new Label("sqn"));

            item.add(new RefreshingView("publicIds", new Model((Serializable) privateIdentity.getPublicIds())) {

                @Override
                protected Iterator getItemModels() {
                    return new StringModelIterator(((Collection) getDefaultModelObject()));
                }

                @Override
                protected void populateItem(Item item2) {
                    MarkupContainer link = new BookmarkablePageLink("identity", EditPublicUserIdPage.class,
                            new PageParameters("id=" + item2.getModelObject()));
                    item2.add(link);
                    link.add(new Label("name", item2.getModel()));
                }
            });
            item.setOutputMarkupId(true);
            item.add(new HideableLink("hideLink", item));
        }

    });

    IModel publicsModel = new LoadableDetachableModel(
            subscription == null ? Collections.EMPTY_SET : subscription.getPublicIdentities()) {
        @Override
        protected Object load() {
            return _dao.findById(_key).getPublicIdentities();
        }

    };

    add(new RefreshingView("publicIds", publicsModel) {

        @Override
        protected Iterator getItemModels() {
            return new CompoundModelIterator((Collection) getDefaultModelObject());
        }

        @Override
        protected void populateItem(Item item) {
            PublicUserIdentity publicIdentity = (PublicUserIdentity) item.getModelObject();
            MarkupContainer link = new BookmarkablePageLink("identityLink", EditPublicUserIdPage.class,
                    new PageParameters("id=" + publicIdentity.getIdentity()));
            link.add(new Label("identity"));
            item.add(link);
            item.add(new Label("barred"));
            item.add(new Label("identityTypeAsString"));
            item.add(new Label("displayName"));
            item.add(new Label("implicitRegistrationSet.stateAsString"));
            MarkupContainer serviceProfileLink = new BookmarkablePageLink("serviceProfileLink",
                    ViewServiceProfilePage.class,
                    new PageParameters("id=" + publicIdentity.getServiceProfile().getName()));
            item.add(serviceProfileLink);
            serviceProfileLink.add(new Label("serviceProfile", publicIdentity.getServiceProfile().getName()));
            item.setOutputMarkupId(true);
            item.add(new HideableLink("hideLink", item));

            item.add(
                    new RefreshingView("privateIds", new Model((Serializable) publicIdentity.getPrivateIds())) {

                        @Override
                        protected Iterator getItemModels() {
                            return new StringModelIterator(((Collection) getDefaultModelObject()));
                        }

                        @Override
                        protected void populateItem(Item item2) {
                            MarkupContainer link = new BookmarkablePageLink("identity", EditPrivateIdPage.class,
                                    new PageParameters("id=" + item2.getModelObject()));
                            item2.add(link);
                            link.add(new Label("name", item2.getModel()));
                        }
                    });
        }

    });

    IModel scscfModel = new CompoundPropertyModel(
            new LoadableDetachableModel(subscription == null ? null : subscription.getScscf()) {
                @Override
                protected Object load() {
                    return _dao.findById(_key).getScscf();
                }
            });

    WebMarkupContainer scscf = new WebMarkupContainer("scscf", scscfModel);
    add(scscf);
    if (scscf.getDefaultModelObject() == null)
        scscf.setVisible(false);
    else {
        MarkupContainer link = new BookmarkablePageLink("link", EditScscfPage.class,
                new PageParameters("id=" + subscription.getScscf().getName()));
        link.add(new Label("name"));
        scscf.add(link);
        scscf.add(new Label("uri"));
        scscf.add(new HideableLink("hideLink", scscf));
    }

    if (subscription != null)
        setContextMenu(new ContextPanel(subscription));
}