-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathImageInfoConverter.java
57 lines (46 loc) · 1.56 KB
/
ImageInfoConverter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package qiwi.util.image;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.NotNull;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import static qiwi.core.util.converter.ValueConverter.toLong;
import static qiwi.util.bean.converter.TypeConverter.as;
import static qiwi.util.bean.converter.TypeConverter.asString;
import static qiwi.util.image.ImageInfoConverter.ImageInfoParameters.*;
import static ru.osmp.common.util.ObjectUtils.nvl;
class ImageInfoConverter {
@Nullable
static ImageInfo toImageInfo(@Nullable Map<String, Serializable> imageInfoMap) {
if (imageInfoMap == null) {
return null;
}
final byte[] data = as(byte[].class, imageInfoMap.get(DATA));
if (data == null) {
return null;
}
final String suffix = asString(imageInfoMap.get(SUFFIX));
final String mimeType = asString(imageInfoMap.get(MIME_TYPE));
return ImageInfo.builder()
.data(data)
.mimeType(nvl(mimeType, "image/unknown"))
.id(toLong(imageInfoMap.get(ID)))
.suffix(suffix)
.build();
}
@NotNull
static Map<String, Serializable> fromImageInfo(@NotNull ImageInfo imageInfo) {
final Map<String, Serializable> data = new HashMap<String, Serializable>();
data.put(DATA, imageInfo.getData());
data.put(ID, imageInfo.getId());
data.put(SUFFIX, imageInfo.getSuffix());
data.put(MIME_TYPE, imageInfo.getMimeType());
return data;
}
static final class ImageInfoParameters {
static String DATA = "data";
static String ID = "id";
static String SUFFIX = "suffix";
static String MIME_TYPE = "mimetype";
}
}