ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities.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.protocol.modipa.properties;

  21. import java.util.ArrayList;
  22. import java.util.List;

  23. import org.apache.commons.lang.StringUtils;
  24. import org.openspcoop2.pdd.core.dynamic.DynamicHelperCostanti;
  25. import org.openspcoop2.protocol.modipa.config.ModIAuditClaimConfig;
  26. import org.openspcoop2.protocol.modipa.config.ModIAuditConfig;
  27. import org.openspcoop2.protocol.modipa.config.ModIProperties;
  28. import org.openspcoop2.protocol.modipa.constants.ModIConsoleCostanti;
  29. import org.openspcoop2.protocol.modipa.constants.ModICostanti;
  30. import org.openspcoop2.protocol.sdk.ProtocolException;
  31. import org.openspcoop2.protocol.sdk.constants.ConsoleItemType;
  32. import org.openspcoop2.protocol.sdk.constants.ConsoleItemValueType;
  33. import org.openspcoop2.protocol.sdk.properties.AbstractConsoleItem;
  34. import org.openspcoop2.protocol.sdk.properties.BaseConsoleItem;
  35. import org.openspcoop2.protocol.sdk.properties.BooleanConsoleItem;
  36. import org.openspcoop2.protocol.sdk.properties.BooleanProperty;
  37. import org.openspcoop2.protocol.sdk.properties.ConsoleConfiguration;
  38. import org.openspcoop2.protocol.sdk.properties.ConsoleItemInfo;
  39. import org.openspcoop2.protocol.sdk.properties.IConsoleHelper;
  40. import org.openspcoop2.protocol.sdk.properties.ProtocolProperties;
  41. import org.openspcoop2.protocol.sdk.properties.ProtocolPropertiesFactory;
  42. import org.openspcoop2.protocol.sdk.properties.ProtocolPropertiesUtils;
  43. import org.openspcoop2.protocol.sdk.properties.StringConsoleItem;
  44. import org.openspcoop2.protocol.sdk.properties.StringProperty;
  45. import org.openspcoop2.utils.LoggerWrapperFactory;

  46. /**
  47.  * ModIDynamicConfigurationAccordiParteComuneUtilities
  48.  *
  49.  * @author Poli Andrea (apoli@link.it)
  50.  * @author $Author$
  51.  * @version $Rev$, $Date$
  52.  */
  53. public class ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities {
  54.    
  55.     private ModIDynamicConfigurationAccordiParteComuneSicurezzaMessaggioUtilities() {}

  56.    
  57.     static void addProfiloSicurezzaMessaggio(ModIProperties modiProperties,
  58.             ConsoleConfiguration configuration, boolean rest, boolean action,
  59.             String schemaAuditImpostatoInAPIoAltreAzioni) throws ProtocolException {
  60.        
  61.         configuration.addConsoleItem(ProtocolPropertiesFactory.newSubTitleItem(ModIConsoleCostanti.MODIPA_API_PROFILO_SICUREZZA_MESSAGGIO_ID,
  62.                 ModIConsoleCostanti.MODIPA_API_PROFILO_SICUREZZA_MESSAGGIO_LABEL));
  63.        
  64.         String labelSelezione = ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL;
  65.        
  66.         boolean corniceSicurezza = modiProperties.isSicurezzaMessaggioCorniceSicurezzaEnabled();
  67.        
  68.         if(action) {
  69.            
  70.             labelSelezione = "";
  71.            
  72.             StringConsoleItem modeItem = (StringConsoleItem)
  73.                     ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  74.                     ConsoleItemType.SELECT,
  75.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ACTION_MODE_ID,
  76.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL);
  77.             modeItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ACTION_MODE_LABEL_DEFAULT,
  78.                     ModIConsoleCostanti.MODIPA_PROFILO_MODE_VALUE_DEFAULT);
  79.             modeItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ACTION_MODE_LABEL_RIDEFINISCI,
  80.                     ModIConsoleCostanti.MODIPA_PROFILO_MODE_VALUE_RIDEFINISCI);
  81.             modeItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ACTION_MODE_DEFAULT_VALUE);
  82.             modeItem.setReloadOnChange(true);
  83.             configuration.addConsoleItem(modeItem);
  84.         }
  85.        
  86.         StringConsoleItem profiloSicurezzaMessaggioItem = (StringConsoleItem)
  87.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  88.                 ConsoleItemType.SELECT,
  89.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID,
  90.                 labelSelezione);
  91.         if(action) {
  92.             profiloSicurezzaMessaggioItem.setType(ConsoleItemType.HIDDEN);
  93.         }
  94.         profiloSicurezzaMessaggioItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_UNDEFINED,
  95.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_UNDEFINED);
  96.         if(rest) {
  97.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_REST_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_REST_NEW,
  98.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM01);
  99.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_REST_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_REST_NEW,
  100.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM02);
  101.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_REST_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_REST_NEW,
  102.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0301);
  103.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_REST_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_REST_NEW,
  104.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0302);
  105.             profiloSicurezzaMessaggioItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0401_REST,
  106.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0401);
  107.             profiloSicurezzaMessaggioItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0402_REST,
  108.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0402);
  109.         }
  110.         else {
  111.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_SOAP_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_SOAP_NEW,
  112.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM01);
  113.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_SOAP_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_SOAP_NEW,
  114.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM02);
  115.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_SOAP_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_SOAP_NEW,
  116.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0301);
  117.             profiloSicurezzaMessaggioItem.addLabelValue((modiProperties.isModIVersioneBozza()!=null && modiProperties.isModIVersioneBozza().booleanValue()) ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_SOAP_OLD : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_SOAP_NEW,
  118.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0302);
  119.         }
  120.         profiloSicurezzaMessaggioItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE);
  121.         if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM01.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  122.             profiloSicurezzaMessaggioItem.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_SOAP_NOTE);
  123.         }
  124.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM02.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  125.             profiloSicurezzaMessaggioItem.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_SOAP_NOTE);
  126.         }
  127.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0301.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  128.             profiloSicurezzaMessaggioItem.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_SOAP_NOTE);
  129.         }
  130.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0302.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  131.             profiloSicurezzaMessaggioItem.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_SOAP_NOTE);
  132.         }
  133.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0401.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) && rest) {
  134.             profiloSicurezzaMessaggioItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0401_REST_NOTE);
  135.         }
  136.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0402.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) && rest) {
  137.             profiloSicurezzaMessaggioItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0402_REST_NOTE);
  138.         }
  139.         /**if(corniceSicurezza) {*/
  140.         profiloSicurezzaMessaggioItem.setReloadOnChange(true);
  141.         configuration.addConsoleItem(profiloSicurezzaMessaggioItem);
  142.        
  143.         StringConsoleItem profiloSicurezzaMessaggioSorgenteTokenIdAuthItem = (StringConsoleItem)
  144.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  145.                 ConsoleItemType.SELECT,
  146.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_ID,
  147.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL);
  148.         profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL_LOCALE,
  149.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_LOCALE);
  150.         profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL_PDND,
  151.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND);
  152.         profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL_OAUTH,
  153.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_OAUTH);
  154.         profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_DEFAULT_VALUE);
  155.         if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_DEFAULT_VALUE.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_LOCALE)) {
  156.             profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_NOTE_LOCALE);
  157.         }
  158.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_DEFAULT_VALUE.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND)) {
  159.             profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_NOTE_PDND);
  160.         }
  161.         else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_DEFAULT_VALUE.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_OAUTH)) {
  162.             profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_NOTE_OAUTH);
  163.         }
  164.         profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setType(ConsoleItemType.HIDDEN);
  165.         configuration.addConsoleItem(profiloSicurezzaMessaggioSorgenteTokenIdAuthItem);
  166.        
  167.         if(rest) {
  168.            
  169.             // !! Nel caso di 2 header, quello integrity viene prodotto solo se c'è un payload o uno degli header indicati da firmare.
  170.             StringConsoleItem profiloSicurezzaMessaggioHeaderItem = (StringConsoleItem)
  171.                     ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  172.                     ConsoleItemType.SELECT,
  173.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_ID,
  174.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL);
  175.             profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA.
  176.                     replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  177.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_MODIPA);
  178.             profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION,
  179.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION);
  180.             if(isProfiloSicurezza03or04(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  181.                 profiloSicurezzaMessaggioHeaderItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_IDAM03_DEFAULT_VALUE);
  182.                
  183.                 profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_MODIPA.
  184.                         replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  185.                         ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_MODIPA);
  186.                 profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_MODIPA_AUTH_IN_RESPONSE.
  187.                         replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  188.                         ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_MODIPA_AUTH_IN_RESPONSE);
  189.                
  190.                 profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_CUSTOM,
  191.                         ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_CUSTOM);
  192.                 profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_CUSTOM,
  193.                         ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM);
  194.                 profiloSicurezzaMessaggioHeaderItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_CUSTOM_AUTH_IN_RESPONSE,
  195.                         ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM_AUTH_IN_RESPONSE);
  196.                
  197.                 profiloSicurezzaMessaggioHeaderItem.setReloadOnChange(true);
  198.             }
  199.             else if(isProfiloSicurezza01(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) || isProfiloSicurezza02(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  200.                 profiloSicurezzaMessaggioHeaderItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_NOT_IDAM03_DEFAULT_VALUE);
  201.             }
  202.             else {
  203.                 profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.HIDDEN);
  204.             }
  205.             configuration.addConsoleItem(profiloSicurezzaMessaggioHeaderItem);
  206.            
  207.             StringConsoleItem profiloSicurezzaMessaggioHeaderCustomItem = (StringConsoleItem)
  208.                     ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  209.                     ConsoleItemType.TEXT_EDIT,
  210.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_ID,
  211.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_LABEL);
  212.             profiloSicurezzaMessaggioHeaderCustomItem.setDefaultValue(modiProperties.getRestSecurityTokenHeaderModI());
  213.             profiloSicurezzaMessaggioHeaderCustomItem.setType(ConsoleItemType.HIDDEN);
  214.             configuration.addConsoleItem(profiloSicurezzaMessaggioHeaderCustomItem);
  215.            
  216.            
  217.             StringConsoleItem profiloSicurezzaMessaggioHeaderCustomModeItem = (StringConsoleItem)
  218.                     ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  219.                     ConsoleItemType.SELECT,
  220.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_ID,
  221.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_LABEL);
  222.             profiloSicurezzaMessaggioHeaderCustomModeItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_LABEL_PAYLOAD_HTTP,
  223.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_VALUE_PAYLOAD_HTTP);
  224.             profiloSicurezzaMessaggioHeaderCustomModeItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_LABEL_ALWAYS,
  225.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_VALUE_ALWAYS);
  226.             profiloSicurezzaMessaggioHeaderCustomModeItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_LABEL_RICHIESTE_CON_PAYLOAD_HTTP_QUALSIASI_RISPOSTA,
  227.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_VALUE_RICHIESTE_CON_PAYLOAD_HTTP_QUALSIASI_RISPOSTA);
  228.             profiloSicurezzaMessaggioHeaderCustomModeItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_LABEL_RISPOSTE_CON_PAYLOAD_HTTP_QUALSIASI_RICHIESTA,
  229.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_VALUE_RISPOSTE_CON_PAYLOAD_HTTP_QUALSIASI_RICHIESTA);
  230.             profiloSicurezzaMessaggioHeaderCustomModeItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_DEFAULT_VALUE);
  231.             profiloSicurezzaMessaggioHeaderCustomModeItem.setType(ConsoleItemType.HIDDEN);
  232.             configuration.addConsoleItem(profiloSicurezzaMessaggioHeaderCustomModeItem);
  233.            
  234.         }
  235.        
  236.         StringConsoleItem profiloSicurezzaMessaggioConfigurazioneItem = (StringConsoleItem)
  237.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  238.                 ConsoleItemType.SELECT,
  239.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_ID,
  240.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL);
  241.         profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_ENTRAMBI,
  242.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_ENTRAMBI);
  243.         profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RICHIESTA,
  244.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA);
  245.         profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RISPOSTA,
  246.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA);
  247.         if(!rest && isProfiloSicurezza03(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  248.             profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_ENTRAMBI_CON_ATTACHMENTS,
  249.                     ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_ENTRAMBI_CON_ATTACHMENTS);
  250.             profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RICHIESTA_CON_ATTACHMENTS,
  251.                     ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA_CON_ATTACHMENTS);
  252.             profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RISPOSTA_CON_ATTACHMENTS,
  253.                     ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA_CON_ATTACHMENTS);
  254.         }
  255.         if(rest) {
  256.             profiloSicurezzaMessaggioConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_PERSONALIZZATO,
  257.                     ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_PERSONALIZZATO);
  258.             profiloSicurezzaMessaggioConfigurazioneItem.setReloadOnChange(true);
  259.         }
  260.         profiloSicurezzaMessaggioConfigurazioneItem.setDefaultValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_DEFAULT_VALUE);
  261.         if(!isProfiloSicurezza01(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) &&
  262.                 !isProfiloSicurezza02(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) &&
  263.                 !isProfiloSicurezza03(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) &&
  264.                 !isProfiloSicurezza04(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE) ) {
  265.             profiloSicurezzaMessaggioConfigurazioneItem.setType(ConsoleItemType.HIDDEN);
  266.         }
  267.         profiloSicurezzaMessaggioConfigurazioneItem.setReloadOnChange(true);
  268.         configuration.addConsoleItem(profiloSicurezzaMessaggioConfigurazioneItem);
  269.                
  270.         BooleanConsoleItem profiloSicurezzaMessaggioRequestDigest = (BooleanConsoleItem)
  271.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.BOOLEAN,
  272.                 ConsoleItemType.CHECKBOX,
  273.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_ID,
  274.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_LABEL);
  275.         if(!isProfiloSicurezza03or04(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  276.             profiloSicurezzaMessaggioRequestDigest.setType(ConsoleItemType.HIDDEN);
  277.         }
  278.         profiloSicurezzaMessaggioRequestDigest.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_DEFAULT);
  279.         ConsoleItemInfo cDigest = new ConsoleItemInfo(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_LABEL);
  280.         cDigest.setHeaderBody(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_REST_INFO_HEADER : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_SOAP_INFO_HEADER );
  281.         profiloSicurezzaMessaggioRequestDigest.setInfo(cDigest);
  282.         profiloSicurezzaMessaggioRequestDigest.setLabelRight(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_LABEL_RIGHT);
  283.         configuration.addConsoleItem(profiloSicurezzaMessaggioRequestDigest);
  284.        
  285.        
  286.         BooleanConsoleItem profiloSicurezzaMessaggioCorniceSicurezza = (BooleanConsoleItem)
  287.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.BOOLEAN,
  288.                 ConsoleItemType.CHECKBOX,
  289.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_ID,
  290.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_LABEL);
  291.         profiloSicurezzaMessaggioCorniceSicurezza.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_DEFAULT_VALUE);
  292.         profiloSicurezzaMessaggioCorniceSicurezza.setLabelRight(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_LABEL_RIGHT);
  293.         profiloSicurezzaMessaggioCorniceSicurezza.setReloadOnChange(true);
  294.         configuration.addConsoleItem(profiloSicurezzaMessaggioCorniceSicurezza);
  295.        
  296.        
  297.         // Configurazione
  298.        
  299.         boolean showConfigurazione = true;
  300.         if(!ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_PERSONALIZZATO.equals(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_DEFAULT_VALUE)) {
  301.             showConfigurazione = false;
  302.         }
  303.        
  304.         BaseConsoleItem subTitleRichiesta = ProtocolPropertiesFactory.newSubTitleItem(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_ID,
  305.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_LABEL);
  306.         if(!showConfigurazione) {
  307.             subTitleRichiesta.setType(ConsoleItemType.HIDDEN);
  308.         }
  309.         configuration.addConsoleItem(subTitleRichiesta);
  310.        
  311.         StringConsoleItem profiloSicurezzaRichiestaConfigurazioneItem = (StringConsoleItem)
  312.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  313.                 ConsoleItemType.SELECT,
  314.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_ID,
  315.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_LABEL);
  316.         profiloSicurezzaRichiestaConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_LABEL_ABILITATO,
  317.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_VALUE_ABILITATO);
  318.         profiloSicurezzaRichiestaConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_LABEL_DISABILITATO,
  319.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_VALUE_DISABILITATO);
  320.         profiloSicurezzaRichiestaConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_LABEL_PERSONALIZZATO,
  321.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_VALUE_PERSONALIZZATO);
  322.         profiloSicurezzaRichiestaConfigurazioneItem.setDefaultValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_DEFAULT_VALUE);
  323.         if(!showConfigurazione) {
  324.             profiloSicurezzaRichiestaConfigurazioneItem.setType(ConsoleItemType.HIDDEN);
  325.         }
  326.         profiloSicurezzaRichiestaConfigurazioneItem.setReloadOnChange(true);
  327.         configuration.addConsoleItem(profiloSicurezzaRichiestaConfigurazioneItem);
  328.            
  329.         StringConsoleItem profiloSicurezzaRichiestaConfigurazioneContentTypeItem = (StringConsoleItem)
  330.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  331.                 ConsoleItemType.TAGS,
  332.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_CONTENT_TYPE_MODE_ID,
  333.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_CONTENT_TYPE_MODE_LABEL);
  334.         profiloSicurezzaRichiestaConfigurazioneContentTypeItem.setInfo(buildConsoleItemInfoSicurezzaContentType(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_CONTENT_TYPE_MODE_LABEL));
  335.         if(!ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_LABEL_PERSONALIZZATO.equals(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_DEFAULT_VALUE)) {
  336.             profiloSicurezzaRichiestaConfigurazioneContentTypeItem.setType(ConsoleItemType.HIDDEN);
  337.         }
  338.         profiloSicurezzaRichiestaConfigurazioneContentTypeItem.setRequired(true);
  339.         configuration.addConsoleItem(profiloSicurezzaRichiestaConfigurazioneContentTypeItem);
  340.        
  341.         BaseConsoleItem subTitleRisposta = ProtocolPropertiesFactory.newSubTitleItem(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_ID,
  342.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_LABEL);
  343.         if(!showConfigurazione) {
  344.             subTitleRisposta.setType(ConsoleItemType.HIDDEN);
  345.         }
  346.         configuration.addConsoleItem(subTitleRisposta);
  347.        
  348.         StringConsoleItem profiloSicurezzaRispostaConfigurazioneItem = (StringConsoleItem)
  349.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  350.                 ConsoleItemType.SELECT,
  351.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_ID,
  352.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_LABEL);
  353.         profiloSicurezzaRispostaConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_LABEL_ABILITATO,
  354.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_VALUE_ABILITATO);
  355.         profiloSicurezzaRispostaConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_LABEL_DISABILITATO,
  356.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_VALUE_DISABILITATO);
  357.         profiloSicurezzaRispostaConfigurazioneItem.addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_LABEL_PERSONALIZZATO,
  358.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_VALUE_PERSONALIZZATO);
  359.         profiloSicurezzaRispostaConfigurazioneItem.setDefaultValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_DEFAULT_VALUE);
  360.         if(!showConfigurazione) {
  361.             profiloSicurezzaRispostaConfigurazioneItem.setType(ConsoleItemType.HIDDEN);
  362.         }
  363.         profiloSicurezzaRispostaConfigurazioneItem.setReloadOnChange(true);
  364.         configuration.addConsoleItem(profiloSicurezzaRispostaConfigurazioneItem);
  365.            
  366.         StringConsoleItem profiloSicurezzaRispostaConfigurazioneContentTypeItem = (StringConsoleItem)
  367.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  368.                 ConsoleItemType.TAGS,
  369.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_CONTENT_TYPE_MODE_ID,
  370.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_CONTENT_TYPE_MODE_LABEL);
  371.         profiloSicurezzaRispostaConfigurazioneContentTypeItem.setInfo(buildConsoleItemInfoSicurezzaContentType(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_CONTENT_TYPE_MODE_LABEL));
  372.         if(!ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_LABEL_PERSONALIZZATO.equals(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_DEFAULT_VALUE)) {
  373.             profiloSicurezzaRispostaConfigurazioneContentTypeItem.setType(ConsoleItemType.HIDDEN);
  374.         }
  375.         profiloSicurezzaRispostaConfigurazioneContentTypeItem.setRequired(true);
  376.         configuration.addConsoleItem(profiloSicurezzaRispostaConfigurazioneContentTypeItem);
  377.        
  378.         StringConsoleItem profiloSicurezzaRispostaConfigurazioneReturnCodeItem = (StringConsoleItem)
  379.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  380.                 ConsoleItemType.TAGS,
  381.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_ID,
  382.                 ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL);
  383.         ConsoleItemInfo cRT = new ConsoleItemInfo(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL);
  384.         cRT.setHeaderBody(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_ID_INFO);
  385.         profiloSicurezzaRispostaConfigurazioneReturnCodeItem.setInfo(cRT);
  386.         if(!ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_LABEL_PERSONALIZZATO.equals(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_DEFAULT_VALUE)) {
  387.             profiloSicurezzaRispostaConfigurazioneReturnCodeItem.setType(ConsoleItemType.HIDDEN);
  388.         }
  389.         profiloSicurezzaRispostaConfigurazioneReturnCodeItem.setRequired(true);
  390.         configuration.addConsoleItem(profiloSicurezzaRispostaConfigurazioneReturnCodeItem);
  391.        
  392.        
  393.        
  394.         // Informazioni Utente
  395.        
  396.         BaseConsoleItem subTitleCorniceSicurezza = ProtocolPropertiesFactory.newSubTitleItem(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SUBTITLE_ID,
  397.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SUBTITLE_LABEL);
  398.         if(!ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_DEFAULT_VALUE) {
  399.             subTitleCorniceSicurezza.setType(ConsoleItemType.HIDDEN);
  400.         }
  401.         configuration.addConsoleItem(subTitleCorniceSicurezza);
  402.        
  403.         StringConsoleItem profiloSicurezzaCorniceSicurezzaPatternItem = (StringConsoleItem)
  404.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  405.                 ConsoleItemType.SELECT,
  406.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_ID,
  407.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL);
  408.         profiloSicurezzaCorniceSicurezzaPatternItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_AUDIT_REST_01,
  409.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_AUDIT_REST_01);
  410.         profiloSicurezzaCorniceSicurezzaPatternItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_AUDIT_REST_02,
  411.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_AUDIT_REST_02);
  412.         if(corniceSicurezza && isProfiloSicurezza03(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_DEFAULT_VALUE)) {
  413.             profiloSicurezzaCorniceSicurezzaPatternItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_OLD,
  414.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD);
  415.         }
  416.         profiloSicurezzaCorniceSicurezzaPatternItem.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_DEFAULT_VALUE);
  417.         if(!ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_DEFAULT_VALUE) {
  418.             profiloSicurezzaCorniceSicurezzaPatternItem.setType(ConsoleItemType.HIDDEN);
  419.         }
  420.         profiloSicurezzaCorniceSicurezzaPatternItem.setReloadOnChange(true);
  421.         if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_DEFAULT_VALUE.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD)) {
  422.             ConsoleItemInfo consoleItemInfoCorniceSicurezza = new ConsoleItemInfo(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_LABEL);
  423.             consoleItemInfoCorniceSicurezza.setHeaderBody(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_REST_INFO_HEADER : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SOAP_INFO_HEADER );
  424.             consoleItemInfoCorniceSicurezza.setListBody(rest ? ModIConsoleCostanti.getModipaProfiloSicurezzaMessaggioCorniceSicurezzaRestInfoValori() : ModIConsoleCostanti.getModipaProfiloSicurezzaMessaggioCorniceSicurezzaSoapInfoValori() );
  425.             profiloSicurezzaMessaggioCorniceSicurezza.setInfo(consoleItemInfoCorniceSicurezza);
  426.         }
  427.         configuration.addConsoleItem(profiloSicurezzaCorniceSicurezzaPatternItem);
  428.        
  429.        
  430.         List<ModIAuditConfig> listConfig = modiProperties.getAuditConfig();
  431.         if(listConfig!=null && !listConfig.isEmpty()) {
  432.             StringConsoleItem profiloSicurezzaCorniceSicurezzaSchemaItem = (StringConsoleItem)
  433.                     ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.STRING,
  434.                     ConsoleItemType.SELECT,
  435.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SCHEMA_ID,
  436.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SCHEMA_LABEL);
  437.             for (ModIAuditConfig modIAuditConfig : listConfig) {
  438.                 if(schemaAuditImpostatoInAPIoAltreAzioni!=null && StringUtils.isNotEmpty(schemaAuditImpostatoInAPIoAltreAzioni)) {
  439.                     if(schemaAuditImpostatoInAPIoAltreAzioni.equals(modIAuditConfig.getNome())){
  440.                         profiloSicurezzaCorniceSicurezzaSchemaItem.addLabelValue(modIAuditConfig.getLabel(),
  441.                                 modIAuditConfig.getNome());
  442.                     }
  443.                 }
  444.                 else {
  445.                     profiloSicurezzaCorniceSicurezzaSchemaItem.addLabelValue(modIAuditConfig.getLabel(),
  446.                         modIAuditConfig.getNome());
  447.                 }
  448.             }
  449.             profiloSicurezzaCorniceSicurezzaSchemaItem.setDefaultValue(listConfig.get(0).getNome());
  450.             profiloSicurezzaCorniceSicurezzaSchemaItem.setReloadOnChange(true);
  451.             if(!ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_DEFAULT_VALUE) {
  452.                 profiloSicurezzaCorniceSicurezzaSchemaItem.setType(ConsoleItemType.HIDDEN);
  453.             }
  454.             configuration.addConsoleItem(profiloSicurezzaCorniceSicurezzaSchemaItem);
  455.         }
  456.        
  457.         BooleanConsoleItem profiloSicurezzaMessaggioCorniceSicurezzaOpzionale = (BooleanConsoleItem)
  458.                 ProtocolPropertiesFactory.newConsoleItem(ConsoleItemValueType.BOOLEAN,
  459.                 ConsoleItemType.CHECKBOX,
  460.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_OPZIONALE_ID,
  461.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_OPZIONALE_LABEL);
  462.         profiloSicurezzaMessaggioCorniceSicurezzaOpzionale.setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_OPZIONALE_DEFAULT_VALUE);
  463.         profiloSicurezzaMessaggioCorniceSicurezzaOpzionale.setReloadOnChange(false);
  464.         configuration.addConsoleItem(profiloSicurezzaMessaggioCorniceSicurezzaOpzionale);

  465.     }
  466.    
  467.     static boolean isProfiloSicurezza01(String value) {
  468.         return ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM01.equals(value);
  469.     }
  470.    
  471.     static boolean isProfiloSicurezza02(String value) {
  472.         return ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM02.equals(value);
  473.     }
  474.    
  475.     static boolean isProfiloSicurezza03or04(String value) {
  476.         return isProfiloSicurezza03(value) || isProfiloSicurezza04(value);
  477.     }
  478.    
  479.     static boolean isProfiloSicurezza03(String value) {
  480.         return ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0301.equals(value)
  481.                 ||
  482.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0302.equals(value);
  483.     }
  484.    
  485.     static boolean isProfiloSicurezza04(String value) {
  486.         return ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0401.equals(value)
  487.                 ||
  488.                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0402.equals(value);
  489.     }
  490.    
  491.     static ConsoleItemInfo buildConsoleItemInfoSicurezzaContentType(String label) {
  492.        
  493.         try {
  494.             ConsoleItemInfo c = new ConsoleItemInfo(label);
  495.            
  496.             c.setHeaderBody(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_O_RISPOSTA_CONTENT_TYPE_MODE_ID_INFO_CONTENT_TYPE);
  497.            
  498.             c.setListBody(DynamicHelperCostanti.LABEL_CONFIGURAZIONE_TRASFORMAZIONI_APPLICABILITA_INFO_CONTENT_TYPE_VALORI);
  499.            
  500.             return c;
  501.            
  502.         }catch(Exception t) {
  503.             try {
  504.                 LoggerWrapperFactory.getLogger("govwayConsole.core").error(t.getMessage(),t);
  505.             }catch(Exception tInternal) {
  506.                 /**System.err.println("ERRORE: "+t.getMessage());
  507.                 t.printStackTrace(System.err);*/
  508.             }
  509.             return null;
  510.         }
  511.        
  512.     }
  513.    
  514.     static void updateProfiloSicurezzaMessaggio(ModIProperties modiProperties,
  515.             ConsoleConfiguration consoleConfiguration, IConsoleHelper consoleHelper, ProtocolProperties properties,
  516.             boolean rest, boolean action) throws ProtocolException {
  517.        
  518.         String postBackElementName = null;
  519.         try {
  520.             postBackElementName = consoleHelper.getPostBackElementName();
  521.         }catch(Exception e) {
  522.             throw new ProtocolException(e.getMessage(),e);
  523.         }
  524.        
  525.         boolean corniceSicurezza = modiProperties.isSicurezzaMessaggioCorniceSicurezzaEnabled();
  526.         StringProperty profiloSicurezzaMessaggioItemValue = null;
  527.        
  528.         AbstractConsoleItem<?> profiloSicurezzaMessaggioItemModifyNote = null;
  529.         boolean ridefinito = false;
  530.        
  531.         if(action) {
  532.        
  533.             StringProperty modeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ACTION_MODE_ID);
  534.                        
  535.             AbstractConsoleItem<?> profiloSicurezzaMessaggioItem =  
  536.                     ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID);
  537.             profiloSicurezzaMessaggioItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID);
  538.            
  539.             if(modeItemValue!=null && ModICostanti.MODIPA_PROFILO_RIDEFINISCI.equals(modeItemValue.getValue())) {
  540.                 profiloSicurezzaMessaggioItem.setType(ConsoleItemType.SELECT);
  541.                
  542.                 profiloSicurezzaMessaggioItemModifyNote = profiloSicurezzaMessaggioItem;
  543.                
  544.                 ridefinito = true;
  545.             }
  546.             else {
  547.                 if(profiloSicurezzaMessaggioItem!=null) {
  548.                     profiloSicurezzaMessaggioItem.setType(ConsoleItemType.HIDDEN);
  549.                 }
  550.                 if(profiloSicurezzaMessaggioItemValue!=null) {
  551.                     profiloSicurezzaMessaggioItemValue.setValue(null);
  552.                 }
  553.             }
  554.            
  555.         }
  556.         else {
  557.        
  558.             profiloSicurezzaMessaggioItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID);
  559.                
  560.             profiloSicurezzaMessaggioItemModifyNote =  
  561.                     ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID);
  562.                        
  563.         }
  564.         String sicurezzaMessaggioPatternValue = profiloSicurezzaMessaggioItemValue!=null ? profiloSicurezzaMessaggioItemValue.getValue() : null;
  565.         if(profiloSicurezzaMessaggioItemModifyNote!=null) {
  566.             if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM01.equals(sicurezzaMessaggioPatternValue)) {
  567.                 profiloSicurezzaMessaggioItemModifyNote.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM01_SOAP_NOTE);
  568.             }
  569.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM02.equals(sicurezzaMessaggioPatternValue)) {
  570.                 profiloSicurezzaMessaggioItemModifyNote.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM02_SOAP_NOTE);
  571.             }
  572.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0301.equals(sicurezzaMessaggioPatternValue)) {
  573.                 profiloSicurezzaMessaggioItemModifyNote.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0301_SOAP_NOTE);
  574.             }
  575.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0302.equals(sicurezzaMessaggioPatternValue)) {
  576.                 profiloSicurezzaMessaggioItemModifyNote.setNote(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_REST_NOTE : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0302_SOAP_NOTE);
  577.             }
  578.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0401.equals(sicurezzaMessaggioPatternValue) && rest) {
  579.                 profiloSicurezzaMessaggioItemModifyNote.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0401_REST_NOTE);
  580.             }
  581.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0402.equals(sicurezzaMessaggioPatternValue) && rest) {
  582.                 profiloSicurezzaMessaggioItemModifyNote.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_LABEL_IDAM0402_REST_NOTE);
  583.             }
  584.         }
  585.        
  586.         boolean isSicurezza01 = false;
  587.         boolean isSicurezza02 = false;
  588.         boolean isSicurezza03 = false;
  589.         boolean isSicurezza04 = false;
  590.         if(profiloSicurezzaMessaggioItemValue!=null && profiloSicurezzaMessaggioItemValue.getValue()!=null) {
  591.             isSicurezza01 = isProfiloSicurezza01(profiloSicurezzaMessaggioItemValue.getValue());
  592.             isSicurezza02 = isProfiloSicurezza02(profiloSicurezzaMessaggioItemValue.getValue());
  593.             isSicurezza03 = isProfiloSicurezza03(profiloSicurezzaMessaggioItemValue.getValue());
  594.             isSicurezza04 = isProfiloSicurezza04(profiloSicurezzaMessaggioItemValue.getValue());
  595.         }
  596.         boolean isSicurezza03or04 = isSicurezza03 || isSicurezza04;
  597.        
  598.         boolean sicurezzaSoloSullaRispostaPerIdar04 = false;
  599.         if(isSicurezza04) {
  600.             StringProperty profiloSicurezzaMessaggioConfigurazioneItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_ID);
  601.             if(profiloSicurezzaMessaggioConfigurazioneItemValue!=null) {
  602.                 String secValue = profiloSicurezzaMessaggioConfigurazioneItemValue.getValue();
  603.                 if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA.equals(secValue) ||
  604.                         ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA_CON_ATTACHMENTS.equals(secValue)) {
  605.                     sicurezzaSoloSullaRispostaPerIdar04 = true;
  606.                 }
  607.             }
  608.         }
  609.        
  610.         StringConsoleItem profiloSicurezzaMessaggioSorgenteTokenIdAuthItem =    
  611.                 (StringConsoleItem) ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_ID);
  612.         boolean sorgenteTokenLocale = true;
  613.         if(profiloSicurezzaMessaggioSorgenteTokenIdAuthItem!=null) {
  614.            
  615.             StringProperty profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_ID);
  616.            
  617.             if(profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue!=null &&
  618.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID.equals(postBackElementName)) {
  619.                 // modificato il pattern
  620.                 if( ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0401.equals(sicurezzaMessaggioPatternValue)
  621.                         ||
  622.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_VALUE_IDAM0402.equals(sicurezzaMessaggioPatternValue)
  623.                 ){
  624.                     profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue.setValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND);
  625.                 }
  626.                 else {
  627.                     // altrimenti lascio quello impostato precedentemente che per gli altri profili va bene
  628.                     /** profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue.setValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_LOCALE); */
  629.                 }
  630.             }
  631.            
  632.             profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.clearMapLabelValues();
  633.             if(!isSicurezza04) {
  634.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL_LOCALE,
  635.                         ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_LOCALE);
  636.             }
  637.             profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL_PDND,
  638.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND);
  639.             profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_LABEL_OAUTH,
  640.                     ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_OAUTH);
  641.            
  642.             String sorgenteTokenIdAuthValue = profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue!=null ? profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue.getValue() : null;
  643.             if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_LOCALE.equals(sorgenteTokenIdAuthValue)) {
  644.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_NOTE_LOCALE);
  645.             }
  646.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_PDND.equals(sorgenteTokenIdAuthValue)) {
  647.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_NOTE_PDND);
  648.                 sorgenteTokenLocale = false;
  649.             }
  650.             else if(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_VALUE_OAUTH.equals(sorgenteTokenIdAuthValue)) {
  651.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_SORGENTE_TOKEN_IDAUTH_NOTE_OAUTH);
  652.                 sorgenteTokenLocale = false;
  653.             }
  654.            
  655.             if(isSicurezza01 || isSicurezza02 || isSicurezza03 || (isSicurezza04 && !sicurezzaSoloSullaRispostaPerIdar04)) {
  656.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setType(ConsoleItemType.SELECT);
  657.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setReloadOnChange(true);
  658.             }
  659.             else {
  660.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setType(ConsoleItemType.HIDDEN);
  661.                 profiloSicurezzaMessaggioSorgenteTokenIdAuthItem.setReloadOnChange(false);
  662.                 if(profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue!=null) {
  663.                     profiloSicurezzaMessaggioSorgenteTokenIdAuthItemValue.setValue(null);
  664.                 }
  665.             }
  666.         }
  667.        
  668.        
  669.         if(rest) {
  670.             AbstractConsoleItem<?> profiloSicurezzaMessaggioHeaderItem =    
  671.                     ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_ID);
  672.             AbstractConsoleItem<?> profiloSicurezzaMessaggioHeaderCustomItem =  
  673.                     ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_ID);
  674.             AbstractConsoleItem<?> profiloSicurezzaMessaggioHeaderCustomModeItem =  
  675.                     ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_ID);
  676.             if(isSicurezza01 || isSicurezza02 || isSicurezza03 || isSicurezza04) {
  677.                 if(profiloSicurezzaMessaggioHeaderItem!=null) {
  678.                     profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.SELECT);
  679.                 }
  680.                
  681.                 StringProperty profiloSicurezzaMessaggioHeaderItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_ID);
  682.                 if(profiloSicurezzaMessaggioHeaderItemValue!=null && ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_ID.equals(postBackElementName)){
  683.                    
  684.                     String headerSelezionato = profiloSicurezzaMessaggioHeaderItemValue.getValue();
  685.                     boolean agidPresente = ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_MODIPA.equals(headerSelezionato) ||
  686.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_MODIPA_AUTH_IN_RESPONSE.equals(headerSelezionato)  ||
  687.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_MODIPA.equals(headerSelezionato) ||
  688.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM.equals(headerSelezionato) ||
  689.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM_AUTH_IN_RESPONSE.equals(headerSelezionato)  ||
  690.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_CUSTOM.equals(headerSelezionato);
  691.                     boolean authorizationOnlyPresente = ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION.equals(headerSelezionato);
  692.                     if(isSicurezza01 || isSicurezza02) {
  693.                         // se è stato modificato (postback) in 01 o 02, e non c'e' l'header authorization imposto il null per forzare il default
  694.                         if(!authorizationOnlyPresente) {
  695.                             profiloSicurezzaMessaggioHeaderItemValue.setValue(null);
  696.                         }
  697.                     }
  698.                     else if(isSicurezza03or04 &&
  699.                         // se è stato modificato (postback) in 0301 o 0302, e non c'e' l'header agid imposto il null per forzare il default
  700.                         !agidPresente) {
  701.                         profiloSicurezzaMessaggioHeaderItemValue.setValue(null);
  702.                     }
  703.                    
  704.                 }
  705.                
  706.                 if(profiloSicurezzaMessaggioHeaderItem!=null) {
  707.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).clearMapLabelValues();
  708.                 }
  709.                
  710.                 if(sicurezzaSoloSullaRispostaPerIdar04) {
  711.                    
  712.                     profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.SELECT);    
  713.                    
  714.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA.
  715.                             replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  716.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_MODIPA);
  717.                    
  718.                     if(profiloSicurezzaMessaggioHeaderItemValue!=null &&
  719.                             (profiloSicurezzaMessaggioHeaderItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaMessaggioHeaderItemValue.getValue()))
  720.                         ) {
  721.                         profiloSicurezzaMessaggioHeaderItemValue.setValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_MODIPA);
  722.                     }

  723.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).setReloadOnChange(false);
  724.                 }
  725.                 else if(isSicurezza03or04) {
  726.                    
  727.                     profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.SELECT);    
  728.                    
  729.                     if(sorgenteTokenLocale) {
  730.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA.
  731.                                 replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  732.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_MODIPA);
  733.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION,
  734.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION);
  735.                     }
  736.                    
  737.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_MODIPA.
  738.                             replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  739.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_MODIPA);
  740.                     if(sorgenteTokenLocale) {
  741.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_MODIPA_AUTH_IN_RESPONSE.
  742.                                 replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  743.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_MODIPA_AUTH_IN_RESPONSE);
  744.                     }
  745.                    
  746.                     if(sorgenteTokenLocale) {
  747.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_CUSTOM,
  748.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_CUSTOM);
  749.                     }
  750.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_CUSTOM,
  751.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM);
  752.                     if(sorgenteTokenLocale) {
  753.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION_CUSTOM_AUTH_IN_RESPONSE,
  754.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM_AUTH_IN_RESPONSE);
  755.                     }
  756.                    
  757.                     if(profiloSicurezzaMessaggioHeaderItemValue!=null &&
  758.                             (profiloSicurezzaMessaggioHeaderItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaMessaggioHeaderItemValue.getValue()))
  759.                         ) {
  760.                         profiloSicurezzaMessaggioHeaderItemValue.setValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_IDAM03_DEFAULT_VALUE);
  761.                     }
  762.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_IDAM03_DEFAULT_VALUE);
  763.                    
  764.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).setReloadOnChange(true);
  765.                 }
  766.                 else if(isSicurezza01 || isSicurezza02) {

  767.                     if(sorgenteTokenLocale) {
  768.                        
  769.                         profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.SELECT);    
  770.                        
  771.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_AUTHORIZATION,
  772.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION);
  773.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA.
  774.                                 replace(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_LABEL_MODIPA, modiProperties.getRestSecurityTokenHeaderModI()),
  775.                                 ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_MODIPA);
  776.                     }
  777.                     else {
  778.                         profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.HIDDEN);    
  779.                     }
  780.                    
  781.                     if(profiloSicurezzaMessaggioHeaderItemValue!=null &&
  782.                             (profiloSicurezzaMessaggioHeaderItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaMessaggioHeaderItemValue.getValue()))
  783.                         ) {
  784.                         profiloSicurezzaMessaggioHeaderItemValue.setValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_NOT_IDAM03_DEFAULT_VALUE);
  785.                     }
  786.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).setDefaultValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_NOT_IDAM03_DEFAULT_VALUE);
  787.                    
  788.                     ((StringConsoleItem)profiloSicurezzaMessaggioHeaderItem).setReloadOnChange(false);
  789.                 }
  790.                
  791.                 boolean custom = false;
  792.                 if(isSicurezza03or04 &&
  793.                     profiloSicurezzaMessaggioHeaderItemValue!=null &&
  794.                     profiloSicurezzaMessaggioHeaderItemValue.getValue()!=null &&
  795.                     StringUtils.isNotEmpty(profiloSicurezzaMessaggioHeaderItemValue.getValue())
  796.                         ) {
  797.                     custom =
  798.                             (sorgenteTokenLocale && ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_CUSTOM.equals(profiloSicurezzaMessaggioHeaderItemValue.getValue()))
  799.                             ||
  800.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM.equals(profiloSicurezzaMessaggioHeaderItemValue.getValue())
  801.                             ||
  802.                             (sorgenteTokenLocale && ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_VALUE_AUTHORIZATION_CUSTOM_AUTH_IN_RESPONSE.equals(profiloSicurezzaMessaggioHeaderItemValue.getValue()));
  803.                 }
  804.                 if(custom) {
  805.                     if(profiloSicurezzaMessaggioHeaderCustomItem!=null) {
  806.                         profiloSicurezzaMessaggioHeaderCustomItem.setType(ConsoleItemType.TEXT_EDIT);
  807.                         profiloSicurezzaMessaggioHeaderCustomItem.setRequired(true);
  808.                         ((StringConsoleItem)profiloSicurezzaMessaggioHeaderCustomItem).setDefaultValue(modiProperties.getRestSecurityTokenHeaderModI());
  809.                         if(postBackElementName!=null && postBackElementName.equals(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_ID)) {
  810.                             StringProperty profiloSicurezzaMessaggioHeaderCustomItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_ID);
  811.                             if(profiloSicurezzaMessaggioHeaderCustomItemValue!=null &&
  812.                                 (profiloSicurezzaMessaggioHeaderCustomItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaMessaggioHeaderCustomItemValue.getValue()))
  813.                             ) {
  814.                                 profiloSicurezzaMessaggioHeaderCustomItemValue.setValue(modiProperties.getRestSecurityTokenHeaderModI());
  815.                             }
  816.                         }
  817.                     }
  818.                     if(profiloSicurezzaMessaggioHeaderCustomModeItem!=null) {
  819.                         profiloSicurezzaMessaggioHeaderCustomModeItem.setType(ConsoleItemType.SELECT);
  820.                     }
  821.                     if(profiloSicurezzaMessaggioHeaderItem!=null) {
  822.                         profiloSicurezzaMessaggioHeaderItem.setNote(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_NOTE);
  823.                     }
  824.                 }
  825.                 else {
  826.                     if(profiloSicurezzaMessaggioHeaderCustomItem!=null) {
  827.                         profiloSicurezzaMessaggioHeaderCustomItem.setType(ConsoleItemType.HIDDEN);
  828.                         profiloSicurezzaMessaggioHeaderCustomItem.setRequired(false);
  829.                         StringProperty profiloSicurezzaMessaggioHeaderCustomItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_ID);
  830.                         if(profiloSicurezzaMessaggioHeaderCustomItemValue!=null) {
  831.                             profiloSicurezzaMessaggioHeaderCustomItemValue.setValue(null);
  832.                         }
  833.                     }
  834.                     if(profiloSicurezzaMessaggioHeaderCustomModeItem!=null) {
  835.                         if(isSicurezza03or04) {
  836.                             /***Rilascio con issue 1625 */
  837.                             profiloSicurezzaMessaggioHeaderCustomModeItem.setType(ConsoleItemType.SELECT);
  838.                         }
  839.                         else {
  840.                             profiloSicurezzaMessaggioHeaderCustomModeItem.setType(ConsoleItemType.HIDDEN);
  841.                             StringProperty profiloSicurezzaMessaggioHeaderCustomModeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_ID);
  842.                             if(profiloSicurezzaMessaggioHeaderCustomModeItemValue!=null) {
  843.                                 profiloSicurezzaMessaggioHeaderCustomModeItemValue.setValue(null);
  844.                             }
  845.                         }
  846.                     }
  847.                     if(profiloSicurezzaMessaggioHeaderItem!=null) {
  848.                         profiloSicurezzaMessaggioHeaderItem.setNote(null);
  849.                     }
  850.                 }
  851.             }
  852.             else {
  853.                 profiloSicurezzaMessaggioHeaderItem.setType(ConsoleItemType.HIDDEN);
  854.                 if(!ridefinito) {
  855.                     StringProperty profiloSicurezzaMessaggioHeaderItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_ID);
  856.                     if(profiloSicurezzaMessaggioHeaderItemValue!=null) {
  857.                         profiloSicurezzaMessaggioHeaderItemValue.setValue(null);
  858.                     }
  859.                 }
  860.                
  861.                 if(profiloSicurezzaMessaggioHeaderCustomItem!=null) {
  862.                     profiloSicurezzaMessaggioHeaderCustomItem.setType(ConsoleItemType.HIDDEN);
  863.                     StringProperty profiloSicurezzaMessaggioHeaderCustomItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_ID);
  864.                     if(profiloSicurezzaMessaggioHeaderCustomItemValue!=null) {
  865.                         profiloSicurezzaMessaggioHeaderCustomItemValue.setValue(null);
  866.                     }
  867.                 }
  868.                
  869.                 if(profiloSicurezzaMessaggioHeaderCustomModeItem!=null) {
  870.                     profiloSicurezzaMessaggioHeaderCustomModeItem.setType(ConsoleItemType.HIDDEN);
  871.                     StringProperty profiloSicurezzaMessaggioHeaderCustomModeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_HEADER_CUSTOM_MODE_ID);
  872.                     if(profiloSicurezzaMessaggioHeaderCustomModeItemValue!=null) {
  873.                         profiloSicurezzaMessaggioHeaderCustomModeItemValue.setValue(null);
  874.                     }
  875.                 }
  876.             }
  877.         }
  878.        
  879.        
  880.        
  881.         // Configurazione
  882.        
  883.         AbstractConsoleItem<?> profiloSicurezzaConfigurazioneItem =    
  884.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_ID);
  885.        
  886.         StringProperty profiloSicurezzaMessaggioConfigurazioneItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_ID);
  887.        
  888.        
  889.         // personalizzo lista applicabilita'
  890.                
  891.         if(!rest) {
  892.            
  893.             // verifica soap attachments
  894.             if(isSicurezza03) {
  895.                 if(!((StringConsoleItem)profiloSicurezzaConfigurazioneItem).getMapLabelValues().containsKey(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_ENTRAMBI_CON_ATTACHMENTS)) {
  896.                     ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_ENTRAMBI_CON_ATTACHMENTS,
  897.                             ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_ENTRAMBI_CON_ATTACHMENTS);
  898.                 }
  899.                 if(!((StringConsoleItem)profiloSicurezzaConfigurazioneItem).getMapLabelValues().containsKey(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RICHIESTA_CON_ATTACHMENTS)) {
  900.                     ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RICHIESTA_CON_ATTACHMENTS,
  901.                             ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA_CON_ATTACHMENTS);
  902.                 }
  903.                 if(!((StringConsoleItem)profiloSicurezzaConfigurazioneItem).getMapLabelValues().containsKey(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RISPOSTA_CON_ATTACHMENTS)) {
  904.                     ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).addLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RISPOSTA_CON_ATTACHMENTS,
  905.                             ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA_CON_ATTACHMENTS);
  906.                 }
  907.             }
  908.             else {
  909.                 ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).removeLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_ENTRAMBI_CON_ATTACHMENTS);
  910.                 ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).removeLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RICHIESTA_CON_ATTACHMENTS);
  911.                 ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).removeLabelValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_LABEL_RISPOSTA_CON_ATTACHMENTS);
  912.                
  913.                 if(profiloSicurezzaMessaggioConfigurazioneItemValue!=null &&
  914.                     profiloSicurezzaMessaggioConfigurazioneItemValue.getValue()!=null && !StringUtils.isEmpty(profiloSicurezzaMessaggioConfigurazioneItemValue.getValue())) {
  915.                     String v = profiloSicurezzaMessaggioConfigurazioneItemValue.getValue();
  916.                     if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_ENTRAMBI_CON_ATTACHMENTS.equals(v) ||
  917.                             ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA_CON_ATTACHMENTS.equals(v) ||
  918.                             ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA_CON_ATTACHMENTS.equals(v) ) {
  919.                         profiloSicurezzaMessaggioConfigurazioneItemValue.setValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_DEFAULT_VALUE);
  920.                     }
  921.                 }
  922.             }
  923.         }
  924.        
  925.         // parametri che serviranno a nascondere requestDigest e infoUtente
  926.         boolean sicurezzaSullaRichiesta = false;
  927.         boolean sicurezzaSullaRisposta = false;
  928.        
  929.        
  930.         boolean configurazionePersonalizzata = false;
  931.         if(isSicurezza01 || isSicurezza02 || isSicurezza03 || isSicurezza04) {
  932.            
  933.             if(sorgenteTokenLocale || isSicurezza03 || isSicurezza04) {
  934.                
  935.                 profiloSicurezzaConfigurazioneItem.setType(ConsoleItemType.SELECT);
  936.                 profiloSicurezzaConfigurazioneItem.setReloadOnChange(true);
  937.            
  938.                 ((StringConsoleItem)profiloSicurezzaConfigurazioneItem).setDefaultValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_DEFAULT_VALUE);
  939.                 String secValue = ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_DEFAULT_VALUE;
  940.                 if(profiloSicurezzaMessaggioConfigurazioneItemValue!=null) {
  941.                     if(profiloSicurezzaMessaggioConfigurazioneItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaMessaggioConfigurazioneItemValue.getValue())) {
  942.                         profiloSicurezzaMessaggioConfigurazioneItemValue.setValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_DEFAULT_VALUE);
  943.                     }
  944.                     else {
  945.                         secValue = profiloSicurezzaMessaggioConfigurazioneItemValue.getValue();
  946.                     }
  947.                    
  948.                     if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_PERSONALIZZATO.equals(secValue)) {
  949.                         configurazionePersonalizzata = true;
  950.                     }
  951.                 }
  952.                
  953.                 if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_ENTRAMBI.equals(secValue) ||
  954.                         ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_ENTRAMBI_CON_ATTACHMENTS.equals(secValue)) {
  955.                     sicurezzaSullaRichiesta = true;
  956.                     sicurezzaSullaRisposta = true;
  957.                 }
  958.                 else if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA.equals(secValue) ||
  959.                         ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA_CON_ATTACHMENTS.equals(secValue)) {
  960.                     sicurezzaSullaRichiesta = true;
  961.                 }
  962.                 else if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA.equals(secValue) ||
  963.                         ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RISPOSTA_CON_ATTACHMENTS.equals(secValue)) {
  964.                     sicurezzaSullaRisposta = true;
  965.                 }
  966.             }
  967.             else {
  968.                 profiloSicurezzaConfigurazioneItem.setType(ConsoleItemType.HIDDEN);
  969.                 profiloSicurezzaConfigurazioneItem.setReloadOnChange(false);
  970.                
  971.                 if(profiloSicurezzaMessaggioConfigurazioneItemValue!=null) {
  972.                     profiloSicurezzaMessaggioConfigurazioneItemValue.setValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_MESSAGGIO_MODE_VALUE_RICHIESTA);
  973.                 }
  974.                
  975.                 sicurezzaSullaRichiesta = true;
  976.             }
  977.            
  978.         }
  979.         else {
  980.             profiloSicurezzaConfigurazioneItem.setType(ConsoleItemType.HIDDEN);
  981.             if(profiloSicurezzaMessaggioConfigurazioneItemValue!=null) {
  982.                 profiloSicurezzaMessaggioConfigurazioneItemValue.setValue(null);
  983.             }
  984.         }
  985.                
  986.         BaseConsoleItem subTitleRichiesta = ProtocolPropertiesUtils.getBaseConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_ID);
  987.         subTitleRichiesta.setType(configurazionePersonalizzata ? ConsoleItemType.SUBTITLE : ConsoleItemType.HIDDEN);
  988.                
  989.         AbstractConsoleItem<?> profiloSicurezzaRichiestaConfigurazioneItem =    
  990.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_ID);
  991.         profiloSicurezzaRichiestaConfigurazioneItem.setType(configurazionePersonalizzata ? ConsoleItemType.SELECT : ConsoleItemType.HIDDEN);
  992.         if(configurazionePersonalizzata) {
  993.             ((StringConsoleItem)profiloSicurezzaRichiestaConfigurazioneItem).setDefaultValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_DEFAULT_VALUE);
  994.         }
  995.        
  996.         StringProperty profiloSicurezzaRichiestaConfigurazioneItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_ID);
  997.         boolean richiestaPersonalizzata = false;
  998.         if(configurazionePersonalizzata) {
  999.             String secValue = ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_DEFAULT_VALUE;
  1000.             if(profiloSicurezzaRichiestaConfigurazioneItemValue!=null) {
  1001.                 if(profiloSicurezzaRichiestaConfigurazioneItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaRichiestaConfigurazioneItemValue.getValue())) {
  1002.                     profiloSicurezzaRichiestaConfigurazioneItemValue.setValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_DEFAULT_VALUE);
  1003.                 }
  1004.                 else {
  1005.                     secValue = profiloSicurezzaRichiestaConfigurazioneItemValue.getValue();
  1006.                 }
  1007.                
  1008.                 if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_VALUE_PERSONALIZZATO.equals(secValue)) {
  1009.                     richiestaPersonalizzata = true;
  1010.                 }
  1011.             }
  1012.             if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_VALUE_ABILITATO.equals(secValue) ||
  1013.                     ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_MODE_VALUE_PERSONALIZZATO.equals(secValue) // per una qualche richiesta sarà abilitato
  1014.                     ) {
  1015.                 sicurezzaSullaRichiesta = true;
  1016.             }
  1017.         }
  1018.         else {
  1019.             if(profiloSicurezzaRichiestaConfigurazioneItemValue!=null) {
  1020.                 profiloSicurezzaRichiestaConfigurazioneItemValue.setValue(null);
  1021.             }
  1022.         }

  1023.         AbstractConsoleItem<?> profiloSicurezzaRichiestaConfigurazioneContentTypeItem =    
  1024.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_CONTENT_TYPE_MODE_ID);
  1025.         profiloSicurezzaRichiestaConfigurazioneContentTypeItem.setType(richiestaPersonalizzata ? ConsoleItemType.TAGS : ConsoleItemType.HIDDEN);
  1026.        
  1027.         StringProperty profiloSicurezzaRichiestaConfigurazioneContentTypeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RICHIESTA_CONTENT_TYPE_MODE_ID);
  1028.         if(!richiestaPersonalizzata && profiloSicurezzaRichiestaConfigurazioneContentTypeItemValue!=null) {
  1029.             profiloSicurezzaRichiestaConfigurazioneContentTypeItemValue.setValue(null);
  1030.         }
  1031.        
  1032.         BaseConsoleItem subTitleRisposta = ProtocolPropertiesUtils.getBaseConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_ID);
  1033.         subTitleRisposta.setType(configurazionePersonalizzata ? ConsoleItemType.SUBTITLE : ConsoleItemType.HIDDEN);
  1034.                
  1035.         AbstractConsoleItem<?> profiloSicurezzaRispostaConfigurazioneItem =    
  1036.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_ID);
  1037.         profiloSicurezzaRispostaConfigurazioneItem.setType(configurazionePersonalizzata ? ConsoleItemType.SELECT : ConsoleItemType.HIDDEN);
  1038.         if(configurazionePersonalizzata) {
  1039.             ((StringConsoleItem)profiloSicurezzaRispostaConfigurazioneItem).setDefaultValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_DEFAULT_VALUE);
  1040.         }
  1041.        
  1042.         StringProperty profiloSicurezzaRispostaConfigurazioneItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_ID);
  1043.         boolean rispostaPersonalizzata = false;
  1044.         if(configurazionePersonalizzata) {
  1045.             String secValue = ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_DEFAULT_VALUE;
  1046.             if(profiloSicurezzaRispostaConfigurazioneItemValue!=null) {
  1047.                 if(profiloSicurezzaRispostaConfigurazioneItemValue.getValue()==null || StringUtils.isEmpty(profiloSicurezzaRispostaConfigurazioneItemValue.getValue())) {
  1048.                     profiloSicurezzaRispostaConfigurazioneItemValue.setValue(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_DEFAULT_VALUE);
  1049.                 }
  1050.                 else {
  1051.                     secValue = profiloSicurezzaRispostaConfigurazioneItemValue.getValue();
  1052.                 }
  1053.                
  1054.                 if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_VALUE_PERSONALIZZATO.equals(secValue)) {
  1055.                     rispostaPersonalizzata = true;
  1056.                 }
  1057.             }
  1058.             if(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_VALUE_ABILITATO.equals(secValue) ||
  1059.                     ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_MODE_VALUE_PERSONALIZZATO.equals(secValue) // per una qualche risposta sarà abilitato
  1060.                 ) {
  1061.                 sicurezzaSullaRisposta = true;
  1062.             }
  1063.         }
  1064.         else {
  1065.             if(profiloSicurezzaRispostaConfigurazioneItemValue!=null) {
  1066.                 profiloSicurezzaRispostaConfigurazioneItemValue.setValue(null);
  1067.             }
  1068.         }
  1069.            
  1070.         AbstractConsoleItem<?> profiloSicurezzaRispostaConfigurazioneContentTypeItem =  
  1071.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_CONTENT_TYPE_MODE_ID);
  1072.         profiloSicurezzaRispostaConfigurazioneContentTypeItem.setType(rispostaPersonalizzata ? ConsoleItemType.TAGS : ConsoleItemType.HIDDEN);
  1073.        
  1074.         StringProperty profiloSicurezzaRispostaConfigurazioneContentTypeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_CONTENT_TYPE_MODE_ID);
  1075.         if(!rispostaPersonalizzata && profiloSicurezzaRispostaConfigurazioneContentTypeItemValue!=null) {
  1076.             profiloSicurezzaRispostaConfigurazioneContentTypeItemValue.setValue(null);
  1077.         }
  1078.        
  1079.         AbstractConsoleItem<?> profiloSicurezzaRispostaConfigurazioneReturnCodeItem =  
  1080.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_ID);
  1081.         profiloSicurezzaRispostaConfigurazioneReturnCodeItem.setType(rispostaPersonalizzata ? ConsoleItemType.TAGS : ConsoleItemType.HIDDEN);
  1082.        
  1083.         StringProperty profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_ID);
  1084.         if(!rispostaPersonalizzata && profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue!=null) {
  1085.             profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue.setValue(null);
  1086.         }
  1087.        
  1088.        
  1089.         //  DigestRichiesta
  1090.                
  1091.         AbstractConsoleItem<?> profiloSicurezzaMessaggioRequestDigestItem =    
  1092.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_ID);
  1093.         BooleanProperty profiloSicurezzaMessaggioRequestDigestItemValue = (BooleanProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_REQUEST_DIGEST_ID);
  1094.        
  1095.         if(isSicurezza03or04 && sicurezzaSullaRichiesta && sicurezzaSullaRisposta) {
  1096.             profiloSicurezzaMessaggioRequestDigestItem.setType(ConsoleItemType.CHECKBOX);
  1097.         }
  1098.         else {
  1099.             if(profiloSicurezzaMessaggioRequestDigestItem!=null) {
  1100.                 profiloSicurezzaMessaggioRequestDigestItem.setType(ConsoleItemType.HIDDEN);
  1101.             }
  1102.             if(profiloSicurezzaMessaggioRequestDigestItemValue!=null) {
  1103.                 profiloSicurezzaMessaggioRequestDigestItemValue.setValue(null);
  1104.             }
  1105.         }
  1106.        
  1107.        
  1108.         // Informazioni Utente
  1109.        
  1110.         AbstractConsoleItem<?> profiloSicurezzaMessaggioCorniceSicurezzaItem =  
  1111.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_ID);
  1112.         BooleanProperty profiloSicurezzaMessaggioCorniceSicurezzaItemValue = (BooleanProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_ID);
  1113.            
  1114.         BaseConsoleItem profiloSicurezzaMessaggioCorniceSicurezzaSubTitle = ProtocolPropertiesUtils.getBaseConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SUBTITLE_ID);
  1115.        
  1116.         StringConsoleItem profiloSicurezzaMessaggioCorniceSicurezzaPatternItem = (StringConsoleItem)
  1117.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_ID);
  1118.         StringProperty profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_ID);
  1119.        
  1120.         StringConsoleItem profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem = (StringConsoleItem)
  1121.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SCHEMA_ID);
  1122.         StringProperty profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SCHEMA_ID);
  1123.        
  1124.         BooleanConsoleItem profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItem = (BooleanConsoleItem)
  1125.                 ProtocolPropertiesUtils.getAbstractConsoleItem(consoleConfiguration.getConsoleItem(), ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_OPZIONALE_ID);
  1126.         BooleanProperty profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItemValue = (BooleanProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_OPZIONALE_ID);
  1127.        
  1128.        
  1129.         boolean infoUtenteAbilitata = profiloSicurezzaMessaggioCorniceSicurezzaItemValue!=null && profiloSicurezzaMessaggioCorniceSicurezzaItemValue.getValue()!=null &&
  1130.                 profiloSicurezzaMessaggioCorniceSicurezzaItemValue.getValue().booleanValue();
  1131.        
  1132.         if(infoUtenteAbilitata && profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue!=null &&
  1133.                 profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue()==null) {
  1134.             // backward compatibility
  1135.             profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.setValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD);
  1136.         }
  1137.        
  1138.         if(sicurezzaSullaRichiesta && infoUtenteAbilitata) {
  1139.             if(profiloSicurezzaMessaggioCorniceSicurezzaItem!=null) {
  1140.                 profiloSicurezzaMessaggioCorniceSicurezzaItem.setType(ConsoleItemType.CHECKBOX);
  1141.             }
  1142.            
  1143.             if(profiloSicurezzaMessaggioCorniceSicurezzaSubTitle!=null) {
  1144.                 profiloSicurezzaMessaggioCorniceSicurezzaSubTitle.setType(ConsoleItemType.SUBTITLE);
  1145.             }
  1146.            
  1147.             if(profiloSicurezzaMessaggioCorniceSicurezzaPatternItem!=null) {
  1148.                
  1149.                 profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.setType(ConsoleItemType.SELECT);
  1150.                
  1151.                 if(sorgenteTokenLocale) {
  1152.                     profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.removeLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_AUDIT_REST_02);
  1153.                 }
  1154.                 else {
  1155.                     profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_AUDIT_REST_02,
  1156.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_AUDIT_REST_02);
  1157.                 }
  1158.                
  1159.                 if(corniceSicurezza && isSicurezza03or04) {
  1160.                     profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.addLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_OLD,
  1161.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD);
  1162.                    
  1163.                     if(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue!=null && profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue()!=null &&
  1164.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD.equals(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue())) {
  1165.                         ConsoleItemInfo consoleItemInfoCorniceSicurezza = new ConsoleItemInfo(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_LABEL);
  1166.                         consoleItemInfoCorniceSicurezza.setHeaderBody(rest ? ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_REST_INFO_HEADER : ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SOAP_INFO_HEADER );
  1167.                         consoleItemInfoCorniceSicurezza.setListBody(rest ? ModIConsoleCostanti.getModipaProfiloSicurezzaMessaggioCorniceSicurezzaRestInfoValori() : ModIConsoleCostanti.getModipaProfiloSicurezzaMessaggioCorniceSicurezzaSoapInfoValori() );
  1168.                         profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.setInfo(consoleItemInfoCorniceSicurezza);
  1169.                     }
  1170.                     else {
  1171.                         profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.setInfo(null);
  1172.                     }
  1173.                 }
  1174.                 else {
  1175.                     profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.removeLabelValue(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_LABEL_OLD);
  1176.                     profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.setInfo(null);
  1177.                    
  1178.                     if(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue!=null && profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue()!=null &&
  1179.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD.equals(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue())) {
  1180.                         profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.setValue(null);
  1181.                     }
  1182.                 }
  1183.             }
  1184.            
  1185.             if(profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem!=null) {
  1186.                
  1187.                 List<ModIAuditConfig> listConfig = modiProperties.getAuditConfig();
  1188.                 if(listConfig!=null && !listConfig.isEmpty()) {
  1189.                
  1190.                     if(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue!=null && profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue()!=null &&
  1191.                             ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD.equals(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue())) {
  1192.                         profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem.setType(ConsoleItemType.HIDDEN);
  1193.                         profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem.setInfo(null);
  1194.                         if(profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue!=null) {
  1195.                             profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue.setValue(null);
  1196.                         }
  1197.                     }
  1198.                     else {
  1199.                        
  1200.                         profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem.setType(ConsoleItemType.SELECT);
  1201.                        
  1202.                         String schemaSelected = profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue!=null ? profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue.getValue() : null;
  1203.                         if( (schemaSelected==null || StringUtils.isEmpty(schemaSelected)) && profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue!=null) {
  1204.                             schemaSelected = listConfig.get(0).getNome();
  1205.                             profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue.setValue(schemaSelected);
  1206.                         }
  1207.                        
  1208.                         if(schemaSelected!=null && StringUtils.isNotEmpty(schemaSelected)) {
  1209.                             for (ModIAuditConfig modIAuditConfig : listConfig) {
  1210.                                 if(modIAuditConfig.getNome().equals(schemaSelected)) {
  1211.                                    
  1212.                                     if(modIAuditConfig.getClaims()!=null && !modIAuditConfig.getClaims().isEmpty()) {
  1213.                                         ConsoleItemInfo consoleItemInfoCorniceSicurezza = new ConsoleItemInfo(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_LABEL);
  1214.                                         consoleItemInfoCorniceSicurezza.setHeaderBody(ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_SCHEMA_INFO_HEADER);
  1215.                                         List<String> body = new ArrayList<>();
  1216.                                         for (ModIAuditClaimConfig claim : modIAuditConfig.getClaims()) {
  1217.                                             StringBuilder sb = new StringBuilder();
  1218.                                             sb.append("<b>");
  1219.                                             sb.append(claim.getNome());
  1220.                                             sb.append("</b>: ");
  1221.                                             sb.append(claim.getInfo());
  1222.                                             body.add(sb.toString());
  1223.                                         }
  1224.                                         consoleItemInfoCorniceSicurezza.setListBody(body);
  1225.                                         profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem.setInfo(consoleItemInfoCorniceSicurezza);
  1226.                                     }
  1227.                                    
  1228.                                     break;
  1229.                                 }
  1230.                             }
  1231.                         }
  1232.                     }
  1233.                    
  1234.                 }
  1235.                
  1236.             }
  1237.            
  1238.             if(profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItem!=null) {
  1239.                
  1240.                 String pattern = profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue!=null ? profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue() : null;
  1241.                 if(pattern==null || ModIConsoleCostanti.MODIPA_PROFILO_SICUREZZA_MESSAGGIO_CORNICE_SICUREZZA_PATTERN_VALUE_OLD.equals(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.getValue())) {
  1242.                     profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItem.setType(ConsoleItemType.HIDDEN);
  1243.                     if(profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItemValue!=null) {
  1244.                         profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItemValue.setValue(null);
  1245.                     }
  1246.                 }
  1247.                 else {
  1248.                     profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItem.setType(ConsoleItemType.CHECKBOX);
  1249.                 }
  1250.             }
  1251.         }
  1252.         else {
  1253.             if(!sicurezzaSullaRichiesta) {
  1254.                 if(profiloSicurezzaMessaggioCorniceSicurezzaItem!=null) {
  1255.                     profiloSicurezzaMessaggioCorniceSicurezzaItem.setType(ConsoleItemType.HIDDEN);
  1256.                 }
  1257.                 if(profiloSicurezzaMessaggioCorniceSicurezzaItemValue!=null) {
  1258.                     profiloSicurezzaMessaggioCorniceSicurezzaItemValue.setValue(null);
  1259.                 }
  1260.             }
  1261.             else {
  1262.                 if(profiloSicurezzaMessaggioCorniceSicurezzaItem!=null) {
  1263.                     profiloSicurezzaMessaggioCorniceSicurezzaItem.setType(ConsoleItemType.CHECKBOX);
  1264.                 }
  1265.             }
  1266.            
  1267.             if(profiloSicurezzaMessaggioCorniceSicurezzaSubTitle!=null) {
  1268.                 profiloSicurezzaMessaggioCorniceSicurezzaSubTitle.setType(ConsoleItemType.HIDDEN);
  1269.             }
  1270.            
  1271.             if(profiloSicurezzaMessaggioCorniceSicurezzaPatternItem!=null) {
  1272.                 profiloSicurezzaMessaggioCorniceSicurezzaPatternItem.setType(ConsoleItemType.HIDDEN);
  1273.             }
  1274.             if(profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue!=null) {
  1275.                 profiloSicurezzaMessaggioCorniceSicurezzaPatternItemValue.setValue(null);
  1276.             }
  1277.            
  1278.             if(profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem!=null) {
  1279.                 profiloSicurezzaMessaggioCorniceSicurezzaSchemaItem.setType(ConsoleItemType.HIDDEN);
  1280.             }
  1281.             if(profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue!=null) {
  1282.                 profiloSicurezzaMessaggioCorniceSicurezzaSchemaItemValue.setValue(null);
  1283.             }
  1284.            
  1285.             if(profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItem!=null) {
  1286.                 profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItem.setType(ConsoleItemType.HIDDEN);
  1287.             }
  1288.             if(profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItemValue!=null) {
  1289.                 profiloSicurezzaMessaggioCorniceSicurezzaOpzionaleItemValue.setValue(null);
  1290.             }
  1291.         }

  1292.     }
  1293.    
  1294.     static void validateProfiloSicurezzaMessaggio(ProtocolProperties properties,
  1295.             boolean rest) throws ProtocolException {
  1296.        
  1297.         if(rest) {
  1298.             StringProperty profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue = (StringProperty) ProtocolPropertiesUtils.getAbstractPropertyById(properties, ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_ID);
  1299.             if(profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue!=null && profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue.getValue()!=null &&
  1300.                     StringUtils.isNotEmpty(profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue.getValue())) {
  1301.                 String v = profiloSicurezzaRispostaConfigurazioneReturnCodeItemValue.getValue();
  1302.                 List<String> codici = new ArrayList<>();
  1303.                 if(v.contains(",")) {
  1304.                     String [] tmp = v.split(",");
  1305.                     for (int i = 0; i < tmp.length; i++) {
  1306.                         codici.add(tmp[i].trim());
  1307.                     }
  1308.                 }
  1309.                 else {
  1310.                     codici.add(v.trim());
  1311.                 }
  1312.                 if(!codici.isEmpty()) {
  1313.                     for (String codice : codici) {
  1314.                         if(codice.contains("-")) {
  1315.                             String [] tmp = codice.split("-");
  1316.                             if(tmp==null || tmp.length!=2) {
  1317.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1318.                                         " '"+codice+"' possiede un formato errato; atteso: codiceMin-codiceMax");
  1319.                             }
  1320.                             String codiceMin = tmp[0];
  1321.                             String codiceMax = tmp[1];
  1322.                             if(codiceMin==null || StringUtils.isEmpty(codiceMin.trim())) {
  1323.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1324.                                         " '"+codice+"' possiede un formato errato (intervallo minimo non definito); atteso: codiceMin-codiceMax");
  1325.                             }
  1326.                             if(codiceMax==null || StringUtils.isEmpty(codiceMax.trim())) {
  1327.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1328.                                         " '"+codice+"' possiede un formato errato (intervallo massimo non definito); atteso: codiceMin-codiceMax");
  1329.                             }
  1330.                             codiceMin = codiceMin.trim();
  1331.                             codiceMax = codiceMax.trim();
  1332.                             int codiceMinInt = -1;
  1333.                             try {
  1334.                                 codiceMinInt = Integer.valueOf(codiceMin);
  1335.                             }catch(Exception e) {
  1336.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1337.                                         " '"+codice+"' contiene un intervallo minimo '"+codiceMin+"' che non è un numero intero");
  1338.                             }
  1339.                             int codiceMaxInt = -1;
  1340.                             try {
  1341.                                 codiceMaxInt = Integer.valueOf(codiceMax);
  1342.                             }catch(Exception e) {
  1343.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1344.                                         " '"+codice+"' contiene un intervallo massimo '"+codiceMax+"' che non è un numero intero");
  1345.                             }
  1346.                             if(codiceMaxInt<=codiceMinInt) {
  1347.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1348.                                         " '"+codice+"' contiene un intervallo massimo '"+codiceMax+"' minore o uguale all'intervallo minimo '"+codiceMin+"'");
  1349.                             }
  1350.                         }
  1351.                         else {
  1352.                             try {
  1353.                                 @SuppressWarnings("unused")
  1354.                                 int codiceInt = Integer.parseInt(codice);
  1355.                             }catch(Exception e) {
  1356.                                 throw new ProtocolException(ModIConsoleCostanti.MODIPA_API_CONFIGURAZIONE_SICUREZZA_RISPOSTA_RETURN_CODE_MODE_LABEL+
  1357.                                         " '"+codice+"' non è un numero intero");
  1358.                             }
  1359.                         }
  1360.                     }
  1361.                 }
  1362.             }
  1363.         }
  1364.        
  1365.     }
  1366.    
  1367. }