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
15
16
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 }