PageRenderTime 26ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/Lib/Acesso/src/Acesso/Controladora/Acesso.java

https://bitbucket.org/AndreHallwas/es-sgcp
Java | 336 lines | 265 code | 46 blank | 25 comment | 53 complexity | ae1aea64b85ffd9cee7ccf883a1b04a2 MD5 | raw file
  1. package Acesso.Controladora;
  2. /*
  3. * To change this license header, choose License Headers in Project Properties.
  4. * To change this template file, choose Tools | Templates
  5. * and open the template in the editor.
  6. */
  7. import Acesso.Entidade.Componente;
  8. import Acesso.Entidade.Grupodeacesso;
  9. import Acesso.Entidade.Permissaocomponente;
  10. import Acesso.Entidade.Permissaodeacesso;
  11. import java.util.ArrayList;
  12. import java.util.Collection;
  13. import java.util.function.Consumer;
  14. import javafx.scene.control.ComboBox;
  15. import javafx.scene.control.TextArea;
  16. import javafx.scene.control.TextField;
  17. import javafx.scene.control.ToggleButton;
  18. /**
  19. *
  20. * @author Raizen
  21. */
  22. public class Acesso {
  23. private static Acesso acesso;
  24. public static Acesso create() {
  25. if (acesso == null) {
  26. acesso = new Acesso();
  27. }
  28. return acesso;
  29. }
  30. public static void setCampos(Object Grupo, TextField txbNome, TextArea taDescricao, TextField txbIDGrupo, TextField txbIDPermissao) {
  31. Grupodeacesso oGrupo = (Grupodeacesso) Grupo;
  32. txbNome.setText(oGrupo.getGrupoNome());
  33. taDescricao.setText(oGrupo.getGrupoDescricao());
  34. txbIDGrupo.setText(Integer.toString(oGrupo.getGrupoId()));
  35. txbIDPermissao.setText(Integer.toString(oGrupo.getPermacessoId().getPermacessoId()));
  36. /////tgbVisivel tgbVisivel.setSelected((p.getVisivel() == '1'));
  37. }
  38. public static ArrayList<Object> setComponentes(Object Grupo, ComboBox<Object> cbComponentes) {
  39. Grupodeacesso oGrupo = (Grupodeacesso) Grupo;
  40. Collection<Permissaocomponente> Permissaoc = oGrupo.getPermacessoId().getPermissaocomponenteCollection();
  41. ArrayList<Permissaocomponente> PermissaoC = new ArrayList();
  42. for (Permissaocomponente permissaocomponente : Permissaoc) {
  43. PermissaoC.add(permissaocomponente);
  44. }
  45. ArrayList<Object> componentes = new ArrayList();
  46. PermissaoC.forEach(new ConsumerImpl(componentes));
  47. cbComponentes.getItems().clear();
  48. cbComponentes.getItems().addAll(componentes);
  49. return componentes;
  50. }
  51. public static ArrayList<Object> getComponentes(Object Grupo) {
  52. Grupodeacesso oGrupo = (Grupodeacesso) Grupo;
  53. Collection<Permissaocomponente> Permissaoc = oGrupo.getPermacessoId().getPermissaocomponenteCollection();
  54. ArrayList<Permissaocomponente> PermissaoC = new ArrayList();
  55. for (Permissaocomponente permissaocomponente : Permissaoc) {
  56. PermissaoC.add(permissaocomponente);
  57. }
  58. ArrayList<Object> componentes = new ArrayList();
  59. PermissaoC.forEach(new ConsumerImpl(componentes));
  60. return componentes;
  61. }
  62. private String Mensagem;
  63. private Acesso() {
  64. }
  65. public static void setCampos() {
  66. }
  67. private CtrlGrupodeacesso ac;
  68. private CtrlComponente cc;
  69. private CtrlPermissaodeacesso pa;
  70. private CtrlPermissaocomponente pc;
  71. private ArrayList<Componente> Componentes;
  72. public ArrayList<Object> PesquisarGrupo(String Filtro) {
  73. ac = CtrlGrupodeacesso.create();
  74. return ac.Pesquisar(Filtro);
  75. }
  76. public ArrayList<Object> PesquisarComponente(String Filtro) {
  77. cc = CtrlComponente.create();
  78. return cc.Pesquisar(Filtro);
  79. }
  80. public void addComponente(Componente componente) {
  81. if (Componentes == null) {
  82. Componentes = new ArrayList();
  83. }
  84. Componentes.add(componente);
  85. }
  86. public boolean RegistraComponentes() {
  87. boolean flag = true;
  88. cc = CtrlComponente.create();
  89. if (Componentes != null) {
  90. Componente oComponente;
  91. for (int i = 0; i < Componentes.size(); i++) {
  92. oComponente = Componentes.get(i);
  93. oComponente.Constroi();
  94. ArrayList<Object> osComponentes = cc.Pesquisar(oComponente.getComponenteId());
  95. if (!osComponentes.isEmpty()) {
  96. flag = flag && cc.Alterar(osComponentes.get(0), oComponente.getComponenteId(),
  97. oComponente.getComponenteDescricao()) != null;
  98. } else {
  99. flag = flag && cc.Salvar(oComponente.getComponenteId(),
  100. oComponente.getComponenteDescricao()) != null;
  101. }
  102. }
  103. }
  104. return flag;
  105. }
  106. protected boolean Erase_Componentes() {
  107. /*int Lin = Transaction.getEntityManager().createQuery("delete from Componente").executeUpdate();
  108. return Lin > 0;*/
  109. return true;
  110. }
  111. public boolean RegistraGrupo(String Nome, String Descricao, ArrayList<Object> Componentes) {
  112. boolean flag = true;
  113. ac = CtrlGrupodeacesso.create();
  114. pa = CtrlPermissaodeacesso.create();
  115. Grupodeacesso Gacesso = new Grupodeacesso(Nome, Descricao);
  116. Permissaodeacesso Pacesso = new Permissaodeacesso(Descricao);
  117. Gacesso.setPermacessoId(Pacesso);
  118. ArrayList<Permissaocomponente> Permissoes = new ArrayList();
  119. Permissaocomponente permissaocomponente;
  120. for (int i = 0; i < Componentes.size(); i++) {
  121. permissaocomponente = new Permissaocomponente();
  122. permissaocomponente.setComponenteId((Componente) Componentes.get(i));
  123. permissaocomponente.setPermacessoId(Pacesso);
  124. Permissoes.add(permissaocomponente);
  125. }
  126. Pacesso.setPermissaocomponenteCollection(Permissoes);
  127. Mensagem = (Gacesso = (Grupodeacesso) ac.Salvar(Gacesso)) != null
  128. ? "Salvo com Sucesso!"
  129. : "Erro ao Salvar:Acesso:211!";
  130. return Gacesso != null;
  131. }
  132. public boolean ModificarGrupo(String ID, String Nome, String Descricao, Object Permissao,
  133. ArrayList<Object> Componentes) {
  134. boolean flag = true;
  135. if (Permissao != null) {
  136. ac = CtrlGrupodeacesso.create();
  137. pa = CtrlPermissaodeacesso.create();
  138. pc = CtrlPermissaocomponente.create();
  139. if (Permissao instanceof String) {
  140. ArrayList<Object> AuxPermissao = pa.Pesquisar((String) Permissao);
  141. if (AuxPermissao != null && !AuxPermissao.isEmpty()) {
  142. Permissao = AuxPermissao.get(0);
  143. }
  144. }
  145. Grupodeacesso grupo = null;
  146. ArrayList<Object> AuxGrupo = ac.Pesquisar((String) ID);
  147. if (AuxGrupo != null && !AuxGrupo.isEmpty()) {
  148. grupo = (Grupodeacesso) AuxGrupo.get(0);
  149. }
  150. Permissaodeacesso permissaodeacesso;
  151. Permissaocomponente permissaocomponente;
  152. if (Componentes != null && grupo != null && grupo.getPermacessoId() != null) {
  153. permissaodeacesso = grupo.getPermacessoId();
  154. Collection<Permissaocomponente> Permissaoc = permissaodeacesso.getPermissaocomponenteCollection();
  155. ArrayList<Permissaocomponente> aPermissaocomponente = new ArrayList();
  156. for (Permissaocomponente permissaocomponentes : Permissaoc) {
  157. aPermissaocomponente.add(permissaocomponentes);
  158. }
  159. ArrayList<Permissaocomponente> Adicionados = new ArrayList();
  160. ArrayList<Permissaocomponente> NaoModificados = new ArrayList();
  161. ArrayList<Permissaocomponente> Removidos = new ArrayList();
  162. Removidos.addAll(aPermissaocomponente);
  163. for (Object oComponente : Componentes) {
  164. int i = 0;
  165. while (i < aPermissaocomponente.size() && !ComparaComponente(oComponente,
  166. aPermissaocomponente.get(i).getComponenteId())) {
  167. i++;
  168. }
  169. if (i < aPermissaocomponente.size()) {
  170. NaoModificados.add(aPermissaocomponente.get(i));
  171. Removidos.remove(aPermissaocomponente.get(i));
  172. } else {
  173. permissaocomponente = new Permissaocomponente();
  174. permissaocomponente.setComponenteId((Componente) oComponente);
  175. permissaocomponente.setPermacessoId(permissaodeacesso);
  176. Adicionados.add(permissaocomponente);
  177. }
  178. }
  179. /*for (Permissaocomponente Removido : Removidos) {
  180. flag = flag && pc.Remover(Removido.getPermcompId());
  181. }
  182. for (Permissaocomponente Adicionado : Adicionados) {
  183. flag = flag && pc.Salvar(Adicionado.getComponenteId(), Adicionado.getPermacessoId()) != null;
  184. }*/
  185. permissaodeacesso.setPermissaocomponenteCollection(new ArrayList());
  186. permissaodeacesso.getPermissaocomponenteCollection().addAll(NaoModificados);
  187. permissaodeacesso.getPermissaocomponenteCollection().addAll(Adicionados);
  188. grupo.setPermacessoId(permissaodeacesso);
  189. grupo.setGrupoNome(Nome);
  190. grupo.setGrupoDescricao(Descricao);
  191. Mensagem = (grupo = (Grupodeacesso) ac.Alterar(grupo)) != null
  192. ? "Alterado com Sucesso!"
  193. : "Erro ao Alterar:Acesso:211!";
  194. }
  195. return flag;
  196. }
  197. return false;
  198. }
  199. protected boolean SalvarGrupo(String Nome, String Descricao, Object Permissao) {
  200. ac = CtrlGrupodeacesso.create();
  201. return ac.Salvar(Nome, Descricao, Permissao) != null;
  202. }
  203. public boolean AlterarGrupo(Object oGrupo, String ID, String Nome, String Descricao, Object Permissao) {
  204. ac = CtrlGrupodeacesso.create();
  205. return ac.Alterar(oGrupo, Integer.parseInt(ID), Nome, Descricao, Permissao) != null;
  206. }
  207. public boolean RemoverGrupo(String ID) {
  208. ac = CtrlGrupodeacesso.create();
  209. return ac.Remover(Integer.parseInt(ID));
  210. }
  211. public boolean RemoverGrupo(Object Grupo) {
  212. if (Grupo != null && Grupo instanceof Grupodeacesso) {
  213. return ac.Remover(((Grupodeacesso) Grupo).getGrupoId());
  214. }
  215. return false;
  216. }
  217. public boolean SalvarComponente(String ID_Componente, String Descricao_Componente) {
  218. cc = CtrlComponente.create();
  219. return cc.Salvar(ID_Componente, Descricao_Componente) != null;
  220. }
  221. public boolean AlterarComponente(Object oComponente, String ID_Componente, String Descricao_Componente) {
  222. cc = CtrlComponente.create();
  223. return cc.Alterar(oComponente, ID_Componente, Descricao_Componente) != null;
  224. }
  225. public boolean RemoverComponente(String ID_Componente) {
  226. cc = CtrlComponente.create();
  227. return cc.Remover(ID_Componente);
  228. }
  229. protected boolean SalvarPermissaodeacesso(String Detalhes) {
  230. pa = CtrlPermissaodeacesso.create();
  231. return pa.Salvar(Detalhes) != null;
  232. }
  233. public boolean AlterarPermissaodeacesso(Object aPermissaodeacesso, String ID, String Detalhes) {
  234. pa = CtrlPermissaodeacesso.create();
  235. return pa.Alterar(aPermissaodeacesso, Integer.parseInt(ID), Detalhes) != null;
  236. }
  237. public boolean RemoverPermissaodeacesso(String ID) {
  238. pa = CtrlPermissaodeacesso.create();
  239. return pa.Remover(Integer.parseInt(ID));
  240. }
  241. protected boolean SalvarPermissaocomponente(Object Permissao, Componente componente) {
  242. pc = CtrlPermissaocomponente.create();
  243. return pc.Salvar(componente, Permissao) != null;
  244. }
  245. public boolean AlterarPermissaocomponente(Object aPermissaocomponente, Integer Id, String Permissao, Componente componente) {
  246. pc = CtrlPermissaocomponente.create();
  247. return pc.Alterar(aPermissaocomponente, Id, componente, Permissao) != null;
  248. }
  249. public boolean RemoverPermissaocomponente(Integer Id) {
  250. pc = CtrlPermissaocomponente.create();
  251. return pc.Remover(Id);
  252. }
  253. public ArrayList<Object> PesquisarPermissaodeacesso(String Filtro) {
  254. pa = CtrlPermissaodeacesso.create();
  255. return pa.Pesquisar(Filtro);
  256. }
  257. public ArrayList<String> PesquisarComponentePorID(String Filtro) {
  258. cc = CtrlComponente.create();
  259. ArrayList<Object> osComponentes = cc.Pesquisar(Filtro);
  260. ArrayList<String> Nomes = new ArrayList();
  261. osComponentes.forEach((oComponente) -> {
  262. Nomes.add(((Componente) oComponente).getComponenteId());
  263. });
  264. return Nomes;
  265. }
  266. /**
  267. * True is Equal
  268. *
  269. * @param componente1
  270. * @param componente2
  271. * @return
  272. */
  273. public boolean ComparaComponente(Object componente1, Object componente2) {
  274. return ((Componente) componente1).getComponenteId().
  275. equalsIgnoreCase(((Componente) componente2).getComponenteId());
  276. }
  277. public String getMsg() {
  278. return Mensagem != null && !Mensagem.trim().isEmpty() ? Mensagem : "Realizado";
  279. }
  280. private static class ConsumerImpl implements Consumer<Permissaocomponente> {
  281. private final ArrayList<Object> componentes;
  282. public ConsumerImpl(ArrayList<Object> componentes) {
  283. this.componentes = componentes;
  284. }
  285. @Override
  286. public void accept(Permissaocomponente permissaoComponente) {
  287. componentes.add(permissaoComponente.getComponenteId());
  288. }
  289. }
  290. }