User.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */


  20. package org.openspcoop2.web.lib.users.dao;

  21. import java.io.Serializable;
  22. import java.util.ArrayList;
  23. import java.util.Date;
  24. import java.util.List;

  25. import org.openspcoop2.core.id.IDServizio;
  26. import org.openspcoop2.core.id.IDSoggetto;


  27. /**
  28.  * User
  29.  *
  30.  * @author Andrea Poli (apoli@link.it)
  31.  * @author Stefano Corallo (corallo@link.it)
  32.  * @author Sandra Giangrandi (sandra@link.it)
  33.  * @author $Author$
  34.  * @version $Rev$, $Date$
  35.  *
  36.  */

  37. public class User implements Serializable {
  38.     private Long id;

  39.     protected String login;
  40.     protected String password;
  41.     private Date lastUpdatePassword;
  42.     private boolean checkLastUpdatePassword;
  43.     private InterfaceType interfaceType;
  44.     private boolean permitInterfaceComplete = false;
  45.     private PermessiUtente permessi;
  46.     private List<String> protocolliSupportati;
  47.     private String protocolloSelezionatoPddConsole;
  48.     private String protocolloSelezionatoPddMonitor;
  49.     private String soggettoSelezionatoPddConsole;
  50.     private String soggettoSelezionatoPddMonitor;
  51.     private boolean permitAllSoggetti = false;
  52.     private boolean permitAllServizi = false;
  53.     private List<IDSoggetto> soggetti = new ArrayList<>();
  54.     private List<IDServizio> servizi = new ArrayList<>();
  55.     private List<Stato> stati = new ArrayList<>();
  56.     private List<UserPassword> precedentiPassword = new ArrayList<>();
  57.    
  58.     public List<String> getProtocolliSupportati() {
  59.         return this.protocolliSupportati;
  60.     }
  61.     public String getProtocolliSupportatiAsString() {
  62.         if(this.protocolliSupportati==null || this.protocolliSupportati.size()<=0) {
  63.             return null;
  64.         }
  65.         else {
  66.             StringBuilder bf = new StringBuilder();
  67.             for (String p : this.protocolliSupportati) {
  68.                 if(bf.length()>0) {
  69.                     bf.append(",");
  70.                 }
  71.                 bf.append(p);
  72.             }
  73.             return bf.toString();
  74.         }
  75.     }

  76.     public void setProtocolliSupportati(List<String> protocolliSupportati) {
  77.         this.protocolliSupportati = protocolliSupportati;
  78.     }
  79.     public void addProtocolloSupportato(String protocolloSupportato) {
  80.         protocolloSupportato = protocolloSupportato.trim();
  81.         if(this.protocolliSupportati==null) {
  82.             this.protocolliSupportati = new ArrayList<>();
  83.         }
  84.         if(this.protocolliSupportati.contains(protocolloSupportato)==false) {
  85.             this.protocolliSupportati.add(protocolloSupportato);
  86.         }
  87.     }
  88.     public void setProtocolliSupportatiFromString(String v) {
  89.         if(v==null) {
  90.             this.protocolliSupportati=null;
  91.             return;
  92.         }
  93.         if(v.contains(",")) {
  94.             String [] tmp = v.split(",");
  95.             for (int i = 0; i < tmp.length; i++) {
  96.                 String p = tmp[i].trim();
  97.                 this.addProtocolloSupportato(p);
  98.             }
  99.         }
  100.         else {
  101.             this.addProtocolloSupportato(v);
  102.         }
  103.     }
  104.     public void clearProtocolliSupportati() {
  105.         if(this.protocolliSupportati==null) {
  106.             this.protocolliSupportati = new ArrayList<>();
  107.         } else
  108.             this.protocolliSupportati.clear();
  109.     }

  110.     public String getProtocolloSelezionatoPddConsole() {
  111.         return this.protocolloSelezionatoPddConsole;
  112.     }

  113.     public void setProtocolloSelezionatoPddConsole(String protocolloSelezionatoPddConsole) {
  114.         this.protocolloSelezionatoPddConsole = protocolloSelezionatoPddConsole;
  115.     }
  116.    
  117.     public String getProtocolloSelezionatoPddMonitor() {
  118.         return this.protocolloSelezionatoPddMonitor;
  119.     }
  120.     public void setProtocolloSelezionatoPddMonitor(String protocolloSelezionatoPddMonitor) {
  121.         this.protocolloSelezionatoPddMonitor = protocolloSelezionatoPddMonitor;
  122.     }
  123.    
  124.     public boolean isPermitInterfaceComplete() {
  125.         return this.permitInterfaceComplete;
  126.     }
  127.     public void setPermitInterfaceComplete(boolean permitInterfaceComplete) {
  128.         this.permitInterfaceComplete = permitInterfaceComplete;
  129.     }
  130.    
  131.     public InterfaceType getInterfaceType() {
  132.         return this.interfaceType;
  133.     }

  134.     public void setInterfaceType(InterfaceType interfaceType) {
  135.         this.interfaceType = interfaceType;
  136.     }

  137.     public PermessiUtente getPermessi() {
  138.         return this.permessi;
  139.     }

  140.     public void setPermessi(PermessiUtente permessi) {
  141.         this.permessi = permessi;
  142.     }

  143.     public Long getId() {
  144.         if (this.id != null)
  145.             return this.id;
  146.         else
  147.             return Long.valueOf(-1);
  148.     }

  149.     public void setId(Long id) {
  150.         if (id != null)
  151.             this.id = id;
  152.         else
  153.             this.id = Long.valueOf(-1);
  154.     }

  155.     public String getLogin() {
  156.         if (this.login != null && ("".equals(this.login) == false)) {
  157.             return this.login.trim();
  158.         } else {
  159.             return null;
  160.         }
  161.     }

  162.     public void setLogin(String login) {
  163.         this.login = login;
  164.     }

  165.     public String getPassword() {
  166.         if (this.password != null && ("".equals(this.password) == false)) {
  167.             return this.password.trim();
  168.         } else {
  169.             return null;
  170.         }
  171.     }

  172.     public void setPassword(String password) {
  173.         this.password = password;
  174.     }
  175.    
  176.     public boolean hasOnlyPermessiUtenti() {
  177.         if(this.permessi != null)
  178.             return (this.permessi.isUtenti() && !this.permessi.isAccordiCooperazione() && !this.permessi.isAuditing() && !this.permessi.isCodeMessaggi() && !this.permessi.isDiagnostica() && !this.permessi.isServizi() && !this.permessi.isSistema());
  179.         else
  180.             return false;
  181.     }
  182.    
  183.     public List<IDSoggetto> getSoggetti() {
  184.         return this.soggetti;
  185.     }
  186.     public List<IDServizio> getServizi() {
  187.         return this.servizi;
  188.     }
  189.     public List<Stato> getStati() {
  190.         return this.stati;
  191.     }
  192.     public List<UserPassword> getPrecedentiPassword() {
  193.         return this.precedentiPassword;
  194.     }
  195.    
  196.     public String getSoggettoSelezionatoPddConsole() {
  197.         return this.soggettoSelezionatoPddConsole;
  198.     }
  199.     public void setSoggettoSelezionatoPddConsole(String soggettoSelezionatoPddConsole) {
  200.         this.soggettoSelezionatoPddConsole = soggettoSelezionatoPddConsole;
  201.     }
  202.     public String getSoggettoSelezionatoPddMonitor() {
  203.         return this.soggettoSelezionatoPddMonitor;
  204.     }
  205.     public void setSoggettoSelezionatoPddMonitor(String soggettoSelezionatoPddMonitor) {
  206.         this.soggettoSelezionatoPddMonitor = soggettoSelezionatoPddMonitor;
  207.     }
  208.    
  209.     public boolean isPermitAllSoggetti() {
  210.         return this.permitAllSoggetti;
  211.     }
  212.     public void setPermitAllSoggetti(boolean permitAllSoggetti) {
  213.         this.permitAllSoggetti = permitAllSoggetti;
  214.     }
  215.     public boolean isPermitAllServizi() {
  216.         return this.permitAllServizi;
  217.     }
  218.     public void setPermitAllServizi(boolean permitAllServizi) {
  219.         this.permitAllServizi = permitAllServizi;
  220.     }
  221.    
  222.     public boolean isConfigurazioneValidaAbilitazioni() {
  223.        
  224.         if(this.isConfigurazioneValidaSoggettiAbilitati()==false) {
  225.             return false;
  226.         }
  227.         if(this.isConfigurazioneValidaServiziAbilitati()==false) {
  228.             return false;
  229.         }
  230.        
  231.         return true;
  232.     }
  233.     public boolean isConfigurazioneValidaSoggettiAbilitati() {
  234.            
  235.         if( this.permessi.isDiagnostica() || this.permessi.isReportistica() ) {
  236.             if(this.permitAllSoggetti==false) {
  237.                 if(this.soggetti==null || this.soggetti.size()<=0) {
  238.                     return false;
  239.                 }
  240.             }
  241.         }
  242.            
  243.         return true;
  244.     }
  245.     public boolean isConfigurazioneValidaServiziAbilitati() {
  246.        
  247.         if( this.permessi.isDiagnostica() || this.permessi.isReportistica() ) {
  248.             if(this.permitAllServizi==false) {
  249.                 if(this.servizi==null || this.servizi.size()<=0) {
  250.                     return false;
  251.                 }
  252.             }  
  253.         }
  254.         return true;
  255.     }
  256.    
  257.     public Date getLastUpdatePassword() {
  258.         return this.lastUpdatePassword;
  259.     }
  260.     public void setLastUpdatePassword(Date lastUpdatePassword) {
  261.         this.lastUpdatePassword = lastUpdatePassword;
  262.     }
  263.     public boolean isCheckLastUpdatePassword() {
  264.         return this.checkLastUpdatePassword;
  265.     }
  266.     public void setCheckLastUpdatePassword(boolean checkLastUpdatePassword) {
  267.         this.checkLastUpdatePassword = checkLastUpdatePassword;
  268.     }
  269.    
  270.     public String getReasonInvalidConfiguration() {

  271.         String msgErrore = "L'utente non possiede abilitazioni valide";
  272.        
  273.         if(this.permitAllSoggetti==false) {
  274.             if(this.soggetti==null || this.soggetti.size()<=0) {
  275.                 return msgErrore;
  276.             }
  277.         }
  278.        
  279.         if( this.permessi.isDiagnostica() || this.permessi.isReportistica() ) {
  280.             if(this.permitAllServizi==false) {
  281.                 if(this.servizi==null || this.servizi.size()<=0) {
  282.                     return msgErrore;
  283.                 }
  284.             }
  285.         }
  286.        
  287.         return null;
  288.     }
  289.    
  290.     private static final long serialVersionUID = 1L;

  291. }