Skip to content
Snippets Groups Projects
Commit aeedc711 authored by anttil's avatar anttil
Browse files

BIS-506 / SP-841: Display warning message if pathinfo db is not configured

SVN: 29694
parent 3802010e
No related branches found
No related tags found
No related merge requests found
Showing with 43 additions and 7 deletions
...@@ -36,7 +36,8 @@ public class BatchResult ...@@ -36,7 +36,8 @@ public class BatchResult
{ {
this.results = new TreeMap<String, DataSetArchiveVerificationResult>(); this.results = new TreeMap<String, DataSetArchiveVerificationResult>();
DataSetArchiveVerificationResult missingResult = new DataSetArchiveVerificationResult(VerificationErrorType.ERROR, "dataset not processed"); DataSetArchiveVerificationResult missingResult =
new DataSetArchiveVerificationResult(VerificationErrorType.ERROR, "Internal error, dataset archive not verified");
for (String dataSet : dataSets) for (String dataSet : dataSets)
{ {
......
...@@ -47,7 +47,7 @@ public class DataSetArchiveVerificationResult ...@@ -47,7 +47,7 @@ public class DataSetArchiveVerificationResult
public DataSetArchiveVerificationResult(Exception e) public DataSetArchiveVerificationResult(Exception e)
{ {
this.file = null; this.file = null;
this.errors = Collections.singletonList(new VerificationError(VerificationErrorType.ERROR, e.getClass().getName()+":"+e.getMessage())); this.errors = Collections.singletonList(new VerificationError(VerificationErrorType.ERROR, e.getClass().getName() + ":" + e.getMessage()));
} }
public ResultType getType() public ResultType getType()
...@@ -68,6 +68,8 @@ public class DataSetArchiveVerificationResult ...@@ -68,6 +68,8 @@ public class DataSetArchiveVerificationResult
{ {
case WARNING: case WARNING:
return ResultType.WARNING; return ResultType.WARNING;
case GENERAL_WARNING:
return ResultType.GENERAL_WARNING;
case ERROR: case ERROR:
return ResultType.ERROR; return ResultType.ERROR;
case FATAL: case FATAL:
......
...@@ -23,7 +23,7 @@ package ch.systemsx.cisd.openbis.dss.archiveverifier.batch; ...@@ -23,7 +23,7 @@ package ch.systemsx.cisd.openbis.dss.archiveverifier.batch;
*/ */
public enum ResultType public enum ResultType
{ {
OK(0), WARNING(1), ERROR(2), FATAL(2); OK(0), WARNING(1), GENERAL_WARNING(1), ERROR(2), FATAL(2);
private final int exitCode; private final int exitCode;
......
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
package ch.systemsx.cisd.openbis.dss.archiveverifier.batch; package ch.systemsx.cisd.openbis.dss.archiveverifier.batch;
import java.util.Collection;
import java.util.HashSet;
import java.util.UUID;
/** /**
* Runs archive verification for a list of datasets. * Runs archive verification for a list of datasets.
...@@ -29,16 +32,28 @@ public class SerialDataSetArchiveVerificationBatch implements IDataSetArchiveVer ...@@ -29,16 +32,28 @@ public class SerialDataSetArchiveVerificationBatch implements IDataSetArchiveVer
private final String[] dataSets; private final String[] dataSets;
private BatchResult batchResult;
public SerialDataSetArchiveVerificationBatch(IDataSetArchiveVerifier verifier, String... dataSets) public SerialDataSetArchiveVerificationBatch(IDataSetArchiveVerifier verifier, String... dataSets)
{
this(verifier, new HashSet<DataSetArchiveVerificationResult>(), dataSets);
}
public SerialDataSetArchiveVerificationBatch(IDataSetArchiveVerifier verifier, Collection<DataSetArchiveVerificationResult> initialResults,
String... dataSets)
{ {
this.verifier = verifier; this.verifier = verifier;
this.dataSets = dataSets; this.dataSets = dataSets;
batchResult = new BatchResult(dataSets);
for (DataSetArchiveVerificationResult initialResult : initialResults)
{
batchResult.add(UUID.randomUUID().toString(), initialResult);
}
} }
@Override @Override
public BatchResult run() public BatchResult run()
{ {
BatchResult batchResult = new BatchResult(dataSets);
for (String dataSet : dataSets) for (String dataSet : dataSets)
{ {
......
...@@ -24,5 +24,5 @@ package ch.systemsx.cisd.openbis.dss.archiveverifier.batch; ...@@ -24,5 +24,5 @@ package ch.systemsx.cisd.openbis.dss.archiveverifier.batch;
public enum VerificationErrorType public enum VerificationErrorType
{ {
// don't change the order as the code depends on it // don't change the order as the code depends on it
WARNING, ERROR, FATAL; WARNING, GENERAL_WARNING, ERROR, FATAL;
} }
...@@ -26,6 +26,7 @@ import java.sql.DriverManager; ...@@ -26,6 +26,7 @@ import java.sql.DriverManager;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
...@@ -83,7 +84,15 @@ public class DataSetArchiveVerificationBatchFactory ...@@ -83,7 +84,15 @@ public class DataSetArchiveVerificationBatchFactory
List<IArchiveFileVerifier> verifiers = getVerifiers(properties, pathInfoRepository); List<IArchiveFileVerifier> verifiers = getVerifiers(properties, pathInfoRepository);
DataSetArchiveVerifier verifier = new DataSetArchiveVerifier(archiveFileRepository, new CompositeVerifier(verifiers)); DataSetArchiveVerifier verifier = new DataSetArchiveVerifier(archiveFileRepository, new CompositeVerifier(verifiers));
return new SerialDataSetArchiveVerificationBatch(verifier, Arrays.copyOfRange(args, 1, args.length)); if (pathInfoRepository == null)
{
Collection<DataSetArchiveVerificationResult> init = new ArrayList<DataSetArchiveVerificationResult>();
init.add(new DataSetArchiveVerificationResult(VerificationErrorType.GENERAL_WARNING, "pathinfo db not configured"));
return new SerialDataSetArchiveVerificationBatch(verifier, init, Arrays.copyOfRange(args, 1, args.length));
} else
{
return new SerialDataSetArchiveVerificationBatch(verifier, Arrays.copyOfRange(args, 1, args.length));
}
} catch (ConfigurationException e) } catch (ConfigurationException e)
{ {
......
...@@ -74,6 +74,9 @@ public class ResultPrinter ...@@ -74,6 +74,9 @@ public class ResultPrinter
if (VerificationErrorType.FATAL.equals(type)) if (VerificationErrorType.FATAL.equals(type))
{ {
out.println(result.getErrors().get(0).getMessage()); out.println(result.getErrors().get(0).getMessage());
} else if (VerificationErrorType.GENERAL_WARNING.equals(type))
{
out.println("WARNING: " + error.getMessage());
} else } else
{ {
out.println(type + " in " + dataSet + " (" + result.getFileName() + "): " + error.getMessage()); out.println(type + " in " + dataSet + " (" + result.getFileName() + "): " + error.getMessage());
...@@ -98,6 +101,7 @@ public class ResultPrinter ...@@ -98,6 +101,7 @@ public class ResultPrinter
int warning = counts.get(ResultType.WARNING); int warning = counts.get(ResultType.WARNING);
int error = counts.get(ResultType.ERROR); int error = counts.get(ResultType.ERROR);
int fatal = counts.get(ResultType.FATAL); int fatal = counts.get(ResultType.FATAL);
int generalWarnings = counts.get(ResultType.GENERAL_WARNING);
int total = ok + warning + error; int total = ok + warning + error;
...@@ -112,7 +116,7 @@ public class ResultPrinter ...@@ -112,7 +116,7 @@ public class ResultPrinter
if (warning + error == 0) if (warning + error == 0)
{ {
out.println("No errors found"); out.println("No errors found.");
} else } else
{ {
if (error > 0) if (error > 0)
...@@ -124,5 +128,10 @@ public class ResultPrinter ...@@ -124,5 +128,10 @@ public class ResultPrinter
out.println(warning + " archive file(s) caused warnings"); out.println(warning + " archive file(s) caused warnings");
} }
} }
if (generalWarnings > 0)
{
out.println(generalWarnings + " general warning(s).");
}
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment