1
2
3
4
5 package comum.util;
6
7 import gov.pr.celepar.sentinela.comunicacao.SentinelaParam;
8
9 import java.io.Serializable;
10 import java.util.ArrayList;
11 import java.util.HashMap;
12 import java.util.List;
13
14
15
16
17
18
19 public class ItemMenu implements Serializable{
20
21
22 private static final long serialVersionUID = 7212422172582344256L;
23 private static final int COMANDO = 0;
24 private static final int ITEM_MENU = 1;
25
26 private Integer codigo;
27 private int hierarquia;
28 private String nome;
29 private String descricao;
30 private String url;
31 private ItemMenu itemMenuPai;
32 private List<ItemMenu> itemMenuFilhos;
33 private boolean acessoPublico;
34 private boolean funcaoGenerica;
35
36
37
38
39
40
41
42
43
44
45
46 public ItemMenu(ItemMenu pai) {
47 setAcessoPublico(false);
48 setFuncaoGenerica(false);
49 setItemMenuPai(pai);
50 }
51
52
53
54
55
56
57
58
59
60
61
62
63 public ItemMenu(ItemMenu pai, Integer codigo, String nome, String url) {
64 setCodigo(codigo);
65 setHierarquia("".equals(url) ? ITEM_MENU : COMANDO);
66 setNome(nome);
67 setDescricao("");
68 setUrl(url);
69 setItemMenuPai(pai);
70 setItemMenuFilhos(new ArrayList<ItemMenu>());
71 setAcessoPublico(false);
72 setFuncaoGenerica(false);
73 }
74
75
76
77
78
79
80
81
82
83
84
85
86 public static List<ItemMenu> carregaMenu(SentinelaParam[] menuSentinela) {
87 HashMap<Integer, ItemMenu> tabela = new HashMap<Integer, ItemMenu>();
88 List<ItemMenu> lista = new ArrayList<ItemMenu>();
89
90 Integer codigo;
91 String nome;
92 String url;
93 Integer codigoPai;
94
95 for(int i = 0; i < menuSentinela.length; i++) {
96 long codAux = menuSentinela[i].getCodigo();
97
98 codigo = Integer.valueOf(Long.valueOf(codAux).intValue());
99
100 nome = menuSentinela[i].getNome();
101 url = menuSentinela[i].getParamAux()[0];
102 codigoPai = (menuSentinela[i].getParamAux()[1].trim().length() > 0) ?
103 Integer.valueOf(Integer.parseInt(menuSentinela[i].getParamAux()[1])) :
104 Integer.valueOf(0);
105
106 if(codigoPai.intValue() == 0) {
107 ItemMenu m = new ItemMenu(null, codigo, nome, url);
108
109 if (!tabela.containsKey(codigo))
110 tabela.put(codigo, m);
111 lista.add(m);
112 } else {
113
114 ItemMenu pai = (ItemMenu) tabela.get(codigoPai);
115
116 ItemMenu m = new ItemMenu(pai, codigo, nome, url);
117
118 pai.getItemMenuFilhos().add(m);
119
120
121 if(m.getHierarquia() == ITEM_MENU)
122 if (!tabela.containsKey(codigo))
123 tabela.put(codigo, m);
124 }
125 }
126 return lista;
127 }
128
129
130
131
132
133
134
135
136
137 public boolean isAcessoPublico() {
138 return acessoPublico;
139 }
140
141
142
143
144
145
146
147
148
149
150 public void setAcessoPublico(boolean acessoPublico) {
151 this.acessoPublico = acessoPublico;
152 }
153
154
155
156
157
158
159
160
161
162 public Integer getCodigo() {
163 return codigo;
164 }
165
166
167
168
169
170
171
172
173
174 public void setCodigo(Integer codigo) {
175 this.codigo = codigo;
176 }
177
178
179
180
181
182
183
184
185
186 public String getDescricao() {
187 return descricao;
188 }
189
190
191
192
193
194
195
196
197
198 public void setDescricao(String descricao) {
199 this.descricao = descricao;
200 }
201
202
203
204
205
206
207
208
209
210 public boolean isFuncaoGenerica() {
211 return funcaoGenerica;
212 }
213
214
215
216
217
218
219
220
221
222 public void setFuncaoGenerica(boolean funcaoGenerica) {
223 this.funcaoGenerica = funcaoGenerica;
224 }
225
226
227
228
229
230
231
232
233
234 public int getHierarquia() {
235 return hierarquia;
236 }
237
238
239
240
241
242
243
244
245
246 public void setHierarquia(int hierarquia) {
247 this.hierarquia = hierarquia;
248 }
249
250
251
252
253
254
255
256
257
258 public List<ItemMenu> getItemMenuFilhos() {
259 return itemMenuFilhos;
260 }
261
262
263
264
265
266
267
268
269
270 public void setItemMenuFilhos(List<ItemMenu> itemMenuFilhos) {
271 this.itemMenuFilhos = itemMenuFilhos;
272 }
273
274
275
276
277
278
279
280
281
282 public ItemMenu getItemMenuPai() {
283 return itemMenuPai;
284 }
285
286
287
288
289
290
291
292
293
294 public void setItemMenuPai(ItemMenu itemMenuPai) {
295 this.itemMenuPai = itemMenuPai;
296 }
297
298
299
300
301
302
303
304
305
306 public String getNome() {
307 return nome;
308 }
309
310
311
312
313
314
315
316
317
318 public void setNome(String nome) {
319 this.nome = nome;
320 }
321
322
323
324
325
326
327
328
329 public String getUrl() {
330 return url;
331 }
332
333
334
335
336
337
338
339
340 public void setUrl(String url) {
341 this.url = url;
342 }
343 }