1 package fr.ifremer.dali.dto.enums;
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 import fr.ifremer.quadrige3.core.dao.system.synchronization.SynchronizationStatus;
28 import fr.ifremer.dali.dto.DaliBeanFactory;
29 import fr.ifremer.dali.dto.SynchronizationStatusDTO;
30 import org.apache.commons.lang3.StringUtils;
31
32 import static org.nuiton.i18n.I18n.n;
33 import static org.nuiton.i18n.I18n.t;
34
35
36
37
38 public enum SynchronizationStatusValues {
39
40
41 DIRTY(SynchronizationStatus.DIRTY, n("dali.core.enums.synchronizationStatusValues.dirty"), "overlay-dirty"),
42 READY_TO_SYNCHRONIZE(SynchronizationStatus.READY_TO_SYNCHRONIZE, n("dali.core.enums.synchronizationStatusValues.dirty"), "overlay-dirty" ),
43 SYNCHRONIZED_FILE(SynchronizationStatus.SYNCHRONIZED_WITH_FILE, n("dali.core.enums.synchronizationStatusValues.synchroFile"), "overlay-synchro-file"),
44 SYNCHRONIZED(SynchronizationStatus.SYNCHRONIZED ,n("dali.core.enums.synchronizationStatusValues.synchro"), "overlay-synchro"),
45 DELETED(SynchronizationStatus.DELETED ,n("dali.core.enums.synchronizationStatusValues.deleted"), "overlay-deleted");
46
47 private final SynchronizationStatus synchronizationStatus;
48 private final String keyLabel;
49 private final String iconAction;
50
51 SynchronizationStatusValues(SynchronizationStatus synchronizationStatus, String keyLabel, String iconAction) {
52 this.synchronizationStatus = synchronizationStatus;
53 this.keyLabel = keyLabel;
54 this.iconAction = iconAction;
55 }
56
57
58
59
60
61
62 public String getCode() {
63 return this.synchronizationStatus.getValue();
64 }
65
66
67
68
69
70
71 public String getLabel() {
72 return t(this.keyLabel);
73 }
74
75
76
77
78
79
80 public String getIconAction() {
81 return iconAction;
82 }
83
84
85
86
87
88
89 public SynchronizationStatusDTO toSynchronizationStatusDTO() {
90 SynchronizationStatusDTO dto = DaliBeanFactory.newSynchronizationStatusDTO();
91 dto.setId(ordinal());
92 dto.setCode(getCode());
93 dto.setName(getLabel());
94 dto.setIconName(getIconAction());
95 return dto;
96 }
97
98
99
100
101
102
103
104 public boolean equals(SynchronizationStatusDTO synchronizationStatus) {
105 return synchronizationStatus != null && getCode().equals(synchronizationStatus.getCode());
106 }
107
108
109
110
111
112
113
114 public static SynchronizationStatusValues getByCode(String code) {
115 for (SynchronizationStatusValues enumValue: SynchronizationStatusValues.values()) {
116 if (StringUtils.isNotBlank(enumValue.getCode()) && enumValue.getCode().equals(code)) {
117 return enumValue;
118 }
119 }
120 return null;
121 }
122
123
124
125
126
127
128
129 public static SynchronizationStatusDTO toSynchronizationStatusDTO(String code) {
130 SynchronizationStatusValues enumValue = getByCode(code);
131 if (enumValue != null) {
132 return enumValue.toSynchronizationStatusDTO();
133 }
134 return null;
135 }
136
137
138
139
140
141
142
143 public static SynchronizationStatusValues fromOrdinal(int ordinal) {
144 if (ordinal > SynchronizationStatusValues.values().length -1) {
145 throw new IllegalArgumentException(String.format("Bad ordinal value [%s] for enumeration [%s]",
146 ordinal,
147 SynchronizationStatusValues.class.getSimpleName()));
148 }
149 return SynchronizationStatusValues.values()[ordinal];
150 }
151 }