View difference between Paste ID: fyfum0hp and bC1KLngm
SHOW: | | - or go back to the newest paste.
1-
package hu.bluesystem.ddc.main;
1+
package hu.xxx.ddc.main;
2
3-
import hu.bluesystem.ddc.components.DdcPDepsDataProvider;
3+
import hu.xxx.ddc.components.DdcPDepsDataProvider;
4-
import hu.bluesystem.ddc.model.DdcPDeps;
4+
import hu.xxx.ddc.model.DdcPDeps;
5-
import hu.bluesystem.ddc.services.DdcCustomBo;
5+
import hu.xxx.ddc.services.DdcCustomBo;
6
import java.util.ArrayList;
7
import java.util.List;
8
import org.apache.log4j.Logger;
9
import org.apache.wicket.ajax.AjaxRequestTarget;
10
import org.apache.wicket.ajax.markup.html.AjaxLink;
11
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
12
import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
13
import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
14
import org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar;
15
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
16
import org.apache.wicket.extensions.markup.html.repeater.data.table.NavigationToolbar;
17
import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
18
import org.apache.wicket.markup.html.WebMarkupContainer;
19
import org.apache.wicket.markup.html.basic.Label;
20
import org.apache.wicket.markup.html.panel.Panel;
21
import org.apache.wicket.markup.repeater.Item;
22
import org.apache.wicket.markup.repeater.OddEvenItem;
23
import org.apache.wicket.model.IModel;
24
import org.apache.wicket.model.LoadableDetachableModel;
25
import org.apache.wicket.model.ResourceModel;
26
import org.apache.wicket.spring.injection.annot.SpringBean;
27
28
/**
29
 *
30
 * @author sfeher
31
 */
32
public final class DependenciesPanel extends Panel {
33
34
    @SpringBean(name = "DdcCustomBo")
35
    private DdcCustomBo customBo;
36
    static final Logger logger = Logger.getLogger(DependenciesPanel.class);
37
    LoadableDetachableModel model;
38
    WebMarkupContainer cont;
39
40
    public DependenciesPanel(String id,final IModel m,WebMarkupContainer c) {
41
        super(id);
42
        this.model=new LoadableDetachableModel() {
43
44
            @Override
45
            protected Object load() {
46
                return m.getObject();
47
            }
48
        };
49
        this.cont=c;
50
        Populate();
51
    }
52
53
    class ActionPanel extends Panel {
54
         
55
        public ActionPanel(String id, IModel<?> model) {
56
            super(id, model);            
57
            addControls(model);
58
        }
59
        private void addControls(final IModel model) {
60
            add(new AjaxLink("deletelink") {
61
62
                @Override
63
                public void onClick(AjaxRequestTarget art) {
64
                    customBo.getDaoSession().beginTransaction();
65
                    customBo.delete(model.getObject());
66
                    customBo.getDaoSession().getTransaction().commit();
67
                    art.add(cont);        
68
                }
69
            });
70
        }
71
        
72
    }
73
    
74
    private void Populate() {
75
        //cont = new WebMarkupContainer("container");
76
        setOutputMarkupId(true);
77
        List<IColumn<DdcPDeps, ?>> columns = new ArrayList<IColumn<DdcPDeps, ?>>();
78
        DdcPDepsDataProvider dataprovider = new DdcPDepsDataProvider(customBo, new DdcPDeps());
79
        Label title=new Label("ptitle",new ResourceModel("deptable.reltype"));
80
        add(title);
81
        columns.add(new PropertyColumn<DdcPDeps,String>(new ResourceModel("deptable.reltype"),"pRelType","pRelType"));        
82
        columns.add(new PropertyColumn<DdcPDeps,String>(new ResourceModel("deptable.id"),"ddcPDepsPK.pId2","ddcPDepsPK.pId2"));        
83
        columns.add(new PropertyColumn<DdcPDeps,String>(new ResourceModel("deptable.name"),"ddcPObjects.pName","ddcPObjects.pName"));        
84
        columns.add(new PropertyColumn<DdcPDeps,String>(new ResourceModel("deptable.pdesc"),"ddcPObjects.pDesc","ddcPObjects.pDesc"));        
85
        columns.add(new AbstractColumn(new ResourceModel("deptable.action")) {
86
            @Override
87
            public void populateItem(Item item, String string, IModel imodel) {
88
                item.add(new ActionPanel(string, imodel));                
89
            }
90
        });        
91
        final DataTable table = new DataTable("datatable", columns, dataprovider, 24) {
92
            @Override
93
            protected Item newRowItem(String id, int index, IModel model) {
94
                return new OddEvenItem(id, index, model);
95
            }
96
        };
97
        table.setOutputMarkupId(true);
98
        dataprovider.setSort("ddcPDepsPK.pId2", SortOrder.ASCENDING);
99
        table.addTopToolbar(new HeadersToolbar(table, dataprovider));
100
        table.addBottomToolbar(new NavigationToolbar(table));
101
        add(table);        
102
103
    }
104
}