Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.55 KB | None | 0 0
  1. import java.io.Serializable;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4.  
  5. import javax.faces.model.SelectItem;
  6. import javax.faces.view.ViewScoped;
  7. import javax.inject.Inject;
  8. import javax.inject.Named;
  9.  
  10. import com.sisRastrbov.model.Cidade;
  11. import com.sisRastrbov.model.Estado;
  12. import com.sisRastrbov.model.Usuario;
  13. import com.sisRastrbov.repository.CidadeRep;
  14. import com.sisRastrbov.repository.EstadosRep;
  15. import com.sisRastrbov.repository.UsuariosRep;
  16. import com.sisRastrbov.services.CadastroUsuarioService;
  17. import com.sisRastrbov.util.jsf.FacesUtil;
  18.  
  19. @Named
  20. @ViewScoped
  21. public class CadastroUsuarioBean implements Serializable {
  22.  
  23. private static final long serialVersionUID = 1L;
  24.  
  25. @Inject
  26. private UsuariosRep usuariosRep;
  27.  
  28. @Inject
  29. private EstadosRep estadosRep;
  30.  
  31. @Inject
  32. private CidadeRep cidadeRep;
  33.  
  34. @Inject
  35. private CadastroUsuarioService cadastroUsuarioService;
  36.  
  37. private Usuario usuario;
  38.  
  39. private Estado categoriaPai;
  40.  
  41. private Estado estado;
  42.  
  43. private Cidade cidade;
  44.  
  45. private String email;
  46.  
  47. private List<SelectItem> listEstados;
  48.  
  49. private List<SelectItem> listCidades;
  50.  
  51.  
  52. public CadastroUsuarioBean() {
  53. limpar();
  54. }
  55.  
  56. public boolean isEditando() {
  57. boolean resultado = false;
  58. if (this.usuario != null) {
  59. resultado = usuario.getId() != null;
  60. }
  61. return resultado;
  62. }
  63.  
  64.  
  65. public void inicializar() {
  66. listEstados = new ArrayList<SelectItem>();
  67.  
  68. List<Estado> estados = estadosRep.raizes();
  69.  
  70. for (Estado e : estados) {
  71. SelectItem item = new SelectItem();
  72. item.setLabel(e.getEstado_sigla());
  73. item.setValue(e);
  74. listEstados.add(item);
  75. }
  76.  
  77. if(!isEditando())
  78. {
  79. usuario.setStatus("Pendente");
  80. }
  81.  
  82. if (this.estado != null) {
  83. estados = estadosRep.raizes();
  84. }
  85. }
  86.  
  87. public void limpar() {
  88. usuario = new Usuario();
  89. listEstados = new ArrayList<SelectItem>();
  90. }
  91.  
  92. public void salvar() {
  93. if (usuariosRep.porCpf(this.usuario.getCpf()) != null){
  94. FacesUtil.addInfoMessage("Este CPF já existe!");
  95. }
  96. else if (usuariosRep.porEmail(this.usuario.getEmail()) != null){
  97. FacesUtil.addInfoMessage("Este email já existe!");
  98. }
  99. else{
  100. this.usuario = cadastroUsuarioService.salvar(this.usuario);
  101. limpar();
  102. FacesUtil.addInfoMessage("Cadastro de usuário efetuado com sucesso!");
  103. usuariosRep.InserirTabelaUsuarioGrupo(this.usuario.getId());
  104. }
  105. }
  106.  
  107. public void carregarCidades(){
  108. listCidades = new ArrayList<SelectItem>();
  109. List<Cidade> cidades = cidadeRep.cidadesDe(usuario.getEstado());
  110. for (Cidade c : cidades) {
  111. SelectItem item = new SelectItem();
  112. item.setLabel(c.getCidadeNome());
  113. item.setValue(c);
  114. listCidades.add(item);
  115. }
  116. }
  117.  
  118. public Usuario getUsuario() {
  119. return usuario;
  120. }
  121.  
  122. public void setUsuario(Usuario usuario) {
  123. this.usuario = usuario;
  124. }
  125.  
  126. public Estado getEstado() {
  127. return estado;
  128. }
  129.  
  130. public void setEstado(Estado estado) {
  131. this.estado = estado;
  132. }
  133.  
  134. public List<SelectItem> getListEstados() {
  135. return listEstados;
  136. }
  137.  
  138. public void setListEstados(List<SelectItem> listEstados) {
  139. this.listEstados = listEstados;
  140. }
  141.  
  142. public String getEmail() {
  143. return email;
  144. }
  145.  
  146. public void setEmail(String email) {
  147. this.email = email;
  148. }
  149.  
  150. public String register() {
  151. return "thanks?faces-redirect=true";
  152. }
  153.  
  154. public Estado getCategoriaPai() {
  155. return categoriaPai;
  156. }
  157.  
  158. public void setCategoriaPai(Estado categoriaPai) {
  159. this.categoriaPai = categoriaPai;
  160. }
  161.  
  162. public Cidade getCidade() {
  163. return cidade;
  164. }
  165.  
  166. public void setCidade(Cidade cidade) {
  167. this.cidade = cidade;
  168. }
  169.  
  170. public List<SelectItem> getListCidades() {
  171. return listCidades;
  172. }
  173.  
  174. public void setListCidades(List<SelectItem> listCidades) {
  175. this.listCidades = listCidades;
  176. }
  177.  
  178. public UsuariosRep getUsuariosRep() {
  179. return usuariosRep;
  180. }
  181.  
  182. public void setUsuariosRep(UsuariosRep usuariosRep) {
  183. this.usuariosRep = usuariosRep;
  184. }
  185.  
  186.  
  187. }
  188.  
  189. import java.io.Serializable;
  190.  
  191. import java.util.List;
  192.  
  193. import javax.inject.Inject;
  194. import javax.persistence.EntityManager;
  195. import javax.persistence.EntityTransaction;
  196. import javax.persistence.NoResultException;
  197. import javax.persistence.Query;
  198.  
  199. import org.hibernate.Criteria;
  200. import org.hibernate.Session;
  201. import org.hibernate.criterion.Order;
  202. import org.hibernate.criterion.Restrictions;
  203.  
  204. import com.sisRastrbov.model.Usuario;
  205. import com.sisRastrbov.repository.filter.UsuarioFilter;
  206.  
  207. public class UsuariosRep implements Serializable {
  208.  
  209. private static final long serialVersionUID = 1L;
  210. @Inject
  211. private EntityManager manager;
  212.  
  213. public Usuario guardar(Usuario usuario) {
  214.  
  215. EntityTransaction trx = manager.getTransaction();
  216.  
  217. trx.begin();
  218.  
  219. usuario = manager.merge(usuario);
  220.  
  221. trx.commit();
  222.  
  223. return usuario;
  224. }
  225.  
  226. public void InserirTabelaUsuarioGrupo(Long id){
  227. Query sql = null;
  228. sql = this.manager.createNativeQuery("Insert into usuario_grupo(usuario_id,grupo_id) values (" + "'"+id+"',1)");
  229. sql.executeUpdate();
  230. }
  231.  
  232. public Usuario porEmail(String email) {
  233. Usuario usuario = null;
  234.  
  235. try {
  236. usuario = this.manager.createQuery("from Usuario where lower(email) = :email", Usuario.class)
  237. .setParameter("email", email.toLowerCase()).getSingleResult();
  238. } catch (NoResultException e) {
  239. }
  240. return usuario;
  241. }
  242.  
  243. public Usuario porCpf(String cpf) {
  244. Usuario usuario = null;
  245.  
  246. try {
  247. usuario = this.manager.createQuery("from Usuario where cpf = :cpf", Usuario.class)
  248. .setParameter("cpf", cpf).getSingleResult();
  249. } catch (NoResultException e) {
  250. }
  251. return usuario;
  252. }
  253.  
  254. public Usuario porNome(String nome) {
  255. Usuario usuario = null;
  256.  
  257. try {
  258. usuario = this.manager.createQuery("from Usuario where lower(nome) = :nome", Usuario.class)
  259. .setParameter("nome", nome.toLowerCase()).getSingleResult();
  260. } catch (NoResultException e) {
  261. // Nenhum usuario encontrado com o nome informado.
  262. }
  263. return usuario;
  264. }
  265.  
  266. public Usuario porId(Long id) {
  267. return manager.find(Usuario.class, id);
  268. }
  269.  
  270. public List<Usuario> listaDeUsu() {
  271. return manager.createQuery("from Usuario", Usuario.class).getResultList();
  272. }
  273.  
  274. public List<Usuario> raizes() {
  275. return manager.createQuery("from Usuario", Usuario.class).getResultList();
  276. }
  277.  
  278. @SuppressWarnings("unchecked")
  279. public List<Usuario> filtrados(UsuarioFilter filtro) {
  280.  
  281. Session session = manager.unwrap(Session.class);
  282.  
  283. Criteria criteria = session.createCriteria(Usuario.class);
  284.  
  285. if (filtro.getNome() != "") {
  286. criteria.add(Restrictions.eq("nome", filtro.getNome()));
  287. }
  288.  
  289. if (filtro.getStatus() != null) {
  290.  
  291. criteria.add(Restrictions.eq("status", filtro.getStatus()));
  292. }
  293. // orderBy do SQL
  294. return criteria.addOrder(Order.asc("id")).list();
  295. }
  296.  
  297. public void remover(Usuario usuario) {
  298. this.manager.remove(usuario);
  299. EntityTransaction trx = manager.getTransaction();
  300. trx.begin();
  301. manager.flush();
  302. trx.commit();
  303. }
  304. }
  305.  
  306. <?xml version= "1.0" encoding = "UTF-8"?>
  307. <persistence xmlns="http://java.sun.com/xml/ns/persistence"
  308. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  309. xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
  310. version="2.0">
  311.  
  312.  
  313. <persistence-unit name="PropriedadePU">
  314. <!-- classe que fornece a implementação do banco de dados -->
  315. <provider>org.hibernate.ejb.HibernatePersistence</provider>
  316.  
  317. <properties>
  318. <!-- padrao para endereço do banco (documentacao do driver postgree) -->
  319. <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/rast_bd_j"/>
  320. <property name="javax.persistence.jdbc.user" value="rast_bd_user"/>
  321. <property name="javax.persistence.jdbc.password" value=""/>
  322. <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
  323.  
  324. <property name="hibernate.hbm2ddl.auto" value="none"/>
  325. <property name="hibernate.show_sql" value="true"/>
  326. <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
  327. <!--CORRIGE ERRO HIBERNATE4 COM POSTGRESQL9 - ISSUE: HHH000424 -->
  328. <property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
  329. </properties>
  330.  
  331. </persistence-unit>
  332. </persistence>
  333.  
  334. <beans:beans xmlns="http://www.springframework.org/schema/security"
  335. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  336. xmlns:beans="http://www.springframework.org/schema/beans"
  337. xsi:schemaLocation="http://www.springframework.org/schema/beans
  338. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  339. http://www.springframework.org/schema/security
  340. http://www.springframework.org/schema/security/spring-security-3.1.xsd">
  341.  
  342. <beans:bean id="appUserDetailsService"
  343. class="com.sisRastrbov.security.AppUserDetailsService" />
  344.  
  345. <http pattern="/Login.xhtml" security="none" />
  346. <http pattern="/Erro.xhtml" security="none" />
  347. <http pattern="/Main.xhtml" security="none" />
  348. <http pattern="/javax.faces.resource/**" security="none" />
  349.  
  350. <http auto-config="false" use-expressions="true">
  351. <intercept-url pattern="/gado/**" access="hasAnyRole('ADMINISTRADORES')" />
  352. <intercept-url pattern="/usuario/**" access="hasAnyRole('ADMINISTRADORES','FUNCIONARIOS')" />
  353. <intercept-url pattern="/tag/**" access="hasAnyRole('ADMINISTRADORES','FUNCIONARIOS')" />
  354. <intercept-url pattern="/propriedade/**" access="hasAnyRole('ADMINISTRADORES','FUNCIONARIOS')" />
  355. <intercept-url pattern="/MinhasProp.xhtml" access="hasAnyRole('ADMINISTRADORES','FUNCIONARIOS')" />
  356. <intercept-url pattern="/area/**" access="hasAnyRole('ADMINISTRADORES','FUNCIONARIOS')" />
  357. <intercept-url pattern="/Home.xhtml" access="isAuthenticated()" />
  358. <intercept-url pattern="/Main.xhtml" access="isAuthenticated()" />
  359.  
  360. <intercept-url pattern="/**" access="denyAll" />
  361.  
  362. <form-login login-page="/Main.xhtml" default-target-url="/Home.xhtml" always-use-default-target="true" authentication-failure-url="/Main.xhtml?invalid=true"/>
  363. <logout logout-url="/j_spring_security_logout" invalidate-session="true"/>
  364. </http>
  365.  
  366.  
  367. <authentication-manager>
  368. <authentication-provider user-service-ref="appUserDetailsService">
  369. <!-- <password-encoder hash=""/> -->
  370. </authentication-provider>
  371. </authentication-manager>
  372.  
  373. </beans:beans>
  374.  
  375. public void InserirTabelaUsuarioGrupo(Long id){
  376. EntityTransaction trx = this.manager.getTransaction();
  377. Query sql = null;
  378. trx.begin();
  379. sql = this.manager.createNativeQuery("Insert into usuario_grupo(usuario_id,grupo_id) values (" + "'"+id+"',1)");
  380. sql.executeUpdate();
  381. trx.commit();
  382. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement