Advertisement
Guest User

Untitled

a guest
Sep 10th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.78 KB | None | 0 0
  1. package controlers;
  2.  
  3. import hibernate.Korisnik;
  4. import hibernate.KorisnikModel;
  5. import java.util.Date;
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8. import javax.inject.Named;
  9. import javax.enterprise.context.RequestScoped;
  10. import javax.validation.constraints.*;
  11.  
  12. /**
  13. *
  14. * @author vidojezeljic
  15. */
  16. @Named(value = "korisnikRequestController")
  17. @RequestScoped
  18. public class KorisnikRequestController {
  19.  
  20. private Integer id_korisnik;
  21. @Size(min = 1, message = "Korisnicko ime je obavezno!")
  22. private String username;
  23. @Size(min = 1, message = "Sifra je obavezna!")
  24. private String password;
  25. @Size(min = 1, message = "Korisnicko ime je obavezno!")
  26. private String usernamePS;
  27. @Size(min = 1, message = "Sifra je obavezna!")
  28. private String passwordPS;
  29. @Size(min = 1, message = "Sifra je obavezna!")
  30. private String password2;
  31. @Size(min = 1, message = "Potvrda sifre je obavezna!")
  32. private String password_conf;
  33. @Size(min = 1, message = "Izaberite vrstu!")
  34. private String vrsta;
  35. @Size(min = 1, message = "Ime je obavezno!")
  36. private String ime;
  37. @Size(min = 1, message = "Prezime je obavezno!")
  38. private String prezime;
  39. @Size(min = 1, message = "Email je obavezan!")
  40. private String email;
  41. private Date datum_rodjenja;
  42. private long godine;
  43. @Size(min = 1, message = "Pol je obavezan!")
  44. private String pol;
  45. private Integer validan_nalog;
  46. private KorisnikModel korisnik_model = new KorisnikModel();
  47. private static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
  48. private static final Pattern VALID_PASSWORD_REGEX = Pattern.compile("^(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$&`])(?=.*[a-z].*[a-z].*[a-z])(?=[a-zA-Z])(?=.{8,10}$)((.)\\2?(?!\\2))+$");
  49. private String porukaRegistrovanje;
  50. private String porukaPromenaSifre;
  51. private Boolean error;
  52.  
  53. public KorisnikRequestController() {
  54. }
  55.  
  56. public Integer getId_korisnik() {
  57. return id_korisnik;
  58. }
  59.  
  60. public void setId_korisnik(int id_korisnik) {
  61. this.id_korisnik = id_korisnik;
  62. }
  63.  
  64. public String getUsername() {
  65. return username;
  66. }
  67.  
  68. public void setUsername(String username) {
  69. this.username = username;
  70. }
  71.  
  72. public String getPassword() {
  73. return password;
  74. }
  75.  
  76. public void setPassword(String password) {
  77. this.password = password;
  78. }
  79.  
  80. public String getUsernamePS() {
  81. return usernamePS;
  82. }
  83.  
  84. public void setUsernamePS(String usernamePS) {
  85. this.usernamePS = usernamePS;
  86. }
  87.  
  88. public String getPasswordPS() {
  89. return passwordPS;
  90. }
  91.  
  92. public void setPasswordPS(String passwordPS) {
  93. this.passwordPS = passwordPS;
  94. }
  95.  
  96. public String getPassword2() {
  97. return password2;
  98. }
  99.  
  100. public void setPassword2(String password2) {
  101. this.password2 = password2;
  102. }
  103.  
  104. public String getPassword_conf() {
  105. return password_conf;
  106. }
  107.  
  108. public void setPassword_conf(String password_conf) {
  109. this.password_conf = password_conf;
  110. }
  111.  
  112. public Date getDatum_rodjenja() {
  113. return datum_rodjenja;
  114. }
  115.  
  116. public void setDatum_rodjenja(Date datum_rodjenja) {
  117. this.datum_rodjenja = datum_rodjenja;
  118. }
  119.  
  120. public Integer getValidan_nalog() {
  121. return validan_nalog;
  122. }
  123.  
  124. public void setValidan_nalog(Integer validan_nalog) {
  125. this.validan_nalog = validan_nalog;
  126. }
  127.  
  128. public KorisnikModel getKorisnik_model() {
  129. return korisnik_model;
  130. }
  131.  
  132. public void setKorisnik_model(KorisnikModel korisnik_model) {
  133. this.korisnik_model = korisnik_model;
  134. }
  135.  
  136. public String getVrsta() {
  137. return vrsta;
  138. }
  139.  
  140. public void setVrsta(String vrsta) {
  141. this.vrsta = vrsta;
  142. }
  143.  
  144. public String getIme() {
  145. return ime;
  146. }
  147.  
  148. public void setIme(String ime) {
  149. this.ime = ime;
  150. }
  151.  
  152. public String getPrezime() {
  153. return prezime;
  154. }
  155.  
  156. public void setPrezime(String prezime) {
  157. this.prezime = prezime;
  158. }
  159.  
  160. public String getEmail() {
  161. return email;
  162. }
  163.  
  164. public void setEmail(String email) {
  165. this.email = email;
  166. }
  167.  
  168. public String getPol() {
  169. return pol;
  170. }
  171.  
  172. public void setPol(String pol) {
  173. this.pol = pol;
  174. }
  175.  
  176. public String getPorukaRegistrovanje() {
  177. return porukaRegistrovanje;
  178. }
  179.  
  180. public void setPorukaRegistrovanje(String porukaRegistrovanje) {
  181. this.porukaRegistrovanje = porukaRegistrovanje;
  182. }
  183.  
  184. public String getPorukaPromenaSifre() {
  185. return porukaPromenaSifre;
  186. }
  187.  
  188. public void setPorukaPromenaSifre(String porukaPromenaSifre) {
  189. this.porukaPromenaSifre = porukaPromenaSifre;
  190. }
  191.  
  192. public Boolean getError() {
  193. return error;
  194. }
  195.  
  196. public void setError(Boolean error) {
  197. this.error = error;
  198. }
  199.  
  200. public long getGodine() {
  201. return godine;
  202. }
  203.  
  204. public void setGodine(long godine) {
  205. this.godine = godine;
  206. }
  207.  
  208. public String registrovanje() {
  209. if(!proveraKorisnickogImena(username)){
  210. porukaRegistrovanje = "Korisnicko ime vec postoji u sistemu!";
  211. error = true;
  212. return "index?faces-redirect=true";
  213. }
  214.  
  215. if(!proveraSifreFormat(password)){
  216. porukaRegistrovanje = new String("Sifra nije u odgovarajucem formatu!");
  217. error = true;
  218. return "index";
  219. }
  220.  
  221. if(!proveraSifri1_2(password, password_conf)){
  222. porukaRegistrovanje = new String("Greska prilikom potvrde sifre!");
  223. error = true;
  224. return "index";
  225. }
  226.  
  227. if(!proveraEmailFormat(email)){
  228. porukaRegistrovanje = new String("Email nije u odgovarajucem formatu!");
  229. error = true;
  230. return "index";
  231. }
  232.  
  233. if(!proveraEmail(email)){
  234. porukaRegistrovanje = new String("Uneti email vec postoji u sistemu!");
  235. error = true;
  236. return "index";
  237. }
  238.  
  239. godine = new Date().getTime() - datum_rodjenja.getTime();
  240. godine = godine/1000/60/60/24/365;
  241.  
  242. if(godine < 18){
  243. porukaRegistrovanje = new String("Morate imati 18!");
  244. error = true;
  245. return "index";
  246. }
  247.  
  248. Korisnik k = new Korisnik();
  249. k.setUsername(username);
  250. k.setPassword(password);
  251. k.setVrsta(vrsta);
  252. k.setIme(ime);
  253. k.setPrezime(prezime);
  254. k.setEmail(email);
  255. k.setDatumRodjenja(datum_rodjenja);
  256. k.setPol(pol);
  257. k.setValidanNalog(0);
  258. korisnik_model.napraviKorisnika(k);
  259.  
  260. return "index?faces-redirect=true";
  261. }
  262.  
  263. private boolean proveraKorisnickogImena(String username) {
  264. Korisnik k = korisnik_model.dohvatiKorisnika(username);
  265. if(k != null) return false;
  266. return true;
  267. }
  268.  
  269. private boolean proveraSifreFormat(String password) {
  270. Matcher matcher = VALID_PASSWORD_REGEX.matcher(password);
  271. if (matcher.find()) return true;
  272. return false;
  273. }
  274.  
  275. private boolean proveraSifri1_2(String password1, String password2) {
  276. if (password1.equals(password2)) return true;
  277. return false;
  278. }
  279.  
  280. private boolean proveraEmailFormat(String email) {
  281. Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(email);
  282. if (matcher.find()) return true;
  283. return false;
  284. }
  285.  
  286. private boolean proveraEmail(String email) {
  287. Korisnik k = korisnik_model.dohvatiKorisnikaEmail(email);
  288. if(k != null) return false;
  289. return true;
  290. }
  291.  
  292. public String promenaSifre() {
  293. Korisnik k = korisnik_model.dohvatiKorisnika(usernamePS);
  294. if(k == null){
  295. porukaPromenaSifre = "Pogresno korisnicko ime!";
  296. error = true;
  297.  
  298. return "index?faces-redirect=true";
  299. }
  300. if(!passwordPS.equals(k.getPassword())){
  301. porukaPromenaSifre = "Pogresna sifra!";
  302. error = true;
  303. return "index?faces-redirect=true";
  304. }
  305. if(!proveraSifreFormat(password2)){
  306. porukaPromenaSifre = new String("Nova sifra nije u odgovarajucem formatu!");
  307. error = true;
  308. return "index?faces-redirect=true";
  309. }
  310. if (!korisnik_model.promeniSifru(usernamePS, password2)) {
  311. porukaPromenaSifre = "Greska prilikom promene sire!";
  312. }
  313. return "index?faces-redirect=true";
  314. }
  315.  
  316. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement