List of usage examples for org.apache.wicket.model LoadableDetachableModel LoadableDetachableModel
public LoadableDetachableModel()
From source file:abid.password.wicket.pages.LoginPage.java
License:Apache License
public LoginPage() { LoginPanel loginPanel = new LoginPanel("loginPanel"); add(loginPanel);/*from ww w . j a v a 2 s .com*/ LoadableDetachableModel<List<User>> usersModel = new LoadableDetachableModel<List<User>>() { private static final long serialVersionUID = 1L; @Override protected List<User> load() { return userService.getUsers(); } }; PageableListView<User> dataList = new PageableListView<User>("usersList", usersModel, 100) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<User> item) { final User data = item.getModelObject(); Label userLabel = new Label("userLabel", data.getUsername()); Label passLabel = new Label("passLabel", data.getPassword()); try { Password password = new MutablePasswordParser().parse(data.getPassword()); if (password instanceof MutablePassword) { MutablePassword mutablePassword = (MutablePassword) password; String evalatedPassword = mutablePassword.getEvaluatedPassword(); passLabel = new Label("passLabel", evalatedPassword); } } catch (Exception e) { log.error("Could not create the mutable password", e); } item.add(userLabel); item.add(passLabel); } }; int refreshTime = 3; final WebMarkupContainer usersContainer = new WebMarkupContainer("usersContainer"); usersContainer.setOutputMarkupId(true); usersContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(refreshTime))); usersContainer.add(dataList); String refreshInformation = String.format("Password refreshes every %s seconds.", refreshTime); String javascriptDisabledMsg = "Javascript is disabled you will need to refresh the page manually."; AjaxFallbackLabel refreshLabel = new AjaxFallbackLabel("refreshInformation", refreshInformation, javascriptDisabledMsg); add(usersContainer); add(refreshLabel); }
From source file:abid.password.wicket.pages.UsersPage.java
License:Apache License
public UsersPage() { LoadableDetachableModel<List<User>> usersModel = new LoadableDetachableModel<List<User>>() { private static final long serialVersionUID = 1L; @Override// w ww . j ava 2 s.co m protected List<User> load() { return userService.getUsers(); } }; PageableListView<User> dataList = new PageableListView<User>("usersList", usersModel, 100) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<User> item) { final User data = item.getModelObject(); Label userLabel = new Label("userLabel", data.getUsername()); Label passLabel = new Label("passLabel", data.getPassword()); try { Password password = new MutablePasswordParser().parse(data.getPassword()); if (password instanceof MutablePassword) { MutablePassword mutablePassword = (MutablePassword) password; String evalatedPassword = mutablePassword.getEvaluatedPassword(); passLabel = new Label("passLabel", evalatedPassword); } } catch (Exception e) { log.error("Could not create the mutable password", e); } item.add(userLabel); item.add(passLabel); } }; int refreshTime = 3; final WebMarkupContainer dataContainer = new WebMarkupContainer("dataContainer"); dataContainer.setOutputMarkupId(true); dataContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(refreshTime))); dataContainer.add(dataList); String refreshInformation = String.format("Password refreshes every %s seconds.", refreshTime); String javascriptDisabledMsg = "Javascript is disabled you will need to refresh the page manually."; AjaxFallbackLabel refreshInfoLabel = new AjaxFallbackLabel("refreshInformation", refreshInformation, javascriptDisabledMsg); add(dataContainer); add(refreshInfoLabel); }
From source file:almira.sample.web.model.AbstractCachingDataProvider.java
License:Apache License
@Override public final IModel<T> model(final T object) { return new LoadableDetachableModel<T>() { @Override/*from w ww. ja v a2 s . co m*/ protected T load() { return service.load(object.getId()); } }; }
From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timecontroller.MultipleProjectsView.java
License:Apache License
@SuppressWarnings("unchecked") public MultipleProjectsView() { // add form to page form = new Form<Object>("multipleProjectsForm"); form.setOutputMarkupId(true);/*from w w w .java 2 s .c om*/ add(form); // load projects from db projectList = new ListMultipleChoice("projectSelection", new PropertyModel(this, "selectedProjects"), new LoadableDetachableModel() { @Override protected Object load() { return new ArrayList<String>(); } }); projectList.setOutputMarkupId(true); // load users from db tcList = new ListMultipleChoice("timeConsumerSelection", new PropertyModel(this, "selectedUsers"), new LoadableDetachableModel() { @Override protected Object load() { return new ArrayList<String>(); } }); tcList.setOutputMarkupId(true); loadTiTAProjects(); form.add(tcList); form.add(projectList); // set select options selectedTimespan = new SelectOption("overall", "Overall"); ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key"); SelectOption[] options = new SelectOption[] { new SelectOption("day", "Daily"), new SelectOption("month", "Monthly"), new SelectOption("overall", "Overall") }; ddTimeSpan = new DropDownChoice<SelectOption>("timeSpanSelection", new PropertyModel<SelectOption>(this, "selectedTimespan"), Arrays.asList(options), choiceRenderer); ddTimeSpan.setOutputMarkupId(true); form.add(ddTimeSpan); // add pdf button final Button btnShowAsPDF = new Button("btnShowPDF") { @Override public void onSubmit() { try { loadReport(); ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget( pdfResource.getResourceStream()); rsrtarget.setFileName(pdfResource.getFilename()); RequestCycle.get().setRequestTarget(rsrtarget); } catch (JRException e) { // TODO: GUI Exception Handling log.error(e.getMessage()); } catch (PersistenceException e) { // TODO: GUI Exception Handling log.error(e.getMessage()); } } @Override public boolean isEnabled() { return mpem.getRowCount() == 0 ? false : true; } }; form.add(btnShowAsPDF); // add ajax buttons form.add(new AjaxButton("btnShowEfforts", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { loadMultipleProjectEvaluation(); target.addComponent(table); target.addComponent(btnShowAsPDF); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); form.add(new AjaxButton("btnResetLists", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { projectList.getModel().setObject(new ArrayList<String>()); tcList.getModel().setObject(new ArrayList<String>()); ddTimeSpan.getModel().setObject(new SelectOption("overall", "Overall")); mpem.setColumnNames(new String[] {}); mpem.reload(new ArrayList<UserProjectEffort>()); target.addComponent(table); target.addComponent(projectList); target.addComponent(tcList); target.addComponent(ddTimeSpan); target.addComponent(btnShowAsPDF); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); form.add(new AjaxButton("btnLoadUsers", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { loadTiTAUsers(); target.addComponent(tcList); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); form.add(new AjaxButton("btnRefreshProjects", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { loadTiTAProjects(); target.addComponent(projectList); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); mpem = new TableModelMultipleProjectsEvaluation(new ArrayList<UserProjectEffort>(), new String[] {}); table = new Table("evaluationTable", mpem); table.setRowsPerPage(EffortUtils.ROWS_PER_PAGE); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); table.setWidths(new String[] { "100", "100", "100", "100", "100", "100" }); form.add(table.getRowsAjaxPagingNavigator("rowsPaging")); form.add(table); }
From source file:at.molindo.esi4j.example.web.HomePage.java
License:Apache License
public HomePage() { add(new UrlSubmissionForm("urlForm")); _searchModel = new AbstractReadOnlyModel<Search>() { private final Search _search = new Search(); @Override/* ww w . j a va2 s .c om*/ public Search getObject() { return _search; } }; _searchResponseModel = new LoadableDetachableModel<ListenableActionFuture<SearchResponseWrapper>>() { @Override protected ListenableActionFuture<SearchResponseWrapper> load() { Search search = _searchModel.getObject(); return _searchService.search(search.getQuery(), search.getCategories()); } }; IModel<List<SearchHitWrapper>> articlesModel = new AbstractReadOnlyModel<List<SearchHitWrapper>>() { @Override public List<SearchHitWrapper> getObject() { return _searchResponseModel.getObject().actionGet().getSearchHits(); } }; IModel<List<? extends TermsFacet.Entry>> facetsModel = new AbstractReadOnlyModel<List<? extends TermsFacet.Entry>>() { @Override public List<? extends TermsFacet.Entry> getObject() { Facets facets = _searchResponseModel.getObject().actionGet().getSearchResponse().getFacets(); if (facets == null) { return Collections.emptyList(); } TermsFacet facet = (TermsFacet) facets.facet("categories"); if (facet == null) { return Collections.emptyList(); } return facet.getEntries(); } }; add(new TextField<String>("search", new PropertyModel<String>(_searchModel, "query")) .add(new OnChangeUpdateSearchBehavior())); // category select add(_facetsContainer = new CheckGroup<String>("facetsContainer")); _facetsContainer.setOutputMarkupId(true).setRenderBodyOnly(false); _facetsContainer.add(new ListView<TermsFacet.Entry>("categoryFacets", facetsModel) { @Override protected IModel<TermsFacet.Entry> getListItemModel( IModel<? extends List<TermsFacet.Entry>> listViewModel, int index) { return new CompoundPropertyModel<TermsFacet.Entry>(super.getListItemModel(listViewModel, index)); } @Override protected void populateItem(final ListItem<Entry> item) { CheckBox box; item.add(box = new CheckBox("check", new IModel<Boolean>() { @Override public Boolean getObject() { return _searchModel.getObject().getCategories().contains(item.getModelObject().getTerm()); } @Override public void setObject(Boolean checked) { List<String> categories = _searchModel.getObject().getCategories(); String category = item.getModelObject().getTerm().string(); if (Boolean.TRUE.equals(checked)) { categories.add(category); } else { categories.remove(category); } } @Override public void detach() { } })); box.add(new OnChangeUpdateSearchBehavior()); item.add(new SimpleFormComponentLabel("term", box.setLabel(new PropertyModel<String>(item.getModel(), "term")))); item.add(new Label("count")); } }); // search results add(_container = new WebMarkupContainer("container")); _container.setOutputMarkupId(true); _container.add(new Label("query", _searchModel.getObject().getQuery())); _container.add(new ListView<SearchHitWrapper>("result", articlesModel) { @Override protected IModel<SearchHitWrapper> getListItemModel( IModel<? extends List<SearchHitWrapper>> listViewModel, int index) { return new CompoundPropertyModel<SearchHitWrapper>(super.getListItemModel(listViewModel, index)); } @Override protected void populateItem(final ListItem<SearchHitWrapper> item) { item.add(new Label("object.subject")); item.add(new Label("object.date")); item.add(new Label("object.body", new AbstractReadOnlyModel<String>() { @Override public String getObject() { SearchHitWrapper wrapper = item.getModelObject(); HighlightField field = wrapper.getSearchHit().getHighlightFields().get("body"); if (field == null) { return wrapper.getObject(Article.class).getBody(); } Object[] fragments = field.getFragments(); if (fragments == null) { return wrapper.getObject(Article.class).getBody(); } return StringUtils.join(" ... ", fragments); } })); item.add(new ExternalLink("link", new PropertyModel<String>(item.getModel(), "object.url"))); item.add(new ListView<String>("categories", new PropertyModel<List<String>>(item.getModel(), "object.categories")) { @Override protected void populateItem(ListItem<String> item) { item.add(new Label("name", item.getModel())); } }); } }); add(new IndicatingAjaxLink<Void>("rebuild") { @Override public void onClick(AjaxRequestTarget target) { _searchService.rebuild(); updateSearch(target); } }); add(new IndicatingAjaxLink<Void>("delete") { @Override public void onClick(AjaxRequestTarget target) { _articleService.deleteArticles(); _searchService.refresh(); updateSearch(target); } }); }
From source file:au.org.theark.admin.web.component.function.FunctionContainerPanel.java
License:Open Source License
@SuppressWarnings({ "unchecked", "serial" })
private void initialiseDataView() {
// Data provider to paginate resultList
dataProvider = new ArkDataProvider<ArkFunction, IAdminService>(iAdminService) {
public int size() {
return (int) service.getArkFunctionCount(model.getObject());
}//from ww w . ja v a2 s .c om
public Iterator<ArkFunction> iterator(int first, int count) {
List<ArkFunction> listCollection = new ArrayList<ArkFunction>();
if (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.SEARCH)) {
listCollection = service.searchPageableArkFunctions(model.getObject(), first, count);
}
return listCollection.iterator();
}
};
// Set the criteria into the data provider's model
dataProvider.setModel(new LoadableDetachableModel<ArkFunction>() {
@Override
protected ArkFunction load() {
return cpModel.getObject().getArkFunction();
}
});
}
From source file:au.org.theark.admin.web.component.module.ModuleContainerPanel.java
License:Open Source License
@SuppressWarnings({ "unchecked", "serial" })
private void initialiseDataView() {
// Data provider to paginate resultList
dataProvider = new ArkDataProvider<ArkModule, IAdminService>(iAdminService) {
public int size() {
return (int) service.getArkModuleCount(model.getObject());
}//from www. j av a 2 s .c o m
public Iterator<ArkModule> iterator(int first, int count) {
List<ArkModule> listCollection = new ArrayList<ArkModule>();
if (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.SEARCH)) {
listCollection = service.searchPageableArkModules(model.getObject(), first, count);
}
return listCollection.iterator();
}
};
// Set the criteria into the data provider's model
dataProvider.setModel(new LoadableDetachableModel<ArkModule>() {
@Override
protected ArkModule load() {
return cpModel.getObject().getArkModule();
}
});
}
From source file:au.org.theark.admin.web.component.modulefunction.ModuleFunctionContainerPanel.java
License:Open Source License
@SuppressWarnings({ "unchecked", "serial" })
private void initialiseDataView() {
// Data provider to paginate resultList
dataProvider = new ArkDataProvider<ArkModuleFunction, IAdminService>(iAdminService) {
public int size() {
return (int) service.getArkModuleFunctionCount(model.getObject());
}//w w w . ja v a2s .c om
public Iterator<ArkModuleFunction> iterator(int first, int count) {
List<ArkModuleFunction> listCollection = new ArrayList<ArkModuleFunction>();
if (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.SEARCH)) {
listCollection = service.searchPageableArkModuleFunctions(model.getObject(), first, count);
}
return listCollection.iterator();
}
};
// Set the criteria into the data provider's model
dataProvider.setModel(new LoadableDetachableModel<ArkModuleFunction>() {
@Override
protected ArkModuleFunction load() {
return cpModel.getObject().getArkModuleFunction();
}
});
}
From source file:au.org.theark.admin.web.component.modulerole.ModuleRoleContainerPanel.java
License:Open Source License
@SuppressWarnings({ "unchecked", "serial" })
private void initialiseDataView() {
// Data provider to paginate resultList
dataProvider = new ArkDataProvider<ArkModuleRole, IAdminService>(iAdminService) {
public int size() {
return (int) service.getArkModuleRoleCount(model.getObject());
}//ww w. j av a2 s . c o m
public Iterator<ArkModuleRole> iterator(int first, int count) {
List<ArkModuleRole> listCollection = new ArrayList<ArkModuleRole>();
if (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.SEARCH)) {
listCollection = service.searchPageableArkModuleRoles(model.getObject(), first, count);
}
return listCollection.iterator();
}
};
// Set the criteria into the data provider's model
dataProvider.setModel(new LoadableDetachableModel<ArkModuleRole>() {
@Override
protected ArkModuleRole load() {
return cpModel.getObject().getArkModuleRole();
}
});
}
From source file:au.org.theark.admin.web.component.role.RoleContainerPanel.java
License:Open Source License
@SuppressWarnings({ "unchecked", "serial" })
private void initialiseDataView() {
// Data provider to paginate resultList
dataProvider = new ArkDataProvider<ArkRole, IAdminService>(iAdminService) {
public int size() {
return (int) service.getArkRoleCount(model.getObject());
}//from ww w. j av a 2 s. c o m
public Iterator<ArkRole> iterator(int first, int count) {
List<ArkRole> listCollection = new ArrayList<ArkRole>();
if (ArkPermissionHelper.isActionPermitted(au.org.theark.core.Constants.SEARCH)) {
listCollection = service.searchPageableArkRoles(model.getObject(), first, count);
}
return listCollection.iterator();
}
};
// Set the criteria into the data provider's model
dataProvider.setModel(new LoadableDetachableModel<ArkRole>() {
@Override
protected ArkRole load() {
return cpModel.getObject().getArkRole();
}
});
}