Importer.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.web.ctrlstat.servlet.archivi;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import org.apache.commons.lang.StringEscapeUtils;
- import org.apache.struts.action.Action;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
- import org.apache.struts.upload.FormFile;
- import org.openspcoop2.protocol.engine.archive.ImportInformationMissingCollection;
- import org.openspcoop2.protocol.engine.archive.ImportInformationMissingException;
- import org.openspcoop2.protocol.information_missing.Wizard;
- import org.openspcoop2.protocol.sdk.archive.Archive;
- import org.openspcoop2.protocol.sdk.archive.ArchiveModeType;
- import org.openspcoop2.protocol.sdk.archive.ImportMode;
- import org.openspcoop2.protocol.sdk.archive.MapPlaceholder;
- import org.openspcoop2.web.ctrlstat.core.ControlStationCore;
- import org.openspcoop2.web.ctrlstat.core.ControlStationCoreException;
- import org.openspcoop2.web.ctrlstat.servlet.GeneralHelper;
- import org.openspcoop2.web.ctrlstat.servlet.pdd.PddCore;
- import org.openspcoop2.web.lib.mvc.DataElement;
- import org.openspcoop2.web.lib.mvc.DataElementType;
- import org.openspcoop2.web.lib.mvc.GeneralData;
- import org.openspcoop2.web.lib.mvc.PageData;
- import org.openspcoop2.web.lib.mvc.Parameter;
- import org.openspcoop2.web.lib.mvc.ServletUtils;
- /**
- * Importer
- *
- * @author Andrea Poli (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public final class Importer extends Action {
- @Override
- public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
- HttpSession session = request.getSession(true);
- // Inizializzo PageData
- PageData pd = new PageData();
- GeneralHelper generalHelper = new GeneralHelper(session);
- // Inizializzo GeneralData
- GeneralData gd = generalHelper.initGeneralData(request);
- try {
-
- String userLogin = ServletUtils.getUserLoginFromSession(session);
-
- ArchiviHelper archiviHelper = new ArchiviHelper(request, pd, session);
- ArchiviCore archiviCore = new ArchiviCore();
-
- PddCore pddCore = new PddCore(archiviCore);
- if(!pddCore.existsPddOperativa()){
-
- archiviHelper.makeMenu();
-
- pd.setMessage("Non è possibile completare l'operazione: non è stata rilevata una Porta di Dominio operativa");
-
- pd.disableEditMode();
-
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
-
- return ServletUtils.getStrutsForwardEditModeFinished(mapping, ArchiviCostanti.OBJECT_NAME_ARCHIVI_IMPORT,
- ArchiviCostanti.TIPO_OPERAZIONE_IMPORT);
- }
- String nomePddOperativa = pddCore.getNomePddOperativa();
-
- ImporterUtils importerUtils = new ImporterUtils(archiviCore);
-
-
- // Eventuale PostBack element name che ha scaturito l'evento
- String postBackElementName = archiviHelper.getPostBackElementName();
-
-
- // Indicazione se devo effettuare una delete od una import
- boolean deleter = false;
- String parametroModalitaFunzionamento = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORTER_MODALITA);
- if(parametroModalitaFunzionamento!=null){
- deleter = ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORTER_MODALITA_ELIMINA.equals(parametroModalitaFunzionamento.trim());
- }
- else{
- // default
- parametroModalitaFunzionamento = ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORTER_MODALITA_IMPORT;
- }
- DataElement modalitaDataElement = new DataElement();
- modalitaDataElement.setLabel(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORTER_MODALITA);
- modalitaDataElement.setValue(parametroModalitaFunzionamento);
- modalitaDataElement.setType(DataElementType.HIDDEN);
- modalitaDataElement.setName(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORTER_MODALITA);
-
-
- String labelBottone = ArchiviCostanti.LABEL_ARCHIVI_IMPORT;
- if(deleter){
- labelBottone = ArchiviCostanti.LABEL_ARCHIVI_ELIMINA;
- }
-
- // parametri vari
- ImporterStrutsBean strutsBean = null;
- String f = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_PACKAGE_FILE_PATH);
- if(f==null || "".equals(f)) {
- strutsBean = new ImporterStrutsBean(request, session, true);
- }
- else {
- strutsBean = new ImporterStrutsBean(request, session, false);
- strutsBean.filePath = f;
- }
-
- // protocolli supportati
- List<String> protocolli = archiviCore.getProtocolli(request, session);
- if(protocolli.size()>1){
- protocolli = new ArrayList<>();
- protocolli.add(ArchiviCostanti.PARAMETRO_ARCHIVI_PROTOCOLLO_UNDEFINDED);
- protocolli.addAll(archiviCore.getProtocolli(request, session));
- }
- strutsBean.protocollo = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_PROTOCOLLO);
- if("".equals(strutsBean.protocollo) || ArchiviCostanti.PARAMETRO_ARCHIVI_PROTOCOLLO_UNDEFINDED.equals(strutsBean.protocollo)){
- strutsBean.protocollo = null;
- }
- // Volutamente per default si vogliono tutti!
- /** if(strutsBean.protocollo==null){
- // strutsBean.protocollo = archiviCore.getProtocolloDefault();
- // }*/
-
-
-
- // show Protocols se esiste più di un importMode per qualche protocollo
- Map<String, String> importModesMapRispettoATuttiIProtocolli = importerUtils.getImportModesWithProtocol(protocolli);
- boolean showProtocols = importModesMapRispettoATuttiIProtocolli!=null && importModesMapRispettoATuttiIProtocolli.size()>1;
-
-
-
- // import modes
- List<String> protocolliForModes = new ArrayList<>();
- if(strutsBean.protocollo!=null){
- protocolliForModes.add(strutsBean.protocollo);
- }else{
- protocolliForModes.addAll(protocolli);
- }
- Map<String, String> importModesMap = importerUtils.getImportModesWithProtocol(protocolliForModes);
- List<ImportMode> importModes = new ArrayList<>();
- for (String imp : importModesMap.keySet()) {
- importModes.add(new ImportMode(imp));
- }
- strutsBean.importMode = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_TIPOLOGIA_ARCHIVIO);
- if(strutsBean.importMode!=null &&
- // verifico che esista nei modes disponibili per i protocolli selezionati
- !importModes.contains(new ImportMode(strutsBean.importMode))){
- strutsBean.importMode = null;
- }
- if(strutsBean.importMode==null){
- if(importModes.contains(org.openspcoop2.protocol.basic.Costanti.OPENSPCOOP_IMPORT_ARCHIVE_MODE)){
- strutsBean.importMode = org.openspcoop2.protocol.basic.Costanti.OPENSPCOOP_IMPORT_ARCHIVE_MODE.toString();
- }else{
- strutsBean.importMode = importModes.get(0).toString();
- }
- }
- ImportMode archiveMode = null;
- if(strutsBean.importMode!=null){
- archiveMode = new ImportMode(strutsBean.importMode);
- }
-
-
- // import types
- String protocolloEffettivo = importModesMap.get(strutsBean.importMode);
- /**System.out.println("PROTOCOLLO EFFETTIVO: "+protocolloEffettivo);*/
- List<ArchiveModeType> importTypes = null;
- if(strutsBean.importMode!=null){
- importTypes = importerUtils.getImportModeTypes(archiveMode, protocolloEffettivo);
- }
- strutsBean.importType = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_TIPO);
- if(strutsBean.importType!=null &&
- // verifico che esista nei tyoes disponibili per il mode selezionato
- !importTypes.contains(new ArchiveModeType(strutsBean.importType))){
- strutsBean.importType = null;
- }
- if(strutsBean.importType==null){
- strutsBean.importType = importTypes.get(0).toString();
- }
- ArchiveModeType archiveModeType = null;
- if(strutsBean.importType!=null){
- archiveModeType = new ArchiveModeType(strutsBean.importType);
- }
-
-
- // validazione
- String tmpValidazioneDocumenti = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_VALIDAZIONE_DOCUMENTI);
- if(archiviHelper.isEditModeInProgress() && tmpValidazioneDocumenti==null){
- // primo accesso alla servlet
- strutsBean.validazioneDocumenti = true;
- }
- else{
- if(ServletUtils.isCheckBoxEnabled(tmpValidazioneDocumenti)){
- strutsBean.validazioneDocumenti = true;
- }
- else{
- strutsBean.validazioneDocumenti = false;
- }
- }
-
- // updateEnabled
- String tmpUpdateEnabled = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_UPDATE_ENABLED);
- if(archiviHelper.isEditModeInProgress() && tmpUpdateEnabled==null){
- // primo accesso alla servlet
- strutsBean.updateEnabled = false;
- }
- else{
- if(ServletUtils.isCheckBoxEnabled(tmpUpdateEnabled)){
- strutsBean.updateEnabled = true;
- }
- else{
- strutsBean.updateEnabled = false;
- }
- }
-
- // importPolicyConfig
- String tmpImportDeletePolicyConfig = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_DELETE_POLICY_CONFIG_ENABLED);
- if(archiviHelper.isEditModeInProgress() && tmpImportDeletePolicyConfig==null){
- // primo accesso alla servlet
- strutsBean.importDeletePolicyConfig = false;
- }
- else{
- if(ServletUtils.isCheckBoxEnabled(tmpImportDeletePolicyConfig)){
- strutsBean.importDeletePolicyConfig = true;
- }
- else{
- strutsBean.importDeletePolicyConfig = false;
- }
- }
-
- // importPluginConfig
- String tmpImportDeletePluginConfig = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_DELETE_PLUGIN_CONFIG_ENABLED);
- if(archiviHelper.isEditModeInProgress() && tmpImportDeletePluginConfig==null){
- // primo accesso alla servlet
- strutsBean.importDeletePluginConfig = false;
- }
- else{
- if(ServletUtils.isCheckBoxEnabled(tmpImportDeletePluginConfig)){
- strutsBean.importDeletePluginConfig = true;
- }
- else{
- strutsBean.importDeletePluginConfig = false;
- }
- }
-
- // importConfig
- String tmpImportConfig = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_CONFIG_ENABLED);
- if(archiviHelper.isEditModeInProgress() && tmpImportConfig==null){
- // primo accesso alla servlet
- strutsBean.importConfig = false;
- }
- else{
- if(ServletUtils.isCheckBoxEnabled(tmpImportConfig)){
- strutsBean.importConfig = true;
- }
- else{
- strutsBean.importConfig = false;
- }
- }
-
-
- // importInformationMissing: objectClass
- String tmpClass = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_OBJECT_CLASS);
- if(tmpClass!=null && !"".equals(tmpClass)){
- strutsBean.importInformationMissingClassObject = Class.forName(tmpClass);
- String absolutePath = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_OBJECT_FILE_PATH);
- if(absolutePath==null || "".equals(absolutePath)){
- throw new ControlStationCoreException("Parametro ["+ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_OBJECT_FILE_PATH
- +"] non trovato, nonostante sia presente il parametro ["+ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_OBJECT_CLASS
- +"] con valore: "+tmpClass);
- }
- strutsBean.importInformationMissingObject = importerUtils.readImportInformationMissingObjectFile(absolutePath, strutsBean.importInformationMissingClassObject);
- }else{
- strutsBean.importInformationMissingClassObject = null;
- strutsBean.importInformationMissingObject = null;
- }
- // importInformationMissing: soggetto
- strutsBean.importInformationMissingSoggettoInput = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_SOGGETTO_INPUT);
- // importInformationMissing: versione
- strutsBean.importInformationMissingVersioneInput = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_VERSIONE_INPUT);
- // Import Information Missing collection
- strutsBean.importInformationMissingCollectionFilePath = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_COLLECTION_FILE_PATH);
- // Import Information Missing object id
- strutsBean.importInformationMissingObjectId = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_OBJECT_ID);
- // importInformationMissing: servizi, modalita' di acquisizione
- strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo =
- archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_MODALITA_ACQUISIZIONE_INPUT);
- // importInformationMissing: portTypeImplemented
- strutsBean.importInformationMissingPortTypeImplementedInput =
- archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_PORT_TYPE_IMPLEMENTED_INPUT);
- // importInformationMissing: accordoServizioParteComune
- strutsBean.importInformationMissingAccordoServizioParteComuneInput = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_ACCORDO_SERVIZIO_PARTE_COMUNE_INPUT);
- // importInformationMissing: accordoCooperazione
- strutsBean.importInformationMissingAccordoCooperazioneInput = archiviHelper.getParameter(ArchiviCostanti.PARAMETRO_ARCHIVI_IMPORT_INFO_MISSING_ACCORDO_COOPERAZIONE_INPUT);
-
-
-
-
-
- // File da caricare
- FormFile ff = importerUtils.readFormFile(strutsBean.filePath, form);
-
- archiviHelper.makeMenu();
-
- // Se severita == null, devo visualizzare la pagina con il pulsante
- if(archiviHelper.isEditModeInProgress() &&
- strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo == null){
-
- // setto la barra del titolo
- String nomeFunzionalita = ArchiviCostanti.LABEL_ARCHIVI_IMPORT;
- if(deleter){
- nomeFunzionalita = ArchiviCostanti.LABEL_ARCHIVI_ELIMINA;
- }
- ServletUtils.setPageDataTitle(pd,
- new Parameter(nomeFunzionalita,null));
- // preparo i campi
- List<DataElement> dati = new ArrayList<>();
- dati.add(modalitaDataElement);
-
- dati.add(ServletUtils.getDataElementForEditModeFinished());
- archiviHelper.addImportToDati(dati, strutsBean.validazioneDocumenti, strutsBean.updateEnabled,
- strutsBean.importDeletePolicyConfig,
- strutsBean.importDeletePluginConfig,
- strutsBean.importConfig,
- showProtocols, protocolli, strutsBean.protocollo,
- importModes, strutsBean.importMode,
- importTypes, strutsBean.importType,
- deleter);
-
- pd.setDati(dati);
- pd.setLabelBottoneInvia(labelBottone);
-
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
-
- return ServletUtils.getStrutsForwardEditModeInProgress(mapping, ArchiviCostanti.OBJECT_NAME_ARCHIVI_IMPORT,
- ArchiviCostanti.TIPO_OPERAZIONE_IMPORT);
- }
- // Controlli sui campi immessi
- boolean isOk = archiviHelper.importCheckData(ff, importerUtils, protocolloEffettivo, archiveMode, archiveModeType);
-
- // Controlli su eventuali import information missing
- boolean convertForGetException = false;
- if(isOk && strutsBean.importInformationMissingObjectId!=null){
- isOk = archiviHelper.importInformationMissingCheckData(strutsBean.importInformationMissingSoggettoInput, strutsBean.importInformationMissingVersioneInput,
- strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo, postBackElementName,
- strutsBean.importInformationMissingPortTypeImplementedInput,
- strutsBean.importInformationMissingAccordoServizioParteComuneInput,
- strutsBean.importInformationMissingAccordoCooperazioneInput);
- if(!isOk){
- convertForGetException = true;
- }
- }
-
- // ImportInformationMissing: portTypes per accordi di servizio parte comune (profilo, correlazione per le varie azioni)
- if(strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo!=null &&
- !"".equals(strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo)){
- try{
- strutsBean.importInformationMissingPortTypes =
- archiviHelper.readInformazioniProtocolloServiziAzioni(strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo,
- protocolloEffettivo, strutsBean.importInformationMissingObject);
- }catch(Exception e){
- ControlStationCore.getLog().error(e.getMessage(),e);
- pd.setMessage(e.getMessage());
- isOk = false;
- convertForGetException = false; // forzo la non ricostruzione. C'e' un errore strutturale sul package
- }
- }
-
- // ImportInformationMissingInvocazioneServizio
- if(isOk){
- try{
- if(!archiviHelper.isEditModeInProgress()){
- strutsBean.importInformationMissingInvocazioneServizio = archiviHelper.readInvocazioneServizio();
- }
- else{
- strutsBean.importInformationMissingInvocazioneServizio = null;
- }
- }catch(Exception e){
- ControlStationCore.getLog().error(e.getMessage(),e);
- pd.setMessage(e.getMessage());
- isOk = false;
- convertForGetException = false; // forzo la non ricostruzione. C'e' un errore strutturale sul package
- }
- }
-
- // ImportInformationMissingConnettore
- if(isOk){
- try{
- if(!archiviHelper.isEditModeInProgress()){
- strutsBean.importInformationMissingConnettore = archiviHelper.readConnettore();
- }
- else{
- strutsBean.importInformationMissingConnettore = null;
- }
- }catch(Exception e){
- ControlStationCore.getLog().error(e.getMessage(),e);
- pd.setMessage(e.getMessage());
- isOk = false;
- convertForGetException = false; // forzo la non ricostruzione. C'e' un errore strutturale sul package
- }
- }
-
- // ImportInformationMissingCredenziali
- if(isOk){
- try{
- if(!archiviHelper.isEditModeInProgress()){
- strutsBean.importInformationMissingCredenziali = archiviHelper.readCredenzialiSA();
- }
- else{
- strutsBean.importInformationMissingCredenziali = null;
- }
- }catch(Exception e){
- ControlStationCore.getLog().error(e.getMessage(),e);
- pd.setMessage(e.getMessage());
- isOk = false;
- convertForGetException = false; // forzo la non ricostruzione. C'e' un errore strutturale sul package
- }
- }
-
- // MapPlaceHolder
- MapPlaceholder importInformationMissingPlaceholder = null;
- if(isOk){
- try{
- if(!archiviHelper.isEditModeInProgress()){
- importInformationMissingPlaceholder = archiviHelper.readPlaceholder();
- if(importInformationMissingPlaceholder!=null){
- strutsBean.importInformationMissingGlobalPlaceholder.putAll(importInformationMissingPlaceholder);
- }
- }
- }catch(Exception e){
- ControlStationCore.getLog().error(e.getMessage(),e);
- pd.setMessage(e.getMessage());
- isOk = false;
- convertForGetException = false; // forzo la non ricostruzione. C'e' un errore strutturale sul package
- }
- }
-
- // Requisiti
- HashMap<String, String> mapRequisitiInput = null;
- HashMap<String, String> mapRequisitiInputStepIncrement = null;
- if(isOk) {
- try{
- if(!archiviHelper.isEditModeInProgress()){
- mapRequisitiInput = archiviHelper.readRequisitiInput();
- mapRequisitiInputStepIncrement = archiviHelper.readRequisitiStepIncrementInput();
- }
- }catch(Exception e){
- ControlStationCore.getLog().error(e.getMessage(),e);
- pd.setMessage(e.getMessage());
- isOk = false;
- convertForGetException = false; // forzo la non ricostruzione. C'e' un errore strutturale sul package
- }
- }
-
- // ImportInformationMissingCollection
- ImportInformationMissingCollection importInformationMissingCollection = null;
- if(strutsBean.importInformationMissingCollectionFilePath!=null){
- importInformationMissingCollection = importerUtils.readImportInformationMissingCollectionFile(strutsBean.importInformationMissingCollectionFilePath);
- }
- if(isOk){
- importInformationMissingCollection =
- importerUtils.updateInformationMissingCheckData(mapRequisitiInput, mapRequisitiInputStepIncrement,
- strutsBean.importInformationMissingSoggettoInput,
- strutsBean.importInformationMissingVersioneInput,
- strutsBean.importInformationMissingPortTypes,
- strutsBean.importInformationMissingPortTypeImplementedInput,
- strutsBean.importInformationMissingAccordoServizioParteComuneInput,
- strutsBean.importInformationMissingAccordoCooperazioneInput,
- strutsBean.importInformationMissingInvocazioneServizio,
- strutsBean.importInformationMissingConnettore,
- strutsBean.importInformationMissingCredenziali,
- importInformationMissingPlaceholder,
- strutsBean.importInformationMissingCollectionFilePath,
- strutsBean.importInformationMissingObjectId,
- importInformationMissingCollection);
- }
-
-
- // Step
- if(!archiviHelper.isEditModeInProgress() && isOk){
- strutsBean.stepCounter.increment();
- }
-
- // trasformazione in archivio openspcoop2
- Archive archive = null;
- if(isOk || convertForGetException){
- try{
- archive = archiviCore.convert(ff.getFileData(), archiveModeType, archiveMode, protocolloEffettivo,strutsBean.validazioneDocumenti,
- strutsBean.importInformationMissingGlobalPlaceholder);
- }catch(Exception e){
- ControlStationCore.logError(e.getMessage(), e);
- pd.setMessage(e.getMessage());
- isOk = false;
- }
- }
-
- // check requisiti wizard
- if(isOk &&
- archive!=null && archive.getInformationMissing()!=null && archive.getInformationMissing().getWizard()!=null){
- try{
- isOk = archiviHelper.checkRequiisitiWizard(archive.getInformationMissing().getWizard());
- }catch(Exception e){
- ControlStationCore.logError(e.getMessage(), e);
- pd.setMessage(e.getMessage());
- isOk = false;
- }
- }
-
- // validazione
- ImportInformationMissingException importInformationMissingException = null;
- if(isOk || convertForGetException){
- try{
- archiviCore.validateArchive(archive, protocolloEffettivo,
- strutsBean.validazioneDocumenti, importInformationMissingCollection, userLogin, deleter);
- }catch(ImportInformationMissingException e){
- /**ControlStationCore.logError(importInformationMissingException.getMessage(), importInformationMissingException);*/
- importInformationMissingException = e;
- isOk = false;
- }
- catch(Exception e){
- ControlStationCore.logError(e.getMessage(), e);
- pd.setMessage(e.getMessage());
- isOk = false;
- }
- }
-
- // finalizeArchive
- if(isOk &&
- archive!=null){
- try{
- archiviCore.finalizeArchive(archive, archiveModeType, archiveMode, protocolloEffettivo,strutsBean.validazioneDocumenti,
- strutsBean.importInformationMissingGlobalPlaceholder);
- }catch(Exception e){
- ControlStationCore.logError(e.getMessage(), e);
- pd.setMessage(e.getMessage());
- isOk = false;
- }
- }
-
- if (!isOk) {
-
- // setto la barra del titolo
- ServletUtils.setPageDataTitle(pd,
- new Parameter(ArchiviCostanti.LABEL_ARCHIVI_IMPORT,null));
- // preparo i campi
- List<DataElement> dati = new ArrayList<>();
- dati.add(modalitaDataElement);
-
- dati.add(ServletUtils.getDataElementForEditModeFinished());
-
- if(importInformationMissingException!=null){
-
- // Indicazione se ho letto i dati sull'InvocazioneServizio, Connettore
- boolean readedDatiConnettori = strutsBean.importInformationMissingInvocazioneServizio!=null ||
- strutsBean.importInformationMissingConnettore!=null || strutsBean.importInformationMissingCredenziali!=null;
-
- Wizard wizard = null;
- if(archive!=null && archive.getInformationMissing()!=null){
- wizard = archive.getInformationMissing().getWizard();
- }
-
- archiviHelper.addImportInformationMissingToDati(dati, importerUtils, ff,
- strutsBean.protocollo, strutsBean.importMode, protocolloEffettivo, strutsBean.importType,
- strutsBean.validazioneDocumenti, strutsBean.updateEnabled,
- strutsBean.importDeletePolicyConfig,
- strutsBean.importDeletePluginConfig,
- strutsBean.importConfig,
- importInformationMissingCollection, importInformationMissingException,
- strutsBean.importInformationMissingModalitaAcquisizioneInformazioniProtocollo,strutsBean.importInformationMissingPortTypes,
- protocolliForModes,readedDatiConnettori,
- wizard,strutsBean.stepCounter.getStep(),
- deleter);
-
- pd.setLabelBottoneInvia(ArchiviCostanti.LABEL_ARCHIVI_AVANTI);
- }
- else{
- archiviHelper.addImportToDati(dati, strutsBean.validazioneDocumenti, strutsBean.updateEnabled,
- strutsBean.importDeletePolicyConfig,
- strutsBean.importDeletePluginConfig,
- strutsBean.importConfig,
- showProtocols, protocolli, strutsBean.protocollo,
- importModes, strutsBean.importMode,
- importTypes, strutsBean.importType,
- deleter);
-
- pd.setLabelBottoneInvia(labelBottone);
- }
-
- pd.setDati(dati);
- if(pd.getMessage()!=null &&
- importInformationMissingException==null){
- pd.setMessage(ArchiviCostanti.LABEL_IMPORT_ERROR_HEADER+StringEscapeUtils.escapeHtml(pd.getMessage()));
- }
-
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
-
- return ServletUtils.getStrutsForwardEditModeCheckError(mapping, ArchiviCostanti.OBJECT_NAME_ARCHIVI_IMPORT,
- ArchiviCostanti.TIPO_OPERAZIONE_IMPORT);
- }
-
-
-
-
-
- List<DataElement> dati = new ArrayList<>();
- dati.add(ServletUtils.getDataElementForEditModeFinished());
-
- /**
- System.out.println("IMPORT COME PROTOCOL["+protocolloEffettivo+"] MODE["+strutsBean.importMode+"] TIPO["+
- strutsBean.importType+"]");
-
- if(importInformationMissingCollection!=null){
- System.out.println("SIZE COLLECTION ["+importInformationMissingCollection.size()+"]");
- Enumeration<String> keys = importInformationMissingCollection.keys();
- while (keys.hasMoreElements()) {
- String key = (String) keys.nextElement();
- ImportInformationMissing i = importInformationMissingCollection.get(key);
- System.out.println("COLLECTION ["+key
- +"] soggetti["+i.getSoggetto()+"] versione["+i.getVersione()
- +"] portTypes["+i.getPortTypes().size()+"]");
- }
- }
- */
-
- String esito = null;
- if(deleter){
- esito = archiviCore.deleteArchive(archive, archiveMode, protocolloEffettivo,
- userLogin, archiviHelper.smista(),
- strutsBean.importDeletePolicyConfig,
- strutsBean.importDeletePluginConfig);
- }else{
- esito = archiviCore.importArchive(archive, archiveMode, protocolloEffettivo,
- userLogin, archiviHelper.smista(),
- strutsBean.updateEnabled,
- strutsBean.importDeletePolicyConfig,
- strutsBean.importDeletePluginConfig, archiviCore.isConfigurazionePluginsEnabled(),
- strutsBean.importConfig, nomePddOperativa,
- archiviHelper);
- }
-
- dati.add(modalitaDataElement);
-
- DataElement de = new DataElement();
- de.setLabel("Riepilogo Configurazioni Effettuate");
- de.setType(DataElementType.TITLE);
- dati.add(de);
-
- de = new DataElement();
- de.setLabel("");
- de.setType(DataElementType.TEXT_AREA_NO_EDIT);
- de.setValue(esito);
- de.setName("Resoconto");
- de.setRows(30);
- de.setCols(130);
- dati.add(de);
-
- if(esito!=null && !"".equals(esito)){
-
- // Salvo resoconto per fornirlo alla servlet
- ServletUtils.setObjectIntoSession(request, session, esito, ArchiviCostanti.PARAMETRO_DOWNLOAD_RESOCONTO_VALORE);
-
- DataElement saveAs = new DataElement();
- saveAs.setValue(ArchiviCostanti.LABEL_DOWNLOAD);
- saveAs.setType(DataElementType.LINK);
- saveAs.setUrl(ArchiviCostanti.SERVLET_NAME_RESOCONTO_EXPORT);
- saveAs.setDisabilitaAjaxStatus();
- dati.add(saveAs);
- }
-
- pd.disableEditMode();
-
- pd.setDati(dati);
-
- ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);
-
- return ServletUtils.getStrutsForwardEditModeFinished(mapping, ArchiviCostanti.OBJECT_NAME_ARCHIVI_IMPORT,
- ArchiviCostanti.TIPO_OPERAZIONE_IMPORT);
-
- } catch (Exception e) {
- return ServletUtils.getStrutsForwardError(ControlStationCore.getLog(), e, pd, request, session, gd, mapping,
- ArchiviCostanti.OBJECT_NAME_ARCHIVI_IMPORT,
- ArchiviCostanti.TIPO_OPERAZIONE_IMPORT);
- }
-
- }
-
- }