gitextract_1q48vioe/ ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── conf/ │ ├── local/ │ │ ├── application.properties │ │ └── log4j2.xml │ └── release/ │ ├── application.properties │ └── log4j2.xml ├── docs/ │ ├── Makefile │ ├── make.bat │ └── source/ │ ├── conf.py │ ├── developers/ │ │ └── index.rst │ ├── faq/ │ │ └── index.rst │ ├── guides/ │ │ ├── appsettings.rst │ │ ├── gettingstarted/ │ │ │ ├── hosts.rst │ │ │ ├── index.rst │ │ │ └── schedules.rst │ │ ├── index.rst │ │ └── installation.rst │ ├── index.rst │ ├── reference/ │ │ ├── api.rst │ │ └── index.rst │ └── requirements.txt ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── src/ │ ├── cucumber/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── linuxserver/ │ │ │ └── davos/ │ │ │ └── bdd/ │ │ │ ├── ClientStepDefs.java │ │ │ ├── ScheduleStepDefs.java │ │ │ ├── ServerStepDefs.java │ │ │ └── helpers/ │ │ │ ├── FakeFTPServerFactory.java │ │ │ ├── FakeSFTPServerFactory.java │ │ │ └── Logging.java │ │ └── resources/ │ │ ├── Client.feature │ │ └── Schedule.feature │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── linuxserver/ │ │ │ └── davos/ │ │ │ ├── DavosApplication.java │ │ │ ├── Version.java │ │ │ ├── converters/ │ │ │ │ ├── Converter.java │ │ │ │ ├── HostConverter.java │ │ │ │ └── ScheduleConverter.java │ │ │ ├── delegation/ │ │ │ │ └── services/ │ │ │ │ ├── HostService.java │ │ │ │ ├── HostServiceImpl.java │ │ │ │ ├── ScheduleService.java │ │ │ │ ├── ScheduleServiceImpl.java │ │ │ │ ├── SettingsService.java │ │ │ │ └── SettingsServiceImpl.java │ │ │ ├── dto/ │ │ │ │ ├── ActionDTO.java │ │ │ │ ├── FTPFileDTO.java │ │ │ │ ├── FilterDTO.java │ │ │ │ ├── HostDTO.java │ │ │ │ ├── ScheduleDTO.java │ │ │ │ └── ScheduleProcessResponse.java │ │ │ ├── exception/ │ │ │ │ ├── HostInUseException.java │ │ │ │ ├── ScheduleAlreadyRunningException.java │ │ │ │ └── ScheduleNotRunningException.java │ │ │ ├── logging/ │ │ │ │ └── LoggingManager.java │ │ │ ├── persistence/ │ │ │ │ ├── dao/ │ │ │ │ │ ├── DefaultHostDAO.java │ │ │ │ │ ├── DefaultScheduleDAO.java │ │ │ │ │ ├── HostDAO.java │ │ │ │ │ └── ScheduleDAO.java │ │ │ │ ├── model/ │ │ │ │ │ ├── ActionModel.java │ │ │ │ │ ├── FilterModel.java │ │ │ │ │ ├── HostModel.java │ │ │ │ │ ├── ScannedFileModel.java │ │ │ │ │ └── ScheduleModel.java │ │ │ │ └── repository/ │ │ │ │ ├── HostRepository.java │ │ │ │ └── ScheduleRepository.java │ │ │ ├── schedule/ │ │ │ │ ├── RunnableSchedule.java │ │ │ │ ├── RunningSchedule.java │ │ │ │ ├── ScheduleConfiguration.java │ │ │ │ ├── ScheduleConfigurationFactory.java │ │ │ │ ├── ScheduleExecutor.java │ │ │ │ └── workflow/ │ │ │ │ ├── ConnectWorkflowStep.java │ │ │ │ ├── DisconnectWorkflowStep.java │ │ │ │ ├── DownloadFilesWorkflowStep.java │ │ │ │ ├── FilterFilesWorkflowStep.java │ │ │ │ ├── ScheduleWorkflow.java │ │ │ │ ├── WorkflowStep.java │ │ │ │ ├── actions/ │ │ │ │ │ ├── HttpAPICallAction.java │ │ │ │ │ ├── MoveFileAction.java │ │ │ │ │ ├── PostDownloadAction.java │ │ │ │ │ ├── PostDownloadExecution.java │ │ │ │ │ ├── PushbulletNotifyAction.java │ │ │ │ │ └── SNSNotifyAction.java │ │ │ │ ├── filter/ │ │ │ │ │ ├── FileFilter.java │ │ │ │ │ ├── ReferentialFileFilter.java │ │ │ │ │ └── TemporalFileFilter.java │ │ │ │ └── transfer/ │ │ │ │ ├── FTPTransfer.java │ │ │ │ ├── FilesAndFoldersTranferStrategy.java │ │ │ │ ├── FilesOnlyTransferStrategy.java │ │ │ │ ├── TransferStrategy.java │ │ │ │ └── TransferStrategyFactory.java │ │ │ ├── transfer/ │ │ │ │ └── ftp/ │ │ │ │ ├── FTPFile.java │ │ │ │ ├── FileTransferType.java │ │ │ │ ├── TransferProtocol.java │ │ │ │ ├── client/ │ │ │ │ │ ├── Client.java │ │ │ │ │ ├── ClientFactory.java │ │ │ │ │ ├── FTPClient.java │ │ │ │ │ ├── FTPSClient.java │ │ │ │ │ ├── SFTPClient.java │ │ │ │ │ └── UserCredentials.java │ │ │ │ ├── connection/ │ │ │ │ │ ├── Connection.java │ │ │ │ │ ├── ConnectionFactory.java │ │ │ │ │ ├── FTPConnection.java │ │ │ │ │ ├── SFTPConnection.java │ │ │ │ │ └── progress/ │ │ │ │ │ ├── ListenerFactory.java │ │ │ │ │ ├── ProgressListener.java │ │ │ │ │ └── SFTPProgressListener.java │ │ │ │ └── exception/ │ │ │ │ ├── ClientConnectionException.java │ │ │ │ ├── ClientDisconnectException.java │ │ │ │ ├── DeleteFileException.java │ │ │ │ ├── DownloadFailedException.java │ │ │ │ ├── FTPException.java │ │ │ │ └── FileListingException.java │ │ │ ├── util/ │ │ │ │ ├── FileStreamFactory.java │ │ │ │ ├── FileUtils.java │ │ │ │ └── PatternBuilder.java │ │ │ └── web/ │ │ │ ├── API.java │ │ │ ├── Filter.java │ │ │ ├── Host.java │ │ │ ├── Notifications.java │ │ │ ├── Pushbullet.java │ │ │ ├── SNS.java │ │ │ ├── Schedule.java │ │ │ ├── ScheduleCommand.java │ │ │ ├── Settings.java │ │ │ ├── Transfer.java │ │ │ ├── VersionChecker.java │ │ │ ├── controller/ │ │ │ │ ├── APIController.java │ │ │ │ ├── FragmentController.java │ │ │ │ ├── ViewController.java │ │ │ │ └── response/ │ │ │ │ ├── APIResponse.java │ │ │ │ └── APIResponseBuilder.java │ │ │ └── selectors/ │ │ │ ├── IntervalSelector.java │ │ │ ├── LogLevelSelector.java │ │ │ ├── MethodSelector.java │ │ │ ├── ProtocolSelector.java │ │ │ └── TransferSelector.java │ │ └── resources/ │ │ ├── static/ │ │ │ ├── browserconfig.xml │ │ │ ├── css/ │ │ │ │ └── davos.css │ │ │ ├── js/ │ │ │ │ └── davos.js │ │ │ └── manifest.json │ │ └── templates/ │ │ ├── fragments/ │ │ │ ├── api.html │ │ │ ├── filter.html │ │ │ ├── header.html │ │ │ ├── pushbullet.html │ │ │ ├── sns.html │ │ │ └── transfers.html │ │ └── v2/ │ │ ├── edit-host.html │ │ ├── edit-schedule.html │ │ ├── hosts.html │ │ ├── schedules.html │ │ └── settings.html │ └── test/ │ └── java/ │ └── io/ │ └── linuxserver/ │ └── davos/ │ ├── VersionTest.java │ ├── delegation/ │ │ └── services/ │ │ ├── ScheduleServiceImplTest.java │ │ └── SettingsServiceImplTest.java │ ├── persistence/ │ │ └── dao/ │ │ └── DefaultScheduleDAOTest.java │ ├── schedule/ │ │ ├── ScheduleConfigurationFactoryTest.java │ │ ├── ScheduleExecutorTest.java │ │ └── workflow/ │ │ ├── ConnectWorkflowStepTest.java │ │ ├── DisconnectWorkflowStepTest.java │ │ ├── DownloadFilesWorkflowStepTest.java │ │ ├── FilterFilesWorkflowStepTest.java │ │ ├── actions/ │ │ │ ├── HttpAPICallActionTest.java │ │ │ ├── MoveFileActionTest.java │ │ │ └── PushbulletNotifyActionTest.java │ │ ├── filter/ │ │ │ └── ReferentialFileFilterTest.java │ │ └── transfer/ │ │ ├── FilesAndFoldersTranferStrategyTest.java │ │ ├── FilesOnlyTransferStrategyTest.java │ │ ├── TransferStrategyFactoryTest.java │ │ └── TransferStrategyTest.java │ ├── transfer/ │ │ └── ftp/ │ │ ├── client/ │ │ │ ├── ClientFactoryTest.java │ │ │ ├── FTPClientTest.java │ │ │ ├── FTPSClientTest.java │ │ │ └── SFTPClientTest.java │ │ └── connection/ │ │ ├── FTPConnectionTest.java │ │ ├── SFTPConnectionTest.java │ │ └── progress/ │ │ ├── ListenerFactoryTest.java │ │ ├── ProgressListenerTest.java │ │ └── SFTPProgressListenerTest.java │ ├── util/ │ │ └── PatternBuilderTest.java │ └── web/ │ └── controller/ │ ├── APIControllerTest.java │ └── ViewControllerTest.java └── version.txt