View Javadoc

1   package com.atlassian.scheduler.core;
2   
3   import com.atlassian.scheduler.config.JobId;
4   import com.atlassian.scheduler.config.JobRunnerKey;
5   import com.google.common.collect.ImmutableMap;
6   
7   import java.io.ByteArrayOutputStream;
8   import java.io.IOException;
9   import java.io.ObjectOutputStream;
10  import java.io.Serializable;
11  import java.util.Map;
12  
13  /**
14   * Several constants used across multiple unit tests
15   *
16   * @since v1.0
17   */
18  @SuppressWarnings("ConstantConditions")
19  public class Constants {
20      public static final JobId JOB_ID = JobId.of("job.id");
21      public static final JobRunnerKey KEY = JobRunnerKey.of("test.key");
22  
23      public static final Map<String, Serializable> PARAMETERS = ImmutableMap.<String, Serializable>builder()
24              .put("Hello", 42L)
25              .put("World", true)
26              .build();
27      public static final Map<String, Serializable> EMPTY_MAP = ImmutableMap.of();
28  
29      public static final byte[] BYTES_PARAMETERS = serialize(PARAMETERS);
30      public static final byte[] BYTES_EMPTY_MAP = serialize(EMPTY_MAP);
31      public static final byte[] BYTES_NULL = serialize(null);
32      public static final byte[] BYTES_DEADF00D = {(byte) 0xDE, (byte) 0xAD, (byte) 0xF0, (byte) 0x0D,};
33  
34      private static byte[] serialize(final Map<String, Serializable> map) {
35          try {
36              final ByteArrayOutputStream bytes = new ByteArrayOutputStream();
37              final ObjectOutputStream oos = new ObjectOutputStream(bytes);
38              try {
39                  oos.writeObject(map);
40                  oos.flush();
41                  return bytes.toByteArray();
42              } finally {
43                  oos.close();
44              }
45          } catch (IOException ioe) {
46              final AssertionError err = new AssertionError("Could not serialize " + map);
47              err.initCause(ioe);
48              throw err;
49          }
50      }
51  }