Как устранить ошибку создания ошибки bean с именем 'dataFlowController' - PullRequest
0 голосов
/ 08 апреля 2020

Здравствуйте, я разрабатываю службу отдыха, и когда я запускаю свое приложение, я получаю следующую ошибку:

org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания компонента с именем ' dataFlowController ': неудовлетворенная зависимость, выраженная через поле' pamdaImportDirectStarter '; Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'pamdaImportDirect': Неудовлетворенная зависимость, выраженная через поле catalogueImportDirectStarter; вложенное исключение - org.springframework.beans.factory.BeanNotOfRequiredTypeException: ожидается, что компонент с именем catalogueImportDirectStarter имеет тип 'com.orange.pamda.worker.starter.CatalogueImportDirectStarter', но на самом деле имеет тип 'com.sun.pro. Proxy129 '08 апреля 2020 г. 12:58:35 PM org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean уничтожить ИНФО: Закрытие JPA EntityManagerFactory для единицы персистентности' pamdaPersistenceUnit '08 апреля 2020 г. 12:58:35 org.springrentursc .ThreadPoolTaskExecutor shutdown ИНФОРМАЦИЯ: Выключение ExecutorService 08 апр. 2020 г., 12:58:35 org.springframework.web.context.ContextLoader initWebApplicationContext SEVERE: сбой инициализации контекста org.springframework.beans.factory.Unslow ': Неудовлетворительная зависимость выражается через поле' pamdaImportDirectStarter '; Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'pamdaImportDirect': Неудовлетворенная зависимость, выраженная через поле catalogueImportDirectStarter; Вложенное исключение - org.springframework.beans.factory.BeanNotOfRequiredTypeException: ожидается, что bean-компонент с именем catalogueImportDirectStarter имеет тип 'com.orange.pamda.worker.starter.CatalogueImportDirectStarter', но на самом деле имеет тип 'com.sun.pro. Proxy129 'в org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject (AutowiredAnnotationBeanPostProcessor. java: 588) в org.springframework.beant (. AutowiredAnnotationBeanPostProcessor java 366) в org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ​​на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory java:. 1264) в org.springframework .beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory. java: 553) в org.springframework.bea ns.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory. java: 483) в org.springframework.beans.factory.factory.support.AbstractBeanFactory .support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry. java: 230) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory. java: 305.su.bef). .getBean (AbstractBeanFactory. java: 197) в org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory. java: 761) в org.springAbect.Axt. 1032 *: 867) в org.springframework.context.support.AbstractApplicationContext.refre sh (AbstractApplicationContext. java: 543) в org.springframework.web.context.ContextLoader. configureAndRefreshWebApplicationContext (ContextLoader. java: 443) по адресу org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader. java: 325) по адресу org.springframework.web.context.ContextLoaderListener.contextInitialized: 107Loader . apache .catalina.core.StandardContext.listenerStart (StandardContext. java: 4685) в орг. apache .catalina.core.StandardContext.startInternal (StandardContext. java: 5146) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.core.ContainerBase $ StartChild.call (ContainerBase. java: 1384) в орг. apache .catalina .core.ContainerBase $ StartChild.call (ContainerBase. java: 1374) в java .util.concurrent.FutureTask.run (FutureTask. java: 266) в орг. apache .tomcat.util.threads .InlineExecutorService.execute (InlineExecutorService. java: 75) в java .util.concurrent.AbstractExecutorService.submit (AbstractExecutorService. java: 134) в орг. apache .catalina.core.ContainerBaseerInart . java: 909) в орг. apache .catalina. core.StandardHost.startInternal (StandardHost. java: 841) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.core.ContainerBase $ StartChild.call (ContainerBase. java: 1384) на орг. apache .catalina.core.ContainerBase $ StartChild.call (ContainerBase. java: 1374) на java .util.concurrent.FutureTask.run ( FutureTask. java: 266) в орг. apache .tomcat.util.threads.InlineExecutorService.execute (InlineExecutorService. java: 75) в java .util.concurrent.AbstractExecutorService.submit (AbstractExecutorService). *: 134) в орг. apache .catalina.core.ContainerBase.startInternal (ContainerBase. java: 909) в орг. apache .catalina.core.StandardEngine.startInternal (StandardEngine. java: 262) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.core.StandardService.startInternal (StandardService. java: 421) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.core.StandardServer.st artInternal (StandardServer. java: 930) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.startup.Catalina.start (Каталина. java: 633) в sun.reflect. Родной метод. 43) в java .lang.reflect.Mehod.invoke (Метод. java: 498) в орг. apache .catalina.startup. Bootstrap .start (Bootstrap. java: 343) at org. apache .catalina.startup. Bootstrap .main (Bootstrap. java: 474) Причина: org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании компонента с именем 'pamdaImportDirect': Не удовлетворен зависимость выражается через поле catalogueImportDirectStarter; вложенное исключение - org.springframework.beans.factory.BeanNotOfRequiredTypeException: ожидается, что компонент с именем catalogueImportDirectStarter имеет тип 'com.orange.pamda.worker.starter.CatalogueImportDirectStarter', но на самом деле имеет тип 'com.sun.pro. Proxy129 'в org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject (AutowiredAnnotationBeanPostProcessor. java: 588) в org.springframework.beject.

вот код для моей службы отдыха "dataFlowController":

 package com.orange.pamda.controller;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.orange.pamda.config.PamdaServerProperty;
import com.orange.pamda.dao.ProfileDao;
import com.orange.pamda.dao.ScopeDao;
import com.orange.pamda.interfaces.v11.CatalogueSystem;
import com.orange.pamda.worker.service.WorkerService;
import com.orange.pamda.worker.starter.CatalogueImportDirectStarter;
import com.orange.pamda.worker.starter.MappingExportStarter;
import com.orange.pamda.worker.starter.MappingImportStarter;
import com.orange.pamda.worker.starter.CatalogueExportDirectStarter;
import com.orange.pamda.worker.starter.PamdaImportDirectStarter;
import com.orange.pamda.worker.utils.DataFlowParameterInfo;
import com.orange.pamda.worker.utils.Worker;
import com.orange.pamda.worker.utils.WorkerExecutionStatus;
import com.orange.pamda.worker.utils.WorkerParameterInfo;

@RestController
@RequestMapping("dataFlow")
@Transactional
@CrossOrigin
public class DataFlowController {

    private static final Logger LOGGER = LoggerFactory.getLogger(DataFlowController.class);

    @Autowired
    //@Qualifier("catalogueImportDirectStarter")
    CatalogueImportDirectStarter catalogueImportDirectStarter;

    @Autowired
    CatalogueExportDirectStarter catalogueExportDirectStarter;

    @Autowired
    MappingImportStarter mappingImportStarter;

    @Autowired
    MappingExportStarter mappingExportStarter; 

    @Autowired
    PamdaImportDirectStarter pamdaImportDirectStarter;


    @Autowired
    WorkerService workerService;

    @Autowired
    AuthenticationManager authenticationManager;

    @Autowired
    DaoAuthenticationProvider authenticationProvider;

    @Autowired
    PamdaServerProperty pamdaProperty;

    @Autowired
    ScopeDao scopeDao;


     @RequestMapping(value = "/directExportCatalogue", method = RequestMethod.POST)
    public ResponseEntity<WorkerExecutionStatus> directExportCatalogue(@RequestBody DataFlowParameterInfo dataFlowParameterInfo) {

     WorkerExecutionStatus workerExecutionStatus = new WorkerExecutionStatus();

     try {
            long startTime = System.nanoTime();

            dataFlowParameterInfo.setDataFlowName(com.orange.pamda.worker.utils.Worker.catalogueImport.name().toString());
            catalogueExportDirectStarter.start(dataFlowParameterInfo);
            long endTime = (System.nanoTime() - startTime) / 1000000000;
            LOGGER.trace("[TIMER] Pamda import direct : {}", endTime);
            System.out.println("[TIMER] Pamda import direct : {}"+ endTime);
        } catch (IOException e) {
            // TODO Auto-generated catch block

            workerExecutionStatus.setOnError(true); 

        }
        return new ResponseEntity<>(workerExecutionStatus, HttpStatus.OK);
    }


    @RequestMapping(value = "/directImportCatalogue", method = RequestMethod.POST)
    public ResponseEntity<WorkerExecutionStatus> directImportCatalogue(@RequestBody DataFlowParameterInfo dataFlowParameterInfo) {
     dataFlowParameterInfo.setDataFlowName(com.orange.pamda.worker.utils.Worker.catalogueImport.name().toString());
     WorkerExecutionStatus workerExecutionStatus = new WorkerExecutionStatus();

     try {
            long startTime = System.nanoTime();


            catalogueImportDirectStarter.start(dataFlowParameterInfo);
            long endTime = (System.nanoTime() - startTime) / 1000000000;
            LOGGER.trace("[TIMER] directImportCatalogue : {}", endTime);
            System.out.println("[TIMER] directImportCatalogue : {}"+ endTime);
        } catch (IOException e) {
            // TODO Auto-generated catch block

            workerExecutionStatus.setOnError(true); 

        } 
        return new ResponseEntity<>(workerExecutionStatus, HttpStatus.OK);
    }


    @PostMapping(value = "/directImportPamda")
    public ResponseEntity<WorkerExecutionStatus> directImportPamda(@RequestBody DataFlowParameterInfo dataFlowParameterInfo) {

     WorkerExecutionStatus workerExecutionStatus = new WorkerExecutionStatus();

     try {
            long startTime = System.nanoTime();

            dataFlowParameterInfo.setDataFlowName(com.orange.pamda.worker.utils.Worker.catalogueImport.name().toString());
            pamdaImportDirectStarter.start(dataFlowParameterInfo);
            long endTime = (System.nanoTime() - startTime) / 1000000000;
            LOGGER.trace("[TIMER] Pamda import direct : {}", endTime);
            System.out.println("[TIMER] Pamda import direct : {}"+ endTime);
        } catch (IOException e) {
            // TODO Auto-generated catch block

            workerExecutionStatus.setOnError(true); 

        }
        return new ResponseEntity<>(workerExecutionStatus, HttpStatus.OK);
    }


    /* @RequestMapping(value = "/directExportMapping", method = RequestMethod.POST)
    public ResponseEntity<Void> directExportMapping(@RequestBody WorkerParameterInfo workerParameterInfo) {
        workerParameterInfo.setWorker(Worker.valueOf(com.orange.pamda.worker.utils.Worker.mappingExport.name()));
        workerService.launch(workerParameterInfo);
        return new ResponseEntity<>(HttpStatus.OK);
    }



    @RequestMapping(value = "/directImportMapping", method = RequestMethod.POST)
    public ResponseEntity<WorkerExecutionStatus> directImportMapping(@RequestBody WorkerParameterInfo workerParameterInfo) {
        workerParameterInfo.setWorker(Worker.valueOf(com.orange.pamda.worker.utils.Worker.mappingImport.name()));
        List<WorkerExecutionStatus> workerExecutionStatuss = workerService.launch(workerParameterInfo);
        return new ResponseEntity<>(workerExecutionStatuss.get(0), HttpStatus.OK);
    }
    */
}

и вот класс, вызываемый моим методом directImportPamda для обработки:

    package com.orange.pamda.worker.starter;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.google.common.collect.Lists;
import com.orange.pamda.config.PamdaServerProperty;
import com.orange.pamda.dao.MappingContextDAO;
import com.orange.pamda.entity.jpa.MappingContext;
import com.orange.pamda.service.MappingContextService;
import com.orange.pamda.util.DataFlowParametersBuilder;
import com.orange.pamda.util.DateHelper;
import com.orange.pamda.util.FileFormatter;
import com.orange.pamda.util.FileHelper;
import com.orange.pamda.util.PamdaDataFlowStarter;
import com.orange.pamda.worker.distributon.ArchiveService;
import com.orange.pamda.worker.eraser.DataEraser;
import com.orange.pamda.worker.utils.DataFlowParameterInfo;


@Component("pamdaImportDirect")
public class PamdaImportDirectStarter implements PamdaDataFlowStarter {

    @Inject
    private ArchiveService archiveService;

    @Inject
    private DataEraser dataEraser;

    @Autowired
    CatalogueImportDirectStarter catalogueImportDirectStarter;

    @Autowired
    CatalogueExportDirectStarter catalogueExportDirectStarter;

    @Autowired
    MappingImportStarter mappingImportStarter;

    @Autowired
    MappingExportStarter mappingExportStarter;

    @Inject
    private PamdaServerProperty pamdaProperty;

    @Autowired
    private MappingContextDAO mappingContextDAO;

    @Autowired
    private MappingContextService mappingContextService;

    protected static Logger logger = LoggerFactory.getLogger(PamdaImportDirectStarter.class);


    @Transactional(propagation = Propagation.NOT_SUPPORTED)
    public void start(DataFlowParameterInfo dataFlowParameterInfo)
            throws  IOException {

        System.out.println("START launching Pamda Import");


        startImport(dataFlowParameterInfo);
        System.out.println("End launching Pamda Import JOB");

    }

    private void startImport(DataFlowParameterInfo dataFlowParameterInfo) {
        try {
            catalogueExportDirectStarter.start(dataFlowParameterInfo);
        } catch (IOException e3) {
            // TODO Auto-generated catch block
            e3.printStackTrace();
        }

        try {
            mappingExportStarter.start(dataFlowParameterInfo);
        } catch (IOException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }

        archive(dataFlowParameterInfo);

        unZipArchive(dataFlowParameterInfo);

        dataEraser(dataFlowParameterInfo);

        try {
            catalogueImportDirectStarter.start(dataFlowParameterInfo);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        try {
            mappingImportStarter.start(dataFlowParameterInfo);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        deleteUnZipFiles();
    }

    public void archive(DataFlowParameterInfo dataFlowParameterInfo) {

        DataFlowParametersBuilder builder = new DataFlowParametersBuilder();

        String pamdaImportPath = pamdaProperty.getPamdaImportPath();

        File[] filesList = null;
        try {
            filesList =     FileHelper.getFilesFromDirectoryMatchingPattern(pamdaImportPath, pamdaProperty.getPamdaFilename());
        } catch(Exception ex) {
            //throw new JobParametersInvalidException(dataFlowParameterInfo.NO_FILE);
        } 

        if (filesList != null && filesList.length > 1) 
            //throw new JobParametersInvalidException(dataFlowParameterInfo.TOO_MANY_FILES);

        if (filesList != null && filesList.length == 1) {
            MappingContext selectedMappingContext = mappingContextDAO.findMappingContext(Long.parseLong(dataFlowParameterInfo.getCurrentMappingContext()));

            //if(!filesList[0].getName().contains(selectedMappingContext.getCode()))
                //throw new JobParametersInvalidException(dataFlowParameterInfo.DIFFERENT_CONTEXT_FILE + "." + filesList[0].getName());
        }



        String parameterPaths = FileHelper.buildSplitFilenameParameter(filesList);


        String pamdaFilename = pamdaProperty.getPamdaFilename();
        long startTime = System.currentTimeMillis();
        String exportDateString = DateHelper.FILE_DATE_TIME_FORMATTER.print(startTime);

        MappingContext mappCntxt = mappingContextService
                .findById(Long.valueOf(dataFlowParameterInfo.getCurrentMappingContext()));

        List<String> pathList = FileHelper.splitFilesParameter(cataloguePath, catalogueFilename);
        pathList.addAll(FileHelper.splitFilesParameter(mappingPath, mappingFilename));

        String pamdaExportPath = pamdaProperty.getPamdaExportPath();
        File pamdaExportResult;

        try {
            pamdaExportResult = FileFormatter.getFormattedFileWithDate(mappCntxt.getCode(), pamdaFilename, ".zip",
                    pamdaExportPath, exportDateString);
            archiveService.archiveFiles(pamdaExportPath, pamdaExportResult.getName(), pathList, currentContext , dataFlowParameterInfo.getPamdaVersion().getVersion() , dataFlowParameterInfo.getPamdaVersion().getCommentaire(), dataFlowParameterInfo.getUser(), dataFlowParameterInfo.getPamdaVersion().getFlag());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }




    private void unZipArchive (DataFlowParameterInfo dataFlowParameterInfo) {


        String pamdaImportPath = pamdaProperty.getPamdaImportPath();
        File[] filesList = null;
        try {
            filesList =     FileHelper.getFilesFromDirectoryMatchingPattern(pamdaImportPath, pamdaProperty.getPamdaFilename());
        } catch(Exception ex) {
            //throw new JobParametersInvalidException(dataFlowParameterInfo.NO_FILE);
        } 
        String importFilename = FileHelper.buildSplitFilenameParameter(filesList);
        List<String> files = FileHelper.splitFilesParameter(pamdaImportPath, importFilename);
        try {
            archiveService.unZipArchiveFile( files );
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public void dataEraser(DataFlowParameterInfo dataFlowParameterInfo) {

        dataEraser.eraseData(Long.parseLong(dataFlowParameterInfo.getCurrentMappingContext()));

    }

public void deleteUnZipFiles() {

        List<File> folderList = Lists.newArrayList();
        folderList.add(FileHelper.getFileFromResource(pamdaProperty.getMappingImportPamdaPath()));
        folderList.add(FileHelper.getFileFromResource(pamdaProperty.getCatalogueImportPamdaPath()));

        try {
            archiveService.deleteArchiveFiles(folderList);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

и вот код моего класса CatalogExportDirectStarter, который вызывается классом PamdaImportDirect:

   package com.orange.pamda.worker.starter;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.orange.pamda.config.PamdaServerProperty;
import com.orange.pamda.dao.MappingContextDAO;
import com.orange.pamda.entity.jpa.MappingContext;
import com.orange.pamda.service.MappingContextService;
import com.orange.pamda.util.DataFlowParameters;
import com.orange.pamda.util.DataFlowParametersBuilder;
import com.orange.pamda.util.DateHelper;
import com.orange.pamda.util.FileFormatter;
import com.orange.pamda.util.FileHelper;
import com.orange.pamda.util.PamdaDataFlowStarter;
import com.orange.pamda.worker.catalogue.exporter.CatalogueExporter;
import com.orange.pamda.worker.catalogue.importer.CatalogueImporter;
import com.orange.pamda.worker.service.XMLValidationService;
import com.orange.pamda.worker.utils.DataFlowParameterInfo;


@Component("catalogueExportDirectStarter")
public class CatalogueExportDirectStarter implements PamdaDataFlowStarter {

    @Inject
    @Qualifier("catalogueImporter")
    private CatalogueExporter catalogueExporter;

    @Inject
    private XMLValidationService xmlValidationService;
    @Inject
    private PamdaServerProperty pamdaProperty;

    @Autowired
    private MappingContextDAO mappingContextDAO;

    @Autowired
    private MappingContextService mappingContextService;

    protected static Logger logger = LoggerFactory.getLogger(PamdaImportDirectStarter.class);


    @Transactional(propagation = Propagation.NOT_SUPPORTED)
    public void start(DataFlowParameterInfo dataFlowParameterInfo)
            throws  IOException {

        String pamdaExportPath = pamdaProperty.getPamdaExportPath();
        String pamdaFilename = pamdaProperty.getPamdaFilename();



        DataFlowParametersBuilder builder = new DataFlowParametersBuilder();
        long startTime = System.currentTimeMillis();

        MappingContext mappCntxt = mappingContextService
                .findById(Long.valueOf(dataFlowParameterInfo.getCurrentMappingContext()));

        String exportDateString = DateHelper.FILE_DATE_TIME_FORMATTER.print(startTime);

        File pamdaCatalogueExportResult = FileFormatter.getFormattedFileWithDate(mappCntxt.getCode(),
                pamdaProperty.getCatalogueFilename(), ".xml", pamdaExportPath, exportDateString);
        builder.addString(cataloguePath, pamdaExportPath);
        builder.addString(catalogueFilename, pamdaCatalogueExportResult.getName());
        builder.addString("catalogueCode", dataFlowParameterInfo.ALL);

        File pamdaMappingExportResult = FileFormatter.getFormattedFileWithDate(mappCntxt.getCode(),
                pamdaProperty.getMappingFilename(), ".xml", pamdaExportPath, exportDateString);
        builder.addString(mappingPath, pamdaExportPath);
        builder.addString(mappingFilename, pamdaMappingExportResult.getName());

        File pamdaExportResult = FileFormatter.getFormattedFileWithDate(mappCntxt.getCode(), pamdaFilename, ".zip",
                pamdaExportPath, exportDateString);
        builder.addString("archiveTargetName", pamdaExportResult.getName());
        builder.addString("archiveTargetDirectory", pamdaExportPath);
        builder.addString(targetFilePathParameterName, "archiveTargetName");
        builder.addLong(datetime, startTime);

        builder.addString(currentContext, dataFlowParameterInfo.getCurrentMappingContext());
        builder.addString(disabledByUser, String.valueOf(dataFlowParameterInfo.isDisabledByUser()));
        if(dataFlowParameterInfo.getPamdaVersion() != null) {
            builder.addString("pamdaVersion", dataFlowParameterInfo.getPamdaVersion().getVersion());
            builder.addString("comVersion", dataFlowParameterInfo.getPamdaVersion().getCommentaire());
            builder.addString("login", dataFlowParameterInfo.getUser());
            builder.addDate("flag", dataFlowParameterInfo.getPamdaVersion().getFlag());
        }

        startExport(builder.toDataFlowParameters() );
    }
        public void startExport(DataFlowParameters dataFlowParameters ) { 



            //catalogueExport 

            Long mappingSystemId = Long.parseLong(dataFlowParameters.getString(PamdaDataFlowStarter.currentContext));
            List<String> inputFilePaths = new ArrayList<String>();
            inputFilePaths.add(dataFlowParameters.getString(PamdaDataFlowStarter.catalogueFilename));

            catalogueExporter.export(dataFlowParameters.getString(PamdaDataFlowStarter.cataloguePath) + File.separator + dataFlowParameters.getString(PamdaDataFlowStarter.catalogueFilename), dataFlowParameters.getString(PamdaDataFlowStarter.catalogueCode), dataFlowParameters.getString(PamdaDataFlowStarter.currentContext));

            //catalogueValidation
            catalogueValidation(dataFlowParameters);            
        }


        public void catalogueValidation(DataFlowParameters dataFlowParameters) {
            String catalogueFilename = dataFlowParameters.getString(PamdaDataFlowStarter.catalogueFilename);
            String filePath = dataFlowParameters.getString(PamdaDataFlowStarter.cataloguePath);

            List<String> files = FileHelper.splitFilesParameter(filePath, catalogueFilename);
            xmlValidationService.validate( files, pamdaProperty.getCatalogueXSDfile());


        }


}

есть другие классы, которые я использую, но я не могу опубликовать их из-за ограничения в 30000 слов, наложенного stackoverFlow: (

Может кто-нибудь помочь мне разрешить эту ошибку?

...