1 /*******************************************************************************
2 * Copyright (c) 2009, 2013 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Francois Chouinard - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.tests
.stubs
;
15 import java
.io
.BufferedOutputStream
;
16 import java
.io
.DataOutputStream
;
18 import java
.io
.FileNotFoundException
;
19 import java
.io
.FileOutputStream
;
20 import java
.io
.IOException
;
21 import java
.util
.Random
;
24 * <b><u>CreateTestFiles</u></b>
26 * Create a number of event test files of various lengths.
28 * Events have the following format:
30 * <li> [timestamp] [source] [type] [ref] [field]*
31 * <li> There are NB_SOURCES sources and NB_TYPES types.
32 * <li> The number of fields (0 .. NB_TYPES-1) depends on the event type.
35 public class CreateTestFiles
{
37 // ========================================================================
39 // ========================================================================
41 private static final String DIRECTORY
= "testfiles";
42 // private static final String FILE_NAMES[] = { "Test-10", "Test-1K", "Test-10K", "Test-100K" };
43 // private static final int FILE_SIZES[] = { 10 , 1000 , 10000 , 100000 };
44 private static final String FILE_NAMES
[] = { "Test-10K" };
45 private static final int FILE_SIZES
[] = { 10000 };
47 private static final int NB_SOURCES
= 15;
48 private static final int NB_TYPES
= 7;
50 // ========================================================================
52 // ========================================================================
57 public static void main(final String
[] args
) {
60 System
.out
.println("Creating test files in directory: " + new File(".").getCanonicalPath() + File
.separator
+ DIRECTORY
);
61 } catch (final IOException e
) {
65 for (int i
= 0; i
< FILE_SIZES
.length
; i
++) {
67 createTestFile("testfiles" + File
.separator
+ "O-" + FILE_NAMES
[i
], FILE_SIZES
[i
], true, true);
68 createTestFile("testfiles" + File
.separator
+ "E-" + FILE_NAMES
[i
], FILE_SIZES
[i
], true, false);
69 createTestFile("testfiles" + File
.separator
+ "R-" + FILE_NAMES
[i
], FILE_SIZES
[i
], false, false);
70 } catch (final FileNotFoundException e
) {
71 } catch (final IOException e
) {
75 System
.out
.println("Done.");
78 // ========================================================================
80 // ========================================================================
86 * @throws FileNotFoundException
89 private static void createTestFile(final String file
, final int size
,
90 final boolean monotonic
, final boolean odd
)
92 System
.out
.println("Creating " + file
);
93 try (DataOutputStream out
= new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file
)));) {
95 final Random generator
= new Random(19580427 + size
);
96 long ts
= (monotonic
&& odd
) ?
-1 : 0;
97 for (int i
= 0; i
< size
; i
++) {
98 ts
+= monotonic ?
2 : generator
.nextInt(10);
99 final int sourceIndex
= i
% NB_SOURCES
;
100 final int typeIndex
= i
% NB_TYPES
;
101 out
.writeLong(ts
); // Timestamp
102 out
.writeUTF("Source-" + sourceIndex
); // Source
103 out
.writeUTF("Type-" + typeIndex
); // Type
104 out
.writeInt(i
+ 1); // Reference (event #)
105 for (int j
= 0; j
< typeIndex
; j
++) {
106 out
.writeUTF("Field-" + sourceIndex
+ "-" + j
);
This page took 0.034494 seconds and 5 git commands to generate.