├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── github │ │ └── vedenin │ │ └── codingchallenge │ │ ├── Application.java │ │ ├── common │ │ └── CurrencyEnum.java │ │ ├── converter │ │ ├── CurrencyConvector.java │ │ ├── CurrencyConvectorDefault.java │ │ ├── DateConverter.java │ │ └── DateConverterDefault.java │ │ ├── exceptions │ │ ├── ConverterException.java │ │ └── RestClientException.java │ │ ├── mvc │ │ ├── Consts.java │ │ ├── controler │ │ │ ├── MainRestController.java │ │ │ └── MainWebController.java │ │ ├── model │ │ │ ├── ConverterFormModel.java │ │ │ ├── CountryService.java │ │ │ ├── CountryServiceImpl.java │ │ │ └── ResponseChangeStatus.java │ │ └── security │ │ │ ├── ConverterUserDetailsServices.java │ │ │ └── SpringSecurityConfiguration.java │ │ ├── persistence │ │ ├── DefaultProperty.java │ │ ├── ErrorEntity.java │ │ ├── ErrorRepository.java │ │ ├── HistoryEntity.java │ │ ├── HistoryRepository.java │ │ ├── PropertyRepository.java │ │ ├── PropertyService.java │ │ ├── UserEntity.java │ │ └── UserRepository.java │ │ └── restclient │ │ ├── CacheKey.java │ │ ├── FaultTolerantRestClient.java │ │ ├── RestClient.java │ │ └── impl │ │ ├── currencylayer │ │ ├── CurrencyLayerRatesContainer.java │ │ └── CurrencyLayerRestClient.java │ │ └── openexchange │ │ ├── OpenExchangeRatesContainer.java │ │ └── OpenExchangeRestClient.java └── resources │ └── templates │ ├── converter.html │ ├── login.html │ └── register.html └── test └── java └── com.github.vedenin.codingchallenge ├── CountryServiceTest.java ├── CurrencyLayerRestClientTest.java ├── MVCServiceTest.java ├── OpenExchangeRestClientTest.java └── RestServiceTest.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # .travis.yml 2 | language: java 3 | jdk: 4 | - oraclejdk8 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/Application.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/common/CurrencyEnum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/common/CurrencyEnum.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/converter/CurrencyConvector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/converter/CurrencyConvector.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/converter/CurrencyConvectorDefault.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/converter/CurrencyConvectorDefault.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/converter/DateConverter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/converter/DateConverter.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/converter/DateConverterDefault.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/converter/DateConverterDefault.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/exceptions/ConverterException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/exceptions/ConverterException.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/exceptions/RestClientException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/exceptions/RestClientException.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/Consts.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/Consts.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/controler/MainRestController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/controler/MainRestController.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/controler/MainWebController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/controler/MainWebController.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/model/ConverterFormModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/model/ConverterFormModel.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/model/CountryService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/model/CountryService.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/model/CountryServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/model/CountryServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/model/ResponseChangeStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/model/ResponseChangeStatus.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/security/ConverterUserDetailsServices.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/security/ConverterUserDetailsServices.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/mvc/security/SpringSecurityConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/mvc/security/SpringSecurityConfiguration.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/DefaultProperty.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/DefaultProperty.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/ErrorEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/ErrorEntity.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/ErrorRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/ErrorRepository.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/HistoryEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/HistoryEntity.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/HistoryRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/HistoryRepository.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/PropertyRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/PropertyRepository.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/PropertyService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/PropertyService.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/UserEntity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/UserEntity.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/persistence/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/persistence/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/CacheKey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/CacheKey.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/FaultTolerantRestClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/FaultTolerantRestClient.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/RestClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/RestClient.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/impl/currencylayer/CurrencyLayerRatesContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/impl/currencylayer/CurrencyLayerRatesContainer.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/impl/currencylayer/CurrencyLayerRestClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/impl/currencylayer/CurrencyLayerRestClient.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/impl/openexchange/OpenExchangeRatesContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/impl/openexchange/OpenExchangeRatesContainer.java -------------------------------------------------------------------------------- /src/main/java/com/github/vedenin/codingchallenge/restclient/impl/openexchange/OpenExchangeRestClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/java/com/github/vedenin/codingchallenge/restclient/impl/openexchange/OpenExchangeRestClient.java -------------------------------------------------------------------------------- /src/main/resources/templates/converter.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/resources/templates/converter.html -------------------------------------------------------------------------------- /src/main/resources/templates/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/resources/templates/login.html -------------------------------------------------------------------------------- /src/main/resources/templates/register.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/main/resources/templates/register.html -------------------------------------------------------------------------------- /src/test/java/com.github.vedenin.codingchallenge/CountryServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/test/java/com.github.vedenin.codingchallenge/CountryServiceTest.java -------------------------------------------------------------------------------- /src/test/java/com.github.vedenin.codingchallenge/CurrencyLayerRestClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/test/java/com.github.vedenin.codingchallenge/CurrencyLayerRestClientTest.java -------------------------------------------------------------------------------- /src/test/java/com.github.vedenin.codingchallenge/MVCServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/test/java/com.github.vedenin.codingchallenge/MVCServiceTest.java -------------------------------------------------------------------------------- /src/test/java/com.github.vedenin.codingchallenge/OpenExchangeRestClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/test/java/com.github.vedenin.codingchallenge/OpenExchangeRestClientTest.java -------------------------------------------------------------------------------- /src/test/java/com.github.vedenin.codingchallenge/RestServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vedenin/RestAndSpringMVC-CodingChallenge/HEAD/src/test/java/com.github.vedenin.codingchallenge/RestServiceTest.java --------------------------------------------------------------------------------