IDUnivocoGroupByPolicy.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.core.controllo_traffico.beans;
- import java.io.Serializable;
- import org.openspcoop2.core.commons.CoreException;
- import org.openspcoop2.core.constants.TipoPdD;
- import org.openspcoop2.core.id.IDServizio;
- import org.openspcoop2.core.id.IDServizioApplicativo;
- import org.openspcoop2.core.id.IDSoggetto;
- /**
- * IDUnivocoGroupByPolicy
- *
- * @author Andrea Poli (poli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class IDUnivocoGroupByPolicy implements IDUnivocoGroupBy<IDUnivocoGroupByPolicy>, Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public static final String QUALSIASI = "*";
-
- private String ruoloPorta = QUALSIASI;
- private String protocollo = QUALSIASI;
- private String fruitore = QUALSIASI;
- private String servizioApplicativoFruitore = QUALSIASI;
- private String servizioApplicativoToken = QUALSIASI;
- private String erogatore = QUALSIASI;
- private String servizioApplicativoErogatore = QUALSIASI;
- private String servizio = QUALSIASI;
- private String azione = QUALSIASI;
- private String tipoKey = QUALSIASI;
- private String nomeKey = QUALSIASI;
- private String valoreKey = QUALSIASI;
- private String identificativoAutenticato = QUALSIASI;
- private String tokenSubject = QUALSIASI;
- private String tokenIssuer = QUALSIASI;
- private String tokenUsername = QUALSIASI;
- private String tokenClientId = QUALSIASI;
- private String tokenEMail = QUALSIASI;
- private String pdndOrganizationName = QUALSIASI;
-
-
- @Override
- public boolean match(IDUnivocoGroupByPolicy filtro){
-
- return
- this.ruoloPorta.equals(filtro.getRuoloPorta())
- &&
- this.protocollo.equals(filtro.getProtocollo())
- &&
- this.fruitore.equals(filtro.getFruitore())
- &&
- this.servizioApplicativoFruitore.equals(filtro.getServizioApplicativoFruitore())
- &&
- this.servizioApplicativoToken.equals(filtro.getServizioApplicativoToken())
- &&
- this.erogatore.equals(filtro.getErogatore())
- &&
- this.servizioApplicativoErogatore.equals(filtro.getServizioApplicativoErogatore())
- &&
- this.servizio.equals(filtro.getServizio())
- &&
- this.azione.equals(filtro.getAzione())
- &&
- this.tipoKey.equals(filtro.getTipoKey())
- &&
- this.nomeKey.equals(filtro.getNomeKey())
- &&
- this.valoreKey.equals(filtro.getValoreKey())
- &&
- this.identificativoAutenticato.equals(filtro.getIdentificativoAutenticato())
- &&
- this.tokenSubject.equals(filtro.getTokenSubject())
- &&
- this.tokenIssuer.equals(filtro.getTokenIssuer())
- &&
- this.tokenClientId.equals(filtro.getTokenClientId())
- &&
- this.tokenUsername.equals(filtro.getTokenUsername())
- &&
- this.tokenEMail.equals(filtro.getTokenEMail())
- &&
- this.pdndOrganizationName.equals(filtro.getPdndOrganizationName())
- ;
-
- }
-
- @Override
- public boolean equals(Object param){
- if(!(param instanceof IDUnivocoGroupByPolicy))
- return false;
- IDUnivocoGroupByPolicy id = (IDUnivocoGroupByPolicy) param;
- return this.match(id);
- }
-
-
- // Utile per usare l'oggetto in hashtable come chiave
- @Override
- public int hashCode(){
- return this.toString().hashCode();
- }
-
- @Override
- public String toString(){
- return this.toString(false);
- }
- public String toString(boolean filterGroupByNotSet){
-
- StringBuilder bf = new StringBuilder();
-
- if(!QUALSIASI.equals(this.ruoloPorta) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- bf.append("RuoloPorta:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.ruoloPorta);
- }
-
- if(!QUALSIASI.equals(this.protocollo) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("Protocollo:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.protocollo);
- }
-
- if(!QUALSIASI.equals(this.fruitore) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("Fruitore:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.fruitore);
- }
-
- if(!QUALSIASI.equals(this.servizioApplicativoFruitore) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("Applicativo:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.servizioApplicativoFruitore);
- }
-
- if(!QUALSIASI.equals(this.servizioApplicativoToken) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("ApplicativoToken:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.servizioApplicativoToken);
- }
-
- if(!QUALSIASI.equals(this.erogatore) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("Erogatore:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.erogatore);
- }
-
- if(!QUALSIASI.equals(this.servizioApplicativoErogatore) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("ApplicativoErogatore:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.servizioApplicativoErogatore);
- }
-
- if(!QUALSIASI.equals(this.servizio) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("API:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.servizio);
- }
-
- if(!QUALSIASI.equals(this.azione) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("Azione:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.azione);
- }
-
- if(!QUALSIASI.equals(this.tipoKey) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("TipoKey:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.tipoKey);
- }
-
- if(!QUALSIASI.equals(this.nomeKey) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("NomeKey:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.nomeKey);
- }
-
- if(!QUALSIASI.equals(this.valoreKey) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("ValoreKey:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.valoreKey);
- }
-
- if(!QUALSIASI.equals(this.identificativoAutenticato) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("Credenziali:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.identificativoAutenticato);
- }
-
- if(!QUALSIASI.equals(this.tokenSubject) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("TokenSubject:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.tokenSubject);
- }
-
- if(!QUALSIASI.equals(this.tokenIssuer) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("TokenIssuer:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.tokenIssuer);
- }
-
- if(!QUALSIASI.equals(this.tokenClientId) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("TokenClientId:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.tokenClientId);
- }
-
- if(!QUALSIASI.equals(this.tokenUsername) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("TokenUsername:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.tokenUsername);
- }
-
- if(!QUALSIASI.equals(this.tokenEMail) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("TokenEMail:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.tokenEMail);
- }
-
- if(!QUALSIASI.equals(this.pdndOrganizationName) || !filterGroupByNotSet){
- if(filterGroupByNotSet){
- if(bf.length()>0){
- bf.append("\n");
- }
- bf.append("\t");
- }
- else{
- bf.append(" ");
- }
- bf.append("PDNDOrganizationName:");
- if(filterGroupByNotSet){
- bf.append(" ");
- }
- bf.append(this.pdndOrganizationName);
- }
-
- if(bf.length()<=0){
- if(filterGroupByNotSet){
- bf.append("\t");
- }
- bf.append("Disabilitato");
- }
-
- return bf.toString();
- }
-
-
-
-
- public String getRuoloPorta() {
- return this.ruoloPorta;
- }
- public TipoPdD getRuoloPortaAsTipoPdD(){
- if(this.ruoloPorta!=null && !this.ruoloPorta.equals(QUALSIASI)){
- return TipoPdD.toTipoPdD(this.ruoloPorta);
- }
- return null;
- }
-
- public void setRuoloPorta(String ruoloPorta) {
- if(ruoloPorta!=null)
- this.ruoloPorta = ruoloPorta;
- }
- public String getProtocollo() {
- return this.protocollo;
- }
-
- public String getProtocolloIfDefined() {
- if(this.protocollo!=null && !this.protocollo.equals(QUALSIASI) ){
- return this.protocollo;
- }
- return null;
- }
- public void setProtocollo(String protocollo) {
- if(protocollo!=null)
- this.protocollo = protocollo;
- }
- public String getFruitore() {
- return this.fruitore;
- }
-
- public IDSoggetto getFruitoreIfDefined(){
- if(this.fruitore!=null && !this.fruitore.equals(QUALSIASI) && this.fruitore.contains("/")){
- String [] tmp = this.fruitore.split("/");
- if(tmp.length==2){
- return new IDSoggetto(tmp[0], tmp[1]);
- }
- return null;
- }
- return null;
- }
- public void setFruitore(String fruitore) {
- if(fruitore!=null)
- this.fruitore = fruitore;
- }
- public String getServizioApplicativoFruitore() {
- return this.servizioApplicativoFruitore;
- }
-
- public String getServizioApplicativoFruitoreIfDefined() {
- if(this.servizioApplicativoFruitore!=null && !this.servizioApplicativoFruitore.equals(QUALSIASI) ){
- return this.servizioApplicativoFruitore;
- }
- return null;
- }
-
- public void setServizioApplicativoFruitore(String servizioApplicativoFruitore) {
- if(servizioApplicativoFruitore!=null)
- this.servizioApplicativoFruitore = servizioApplicativoFruitore;
- }
-
- public String getServizioApplicativoToken() {
- return this.servizioApplicativoToken;
- }
-
- public IDServizioApplicativo getServizioApplicativoTokenIfDefined() throws Exception {
- if(this.servizioApplicativoToken!=null && !this.servizioApplicativoToken.equals(QUALSIASI) ){
- // tipoSoggetto/nomeSoggetto/nome
- return IDServizioApplicativo.toIDServizioApplicativo(this.servizioApplicativoToken);
- }
- return null;
- }
- public void setServizioApplicativoToken(IDServizioApplicativo servizioApplicativoToken) {
- if(servizioApplicativoToken!=null)
- this.setServizioApplicativoToken(servizioApplicativoToken.toFormatString());
- }
- public void setServizioApplicativoToken(String servizioApplicativoToken) {
- if(servizioApplicativoToken!=null)
- this.servizioApplicativoToken = servizioApplicativoToken;
- }
-
- public String getErogatore() {
- return this.erogatore;
- }
- public IDSoggetto getErogatoreIfDefined(){
- if(this.erogatore!=null && !this.erogatore.equals(QUALSIASI) && this.erogatore.contains("/")){
- String [] tmp = this.erogatore.split("/");
- if(tmp.length==2){
- return new IDSoggetto(tmp[0], tmp[1]);
- }
- return null;
- }
- return null;
- }
-
- public void setErogatore(String erogatore) {
- if(erogatore!=null)
- this.erogatore = erogatore;
- }
- public String getServizioApplicativoErogatore() {
- return this.servizioApplicativoErogatore;
- }
- public String getServizioApplicativoErogatoreIfDefined() {
- if(this.servizioApplicativoErogatore!=null && !this.servizioApplicativoErogatore.equals(QUALSIASI) ){
- return this.servizioApplicativoErogatore;
- }
- return null;
- }
-
- public void setServizioApplicativoErogatore(String servizioApplicativoErogatore) {
- if(servizioApplicativoErogatore!=null)
- this.servizioApplicativoErogatore = servizioApplicativoErogatore;
- }
- public String getServizio() {
- return this.servizio;
- }
- @SuppressWarnings("deprecation")
- public IDServizio getServizioIfDefined(){
- if(this.servizio!=null && !this.servizio.equals(QUALSIASI) && this.servizio.contains("/")){
-
- // tipo/nome/versione
-
- String [] tmp = this.servizio.split("/");
- if(tmp.length==3){
- IDServizio idServizio = new IDServizio();
- idServizio.setTipo(tmp[0]);
- idServizio.setNome(tmp[1]);
- idServizio.setVersione(Integer.parseInt(tmp[2]));
- return idServizio;
- }
- return null;
- }
- return null;
- }
-
- public void setServizio(String servizio) {
- if(servizio!=null)
- this.servizio = servizio;
- }
- public String getAzione() {
- return this.azione;
- }
- public void setAzione(String azione) {
- if(azione!=null)
- this.azione = azione;
- }
- public String getAzioneIfDefined() {
- if(this.azione!=null && !this.azione.equals(QUALSIASI) ){
- return this.azione;
- }
- return null;
- }
-
- public String getTipoKey() {
- return this.tipoKey;
- }
- public void setTipoKey(String tipoKey) {
- if(tipoKey!=null)
- this.tipoKey = tipoKey;
- }
- public String getNomeKey() {
- return this.nomeKey;
- }
- public void setNomeKey(String nomeKey) {
- if(nomeKey!=null)
- this.nomeKey = nomeKey;
- }
- public String getValoreKey() {
- return this.valoreKey;
- }
- public void setValoreKey(String valoreKey) {
- if(valoreKey!=null)
- this.valoreKey = valoreKey;
- }
-
- public String getIdentificativoAutenticato() {
- return this.identificativoAutenticato;
- }
-
- public String getIdentificativoAutenticatoIfDefined() {
- if(this.identificativoAutenticato!=null && !this.identificativoAutenticato.equals(QUALSIASI) ){
- return this.identificativoAutenticato;
- }
- return null;
- }
- public void setIdentificativoAutenticato(String identificativoAutenticato) {
- if(identificativoAutenticato!=null)
- this.identificativoAutenticato = identificativoAutenticato;
- }
-
-
- public String getTokenSubject() {
- return this.tokenSubject;
- }
-
- public String getTokenSubjectIfDefined() {
- if(this.tokenSubject!=null && !this.tokenSubject.equals(QUALSIASI) ){
- return this.tokenSubject;
- }
- return null;
- }
- public void setTokenSubject(String tokenSubject) {
- if(tokenSubject!=null)
- this.tokenSubject = tokenSubject;
- }
-
-
- public String getTokenIssuer() {
- return this.tokenIssuer;
- }
-
- public String getTokenIssuerIfDefined() {
- if(this.tokenIssuer!=null && !this.tokenIssuer.equals(QUALSIASI) ){
- return this.tokenIssuer;
- }
- return null;
- }
- public void setTokenIssuer(String tokenIssuer) {
- if(tokenIssuer!=null)
- this.tokenIssuer = tokenIssuer;
- }
-
-
- public String getTokenClientId() {
- return this.tokenClientId;
- }
-
- public String getTokenClientIdIfDefined() {
- if(this.tokenClientId!=null && !this.tokenClientId.equals(QUALSIASI) ){
- return this.tokenClientId;
- }
- return null;
- }
- public void setTokenClientId(String tokenClientId) {
- if(tokenClientId!=null)
- this.tokenClientId = tokenClientId;
- }
-
-
- public String getTokenUsername() {
- return this.tokenUsername;
- }
-
- public String getTokenUsernameIfDefined() {
- if(this.tokenUsername!=null && !this.tokenUsername.equals(QUALSIASI) ){
- return this.tokenUsername;
- }
- return null;
- }
- public void setTokenUsername(String tokenUsername) {
- if(tokenUsername!=null)
- this.tokenUsername = tokenUsername;
- }
-
-
- public String getTokenEMail() {
- return this.tokenEMail;
- }
-
- public String getTokenEMailIfDefined() {
- if(this.tokenEMail!=null && !this.tokenEMail.equals(QUALSIASI) ){
- return this.tokenEMail;
- }
- return null;
- }
- public void setTokenEMail(String tokenEMail) {
- if(tokenEMail!=null)
- this.tokenEMail = tokenEMail;
- }
-
-
- public String getPdndOrganizationName() {
- return this.pdndOrganizationName;
- }
-
- public String getPdndOrganizationNameIfDefined() {
- if(this.pdndOrganizationName!=null && !this.pdndOrganizationName.equals(QUALSIASI) ){
- return this.pdndOrganizationName;
- }
- return null;
- }
- public void setPdndOrganizationName(String pdndOrganizationName) {
- if(pdndOrganizationName!=null)
- this.pdndOrganizationName = pdndOrganizationName;
- }
-
-
-
- // **** UTILITIES ****
-
- public static String serialize(IDUnivocoGroupByPolicy id){
- StringBuilder bf = new StringBuilder();
-
- bf.append(id.ruoloPorta);
- bf.append("\n");
-
- bf.append(id.protocollo);
- bf.append("\n");
-
- bf.append(id.fruitore);
- bf.append("\n");
-
- bf.append(id.servizioApplicativoFruitore);
- bf.append("\n");
-
- bf.append(id.erogatore);
- bf.append("\n");
-
- bf.append(id.servizioApplicativoErogatore);
- bf.append("\n");
-
- bf.append(id.servizio);
- bf.append("\n");
-
- bf.append(id.azione);
- bf.append("\n");
-
- bf.append(id.tipoKey);
- bf.append("\n");
- bf.append(id.nomeKey);
- bf.append("\n");
- bf.append(id.valoreKey);
- bf.append("\n");
-
- bf.append(id.identificativoAutenticato);
- bf.append("\n");
-
- bf.append(id.tokenSubject);
- bf.append("\n");
-
- bf.append(id.tokenIssuer);
- bf.append("\n");
-
- bf.append(id.tokenClientId);
- bf.append("\n");
-
- bf.append(id.tokenUsername);
- bf.append("\n");
-
- bf.append(id.tokenEMail);
- bf.append("\n");
-
- if (id instanceof IDUnivocoGroupByPolicyMapId) {
- // Aggiungo un ulteriore campo, per la map unica distribuita sul controllo traffico
- IDUnivocoGroupByPolicyMapId v = (IDUnivocoGroupByPolicyMapId) id;
- bf.append(v.getUniqueMapId());
- }
- else {
- bf.append(QUALSIASI); // valore ignorato; piu' facile la gestione per future aggiunte
- }
- bf.append("\n");
-
- bf.append(id.servizioApplicativoToken);
-
- bf.append("\n");
-
- bf.append(id.pdndOrganizationName);
-
- return bf.toString();
- }
-
- public static IDUnivocoGroupByPolicy deserialize(String s) throws CoreException{
- String [] tmp = s.split("\n");
- if(tmp==null){
- throw new CoreException("Wrong Format");
- }
- int oldLength = 11;
- int newLength = oldLength+1+5; // nella 3.1.0 aggiunto idAutenticato e 5 token claims
- int newLength2 = newLength+1; // Aggiunto uniqueMapId
- int newLength3 = newLength2+1; // nella 3.3.8 aggiunto servizioApplicativoToken
- int newLength4 = newLength3+1; // nella 3.3.15 aggiunto pdndOrganizationName
-
- if(tmp.length!=oldLength && tmp.length!=newLength && tmp.length!=newLength2 && tmp.length!=newLength3 && tmp.length!=newLength4){
- throw new CoreException("Wrong Format (size: "+tmp.length+")");
- }
-
- boolean idUnivocoGroupBy = false;
- boolean length2ConIdUnivocoGroupBy = false;
- boolean lengthGreaterEquals3 = false;
- int posizioneIdGroupBy = newLength2-1;
- if(tmp.length==newLength2) {
- // potrebbe esserci sia il PolicyMapId (vecchie serializzazioni dove si aggiungeva solo se era) o l'applicativo token
- String value = tmp[posizioneIdGroupBy];
- length2ConIdUnivocoGroupBy = value!=null && value.contains("@"); // l'active policy contiene il @, mentre il servizio applicativo 2 '/'
- if(length2ConIdUnivocoGroupBy) {
- idUnivocoGroupBy = true;
- }
- }
- else if(tmp.length>=newLength3) {
- // l'informazione sul PolicyMapId viene sempre aggiunta, ma viene valorizzata a QUALSIASI se non รจ effettivamente una PolicyMapId
- String value = tmp[posizioneIdGroupBy];
- idUnivocoGroupBy = value!=null && !QUALSIASI.equals(value);
- lengthGreaterEquals3 = true;
- }
-
- IDUnivocoGroupByPolicy id = null;
- if(idUnivocoGroupBy) {
- id = new IDUnivocoGroupByPolicyMapId();
- }
- else {
- id = new IDUnivocoGroupByPolicy();
- }
-
- for (int i = 0; i < tmp.length; i++) {
- if(i==0){
- id.ruoloPorta = tmp[i].trim();
- }
- else if(i==1){
- id.protocollo = tmp[i].trim();
- }
- else if(i==2){
- id.fruitore = tmp[i].trim();
- }
- else if(i==3){
- id.servizioApplicativoFruitore = tmp[i].trim();
- }
- else if(i==4){
- id.erogatore = tmp[i].trim();
- }
- else if(i==5){
- id.servizioApplicativoErogatore = tmp[i].trim();
- }
- else if(i==6){
- id.servizio = tmp[i].trim();
- }
- else if(i==7){
- id.azione = tmp[i].trim();
- }
- else if(i==8){
- id.tipoKey = tmp[i].trim();
- }
- else if(i==9){
- id.nomeKey = tmp[i].trim();
- }
- else if(i==10){
- id.valoreKey = tmp[i].trim();
- }
- else if(i==11){
- id.identificativoAutenticato = tmp[i].trim();
- }
- else if(i==12){
- id.tokenSubject = tmp[i].trim();
- }
- else if(i==13){
- id.tokenIssuer = tmp[i].trim();
- }
- else if(i==14){
- id.tokenClientId = tmp[i].trim();
- }
- else if(i==15){
- id.tokenUsername = tmp[i].trim();
- }
- else if(i==16){
- id.tokenEMail = tmp[i].trim();
- }
- else if(i==17){
- if(length2ConIdUnivocoGroupBy) {
- ((IDUnivocoGroupByPolicyMapId) id).setUniqueMapId(tmp[i].trim());
- }
- else {
- if(lengthGreaterEquals3) {
- if(idUnivocoGroupBy) {
- ((IDUnivocoGroupByPolicyMapId) id).setUniqueMapId(tmp[i].trim());
- }
- else {
- // ignoro (serializzato con QUALSIASI)
- }
- }
- else {
- id.servizioApplicativoToken = tmp[i].trim();
- }
- }
- }
- else if(i==18){
- id.servizioApplicativoToken = tmp[i].trim();
- }
- else if(i==19){
- id.pdndOrganizationName = tmp[i].trim();
- }
- }
- return id;
- }
- }