Revision 7bc01856
Added by Cherian Mathew over 8 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java | ||
---|---|---|
296 | 296 |
} |
297 | 297 |
|
298 | 298 |
public int compareCdmlibServicesVersion() throws CdmSourceException { |
299 |
int result = 0; |
|
299 |
|
|
300 | 300 |
String serverVersion = cdmlibServicesVersion; |
301 |
String serverCdmlibLastModified = cdmlibServicesLastModified; |
|
302 |
|
|
303 |
return compareCdmlibServicesVersion(serverVersion, serverCdmlibLastModified); |
|
304 |
} |
|
305 |
|
|
306 |
|
|
307 |
/** |
|
308 |
* @param serverVersion |
|
309 |
* @param editorVersion |
|
310 |
* @throws CdmSourceException |
|
311 |
*/ |
|
312 |
public static int compareCdmlibServicesVersion(String serverVersion, String serverCdmlibLastModified) throws CdmSourceException { |
|
313 |
|
|
301 | 314 |
String editorVersion = CdmApplicationState.getCdmlibVersion(); |
315 |
String editorCdmlibLastModified = CdmApplicationState.getCdmlibLastModified(); |
|
302 | 316 |
|
317 |
int result = 0; |
|
303 | 318 |
if(StringUtils.isBlank(serverVersion) || StringUtils.isBlank(editorVersion)) { |
304 | 319 |
throw new CdmSourceException("cdmlib-services server or editor version is empty"); |
305 | 320 |
} |
... | ... | |
325 | 340 |
} |
326 | 341 |
// at this point major, minor and patch versions are matching |
327 | 342 |
|
328 |
if(StringUtils.isBlank(cdmlibServicesLastModified) || StringUtils.isBlank(CdmApplicationState.getCdmlibLastModified())) {
|
|
343 |
if(StringUtils.isBlank(serverCdmlibLastModified) || StringUtils.isBlank(editorCdmlibLastModified)) {
|
|
329 | 344 |
throw new CdmSourceException("cdmlib-services server or editor version is empty"); |
330 | 345 |
} |
331 | 346 |
|
332 | 347 |
String cdmServerIgnoreVersion = System.getProperty("cdm.server.version.lm.ignore"); |
333 | 348 |
if(StringUtils.isBlank(cdmServerIgnoreVersion) || !cdmServerIgnoreVersion.equals("true")) { |
334 |
Long serverLastModified = Long.valueOf(cdmlibServicesLastModified);
|
|
335 |
Long editorLastModified = Long.valueOf(CdmApplicationState.getCdmlibLastModified());
|
|
349 |
Long serverLastModified = Long.valueOf(serverCdmlibLastModified);
|
|
350 |
Long editorLastModified = Long.valueOf(editorCdmlibLastModified);
|
|
336 | 351 |
return serverLastModified.compareTo(editorLastModified); |
337 | 352 |
} |
338 | 353 |
|
339 | 354 |
return 0; |
340 |
|
|
341 | 355 |
} |
342 | 356 |
|
357 |
|
|
358 |
|
|
343 | 359 |
public static List<CdmServerInfo> getCdmServers() { |
344 | 360 |
if(cdmServerInfoList == null) { |
345 | 361 |
cdmServerInfoList = new ArrayList<CdmServerInfo>(); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java | ||
---|---|---|
84 | 84 |
private final static String STATUS_NOT_COMPATIBLE = "Not Compatible"; |
85 | 85 |
|
86 | 86 |
private final static String MESG_COMPATIBLE_EDITOR_OLD = "Please update the Taxonomic Editor (Help->Check for Updates) or choose a compatible cdm-server"; |
87 |
private final static String MESG_COMPATIBLE_SERVER_OLD = "Please update the chosen cdm-server or choose a compatible cdm-server";
|
|
87 |
private final static String MESG_COMPATIBLE_SERVER_OLD = "Please choose a compatible cdm-server or update the chosen cdm-server";
|
|
88 | 88 |
|
89 | 89 |
private final static String STORE_PREFERENCES_NODE = "eu.etaxonomy.taxeditor.store"; |
90 | 90 |
|
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/dialogs/CdmServerInfoTest.java | ||
---|---|---|
16 | 16 |
import org.junit.Test; |
17 | 17 |
import org.unitils.UnitilsJUnit4; |
18 | 18 |
|
19 |
import eu.etaxonomy.cdm.api.application.CdmApplicationState; |
|
20 |
import eu.etaxonomy.cdm.config.CdmSourceException; |
|
19 | 21 |
import eu.etaxonomy.taxeditor.remoting.server.CDMServerException; |
20 | 22 |
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo; |
21 | 23 |
import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo.CdmInstanceInfo; |
... | ... | |
73 | 75 |
Assert.assertTrue(instances != null && !instances.isEmpty()); |
74 | 76 |
} |
75 | 77 |
|
78 |
@Test |
|
79 |
public void compareCdmlibServicesVersionTest() throws CdmSourceException { |
|
80 |
String editorVersion = CdmApplicationState.getCdmlibVersion(); |
|
81 |
String editorCdmlibLastModified = CdmApplicationState.getCdmlibLastModified(); |
|
82 |
Long editorCdmlibLastModifiedLong = Long.valueOf(editorCdmlibLastModified); |
|
83 |
|
|
84 |
String[] editorVersionSplit = editorVersion.split("\\."); |
|
85 |
|
|
86 |
Assert.assertEquals(0, CdmServerInfo.compareCdmlibServicesVersion(editorVersion, editorCdmlibLastModified)); |
|
87 |
|
|
88 |
|
|
89 |
int editorVersionMajor = Integer.valueOf(editorVersionSplit[0]); |
|
90 |
int editorVersionMinor = Integer.valueOf(editorVersionSplit[1]); |
|
91 |
int editorVersionPatch = Integer.valueOf(editorVersionSplit[2]); |
|
92 |
|
|
93 |
String serverVersionMajorNew = String.valueOf(editorVersionMajor+1) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch); |
|
94 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorNew, editorCdmlibLastModified) > 0); |
|
95 |
|
|
96 |
String serverVersionMinorNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor+1) + "." + String.valueOf(editorVersionPatch); |
|
97 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorNew, editorCdmlibLastModified) > 0); |
|
98 |
|
|
99 |
String serverVersionPatchNew = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch+1); |
|
100 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchNew, editorCdmlibLastModified) > 0); |
|
101 |
|
|
102 |
String serverVersionMajorOld = String.valueOf(editorVersionMajor-1) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch); |
|
103 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMajorOld, editorCdmlibLastModified) < 0); |
|
104 |
|
|
105 |
String serverVersionMinorOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor-1) + "." + String.valueOf(editorVersionPatch); |
|
106 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionMinorOld, editorCdmlibLastModified) < 0); |
|
107 |
|
|
108 |
String serverVersionPatchOld = String.valueOf(editorVersionMajor) + "." + String.valueOf(editorVersionMinor) + "." + String.valueOf(editorVersionPatch-1); |
|
109 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(serverVersionPatchOld, editorCdmlibLastModified) < 0); |
|
110 |
|
|
111 |
String serverCdmlibLastModifiedNew = String.valueOf(editorCdmlibLastModifiedLong+1); |
|
112 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedNew) > 0); |
|
113 |
|
|
114 |
String serverCdmlibLastModifiedOld = String.valueOf(editorCdmlibLastModifiedLong-1); |
|
115 |
Assert.assertTrue(CdmServerInfo.compareCdmlibServicesVersion(editorVersion, serverCdmlibLastModifiedOld) < 0); |
|
116 |
|
|
117 |
} |
|
118 |
|
|
76 | 119 |
@Test |
77 | 120 |
public void convertToServerConfigTest() { |
78 | 121 |
|
Also available in: Unified diff
Add test for editor / server cdmlib version check