Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hu.xxx.ddc.components;
- import hu.xxx.ddc.main.CheckBoxPanel;
- import hu.xxx.ddc.main.DDCWebSession;
- import hu.xxx.ddc.main.DependenciesPanel;
- import hu.xxx.ddc.model.DdcPDeps;
- import hu.xxx.ddc.model.DdcPDepsPK;
- import hu.xxx.ddc.model.DdcPObjects;
- import hu.xxx.ddc.services.DdcCustomBo;
- import java.sql.Timestamp;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import org.apache.log4j.Logger;
- import org.apache.wicket.AttributeModifier;
- import org.apache.wicket.ajax.AjaxRequestTarget;
- import org.apache.wicket.ajax.markup.html.form.AjaxButton;
- import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
- import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
- import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
- import org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar;
- import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
- import org.apache.wicket.extensions.markup.html.repeater.data.table.NavigationToolbar;
- import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
- import org.apache.wicket.markup.html.WebMarkupContainer;
- import org.apache.wicket.markup.html.basic.Label;
- import org.apache.wicket.markup.html.form.CheckGroup;
- import org.apache.wicket.markup.html.form.CheckGroupSelector;
- import org.apache.wicket.markup.html.form.Form;
- import org.apache.wicket.markup.html.form.TextField;
- import org.apache.wicket.markup.html.panel.FeedbackPanel;
- import org.apache.wicket.markup.repeater.Item;
- import org.apache.wicket.markup.repeater.OddEvenItem;
- import org.apache.wicket.model.IModel;
- import org.apache.wicket.model.LoadableDetachableModel;
- import org.apache.wicket.model.PropertyModel;
- import org.apache.wicket.model.ResourceModel;
- import org.apache.wicket.spring.injection.annot.SpringBean;
- /**
- *
- * @author sfeher
- */
- public class DdcPDepsEditForm extends Form {
- @SpringBean(name = "DdcCustomBo")
- private DdcCustomBo customBo;
- static final Logger logger = Logger.getLogger(DdcPDepsEditForm.class);
- WebMarkupContainer container;
- Map reltypemap = customBo.getFparamMap(3);
- String search;
- private transient DdcPObjects filterObject = new DdcPObjects();
- List<DdcPObjects> selected = new ArrayList();
- LoadableDetachableModel model;
- DependenciesPanel deppanel;
- public List<DdcPObjects> getSelected() {
- return selected;
- }
- public void setSelected(List<DdcPObjects> selected) {
- this.selected = selected;
- }
- DataTable table;
- CheckGroup group;
- public String getSearch() {
- return search;
- }
- public void setSearch(String search) {
- this.search = search;
- }
- public DdcPDepsEditForm(String id, final IModel model, WebMarkupContainer c) {
- super(id);
- this.model = new LoadableDetachableModel() {
- @Override
- protected Object load() {
- return model.getObject();
- }
- };
- this.container = c;
- Populate();
- }
- private void Populate() {
- deppanel = new DependenciesPanel("dependencies", model, container);
- setOutputMarkupId(true);
- add(deppanel);
- add(new FeedbackPanel("feedback"));
- Label pidlabel = new Label("searchboxtitle", new ResourceModel("deptable.name"));
- add(pidlabel);
- TextField searchbox = new TextField("search", new PropertyModel(this, "search"));
- AjaxButton submit = new AjaxButton("submit") {
- @Override
- protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
- ShowResults(search);
- target.add(container);
- }
- @Override
- protected void onError(AjaxRequestTarget target, Form<?> form) {
- super.onError();
- target.add(container);
- }
- };
- submit.add(new Label("searchlabel", new ResourceModel("deptable.search")));
- add(submit);
- add(searchbox);
- initResultsTable(); // init
- }
- private void ShowResults(String search) {
- filterObject.setPName(search);
- group.add(table);
- if (table.getItemCount() != 0) {
- table.setVisible(true);
- } else {
- table.setVisible(false);
- }
- }
- private void PersistSelectedItems() {
- group.getDefaultModelObjectAsString();
- Iterator i = selected.iterator();
- while (i.hasNext()) {
- DdcPObjects o = (DdcPObjects) i.next();
- DdcPDeps item = new DdcPDeps();
- item.setCrd(now());
- DdcPDepsPK pk = new DdcPDepsPK();
- pk.setPId1(((DdcPObjects) model.getObject()).getPId());
- pk.setPId2(o.getPId());
- item.setDdcPDepsPK(pk);
- item.setPRelType("P");
- item.setCru(DDCWebSession.getSession().getUser().getLoginName());
- customBo.getDaoSession().beginTransaction();
- customBo.saveOrUpdate(item);
- customBo.getDaoSession().getTransaction().commit();
- }
- }
- private void initResultsTable() {
- group = new CheckGroup<DdcPObjects>("group", selected);
- group.add(new CheckGroupSelector("groupselector"));
- List<IColumn<DdcPObjects, ?>> columns = new ArrayList<IColumn<DdcPObjects, ?>>();
- columns.add(new AbstractColumn(new ResourceModel("checkbox")) {
- @Override
- public void populateItem(Item item, String string, IModel imodel) {
- item.add(new CheckBoxPanel(string, imodel, group));
- }
- });
- columns.add(new PropertyColumn<DdcPObjects, Object>(new ResourceModel("pobjectstable.pid"), "pId", "pId"));
- columns.add(new PropertyColumn<DdcPObjects, Object>(new ResourceModel("pobjectstable.pname"), "pName", "pName"));
- columns.add(new PropertyColumn<DdcPObjects, Object>(new ResourceModel("pobjectstable.pdesc"), "pDesc", "pDesc"));
- DdcPObjectsDataProvider dataprovider = new DdcPObjectsDataProvider(customBo, filterObject, (DdcPObjects) model.getObject());
- table = new DataTable("resultstable", columns, dataprovider, 15) {
- @Override
- protected Item newRowItem(String id, int index, IModel model) {
- return new OddEvenItem(id, index, model);
- }
- };
- dataprovider.setSort("pName", SortOrder.ASCENDING);
- table.addTopToolbar(new HeadersToolbar(table, dataprovider));
- NavigationToolbar tb = new NavigationToolbar(table);
- tb.add(new AttributeModifier("class", "navbar"));
- table.addBottomToolbar(tb);
- table.setVisible(false);
- table.setOutputMarkupPlaceholderTag(true);
- group.add(table);
- AjaxButton addselecteditems = new AjaxButton("addselected") {
- @Override
- protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
- super.onSubmit(target, form);
- filterObject = new DdcPObjects();
- PersistSelectedItems();
- table.setVisible(false);
- search = null;
- target.add(container);
- target.add(deppanel);
- }
- };
- add(addselecteditems);
- add(group);
- }
- private static Timestamp now() {
- java.util.Date date = new java.util.Date();
- return new Timestamp(date.getTime());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment