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}