Commit 6e907d2a8f722396608f46b0c3835ac574c70789
Exists in
master
Merge pull request #5 from reinaldoc/master
Melhoria do processo de deleção de registros
Showing
2 changed files
with
28 additions
and
1 deletions
Show diff stats
impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java
@@ -37,6 +37,7 @@ | @@ -37,6 +37,7 @@ | ||
37 | package br.gov.frameworkdemoiselle.template; | 37 | package br.gov.frameworkdemoiselle.template; |
38 | 38 | ||
39 | import java.util.List; | 39 | import java.util.List; |
40 | +import java.util.ListIterator; | ||
40 | 41 | ||
41 | import br.gov.frameworkdemoiselle.transaction.Transactional; | 42 | import br.gov.frameworkdemoiselle.transaction.Transactional; |
42 | import br.gov.frameworkdemoiselle.util.Beans; | 43 | import br.gov.frameworkdemoiselle.util.Beans; |
@@ -56,6 +57,14 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -56,6 +57,14 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
56 | this.getDelegate().delete(id); | 57 | this.getDelegate().delete(id); |
57 | } | 58 | } |
58 | 59 | ||
60 | + @Transactional | ||
61 | + public void delete(final List<I> idList) { | ||
62 | + ListIterator<I> iter = idList.listIterator(); | ||
63 | + while (iter.hasNext()) { | ||
64 | + this.delete(iter.next()); | ||
65 | + } | ||
66 | + } | ||
67 | + | ||
59 | @Override | 68 | @Override |
60 | public List<T> findAll() { | 69 | public List<T> findAll() { |
61 | return getDelegate().findAll(); | 70 | return getDelegate().findAll(); |
@@ -91,5 +100,5 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | @@ -91,5 +100,5 @@ public class DelegateCrud<T, I, C extends Crud<T, I>> implements Crud<T, I> { | ||
91 | public void update(final T bean) { | 100 | public void update(final T bean) { |
92 | getDelegate().update(bean); | 101 | getDelegate().update(bean); |
93 | } | 102 | } |
94 | - | 103 | + |
95 | } | 104 | } |
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/template/AbstractListPageBean.java
@@ -36,7 +36,9 @@ | @@ -36,7 +36,9 @@ | ||
36 | */ | 36 | */ |
37 | package br.gov.frameworkdemoiselle.template; | 37 | package br.gov.frameworkdemoiselle.template; |
38 | 38 | ||
39 | +import java.util.ArrayList; | ||
39 | import java.util.HashMap; | 40 | import java.util.HashMap; |
41 | +import java.util.Iterator; | ||
40 | import java.util.List; | 42 | import java.util.List; |
41 | import java.util.Map; | 43 | import java.util.Map; |
42 | 44 | ||
@@ -111,6 +113,22 @@ public abstract class AbstractListPageBean<T, I> extends AbstractPageBean implem | @@ -111,6 +113,22 @@ public abstract class AbstractListPageBean<T, I> extends AbstractPageBean implem | ||
111 | this.selection = selection; | 113 | this.selection = selection; |
112 | } | 114 | } |
113 | 115 | ||
116 | + public void clearSelection() { | ||
117 | + this.selection = new HashMap<I, Boolean>(); | ||
118 | + } | ||
119 | + | ||
120 | + public List<I> getSelectedList() { | ||
121 | + List<I> selectedList = new ArrayList<I>(); | ||
122 | + Iterator<I> iter = getSelection().keySet().iterator(); | ||
123 | + while (iter.hasNext()) { | ||
124 | + I id = iter.next(); | ||
125 | + if (getSelection().get(id)) { | ||
126 | + selectedList.add(id); | ||
127 | + } | ||
128 | + } | ||
129 | + return selectedList; | ||
130 | + } | ||
131 | + | ||
114 | public Pagination getPagination() { | 132 | public Pagination getPagination() { |
115 | return paginationContext.getPagination(getBeanClass(), true); | 133 | return paginationContext.getPagination(getBeanClass(), true); |
116 | } | 134 | } |