package it.acxent.face.fr; import it.acxent.common.Parm; import it.acxent.db.ApplParmFull; import it.acxent.db.WcString; import it.acxent.face.api.vision.GoogleVisionApi; import it.acxent.util.StringTokenizer; import it.acxent.util.Vectumerator; import java.io.File; import java.sql.PreparedStatement; public class Users extends it.acxent.anag.Users { public Users() {} public Users(ApplParmFull newApplParmFull) { super(newApplParmFull); } public void initApplicationParms(ApplParmFull ap) { if (ap != null) { super.initApplicationParms(ap); String l_tipoParm = ""; Parm bean = new Parm(ap); l_tipoParm = "FACE-FR"; bean.findByCodice("path_opencv_lib"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("path_opencv_lib"); bean.setDescrizione("path_opencv_lib"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/usr/local/Cellar/opencv/4.8.1_1/share/java/opencv4/libopencv_java481.dylib"); bean.setNota("PERCORSO LIBRERIA NATIVA OPENCV
MAC: /usr/local/Cellar/opencv/4.8.1_1/share/java/opencv4/libopencv_java481.dylib
ubuntu: /home/ocv/build/lib/libopencv_java480.so"); bean.save(); bean.findByCodice("path_img_base"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("path_img_base"); bean.setDescrizione("path_img_base"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/img/"); bean.setNota("PERCORSO MEMORIZZAZIONI IMMAGINI CHE ARRIVANO
/Users/acolzi/Downloads/_ocv/img/"); bean.save(); File dirFace = new File(bean.getTesto() + "_face/"); if (!dirFace.exists()) dirFace.mkdirs(); File dirFaceRecognition = new File(bean.getTesto() + "_faceRecognition/"); if (!dirFaceRecognition.exists()) dirFaceRecognition.mkdirs(); bean.findByCodice("path_img_tmp"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("path_img_tmp"); bean.setDescrizione("path_img_tmp"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/_tmp/"); bean.setNota("PERCORSO MEMORIZZAZIONI TEMPORANEO IMMAGINI
/Users/acolzi/Downloads/_ocv/_tmp/ /mnt/foto/_ocv/_tmp/"); bean.save(); File dirTmp = new File(bean.getTesto()); if (!dirTmp.exists()) dirTmp.mkdirs(); bean.findByCodice("PATH_FACE_TRAINING_MODELS"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("PATH_FACE_TRAINING_MODELS"); bean.setDescrizione("PATH_FACE_TRAINING_MODELS"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/models/training/"); bean.setNota("PERCORSO DOVE MEMORIZZO I TRAINIG MODELS
/Users/acolzi/Downloads/_ocv/models/training/"); bean.save(); File dirTM = new File(bean.getTesto()); if (!dirTM.exists()) dirTM.mkdirs(); bean.findByCodice("NUMBER_BOX_DECT_CONFIG"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("NUMBER_BOX_DECT_CONFIG"); bean.setDescrizione("NUMBER_BOX_DECT_CONFIG"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/models/detection.cfg"); bean.setNota("DETECTION CONFIG PER BOX PETTORALI
/Users/acolzi/Downloads/_ocv/models/detection.cfg"); bean.save(); bean.findByCodice("NUMBER_BOX_DECT_MODEL"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("NUMBER_BOX_DECT_MODEL"); bean.setDescrizione("NUMBER_BOX_DECT_MODEL"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/models/detection.weights"); bean.setNota("DETECTION MODEL PER BOX PETTORALI
/Users/acolzi/Downloads/_ocv/models/detection.weights"); bean.save(); bean.findByCodice("NUMBER_RECOG_CONFIG"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("NUMBER_RECOG_CONFIG"); bean.setDescrizione("NUMBER_RECOG_CONFIG"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/models/recognition.cfg"); bean.setNota("RECOGNITION CONFIG PER IMMAGINE CON SOLO NUMERI
/Users/acolzi/Downloads/_ocv/models/recognition.cfg"); bean.save(); bean.findByCodice("NUMBER_RECOG_MODEL"); bean.setFlgAdmin(1L); bean.setTipoParm(l_tipoParm); bean.setCodice("NUMBER_RECOG_MODEL"); bean.setDescrizione("NUMBER_RECOG_MODEL"); bean.setFlgTipo(0L); if (bean.getTesto().isEmpty()) bean.setTesto("/Users/acolzi/Downloads/_ocv/models/recognition.weights"); bean.setNota("RECOGNITION MODEL PER IMMAGINE CON SOLO NUMERI
/Users/acolzi/Downloads/_ocv/models/recognition.weights"); bean.save(); GoogleVisionApi.initApplicationParms(ap); } } public Vectumerator findByCR(UsersCR CR, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* from USERS AS A"; WcString wc = new WcString(); wc.addWc("dataFineVld is null"); wc = managePolicyFind(CR, wc); if (!CR.isCode1()) wc.addWc("A.id_users <>1"); if (!CR.getFlgValido().isEmpty()) wc.addWc("A.flgValido='" + CR.getFlgValido() + "'"); if (!CR.getSearchTxt().trim().isEmpty()) { String temp = CR.getSearchTxt().trim().replace("*", "%"); StringTokenizer st = new StringTokenizer(temp, " "); StringBuffer txt = new StringBuffer("("); int countToken = 0; while (st.hasMoreTokens()) { String token = prepareSqlString(st.nextToken()); countToken++; if (countToken > 1) token = "%" + token; txt.append("(A.nome like'%" + token + "%' or A.cognome like'%" + token + "%' or A.eMail like'%" + token + "%' or A.codFisc like'%" + token + "%' or A.login like'%" + token + "%')"); if (st.hasMoreTokens()) txt.append(" and "); } txt.append(")"); wc.addWc(txt.toString()); } if (!CR.getEMail().isEmpty()) wc.addWc("A.eMail like'%" + CR.getEMail() + "%'"); if (CR.getFlgMl() == 0L) { wc.addWc("(A.flgMl is null or A.flgMl=0)"); } else if (CR.getFlgMl() > 0L) { wc.addWc("A.flgMl =" + CR.getFlgMl()); } try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find); return findRows(stmt, pageNumber, pageRows); } catch (Exception e) { handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } }