All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dpfmanager.shell.modules.conformancechecker.runnable.ConformanceRunnable Maven / Gradle / Ivy

/**
 * 

ConformanceRunnable.java

This program is free software: you can redistribute it * and/or modify it under the terms of the GNU General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any later version; or, * at your choice, under the terms of the Mozilla Public License, v. 2.0. SPDX GPL-3.0+ or MPL-2.0+. *

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 and the Mozilla Public License for more details.

*

You should have received a copy of the GNU General Public License and the Mozilla Public * License along with this program. If not, see http://www.gnu.org/licenses/ * and at http://mozilla.org/MPL/2.0 .

NB: for the * © statement, include Easy Innova SL or other company/Person contributing the code.

© * 2015 Easy Innova, SL

* * @author Adria Llorens * @version 1.0 * @since 23/7/2015 */ package dpfmanager.shell.modules.conformancechecker.runnable; import dpfmanager.conformancechecker.ConformanceChecker; import dpfmanager.conformancechecker.configuration.Configuration; import dpfmanager.shell.core.config.BasicConfig; import dpfmanager.shell.core.context.DpfContext; import dpfmanager.shell.modules.conformancechecker.core.ProcessInput; import dpfmanager.shell.modules.report.core.IndividualReport; import dpfmanager.shell.modules.report.core.ReportGenerator; import dpfmanager.shell.modules.report.messages.IndividualReportMessage; import dpfmanager.shell.modules.report.runnable.IndividualReportsRunnable; import dpfmanager.shell.modules.threading.messages.IndividualStatusMessage; import dpfmanager.shell.modules.threading.runnable.DpfRunnable; import java.util.List; /** * Created by Adria Llorens on 13/04/2016. */ public class ConformanceRunnable extends DpfRunnable { private String filename; private ProcessInput pi; private String internalReportFolder; private Configuration config; private int id; private long uuid; private ReportGenerator generator; public ConformanceRunnable(List list, ReportGenerator gen){ // No context yet pi = new ProcessInput(list); generator = gen; } @Override public void handleContext(DpfContext context) { pi.setContext(context); } public void setParameters(String name, int i, String internal, Configuration conf, long u){ filename = name; id = i; internalReportFolder = internal; config = conf; uuid = u; } @Override public void runTask() { // if config is null, get the default one if (config == null){ config = pi.getDefaultConfigurationFromFile(filename); } if (config == null){ config = pi.getDefaultConfigurationFromFile("a.tif"); } // If no default one, create one if (config == null){ config = new Configuration(); config.addFormat("XML"); } // Process the input and get a list of individual reports IndividualReport ir = pi.processFile(filename, internalReportFolder, config, id); if (ir != null && !ir.isError()) { ir.setIdReport(id); ir.setInternalReportFolder(internalReportFolder); ir.setUuid(uuid); // Create report IndividualReportsRunnable run = new IndividualReportsRunnable(generator); run.setContext(context); run.setParameters(ir, config); run.runTask(); } else{ // Tell multi threading that one report fail (no wait for it) if (ir != null){ ir.setIdReport(id); ir.setInternalReportFolder(internalReportFolder); ir.setUuid(uuid); } context.send(BasicConfig.MODULE_THREADING, new IndividualStatusMessage(ir, config, uuid)); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy