364c08014e88febf4ea35aed6adaf8599d9ef338
[sdc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2020 Bell Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.asdctool.impl.validator.report;
22
23 import static org.junit.Assert.fail;
24
25 import java.nio.file.Path;
26 import java.nio.file.Paths;
27
28 /**
29  * Provides facilities to for creating report file writers when testing
30  */
31 public class ReportFileWriterTestFactory {
32     private ReportFileWriterTestFactory() {
33     }
34
35     /**
36      * Alias for {@link org.openecomp.sdc.asdctool.impl.validator.report.ReportFileWriterTestFactory#makeNioWriter(Path)}
37      *
38      * @param path The resulting file path
39      * @param <A> a Phantom type used only for type-safety
40      */
41     public static <A extends FileType> ReportFileWriter<A> makeNioWriter(String path) {
42         Path p = Paths.get(path);
43         return makeNioWriter(p);
44     }
45
46     /**
47      * Creates a NIO writer storing the data written into a file on disk
48      * @param path The resulting file path
49      * @param <A> a Phantom type used only for type-safety
50      */
51     public static <A extends FileType> ReportFileWriter<A> makeNioWriter(Path path) {
52         return ReportFileWriter.makeNioWriter(path, ex -> fail(ex.getMessage()));
53     }
54 }