001package co.codewizards.cloudstore.core.version;
002
003import static co.codewizards.cloudstore.core.util.AssertUtil.*;
004
005import co.codewizards.cloudstore.core.dto.VersionInfoDto;
006
007public class VersionCompatibilityException extends RuntimeException {
008        private static final long serialVersionUID = 1L;
009
010        private final VersionInfoDto clientVersionInfoDto;
011        private final VersionInfoDto serverVersionInfoDto;
012
013        public VersionCompatibilityException(final VersionInfoDto clientVersionInfoDto, final VersionInfoDto serverVersionInfoDto, String message) {
014                super(message);
015                this.clientVersionInfoDto = assertNotNull(clientVersionInfoDto, "clientVersionInfoDto");
016                this.serverVersionInfoDto = assertNotNull(serverVersionInfoDto, "serverVersionInfoDto");
017
018                assertNotNull(clientVersionInfoDto.getLocalVersion(), "clientVersionInfoDto.localVersion");
019                assertNotNull(clientVersionInfoDto.getMinimumRemoteVersion(), "clientVersionInfoDto.minimumRemoteVersion");
020
021                assertNotNull(serverVersionInfoDto.getLocalVersion(), "serverVersionInfoDto.localVersion");
022                assertNotNull(serverVersionInfoDto.getMinimumRemoteVersion(), "serverVersionInfoDto.minimumRemoteVersion");
023        }
024
025        public VersionInfoDto getClientVersionInfoDto() {
026                return clientVersionInfoDto;
027        }
028        public VersionInfoDto getServerVersionInfoDto() {
029                return serverVersionInfoDto;
030        }
031}