From 92f47c3bef565252fc3e9ac5d5681ddc50cfae26 Mon Sep 17 00:00:00 2001 From: Le Karasique Date: Tue, 21 Apr 2020 10:01:00 +0300 Subject: [PATCH] Create DEB auto-packaging Create MSI auto-packaging --- .github/workflows/create-deb.yml | 37 +++++++ .github/workflows/create-msi.yml | 40 +++++++ .../test/actors/RegionDispatcherTest.scala | 18 ++- .../test/actors/RegionGCTest.scala | 10 +- .../test/actors/RegionRepairTest.scala | 8 +- .../test/actors/RegionSupervisorTest.scala | 8 +- .../test/config/SCConfigTest.scala | 8 +- .../test/crypto/EncryptionModuleTest.scala | 7 +- .../test/crypto/HashingModuleTest.scala | 5 +- .../test/crypto/SignModuleTest.scala | 5 +- .../test/index/ChunkIndexTest.scala | 3 +- .../test/index/FolderDiffTest.scala | 3 +- .../shadowcloud/test/index/FolderTest.scala | 3 +- .../test/index/HashCodesTest.scala | 5 +- .../test/index/IndexMergerTest.scala | 3 +- .../SerializationModuleTest.scala | 12 +- .../test/storage/RepositoryTest.scala | 5 +- .../test/streams/ChunkSplitterTest.scala | 5 +- .../streams/IndexRepositoryStreamsTest.scala | 10 +- .../test/streams/MetadataStreamsTest.scala | 10 +- .../test/streams/RangedChunkStreamTest.scala | 10 +- .../com/karasiq/shadowcloud/ShadowCloud.scala | 1 - .../actors/ChunkIODispatcher.scala | 1 - .../shadowcloud/actors/RegionContainer.scala | 2 - .../shadowcloud/actors/RegionDispatcher.scala | 1 - .../karasiq/shadowcloud/actors/RegionGC.scala | 1 - .../shadowcloud/actors/RegionIndex.scala | 2 +- .../shadowcloud/actors/RegionSupervisor.scala | 8 +- .../shadowcloud/actors/StorageContainer.scala | 10 +- .../actors/StorageDispatcher.scala | 12 +- .../actors/StorageHealthSupervisor.scala | 3 +- .../shadowcloud/actors/StorageIndex.scala | 12 +- .../actors/events/RegionEvents.scala | 4 +- .../actors/events/StorageEvents.scala | 4 +- .../actors/internal/RegionTracker.scala | 12 +- .../actors/internal/StorageInstantiator.scala | 5 +- .../actors/internal/StorageTracker.scala | 6 +- .../shadowcloud/config/EncryptionConfig.scala | 5 +- .../karasiq/shadowcloud/config/GCConfig.scala | 6 +- .../shadowcloud/config/HashingConfig.scala | 3 +- .../shadowcloud/config/SigningConfig.scala | 5 +- .../shadowcloud/config/StoragesConfig.scala | 5 +- .../crypto/NoOpCryptoProvider.scala | 3 +- .../crypto/index/IndexEncryption.scala | 8 +- .../internal/NoOpEncryptionModule.scala | 5 +- .../crypto/internal/NoOpHashingModule.scala | 3 +- .../crypto/internal/NoOpSignModule.scala | 3 +- .../shadowcloud/ops/region/RegionOps.scala | 14 +-- .../shadowcloud/ops/storage/StorageOps.scala | 12 +- .../ops/supervisor/RegionSupervisorOps.scala | 6 +- .../shadowcloud/providers/SCModules.scala | 4 +- .../storage/LocalStorageProvider.scala | 2 +- .../shadowcloud/storage/Repositories.scala | 8 +- .../storage/StorageHealthProviders.scala | 8 +- .../storage/files/FileRepository.scala | 12 +- .../FileStorageEstimateHealthProvider.scala | 7 +- .../storage/files/FileStoragePlugin.scala | 6 +- .../FileStorageTraverseHealthProvider.scala | 7 +- .../inmem/ConcurrentMapRepository.scala | 6 +- .../storage/inmem/ConcurrentMapStreams.scala | 8 +- .../storage/inmem/InMemoryStoragePlugin.scala | 6 +- .../storage/inmem/JVMHeapHealthProvider.scala | 6 +- .../DefaultIndexRepositoryStreams.scala | 8 +- .../utils/IndexRepositoryStreams.scala | 6 +- .../streams/chunk/ChunkKeyStream.scala | 7 +- .../chunk/ChunkProcessingStreams.scala | 8 +- .../streams/chunk/ChunkSplitter.scala | 5 +- .../streams/file/FileIndexer.scala | 10 +- .../streams/file/FileStreams.scala | 8 +- .../index/IndexProcessingStreams.scala | 9 +- .../streams/region/RegionStreams.scala | 6 +- .../test/utils/CoreTestUtils.scala | 7 +- .../test/utils/SCExtensionSpec.scala | 2 +- .../BouncyCastleCryptoProvider.scala | 2 +- .../asymmetric/BCAsymmetricCipherKeys.scala | 3 +- .../asymmetric/BCAsymmetricCipherModule.scala | 7 +- .../asymmetric/ECIESCipherModule.scala | 21 ++-- .../asymmetric/RSACipherModule.scala | 7 +- .../bouncycastle/hashing/BCDigests.scala | 5 +- .../internal/BCSymmetricKeys.scala | 3 +- .../bouncycastle/internal/BCUtils.scala | 7 +- .../bouncycastle/internal/ECUtils.scala | 7 +- .../bouncycastle/sign/ECDSASignModule.scala | 5 +- .../bouncycastle/sign/RSASignModule.scala | 5 +- .../symmetric/AEADBlockCipherModule.scala | 9 +- .../symmetric/BlockCipherModule.scala | 5 +- .../symmetric/StreamCipherModule.scala | 7 +- .../bouncycastle/test/BouncyCastleTest.scala | 7 +- .../libsodium/LibSodiumCryptoProvider.scala | 2 +- .../crypto/libsodium/internal/LSUtils.scala | 4 +- .../libsodium/symmetric/ChaCha20Module.scala | 3 +- .../symmetric/SymmetricCipherModule.scala | 7 +- .../crypto/libsodium/test/LibSodiumTest.scala | 5 +- .../shadowcloud/crypto/CryptoModule.scala | 5 +- .../shadowcloud/crypto/EncryptionModule.scala | 5 +- .../shadowcloud/crypto/HashingModule.scala | 5 +- .../shadowcloud/crypto/SignModule.scala | 3 +- .../providers/CryptoProvider.scala | 2 +- .../shadowcloud/desktop/SCTrayIcon.scala | 30 +++-- .../drive/VirtualFSDispatcher.scala | 12 +- .../shadowcloud/javafx/JavaFXContext.scala | 1 - .../imageio/ImageIOThumbnailCreator.scala | 9 +- .../test/ImageIOMetadataProviderTest.scala | 8 +- .../utils/BlockingMetadataParser.scala | 5 +- .../metadata/tika/TikaMetadataParser.scala | 14 +-- .../tika/TikaMetadataProviderTest.scala | 8 +- .../shadowcloud/config/ConfigProps.scala | 6 +- .../shadowcloud/index/ChunkIndex.scala | 5 +- .../shadowcloud/index/FolderIndex.scala | 9 +- .../index/diffs/ChunkIndexDiff.scala | 4 +- .../shadowcloud/index/diffs/FolderDiff.scala | 6 +- .../index/diffs/FolderIndexDiff.scala | 6 +- .../shadowcloud/index/diffs/IndexDiff.scala | 4 +- .../index/files/FileVersions.scala | 7 +- .../index/utils/FolderDecider.scala | 2 +- .../shadowcloud/index/utils/HasEmpty.scala | 2 +- .../shadowcloud/index/utils/HasPath.scala | 2 +- .../index/utils/HasWithoutData.scala | 2 +- .../shadowcloud/index/utils/Mergeable.scala | 2 +- .../index/utils/MergeableDiff.scala | 2 +- .../karasiq/shadowcloud/model/Checksum.scala | 5 +- .../com/karasiq/shadowcloud/model/Chunk.scala | 4 +- .../com/karasiq/shadowcloud/model/Data.scala | 3 +- .../com/karasiq/shadowcloud/model/File.scala | 2 +- .../karasiq/shadowcloud/model/Folder.scala | 7 +- .../karasiq/shadowcloud/model/Timestamp.scala | 4 +- .../model/crypto/CryptoMethod.scala | 4 +- .../model/crypto/EncryptionMethod.scala | 4 +- .../model/crypto/EncryptionParameters.scala | 5 +- .../model/crypto/HashingMethod.scala | 4 +- .../model/crypto/SignParameters.scala | 5 +- .../shadowcloud/storage/StorageIOResult.scala | 2 +- .../karasiq/shadowcloud/utils/MergeUtil.scala | 2 +- .../shadowcloud/utils/ProtobufUtils.scala | 5 +- .../persistence/h2/H2AkkaSnapshotStore.scala | 10 +- .../persistence/h2/H2KeyProvider.scala | 10 +- project/ProjectDeps.scala | 6 +- project/ScalaJSDeps.scala | 6 +- project/build.properties | 2 +- project/plugins.sbt | 4 +- .../kryo/ByteStringSerializer.scala | 7 +- .../serialization/kryo/ConfigSerializer.scala | 9 +- .../kryo/GeneratedMessageSerializer.scala | 2 +- .../boopickle/SCBooPickleEncoders.scala | 7 +- .../serialization/json/SCJsonEncoders.scala | 103 +++++++++--------- .../server/http/SCAkkaHttpApiRoutes.scala | 9 +- .../server/http/test/SCHttpServerTest.scala | 14 +-- .../server/http/SCAkkaHttpServer.scala | 2 +- .../http/SCAkkaHttpServerLifecycleHook.scala | 2 +- .../shadowcloud/webapp/SCFrontendMain.scala | 3 +- .../components/common/AppComponents.scala | 11 +- .../components/file/FileDownloadLink.scala | 8 +- .../webapp/components/file/FilePreview.scala | 15 +-- .../webapp/components/folder/FolderTree.scala | 2 +- .../folder/PreviewsFileListItem.scala | 13 ++- .../metadata/MetadataListView.scala | 12 +- .../components/metadata/MetadataView.scala | 5 +- .../components/themes/ThemeSelector.scala | 6 +- .../webapp/styles/FolderTreeStyles.scala | 2 +- .../shadowcloud/shell/RegionContext.scala | 12 +- .../com/karasiq/shadowcloud/shell/Shell.scala | 7 +- .../shadowcloud/shell/ShellContext.scala | 3 +- .../shadowcloud/shell/ShellUtils.scala | 10 +- .../shadowcloud/shell/StorageContext.scala | 7 +- .../karasiq/shadowcloud/test/Benchmark.scala | 14 +-- .../storage/gdrive/GDriveRepository.scala | 1 - .../storage/gdrive/SCGDriveStore.scala | 10 +- .../mailrucloud/MailRuCloudProxyActor.scala | 6 +- .../actors/SessionProxyActor.scala | 6 +- .../providers/StorageProvider.scala | 2 +- .../storage/StorageHealthProvider.scala | 5 +- .../shadowcloud/storage/StoragePlugin.scala | 5 +- .../storage/props/StorageProps.scala | 2 +- .../repository/CategorizedRepository.scala | 3 +- .../storage/repository/RepositoryKeys.scala | 3 +- .../storage/repository/SeqRepository.scala | 7 +- .../wrappers/RepositoryKeyMapper.scala | 5 +- .../wrappers/RepositoryWrapper.scala | 4 +- .../wrappers/SubRepositoriesWrapper.scala | 8 +- .../storage/utils/StorageUtils.scala | 12 +- .../actors/utils/ContainerActor.scala | 5 +- .../actors/utils/MessageStatus.scala | 7 +- .../actors/utils/PendingOperation.scala | 2 +- .../actors/utils/StringEventBus.scala | 2 +- .../serialization/StreamSerialization.scala | 4 +- .../AkkaSerializationExtensionModule.scala | 7 +- .../internal/AkkaSerializerModule.scala | 7 +- .../storage/utils/ChunkKeyMapper.scala | 7 +- .../streams/utils/AkkaStreamUtils.scala | 1 - .../shadowcloud/utils/FileSystemUtils.scala | 9 +- .../storage/utils/IndexMerger.scala | 11 +- .../utils/internal/DefaultIndexMerger.scala | 7 +- .../karasiq/shadowcloud/utils/DiffStats.scala | 2 +- .../shadowcloud/test/utils/ActorSpec.scala | 7 +- .../test/utils/ActorSpecImplicits.scala | 5 +- .../test/utils/ByteStringImplicits.scala | 3 +- 196 files changed, 608 insertions(+), 756 deletions(-) create mode 100644 .github/workflows/create-deb.yml create mode 100644 .github/workflows/create-msi.yml diff --git a/.github/workflows/create-deb.yml b/.github/workflows/create-deb.yml new file mode 100644 index 00000000..2fe0b341 --- /dev/null +++ b/.github/workflows/create-deb.yml @@ -0,0 +1,37 @@ +name: Build DEB + +on: + push: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Get version + id: version + run: | + git fetch --prune --unshallow + git checkout master + export git_message=$(git log -1 --pretty=%B) + version_msg_regex='Version ([0-9]+\.[0-9]+\.?[0-9]*).*' + if [[ $git_message =~ $version_msg_regex ]]; then + export version="${BASH_REMATCH[1]}" + else + export version_tag=$(git describe --tags --abbrev=0) + export version="${version_tag:1}" + fi + echo "::set-output name=version::$version" + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + java-package: jdk+fx + - name: Package DEB + run: JAVA_OPTS="-Xmx4G -Denable-tika=1 -Denable-javacv=1" sbt desktopApp/jdkPackager:packageBin + - name: Upload artifact + uses: actions/upload-artifact@v2-preview + with: + name: shadowcloud-${{steps.version.outputs.version}}.deb + path: ${{github.workspace}}/desktop-app/target/universal/jdkpackager/bundles/shadowcloud-${{steps.version.outputs.version}}.deb diff --git a/.github/workflows/create-msi.yml b/.github/workflows/create-msi.yml new file mode 100644 index 00000000..b3ce8389 --- /dev/null +++ b/.github/workflows/create-msi.yml @@ -0,0 +1,40 @@ +name: Build EXE + +on: + push: + branches: [ master ] + +jobs: + build: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Get version + id: version + run: | + git fetch --prune --unshallow + git checkout master + $GitMessage = (git log -1 --pretty=%B) | Out-String + $VersionMsgRegex = "Version ([0-9]+\.[0-9]+\.?[0-9]*)\s*" + + if ($GitMessage -match $VersionMsgRegex) { + $Version = $Matches[1] + } else { + $VersionTag = (git describe --tags --abbrev=0) | Out-String + $Version = $VersionTag.SubString(1) + } + Write-Output "::set-output name=version::$Version" + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + java-package: jdk+fx + - name: Package EXE + run: | + $env:JAVA_OPTS="-Xmx4G -Denable-tika=1 -Denable-javacv=1" + sbt desktopApp/jdkPackager:packageBin + - name: Upload artifact + uses: actions/upload-artifact@v2-preview + with: + name: shadowcloud-${{steps.version.outputs.version}}.exe + path: ${{github.workspace}}/desktop-app/target/universal/jdkpackager/bundles/shadowcloud-${{steps.version.outputs.version}}.exe diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionDispatcherTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionDispatcherTest.scala index b0d71053..a73620fc 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionDispatcherTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionDispatcherTest.scala @@ -2,34 +2,32 @@ package com.karasiq.shadowcloud.test.actors import java.nio.file.Files -import scala.collection.concurrent.TrieMap -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.PoisonPill import akka.pattern.ask import akka.stream.scaladsl.{Keep, Source} import akka.stream.testkit.scaladsl.{TestSink, TestSource} import akka.util.ByteString -import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} - import com.karasiq.common.encoding.{Base64, HexString} -import com.karasiq.shadowcloud.actors._ +import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.actors.RegionDispatcher.{GetFileAvailability, ReadChunk, WriteChunk} +import com.karasiq.shadowcloud.actors._ import com.karasiq.shadowcloud.actors.events.StorageEvents import com.karasiq.shadowcloud.actors.messages.StorageEnvelope -import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.index.IndexData import com.karasiq.shadowcloud.index.diffs.{FolderIndexDiff, IndexDiff} import com.karasiq.shadowcloud.storage._ import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.props.StorageProps.Quota import com.karasiq.shadowcloud.storage.replication.ChunkWriteAffinity -import com.karasiq.shadowcloud.storage.repository.{PathTreeRepository, Repository} import com.karasiq.shadowcloud.storage.repository.wrappers.PathNodesMapper -import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexMerger, IndexRepositoryStreams} +import com.karasiq.shadowcloud.storage.repository.{PathTreeRepository, Repository} import com.karasiq.shadowcloud.storage.utils.IndexMerger.RegionKey +import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexMerger, IndexRepositoryStreams} import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils} +import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} + +import scala.collection.concurrent.TrieMap +import scala.concurrent.duration._ // Uses local filesystem class RegionDispatcherTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution { diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionGCTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionGCTest.scala index 2909a94b..d06ffd78 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionGCTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionGCTest.scala @@ -1,16 +1,14 @@ package com.karasiq.shadowcloud.test.actors -import scala.concurrent.duration._ -import scala.language.postfixOps - -import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} -import org.scalatest.concurrent.PatienceConfiguration.Timeout - import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.actors.RegionGC.GCStrategy import com.karasiq.shadowcloud.index.diffs.IndexDiff import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec} +import org.scalatest.concurrent.PatienceConfiguration.Timeout +import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} + +import scala.concurrent.duration._ class RegionGCTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution { val testRegionId = "regionGCTest" diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionRepairTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionRepairTest.scala index 603e45bc..fc4ac06f 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionRepairTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionRepairTest.scala @@ -1,12 +1,7 @@ package com.karasiq.shadowcloud.test.actors -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.stream.scaladsl.Keep import akka.stream.testkit.scaladsl.{TestSink, TestSource} -import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} - import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.storage.props.StorageProps @@ -14,6 +9,9 @@ import com.karasiq.shadowcloud.storage.props.StorageProps.Quota import com.karasiq.shadowcloud.storage.replication.ChunkWriteAffinity import com.karasiq.shadowcloud.streams.region.RegionRepairStream import com.karasiq.shadowcloud.test.utils.{SCExtensionSpec, TestUtils} +import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} + +import scala.concurrent.duration._ class RegionRepairTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution { val testRegionId = "repairTestRegion" diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionSupervisorTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionSupervisorTest.scala index 9c09b535..7482d779 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionSupervisorTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/actors/RegionSupervisorTest.scala @@ -1,16 +1,14 @@ package com.karasiq.shadowcloud.test.actors -import scala.concurrent.duration._ -import scala.language.postfixOps - -import org.scalatest.{FlatSpecLike, Matchers} - import com.karasiq.shadowcloud.actors.RegionSupervisor import com.karasiq.shadowcloud.actors.internal.RegionTracker import com.karasiq.shadowcloud.actors.internal.RegionTracker.{RegionStatus, StorageStatus} import com.karasiq.shadowcloud.actors.utils.ActorState import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec} +import org.scalatest.{FlatSpecLike, Matchers} + +import scala.concurrent.duration._ class RegionSupervisorTest extends SCExtensionSpec with FlatSpecLike with Matchers { import RegionSupervisor._ diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/config/SCConfigTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/config/SCConfigTest.scala index ea6d575e..bf7f24c9 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/config/SCConfigTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/config/SCConfigTest.scala @@ -1,13 +1,11 @@ package com.karasiq.shadowcloud.test.config -import scala.concurrent.duration._ -import scala.language.postfixOps - +import com.karasiq.shadowcloud.config.{RegionConfig, SCConfig, StorageConfig} +import com.karasiq.shadowcloud.model.crypto.HashingMethod import com.typesafe.config.ConfigFactory import org.scalatest.{FlatSpec, Matchers} -import com.karasiq.shadowcloud.config.{RegionConfig, SCConfig, StorageConfig} -import com.karasiq.shadowcloud.model.crypto.HashingMethod +import scala.concurrent.duration._ class SCConfigTest extends FlatSpec with Matchers { val rootConfig = ConfigFactory.load().getConfig("shadowcloud") diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/EncryptionModuleTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/EncryptionModuleTest.scala index 9f7f1ac0..27c592d7 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/EncryptionModuleTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/EncryptionModuleTest.scala @@ -2,14 +2,11 @@ package com.karasiq.shadowcloud.test.crypto import java.security.NoSuchAlgorithmException -import scala.language.postfixOps - -import org.scalatest.{FlatSpec, Matchers} - import com.karasiq.shadowcloud.crypto.EncryptionModule import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} -import com.karasiq.shadowcloud.test.utils.TestUtils import com.karasiq.shadowcloud.test.utils.CoreTestUtils.modules +import com.karasiq.shadowcloud.test.utils.TestUtils +import org.scalatest.{FlatSpec, Matchers} class EncryptionModuleTest extends FlatSpec with Matchers { runTest("", 0, 0) diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/HashingModuleTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/HashingModuleTest.scala index 2beec2c1..02e68601 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/HashingModuleTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/HashingModuleTest.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.test.crypto -import scala.language.postfixOps -import akka.util.ByteString -import org.scalatest.{FlatSpec, Matchers} +import akka.util.ByteString import com.karasiq.shadowcloud.model.crypto.HashingMethod import com.karasiq.shadowcloud.test.utils.{ByteStringImplicits, CoreTestUtils} +import org.scalatest.{FlatSpec, Matchers} class HashingModuleTest extends FlatSpec with Matchers with ByteStringImplicits { val testData = ByteString("The testing facilities described up to this point were aiming at formulating assertions about a system’s behavior. If a test fails, it is usually your job to find the cause, fix it and verify the test again. This process is supported by debuggers as well as logging, where the Akka toolkit offers the following options:") diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/SignModuleTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/SignModuleTest.scala index 7960697a..e2dec92c 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/SignModuleTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/crypto/SignModuleTest.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.test.crypto -import scala.language.postfixOps -import org.scalatest.{FlatSpec, Matchers} import com.karasiq.shadowcloud.crypto.SignModule import com.karasiq.shadowcloud.model.crypto.{HashingMethod, SignMethod} -import com.karasiq.shadowcloud.test.utils.TestUtils import com.karasiq.shadowcloud.test.utils.CoreTestUtils.modules +import com.karasiq.shadowcloud.test.utils.TestUtils +import org.scalatest.{FlatSpec, Matchers} class SignModuleTest extends FlatSpec with Matchers { val hashingMethod = HashingMethod("SHA-512") diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/ChunkIndexTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/ChunkIndexTest.scala index 20c8fbbd..7469ccca 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/ChunkIndexTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/ChunkIndexTest.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.test.index -import scala.language.postfixOps -import org.scalatest.{FlatSpec, Matchers} import com.karasiq.shadowcloud.index.ChunkIndex import com.karasiq.shadowcloud.test.utils.CoreTestUtils +import org.scalatest.{FlatSpec, Matchers} class ChunkIndexTest extends FlatSpec with Matchers { val chunk = CoreTestUtils.randomChunk diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderDiffTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderDiffTest.scala index 40f91738..0b8cf39d 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderDiffTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderDiffTest.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.test.index -import scala.language.postfixOps -import org.scalatest.{FlatSpec, Matchers} import com.karasiq.shadowcloud.index.FolderIndex import com.karasiq.shadowcloud.index.diffs.FolderIndexDiff import com.karasiq.shadowcloud.model.{Folder, Path} import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils} +import org.scalatest.{FlatSpec, Matchers} class FolderDiffTest extends FlatSpec with Matchers { val folder1 = CoreTestUtils.randomFolder() diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderTest.scala index 7a80a5e7..1b5a4077 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/FolderTest.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.test.index -import scala.language.postfixOps -import org.scalatest.{FlatSpec, Matchers} import com.karasiq.shadowcloud.model.{Folder, Timestamp} import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils} +import org.scalatest.{FlatSpec, Matchers} class FolderTest extends FlatSpec with Matchers { val folder = Folder(TestUtils.randomString, Timestamp(System.currentTimeMillis() - 1, System.currentTimeMillis() - 1)) diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/HashCodesTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/HashCodesTest.scala index db140a35..57962244 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/HashCodesTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/HashCodesTest.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.test.index -import scala.language.postfixOps -import akka.util.ByteString -import org.scalatest.{FlatSpec, Matchers} +import akka.util.ByteString import com.karasiq.shadowcloud.storage.utils.IndexMerger.RegionKey import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils} import com.karasiq.shadowcloud.utils.Utils +import org.scalatest.{FlatSpec, Matchers} //noinspection RedundantDefaultArgument class HashCodesTest extends FlatSpec with Matchers { diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/IndexMergerTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/IndexMergerTest.scala index a3d9a7e3..a86c9e87 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/IndexMergerTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/index/IndexMergerTest.scala @@ -1,8 +1,6 @@ package com.karasiq.shadowcloud.test.index -import scala.language.postfixOps -import org.scalatest.{Matchers, WordSpec} import com.karasiq.shadowcloud.exceptions.SCExceptions import com.karasiq.shadowcloud.index.FolderIndex @@ -10,6 +8,7 @@ import com.karasiq.shadowcloud.index.diffs.{FolderIndexDiff, IndexDiff} import com.karasiq.shadowcloud.model.{Folder, Path} import com.karasiq.shadowcloud.storage.utils.IndexMerger import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, TestUtils} +import org.scalatest.{Matchers, WordSpec} class IndexMergerTest extends WordSpec with Matchers { "Index" when { diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/serialization/SerializationModuleTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/serialization/SerializationModuleTest.scala index 0d2f5272..2d786afd 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/serialization/SerializationModuleTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/serialization/SerializationModuleTest.scala @@ -1,18 +1,16 @@ package com.karasiq.shadowcloud.test.serialization -import scala.io.Source -import scala.language.postfixOps - import akka.util.ByteString -import com.typesafe.config.Config -import org.scalatest.FlatSpecLike - import com.karasiq.shadowcloud.config.SCConfig import com.karasiq.shadowcloud.index.diffs.IndexDiff import com.karasiq.shadowcloud.model.{Chunk, File, Folder} -import com.karasiq.shadowcloud.serialization.{SerializationModule, SerializationModules} import com.karasiq.shadowcloud.serialization.protobuf.index.SerializedIndexData +import com.karasiq.shadowcloud.serialization.{SerializationModule, SerializationModules} import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils} +import com.typesafe.config.Config +import org.scalatest.FlatSpecLike + +import scala.io.Source class SerializationModuleTest extends SCExtensionSpec with FlatSpecLike { testModule("akka", SerializationModules.forActorSystem(system)) diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/storage/RepositoryTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/storage/RepositoryTest.scala index 59ac571c..355cd799 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/storage/RepositoryTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/storage/RepositoryTest.scala @@ -2,18 +2,15 @@ package com.karasiq.shadowcloud.test.storage import java.nio.file.Files -import scala.language.postfixOps - import akka.stream.scaladsl.{Keep, Source} import akka.stream.testkit.scaladsl.{TestSink, TestSource} import akka.util.ByteString -import org.scalatest.FlatSpecLike - import com.karasiq.shadowcloud.model.Path import com.karasiq.shadowcloud.storage._ import com.karasiq.shadowcloud.storage.repository.{KeyValueRepository, PathTreeRepository, RepositoryKeys} import com.karasiq.shadowcloud.streams.utils.ByteStreams import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils} +import org.scalatest.FlatSpecLike class RepositoryTest extends SCExtensionSpec with FlatSpecLike { "In-memory repository" should "store chunk" in { diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/ChunkSplitterTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/ChunkSplitterTest.scala index 868f9567..9f9dbfb1 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/ChunkSplitterTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/ChunkSplitterTest.scala @@ -1,15 +1,14 @@ package com.karasiq.shadowcloud.test.streams -import scala.language.postfixOps + import akka.stream.scaladsl.{Keep, Sink, Source} import akka.stream.testkit.scaladsl.{TestSink, TestSource} import akka.util.ByteString -import org.scalatest.FlatSpecLike - import com.karasiq.shadowcloud.model.{Checksum, Chunk, Data} import com.karasiq.shadowcloud.streams.chunk.ChunkSplitter import com.karasiq.shadowcloud.test.utils.{SCExtensionSpec, TestUtils} +import org.scalatest.FlatSpecLike //noinspection ZeroIndexToHead class ChunkSplitterTest extends SCExtensionSpec with FlatSpecLike { diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/IndexRepositoryStreamsTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/IndexRepositoryStreamsTest.scala index e785bc6a..98a5fcd2 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/IndexRepositoryStreamsTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/IndexRepositoryStreamsTest.scala @@ -2,14 +2,8 @@ package com.karasiq.shadowcloud.test.streams import java.nio.file.Files -import scala.concurrent.Await -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.stream.scaladsl.{Keep, Sink, Source} import akka.stream.testkit.scaladsl.{TestSink, TestSource} -import org.scalatest.FlatSpecLike - import com.karasiq.shadowcloud.index.IndexData import com.karasiq.shadowcloud.model.Path import com.karasiq.shadowcloud.model.crypto.EncryptionMethod @@ -17,6 +11,10 @@ import com.karasiq.shadowcloud.storage._ import com.karasiq.shadowcloud.storage.repository.{KeyValueRepository, PathTreeRepository, RepositoryKeys} import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexRepositoryStreams} import com.karasiq.shadowcloud.test.utils.{CoreTestUtils, SCExtensionSpec, TestUtils} +import org.scalatest.FlatSpecLike + +import scala.concurrent.Await +import scala.concurrent.duration._ class IndexRepositoryStreamsTest extends SCExtensionSpec with FlatSpecLike { "In-memory repository" should "store diff" in { diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/MetadataStreamsTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/MetadataStreamsTest.scala index df2953a2..11afa9ce 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/MetadataStreamsTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/MetadataStreamsTest.scala @@ -1,13 +1,7 @@ package com.karasiq.shadowcloud.test.streams -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.stream.scaladsl.{Keep, Sink} import akka.stream.testkit.scaladsl.{TestSink, TestSource} -import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} -import org.scalatest.concurrent.PatienceConfiguration.Timeout - import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.metadata.Metadata import com.karasiq.shadowcloud.model.{FileId, Path} @@ -15,6 +9,10 @@ import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.streams.metadata.MimeDetectorStream import com.karasiq.shadowcloud.test.utils.{ResourceUtils, SCExtensionSpec, TestUtils} import com.karasiq.shadowcloud.utils.Utils +import org.scalatest.concurrent.PatienceConfiguration.Timeout +import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} + +import scala.concurrent.duration._ object MetadataStreamsTest { def testJpegStream() = ResourceUtils.toStream("14935431092820.jpg") diff --git a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/RangedChunkStreamTest.scala b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/RangedChunkStreamTest.scala index 70b0f7f1..468876ca 100644 --- a/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/RangedChunkStreamTest.scala +++ b/core/assembly/src/test/scala/com/karasiq/shadowcloud/test/streams/RangedChunkStreamTest.scala @@ -1,16 +1,14 @@ package com.karasiq.shadowcloud.test.streams -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.stream.scaladsl.{Sink, Source} -import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} -import org.scalatest.concurrent.PatienceConfiguration.Timeout - import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.streams.chunk.ChunkRanges import com.karasiq.shadowcloud.streams.utils.ByteStreams import com.karasiq.shadowcloud.test.utils.{SCExtensionSpec, TestUtils} +import org.scalatest.concurrent.PatienceConfiguration.Timeout +import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} + +import scala.concurrent.duration._ class RangedChunkStreamTest extends SCExtensionSpec with FlatSpecLike with SequentialNestedSuiteExecution { val testRegion = "testRegion" diff --git a/core/src/main/scala/com/karasiq/shadowcloud/ShadowCloud.scala b/core/src/main/scala/com/karasiq/shadowcloud/ShadowCloud.scala index e0fb9faa..482900f2 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/ShadowCloud.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/ShadowCloud.scala @@ -31,7 +31,6 @@ import com.karasiq.shadowcloud.utils.{ProviderInstantiator, SCProviderInstantiat import com.typesafe.config.Config import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps import scala.reflect.ClassTag import scala.util.Try import scala.util.control.NonFatal diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/ChunkIODispatcher.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/ChunkIODispatcher.scala index 61bac9cd..85679d33 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/ChunkIODispatcher.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/ChunkIODispatcher.scala @@ -24,7 +24,6 @@ import com.karasiq.shadowcloud.streams.utils.{AkkaStreamUtils, ByteStreams} import com.karasiq.shadowcloud.utils.{ChunkUtils, Utils} import scala.concurrent.{Future, Promise} -import scala.language.postfixOps import scala.util.{Failure, Success} object ChunkIODispatcher { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionContainer.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionContainer.scala index dc0b6b92..7f56b39c 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionContainer.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionContainer.scala @@ -1,7 +1,5 @@ package com.karasiq.shadowcloud.actors -import scala.language.postfixOps - import akka.actor.{Actor, ActorLogging, ActorRef, Props, Stash} import com.karasiq.shadowcloud.ShadowCloud diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionDispatcher.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionDispatcher.scala index ab91f627..b5ddda50 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionDispatcher.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionDispatcher.scala @@ -29,7 +29,6 @@ import com.karasiq.shadowcloud.utils.Utils import scala.concurrent.Future import scala.concurrent.duration._ -import scala.language.postfixOps import scala.util.{Failure, Success} object RegionDispatcher { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionGC.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionGC.scala index 489b2e43..e2be6e73 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionGC.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionGC.scala @@ -24,7 +24,6 @@ import com.karasiq.shadowcloud.utils.{ChunkUtils, Utils} import scala.concurrent.duration._ import scala.concurrent.{Future, TimeoutException} -import scala.language.postfixOps import scala.util.{Failure, Success} object RegionGC { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionIndex.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionIndex.scala index 075f6b03..5ea85360 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionIndex.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionIndex.scala @@ -19,7 +19,7 @@ import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexMerger, IndexR import com.karasiq.shadowcloud.utils.DiffStats import scala.concurrent.duration._ -import scala.language.postfixOps + object RegionIndex { // Types diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionSupervisor.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionSupervisor.scala index 09c310ac..d74272f3 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionSupervisor.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/RegionSupervisor.scala @@ -1,14 +1,9 @@ package com.karasiq.shadowcloud.actors -import scala.collection.mutable -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.NotUsed import akka.actor.{ActorLogging, OneForOneStrategy, Props, Status, SupervisorStrategy} import akka.persistence.{PersistentActor, RecoveryCompleted, SnapshotOffer} import akka.util.Timeout - import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.actors.events.SupervisorEvents._ import com.karasiq.shadowcloud.actors.internal.RegionTracker @@ -19,6 +14,9 @@ import com.karasiq.shadowcloud.exceptions.SupervisorException import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.storage.props.StorageProps +import scala.collection.mutable +import scala.concurrent.duration._ + object RegionSupervisor { // Messages sealed trait Message diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageContainer.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageContainer.scala index bee00eaf..6b29878f 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageContainer.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageContainer.scala @@ -1,19 +1,17 @@ package com.karasiq.shadowcloud.actors -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.{Actor, ActorLogging, ActorRef, Props, Stash} - import com.karasiq.shadowcloud.ShadowCloud -import com.karasiq.shadowcloud.actors.utils.ContainerActor +import com.karasiq.shadowcloud.actors.RegionSupervisor.RenewStorageSubscriptions import com.karasiq.shadowcloud.actors.StorageContainer.SetProps import com.karasiq.shadowcloud.actors.internal.StorageInstantiator -import com.karasiq.shadowcloud.actors.RegionSupervisor.RenewStorageSubscriptions +import com.karasiq.shadowcloud.actors.utils.ContainerActor import com.karasiq.shadowcloud.model.StorageId import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.utils.Utils +import scala.concurrent.duration._ + private[actors] object StorageContainer { sealed trait Message final case class SetProps(storageProps: StorageProps) extends Message diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageDispatcher.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageDispatcher.scala index 255e87c9..15a039ff 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageDispatcher.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageDispatcher.scala @@ -1,26 +1,24 @@ package com.karasiq.shadowcloud.actors -import scala.concurrent.duration._ -import scala.language.postfixOps -import scala.util.Success - import akka.actor.{Actor, ActorLogging, ActorRef, Kill, NotInfluenceReceiveTimeout, PossiblyHarmful, Props} import akka.pattern.pipe import akka.stream._ import akka.stream.scaladsl.{Sink, Source} - import com.karasiq.shadowcloud.ShadowCloud +import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.actors.events.StorageEvents import com.karasiq.shadowcloud.actors.messages.StorageEnvelope import com.karasiq.shadowcloud.actors.utils.MessageStatus -import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.index.diffs.IndexDiff -import com.karasiq.shadowcloud.model.{Chunk, StorageId} import com.karasiq.shadowcloud.model.utils.StorageHealth +import com.karasiq.shadowcloud.model.{Chunk, StorageId} import com.karasiq.shadowcloud.storage.StorageHealthProvider import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.streams.utils.AkkaStreamUtils +import scala.concurrent.duration._ +import scala.util.Success + object StorageDispatcher { // Messages sealed trait Message diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageHealthSupervisor.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageHealthSupervisor.scala index d576a82c..922e28ed 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageHealthSupervisor.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageHealthSupervisor.scala @@ -1,7 +1,6 @@ package com.karasiq.shadowcloud.actors import scala.concurrent.duration._ -import scala.language.postfixOps import akka.actor.{Actor, ActorLogging, ActorRef, Cancellable, Kill, PossiblyHarmful, Props, Terminated} import akka.pattern.{ask, pipe} @@ -71,7 +70,7 @@ class StorageHealthSupervisor(actor: ActorRef, interval: FiniteDuration, maxFail override def preStart(): Unit = { super.preStart() context.watch(actor) - schedule = context.system.scheduler.schedule(interval, interval, self, Check) + schedule = context.system.scheduler.scheduleWithFixedDelay(interval, interval, self, Check) } override def postStop(): Unit = { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageIndex.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageIndex.scala index 05cafa33..208a5f48 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageIndex.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/StorageIndex.scala @@ -1,23 +1,21 @@ package com.karasiq.shadowcloud.actors -import scala.collection.mutable.{AnyRefMap ⇒ MMap} -import scala.concurrent.{ExecutionContext, Future} -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.{Actor, ActorLogging, ActorRef, Props, Status} import akka.pattern.{ask, pipe} import akka.util.Timeout - import com.karasiq.shadowcloud.actors.utils.MessageStatus import com.karasiq.shadowcloud.exceptions.StorageException -import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.model.utils.SyncReport +import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.repository.CategorizedRepository import com.karasiq.shadowcloud.storage.utils.{IndexMerger, StorageUtils} import com.karasiq.shadowcloud.utils.Utils +import scala.collection.mutable.{AnyRefMap => MMap} +import scala.concurrent.duration._ +import scala.concurrent.{ExecutionContext, Future} + object StorageIndex { // Messages sealed trait Message diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/events/RegionEvents.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/events/RegionEvents.scala index ca087c4e..f5553850 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/events/RegionEvents.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/events/RegionEvents.scala @@ -1,7 +1,5 @@ package com.karasiq.shadowcloud.actors.events -import scala.language.postfixOps - import com.karasiq.shadowcloud.index.diffs.IndexDiff import com.karasiq.shadowcloud.model.{Chunk, StorageId} import com.karasiq.shadowcloud.storage.utils.IndexMerger.RegionKey @@ -12,4 +10,4 @@ object RegionEvents { case class IndexUpdated(sequenceNr: RegionKey, diff: IndexDiff) extends Event case class IndexDeleted(keys: Set[RegionKey]) extends Event case class ChunkWritten(storageId: StorageId, chunk: Chunk) extends Event -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/events/StorageEvents.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/events/StorageEvents.scala index 87886f04..820c6dbf 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/events/StorageEvents.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/events/StorageEvents.scala @@ -1,11 +1,11 @@ package com.karasiq.shadowcloud.actors.events -import scala.language.postfixOps + import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.index.diffs.IndexDiff -import com.karasiq.shadowcloud.model.{Chunk, RegionId, SequenceNr} import com.karasiq.shadowcloud.model.utils.StorageHealth +import com.karasiq.shadowcloud.model.{Chunk, RegionId, SequenceNr} import com.karasiq.shadowcloud.storage.utils.IndexMerger object StorageEvents { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/RegionTracker.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/RegionTracker.scala index da174a23..03f41ede 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/RegionTracker.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/RegionTracker.scala @@ -1,22 +1,20 @@ package com.karasiq.shadowcloud.actors.internal -import scala.collection.mutable -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.{ActorContext, OneForOneStrategy, Props, SupervisorStrategy} import akka.pattern.BackoffSupervisor - import com.karasiq.shadowcloud.ShadowCloud +import com.karasiq.shadowcloud.actors.utils.{ActorState => State} import com.karasiq.shadowcloud.actors.{RegionContainer, RegionDispatcher, StorageContainer, StorageIndex} -import com.karasiq.shadowcloud.actors.utils.{ActorState ⇒ State} import com.karasiq.shadowcloud.config.RegionConfig import com.karasiq.shadowcloud.exceptions.SCException -import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.model.utils.StorageHealth +import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.utils.Utils +import scala.collection.mutable +import scala.concurrent.duration._ + object RegionTracker { final case class RegionStatus(regionId: RegionId, regionConfig: RegionConfig, actorState: State, storages: Set[String] = Set.empty) final case class StorageStatus(storageId: StorageId, storageProps: StorageProps, actorState: State, regions: Set[String] = Set.empty) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageInstantiator.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageInstantiator.scala index cba12c93..a2211841 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageInstantiator.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageInstantiator.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.actors.internal -import scala.language.postfixOps -import akka.actor.{ActorContext, ActorRef} +import akka.actor.{ActorContext, ActorRef} import com.karasiq.shadowcloud.model.StorageId import com.karasiq.shadowcloud.providers.SCModules import com.karasiq.shadowcloud.storage._ @@ -20,4 +19,4 @@ private[actors] final class StorageInstantiator(modules: SCModules) extends Stor val plugin = modules.storage.storagePlugin(props) plugin.createStorage(storageId, props) } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageTracker.scala b/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageTracker.scala index 63a20eb0..30b9ecd2 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageTracker.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/actors/internal/StorageTracker.scala @@ -1,10 +1,6 @@ package com.karasiq.shadowcloud.actors.internal -import scala.collection.mutable -import scala.language.postfixOps - import akka.actor.{ActorContext, ActorRef} - import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.model.StorageId import com.karasiq.shadowcloud.model.utils.StorageHealth @@ -12,6 +8,8 @@ import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.replication.RegionStorageProvider import com.karasiq.shadowcloud.storage.replication.RegionStorageProvider.RegionStorage +import scala.collection.mutable + private[actors] object StorageTracker { def apply()(implicit context: ActorContext): StorageTracker = { new StorageTracker() diff --git a/core/src/main/scala/com/karasiq/shadowcloud/config/EncryptionConfig.scala b/core/src/main/scala/com/karasiq/shadowcloud/config/EncryptionConfig.scala index 95459f82..e470b673 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/config/EncryptionConfig.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/config/EncryptionConfig.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.config -import scala.language.postfixOps -import com.typesafe.config.{Config, ConfigException} import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.model.crypto.EncryptionMethod +import com.typesafe.config.{Config, ConfigException} private[shadowcloud] case class EncryptionConfig(rootConfig: Config, chunks: EncryptionMethod, index: EncryptionMethod, keys: EncryptionMethod, @@ -30,4 +29,4 @@ private[shadowcloud] object EncryptionConfig extends WrappedConfigFactory[Encryp EncryptionMethod(alg) } } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/config/GCConfig.scala b/core/src/main/scala/com/karasiq/shadowcloud/config/GCConfig.scala index bb77f409..22bf60c2 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/config/GCConfig.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/config/GCConfig.scala @@ -1,11 +1,9 @@ package com.karasiq.shadowcloud.config -import scala.concurrent.duration.{FiniteDuration, _} -import scala.language.postfixOps - +import com.karasiq.common.configs.ConfigImplicits import com.typesafe.config.Config -import com.karasiq.common.configs.ConfigImplicits +import scala.concurrent.duration.{FiniteDuration, _} case class GCConfig(rootConfig: Config, runOnLowSpace: Option[Long], autoDelete: Boolean, keepFileRevisions: Int, keepRecentFiles: FiniteDuration) extends WrappedConfig diff --git a/core/src/main/scala/com/karasiq/shadowcloud/config/HashingConfig.scala b/core/src/main/scala/com/karasiq/shadowcloud/config/HashingConfig.scala index b899e5b5..aa7db276 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/config/HashingConfig.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/config/HashingConfig.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.config -import scala.language.postfixOps -import com.typesafe.config.{Config, ConfigException} import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.model.crypto.HashingMethod +import com.typesafe.config.{Config, ConfigException} private[shadowcloud] case class HashingConfig(rootConfig: Config, chunks: HashingMethod, chunksEncrypted: HashingMethod, files: HashingMethod, diff --git a/core/src/main/scala/com/karasiq/shadowcloud/config/SigningConfig.scala b/core/src/main/scala/com/karasiq/shadowcloud/config/SigningConfig.scala index 0657c18c..be6d2e23 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/config/SigningConfig.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/config/SigningConfig.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.config -import scala.language.postfixOps -import com.typesafe.config.{Config, ConfigException} import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.model.crypto.{HashingMethod, SignMethod} +import com.typesafe.config.{Config, ConfigException} case class SigningConfig(rootConfig: Config, index: SignMethod) extends WrappedConfig @@ -25,4 +24,4 @@ object SigningConfig extends WrappedConfigFactory[SigningConfig] with ConfigImpl SignMethod(alg, HashingMethod.default) } } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/config/StoragesConfig.scala b/core/src/main/scala/com/karasiq/shadowcloud/config/StoragesConfig.scala index 193155ff..b6083a2e 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/config/StoragesConfig.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/config/StoragesConfig.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.config -import scala.language.postfixOps -import com.typesafe.config.Config import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.providers.StorageProvider +import com.typesafe.config.Config private[shadowcloud] case class StoragesConfig(rootConfig: Config, providers: ProvidersConfig[StorageProvider]) extends WrappedConfig @@ -18,4 +17,4 @@ private[shadowcloud] object StoragesConfig extends WrappedConfigFactory[Storages ProvidersConfig.withType[StorageProvider](config.getConfig("providers")) ) } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/crypto/NoOpCryptoProvider.scala b/core/src/main/scala/com/karasiq/shadowcloud/crypto/NoOpCryptoProvider.scala index 76bdef27..ea7106bb 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/crypto/NoOpCryptoProvider.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/crypto/NoOpCryptoProvider.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.crypto -import scala.language.postfixOps -import com.typesafe.config.Config import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.crypto.internal.{NoOpEncryptionModule, NoOpHashingModule, NoOpSignModule} import com.karasiq.shadowcloud.model.crypto.CryptoMethod import com.karasiq.shadowcloud.providers.CryptoProvider +import com.typesafe.config.Config private[crypto] final class NoOpCryptoProvider(config: Config) extends CryptoProvider { private[this] object settings extends ConfigImplicits { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/crypto/index/IndexEncryption.scala b/core/src/main/scala/com/karasiq/shadowcloud/crypto/index/IndexEncryption.scala index 5557dfd8..809cdb31 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/crypto/index/IndexEncryption.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/crypto/index/IndexEncryption.scala @@ -3,12 +3,7 @@ package com.karasiq.shadowcloud.crypto.index import java.security.SecureRandom import java.util.UUID -import scala.language.postfixOps -import scala.util.hashing.MurmurHash3 - import akka.util.ByteString - -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ import com.karasiq.common.encoding.UUIDEncoding import com.karasiq.shadowcloud.crypto.index.IndexEncryption.{CiphertextT, PlaintextT} import com.karasiq.shadowcloud.exceptions.CryptoException @@ -17,6 +12,9 @@ import com.karasiq.shadowcloud.model.keys.{KeyChain, KeyId, KeySet} import com.karasiq.shadowcloud.providers.CryptoModuleRegistry import com.karasiq.shadowcloud.serialization.IndexSerialization import com.karasiq.shadowcloud.serialization.protobuf.index.{EncryptedIndexData, SerializedKeyData} +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ + +import scala.util.hashing.MurmurHash3 private[shadowcloud] trait IndexEncryption { def encrypt(plaintext: PlaintextT, dataEncMethod: EncryptionMethod, keys: KeyChain): CiphertextT diff --git a/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpEncryptionModule.scala b/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpEncryptionModule.scala index db8ad9a5..b626607f 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpEncryptionModule.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpEncryptionModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto.internal -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.crypto._ import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} @@ -24,4 +23,4 @@ private[crypto] final class NoOpEncryptionModule extends StreamEncryptionModule def process(data: ByteString): ByteString = data def finish(): ByteString = ByteString.empty } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpHashingModule.scala b/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpHashingModule.scala index b0c4345d..2d99fef4 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpHashingModule.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpHashingModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto.internal -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.crypto.{HashingModule, HashingModuleStreamer, StreamHashingModule} import com.karasiq.shadowcloud.model.crypto.HashingMethod diff --git a/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpSignModule.scala b/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpSignModule.scala index 48ad4d77..b713eb75 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpSignModule.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/crypto/internal/NoOpSignModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto.internal -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.crypto._ import com.karasiq.shadowcloud.model.crypto.{SignMethod, SignParameters} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/ops/region/RegionOps.scala b/core/src/main/scala/com/karasiq/shadowcloud/ops/region/RegionOps.scala index 8795bd26..9aa06425 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/ops/region/RegionOps.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/ops/region/RegionOps.scala @@ -1,33 +1,31 @@ package com.karasiq.shadowcloud.ops.region -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import akka.actor.ActorRef import akka.pattern.ask import akka.stream.Materializer import akka.stream.scaladsl.{Sink, Source} import akka.util.Timeout - -import com.karasiq.shadowcloud.actors.{RegionDispatcher, RegionGC} import com.karasiq.shadowcloud.actors.RegionDispatcher._ +import com.karasiq.shadowcloud.actors.RegionGC.GCStrategy import com.karasiq.shadowcloud.actors.messages.RegionEnvelope import com.karasiq.shadowcloud.actors.utils.MessageStatus -import com.karasiq.shadowcloud.actors.RegionGC.GCStrategy +import com.karasiq.shadowcloud.actors.{RegionDispatcher, RegionGC} import com.karasiq.shadowcloud.cache.ChunkCache import com.karasiq.shadowcloud.config.TimeoutsConfig -import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex} import com.karasiq.shadowcloud.index.diffs.{FolderIndexDiff, IndexDiff} import com.karasiq.shadowcloud.index.files.FileVersions +import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex} import com.karasiq.shadowcloud.model._ import com.karasiq.shadowcloud.model.utils._ -import com.karasiq.shadowcloud.storage.replication.ChunkWriteAffinity import com.karasiq.shadowcloud.storage.replication.ChunkStatusProvider.ChunkStatus +import com.karasiq.shadowcloud.storage.replication.ChunkWriteAffinity import com.karasiq.shadowcloud.storage.replication.RegionStorageProvider.RegionStorage import com.karasiq.shadowcloud.storage.utils.IndexMerger import com.karasiq.shadowcloud.storage.utils.IndexMerger.RegionKey import com.karasiq.shadowcloud.streams.chunk.ChunkProcessingStreams +import scala.concurrent.{ExecutionContext, Future} + object RegionOps { def apply(regionSupervisor: ActorRef, timeouts: TimeoutsConfig, diff --git a/core/src/main/scala/com/karasiq/shadowcloud/ops/storage/StorageOps.scala b/core/src/main/scala/com/karasiq/shadowcloud/ops/storage/StorageOps.scala index 80a70286..fe468522 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/ops/storage/StorageOps.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/ops/storage/StorageOps.scala @@ -1,23 +1,21 @@ package com.karasiq.shadowcloud.ops.storage -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import akka.actor.ActorRef import akka.pattern.ask import akka.util.Timeout - -import com.karasiq.shadowcloud.actors.{ChunkIODispatcher, RegionIndex, StorageDispatcher, StorageIndex} +import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath import com.karasiq.shadowcloud.actors.messages.StorageEnvelope import com.karasiq.shadowcloud.actors.utils.MessageStatus -import com.karasiq.shadowcloud.actors.ChunkIODispatcher.ChunkPath +import com.karasiq.shadowcloud.actors.{ChunkIODispatcher, RegionIndex, StorageDispatcher, StorageIndex} import com.karasiq.shadowcloud.config.TimeoutsConfig import com.karasiq.shadowcloud.index.diffs.IndexDiff -import com.karasiq.shadowcloud.model.{Chunk, ChunkId, RegionId, StorageId} import com.karasiq.shadowcloud.model.utils.{StorageHealth, SyncReport} +import com.karasiq.shadowcloud.model.{Chunk, ChunkId, RegionId, StorageId} import com.karasiq.shadowcloud.storage.StorageIOResult import com.karasiq.shadowcloud.storage.utils.IndexMerger +import scala.concurrent.{ExecutionContext, Future} + object StorageOps { def apply(regionSupervisor: ActorRef, timeouts: TimeoutsConfig)(implicit ec: ExecutionContext): StorageOps = { new StorageOps(regionSupervisor, timeouts) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/ops/supervisor/RegionSupervisorOps.scala b/core/src/main/scala/com/karasiq/shadowcloud/ops/supervisor/RegionSupervisorOps.scala index 683c4226..fe73dcf8 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/ops/supervisor/RegionSupervisorOps.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/ops/supervisor/RegionSupervisorOps.scala @@ -1,17 +1,15 @@ package com.karasiq.shadowcloud.ops.supervisor -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import akka.actor.ActorRef import akka.pattern.ask - import com.karasiq.shadowcloud.actors.RegionSupervisor._ import com.karasiq.shadowcloud.actors.internal.RegionTracker import com.karasiq.shadowcloud.config.{RegionConfig, TimeoutsConfig} import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.storage.props.StorageProps +import scala.concurrent.{ExecutionContext, Future} + object RegionSupervisorOps { def apply(regionSupervisor: ActorRef, timeouts: TimeoutsConfig)(implicit ec: ExecutionContext): RegionSupervisorOps = { new RegionSupervisorOps(regionSupervisor, timeouts) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/providers/SCModules.scala b/core/src/main/scala/com/karasiq/shadowcloud/providers/SCModules.scala index 6918abf2..b08d326c 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/providers/SCModules.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/providers/SCModules.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.providers -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.{ProvidersConfig, SCConfig} import com.karasiq.shadowcloud.metadata.MetadataProvider @@ -34,4 +34,4 @@ private[shadowcloud] final class SCModulesImpl(_storages: ProvidersConfig[Storag override def toString: String = { s"SCModules(storages = [${storage.storageTypes.mkString(", ")}, hashes = [${crypto.hashingAlgorithms.mkString(", ")}], encryption = [${crypto.encryptionAlgorithms.mkString(", ")}], metadata = [${metadata.metadataPlugins.mkString(", ")}])" } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/LocalStorageProvider.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/LocalStorageProvider.scala index 442e25af..447c8e48 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/LocalStorageProvider.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/LocalStorageProvider.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.storage -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.providers.StorageProvider diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/Repositories.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/Repositories.scala index 27be0006..2e378167 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/Repositories.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/Repositories.scala @@ -2,17 +2,15 @@ package com.karasiq.shadowcloud.storage import java.nio.file.Path -import scala.collection.concurrent.{TrieMap, Map ⇒ CMap} -import scala.concurrent.ExecutionContext -import scala.language.postfixOps - import akka.stream.Materializer import akka.util.ByteString - import com.karasiq.shadowcloud.storage.files.FileRepository import com.karasiq.shadowcloud.storage.inmem.ConcurrentMapRepository import com.karasiq.shadowcloud.storage.repository.{PathTreeRepository, Repository} +import scala.collection.concurrent.{TrieMap, Map => CMap} +import scala.concurrent.ExecutionContext + /** * Standard repositories */ diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProviders.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProviders.scala index 883ddd9a..35a6b315 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProviders.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProviders.scala @@ -2,16 +2,14 @@ package com.karasiq.shadowcloud.storage import java.nio.file.Path -import scala.collection.mutable -import scala.concurrent.ExecutionContext -import scala.language.postfixOps - import akka.util.ByteString - import com.karasiq.shadowcloud.storage.files.{FileStorageEstimateHealthProvider, FileStorageTraverseHealthProvider} import com.karasiq.shadowcloud.storage.inmem.JVMHeapHealthProvider import com.karasiq.shadowcloud.storage.props.StorageProps +import scala.collection.mutable +import scala.concurrent.ExecutionContext + private[shadowcloud] object StorageHealthProviders { def fromDirectory(directory: Path, quota: StorageProps.Quota = StorageProps.Quota.empty) (implicit ec: ExecutionContext): StorageHealthProvider = { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileRepository.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileRepository.scala index 692aa12b..5e434011 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileRepository.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileRepository.scala @@ -1,22 +1,20 @@ package com.karasiq.shadowcloud.storage.files import java.io.FileNotFoundException -import java.nio.file.{Files, StandardOpenOption, Path ⇒ FSPath} - -import scala.collection.JavaConverters._ -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps +import java.nio.file.{Files, StandardOpenOption, Path => FSPath} import akka.NotUsed -import akka.stream.{ActorAttributes, Attributes, Materializer} import akka.stream.scaladsl.{FileIO, Flow, Keep, Sink, Source} - +import akka.stream.{ActorAttributes, Attributes, Materializer} import com.karasiq.shadowcloud.model.Path import com.karasiq.shadowcloud.storage._ import com.karasiq.shadowcloud.storage.repository.PathTreeRepository import com.karasiq.shadowcloud.storage.utils.StorageUtils import com.karasiq.shadowcloud.utils.FileSystemUtils +import scala.collection.JavaConverters._ +import scala.concurrent.{ExecutionContext, Future} + private[storage] object FileRepository { def apply(folder: FSPath)(implicit ec: ExecutionContext, mat: Materializer): FileRepository = { new FileRepository(folder) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageEstimateHealthProvider.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageEstimateHealthProvider.scala index 4ff40933..c5bcceb0 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageEstimateHealthProvider.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageEstimateHealthProvider.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.storage.files -import java.nio.file.{Files, Path ⇒ FsPath} - -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps +import java.nio.file.{Files, Path => FsPath} import com.karasiq.shadowcloud.model.utils.StorageHealth import com.karasiq.shadowcloud.storage.StorageHealthProvider +import scala.concurrent.{ExecutionContext, Future} + private[storage] final class FileStorageEstimateHealthProvider(directory: FsPath)(implicit ec: ExecutionContext) extends StorageHealthProvider { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStoragePlugin.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStoragePlugin.scala index d408d8ba..3f3ca51c 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStoragePlugin.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStoragePlugin.scala @@ -2,17 +2,15 @@ package com.karasiq.shadowcloud.storage.files import java.nio.file.Paths -import scala.concurrent.ExecutionContext -import scala.language.postfixOps - import akka.actor.{ActorContext, ActorRef, ActorSystem} import akka.stream.{ActorMaterializer, Materializer} - import com.karasiq.shadowcloud.model.StorageId import com.karasiq.shadowcloud.storage._ import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.utils.StoragePluginBuilder +import scala.concurrent.ExecutionContext + private[storage] object FileStoragePlugin { def getBlockingDispatcher(actorSystem: ActorSystem): ExecutionContext = { val dispatcherName = actorSystem.settings.config.getString("akka.stream.blocking-io-dispatcher") diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageTraverseHealthProvider.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageTraverseHealthProvider.scala index 92762427..f4642e50 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageTraverseHealthProvider.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/files/FileStorageTraverseHealthProvider.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.storage.files -import java.nio.file.{Files, Path ⇒ FsPath} - -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps +import java.nio.file.{Files, Path => FsPath} import com.karasiq.shadowcloud.model.utils.StorageHealth import com.karasiq.shadowcloud.storage.StorageHealthProvider import com.karasiq.shadowcloud.utils.FileSystemUtils +import scala.concurrent.{ExecutionContext, Future} + private[storage] final class FileStorageTraverseHealthProvider(directory: FsPath)(implicit ec: ExecutionContext) extends StorageHealthProvider { def health: Future[StorageHealth] = { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapRepository.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapRepository.scala index a5628ff2..8049b1d6 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapRepository.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapRepository.scala @@ -1,14 +1,12 @@ package com.karasiq.shadowcloud.storage.inmem -import scala.collection.concurrent.{Map ⇒ CMap} -import scala.language.postfixOps - import akka.stream.scaladsl.{Flow, Keep, Sink, Source} import akka.util.ByteString - import com.karasiq.shadowcloud.storage.repository.Repository import com.karasiq.shadowcloud.streams.utils.ByteStreams +import scala.collection.concurrent.{Map => CMap} + /** * Stores data in [[scala.collection.concurrent.TrieMap TrieMap]] */ diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapStreams.scala index 995ea788..44238110 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/ConcurrentMapStreams.scala @@ -2,16 +2,14 @@ package com.karasiq.shadowcloud.storage.inmem import java.io.IOException -import scala.collection.concurrent.{Map ⇒ CMap} -import scala.concurrent.Future -import scala.language.postfixOps - import akka.stream.scaladsl.{Flow, Keep, Sink, Source} - import com.karasiq.shadowcloud.exceptions.StorageException import com.karasiq.shadowcloud.storage.StorageIOResult import com.karasiq.shadowcloud.storage.utils.StorageUtils +import scala.collection.concurrent.{Map => CMap} +import scala.concurrent.Future + private[inmem] final class ConcurrentMapStreams[K, V](map: CMap[K, V], length: V ⇒ Int) { def keys: Source[K, Future[StorageIOResult]] = { Source.fromIterator(() ⇒ map.keysIterator) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/InMemoryStoragePlugin.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/InMemoryStoragePlugin.scala index cffb6749..d9d06427 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/InMemoryStoragePlugin.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/InMemoryStoragePlugin.scala @@ -1,17 +1,15 @@ package com.karasiq.shadowcloud.storage.inmem -import scala.collection.concurrent.TrieMap -import scala.language.postfixOps - import akka.actor.{ActorContext, ActorRef} import akka.util.ByteString - import com.karasiq.shadowcloud.model.{Path, StorageId} import com.karasiq.shadowcloud.storage._ import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.repository.PathTreeRepository import com.karasiq.shadowcloud.storage.utils.StoragePluginBuilder +import scala.collection.concurrent.TrieMap + private[storage] final class InMemoryStoragePlugin extends StoragePlugin { def createStorage(storageId: StorageId, props: StorageProps)(implicit context: ActorContext): ActorRef = { val indexMap = TrieMap.empty[Path, ByteString] diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/JVMHeapHealthProvider.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/JVMHeapHealthProvider.scala index 63c83e10..41391f0d 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/JVMHeapHealthProvider.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/inmem/JVMHeapHealthProvider.scala @@ -1,15 +1,13 @@ package com.karasiq.shadowcloud.storage.inmem -import scala.concurrent.Future -import scala.language.postfixOps - import akka.util.ByteString - import com.karasiq.shadowcloud.model.utils.StorageHealth import com.karasiq.shadowcloud.storage.StorageHealthProvider import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.props.StorageProps.Quota +import scala.concurrent.Future + private[storage] final class JVMHeapHealthProvider(dataIterator: () ⇒ Iterator[ByteString], quota: StorageProps.Quota = StorageProps.Quota.empty) extends StorageHealthProvider { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/internal/DefaultIndexRepositoryStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/internal/DefaultIndexRepositoryStreams.scala index 0c30662e..aaa2ca43 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/internal/DefaultIndexRepositoryStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/internal/DefaultIndexRepositoryStreams.scala @@ -1,18 +1,16 @@ package com.karasiq.shadowcloud.storage.internal -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import akka.NotUsed -import akka.stream.{FlowShape, SourceShape} import akka.stream.scaladsl.{Broadcast, Flow, GraphDSL, Source, ZipWith} +import akka.stream.{FlowShape, SourceShape} import akka.util.ByteString - import com.karasiq.shadowcloud.index.IndexData import com.karasiq.shadowcloud.storage.StorageIOResult import com.karasiq.shadowcloud.storage.repository.Repository import com.karasiq.shadowcloud.storage.utils.{IndexIOResult, IndexRepositoryStreams, StorageUtils} +import scala.concurrent.{ExecutionContext, Future} + private[storage] final class DefaultIndexRepositoryStreams(breadth: Int, writeFlow: Flow[IndexData, ByteString, _], readFlow: Flow[ByteString, IndexData, _]) (implicit ec: ExecutionContext) extends IndexRepositoryStreams { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexRepositoryStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexRepositoryStreams.scala index 4cf5a9bb..fe5c67ad 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexRepositoryStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexRepositoryStreams.scala @@ -1,13 +1,9 @@ package com.karasiq.shadowcloud.storage.utils -import scala.concurrent.ExecutionContext -import scala.language.postfixOps - import akka.NotUsed import akka.actor.{ActorContext, ActorSystem} import akka.stream.scaladsl.Flow import akka.util.ByteString - import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.config.StorageConfig import com.karasiq.shadowcloud.index.IndexData @@ -16,6 +12,8 @@ import com.karasiq.shadowcloud.storage.internal.DefaultIndexRepositoryStreams import com.karasiq.shadowcloud.storage.repository.Repository import com.karasiq.shadowcloud.streams.index.IndexProcessingStreams +import scala.concurrent.ExecutionContext + private[shadowcloud] trait IndexRepositoryStreams { def write[Key](repository: Repository[Key]): Flow[(Key, IndexData), IndexIOResult[Key], NotUsed] def read[Key](repository: Repository[Key]): Flow[Key, IndexIOResult[Key], NotUsed] diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkKeyStream.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkKeyStream.scala index 91de566e..019f60ad 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkKeyStream.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkKeyStream.scala @@ -2,14 +2,11 @@ package com.karasiq.shadowcloud.streams.chunk import java.security.SecureRandom -import scala.language.postfixOps - import akka.stream._ import akka.stream.stage.{GraphStage, GraphStageLogic, OutHandler} - import com.karasiq.shadowcloud.exceptions.CryptoException import com.karasiq.shadowcloud.model.crypto._ -import com.karasiq.shadowcloud.providers.{CryptoModuleRegistry, SCModules} +import com.karasiq.shadowcloud.providers.CryptoModuleRegistry private[shadowcloud] object ChunkKeyStream { def apply(cryptoModules: CryptoModuleRegistry, @@ -97,4 +94,4 @@ private[shadowcloud] final class ChunkKeyStream(cryptoModules: CryptoModuleRegis setHandler(outlet, this) } -} \ No newline at end of file +} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkProcessingStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkProcessingStreams.scala index 4b3e07c5..37f4273d 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkProcessingStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkProcessingStreams.scala @@ -1,20 +1,18 @@ package com.karasiq.shadowcloud.streams.chunk -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import akka.NotUsed import akka.stream.FlowShape import akka.stream.scaladsl.{Flow, GraphDSL, Sink, ZipWith} import akka.util.ByteString - import com.karasiq.shadowcloud.config.{ChunksConfig, CryptoConfig, ParallelismConfig} import com.karasiq.shadowcloud.exceptions.{CryptoException, SCExceptions} -import com.karasiq.shadowcloud.model.{Chunk, Data} import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters, HashingMethod} +import com.karasiq.shadowcloud.model.{Chunk, Data} import com.karasiq.shadowcloud.providers.CryptoModuleRegistry import com.karasiq.shadowcloud.streams.file.FileIndexer +import scala.concurrent.{ExecutionContext, Future} + object ChunkProcessingStreams { def apply(cryptoModules: CryptoModuleRegistry, chunks: ChunksConfig, crypto: CryptoConfig, parallelism: ParallelismConfig)(implicit ec: ExecutionContext): ChunkProcessingStreams = { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkSplitter.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkSplitter.scala index 02a84574..307b9a89 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkSplitter.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/chunk/ChunkSplitter.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.streams.chunk -import scala.language.postfixOps + import akka.NotUsed -import akka.stream.{Attributes, FlowShape, Inlet, Outlet} import akka.stream.scaladsl.Flow import akka.stream.stage.{GraphStage, GraphStageLogic, InHandler, OutHandler} +import akka.stream.{Attributes, FlowShape, Inlet, Outlet} import akka.util.ByteString - import com.karasiq.common.memory.SizeUnit import com.karasiq.shadowcloud.model.{Chunk, Data} diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileIndexer.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileIndexer.scala index 917d8107..4c8cd9f6 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileIndexer.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileIndexer.scala @@ -2,21 +2,19 @@ package com.karasiq.shadowcloud.streams.file import java.io.IOException -import scala.concurrent.{Future, Promise} -import scala.language.postfixOps -import scala.util.{Failure, Success, Try} - import akka.Done import akka.stream._ import akka.stream.scaladsl.Sink import akka.stream.stage._ import akka.util.ByteString - -import com.karasiq.shadowcloud.model.{Checksum, Chunk} import com.karasiq.shadowcloud.model.crypto.HashingMethod +import com.karasiq.shadowcloud.model.{Checksum, Chunk} import com.karasiq.shadowcloud.providers.CryptoModuleRegistry import com.karasiq.shadowcloud.utils.ChunkUtils +import scala.concurrent.{Future, Promise} +import scala.util.{Failure, Success, Try} + private[shadowcloud] object FileIndexer { case class Result(checksum: Checksum, chunks: Seq[Chunk], ioResult: IOResult) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileStreams.scala index db097ab6..8389e437 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/file/FileStreams.scala @@ -1,19 +1,17 @@ package com.karasiq.shadowcloud.streams.file -import scala.concurrent.Future -import scala.language.postfixOps - import akka.NotUsed -import akka.stream.{FlowShape, Materializer} import akka.stream.scaladsl.{Flow, GraphDSL, Keep, Source} +import akka.stream.{FlowShape, Materializer} import akka.util.ByteString - import com.karasiq.shadowcloud.index.files.FileVersions import com.karasiq.shadowcloud.model.{Chunk, File, Path, RegionId} import com.karasiq.shadowcloud.streams.chunk.ChunkProcessingStreams import com.karasiq.shadowcloud.streams.chunk.ChunkRanges.RangeList import com.karasiq.shadowcloud.streams.region.RegionStreams +import scala.concurrent.Future + object FileStreams { def apply(regionStreams: RegionStreams, chunkProcessing: ChunkProcessingStreams)(implicit m: Materializer): FileStreams = { new FileStreams(regionStreams, chunkProcessing) diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/index/IndexProcessingStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/index/IndexProcessingStreams.scala index 6ca4353e..da107601 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/index/IndexProcessingStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/index/IndexProcessingStreams.scala @@ -1,7 +1,5 @@ package com.karasiq.shadowcloud.streams.index -import scala.language.postfixOps -import scala.util.control.NonFatal import akka.NotUsed import akka.event.Logging @@ -9,8 +7,6 @@ import akka.stream._ import akka.stream.scaladsl.{Flow, Source} import akka.stream.stage.{GraphStage, GraphStageLogic, InHandler, OutHandler} import akka.util.ByteString - -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ import com.karasiq.shadowcloud.ShadowCloudExtension import com.karasiq.shadowcloud.compression.StreamCompression import com.karasiq.shadowcloud.config.{CryptoConfig, StorageConfig} @@ -20,9 +16,12 @@ import com.karasiq.shadowcloud.index.IndexData import com.karasiq.shadowcloud.model.RegionId import com.karasiq.shadowcloud.model.keys.KeyChain import com.karasiq.shadowcloud.providers.CryptoModuleRegistry -import com.karasiq.shadowcloud.serialization.{IndexSerialization, StreamSerialization} import com.karasiq.shadowcloud.serialization.protobuf.index.{EncryptedIndexData, SerializedIndexData} +import com.karasiq.shadowcloud.serialization.{IndexSerialization, StreamSerialization} import com.karasiq.shadowcloud.streams.utils.{AkkaStreamUtils, ByteStreams} +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ + +import scala.util.control.NonFatal object IndexProcessingStreams { def apply(regionId: RegionId)(implicit sc: ShadowCloudExtension): IndexProcessingStreams = { diff --git a/core/src/main/scala/com/karasiq/shadowcloud/streams/region/RegionStreams.scala b/core/src/main/scala/com/karasiq/shadowcloud/streams/region/RegionStreams.scala index 4c7b260a..27049edc 100644 --- a/core/src/main/scala/com/karasiq/shadowcloud/streams/region/RegionStreams.scala +++ b/core/src/main/scala/com/karasiq/shadowcloud/streams/region/RegionStreams.scala @@ -1,11 +1,7 @@ package com.karasiq.shadowcloud.streams.region -import scala.concurrent.ExecutionContext -import scala.language.postfixOps - import akka.NotUsed import akka.stream.scaladsl.{Flow, Source} - import com.karasiq.shadowcloud.config.{ParallelismConfig, TimeoutsConfig} import com.karasiq.shadowcloud.exceptions.SCException import com.karasiq.shadowcloud.index.files.FileVersions @@ -13,6 +9,8 @@ import com.karasiq.shadowcloud.model.{Chunk, File, Path, RegionId} import com.karasiq.shadowcloud.ops.region.RegionOps import com.karasiq.shadowcloud.streams.file.FileIndexer +import scala.concurrent.ExecutionContext + object RegionStreams { def apply(regionOps: RegionOps, parallelism: ParallelismConfig, diff --git a/core/src/test/scala/com/karasiq/shadowcloud/test/utils/CoreTestUtils.scala b/core/src/test/scala/com/karasiq/shadowcloud/test/utils/CoreTestUtils.scala index 99f255f3..e238145b 100644 --- a/core/src/test/scala/com/karasiq/shadowcloud/test/utils/CoreTestUtils.scala +++ b/core/src/test/scala/com/karasiq/shadowcloud/test/utils/CoreTestUtils.scala @@ -1,17 +1,16 @@ package com.karasiq.shadowcloud.test.utils -import scala.language.postfixOps -import scala.util.{Random, Try} import akka.util.ByteString -import com.typesafe.config.{Config, ConfigFactory} - import com.karasiq.shadowcloud.config.{RegionConfig, SCConfig, SerializedProps, StorageConfig} import com.karasiq.shadowcloud.index.diffs.{ChunkIndexDiff, FolderIndexDiff, IndexDiff} import com.karasiq.shadowcloud.model._ import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, HashingMethod} import com.karasiq.shadowcloud.providers.SCModules import com.karasiq.shadowcloud.utils.ProviderInstantiator +import com.typesafe.config.{Config, ConfigFactory} + +import scala.util.{Random, Try} object CoreTestUtils extends ByteStringImplicits { import TestUtils.{randomBytes, randomString} diff --git a/core/src/test/scala/com/karasiq/shadowcloud/test/utils/SCExtensionSpec.scala b/core/src/test/scala/com/karasiq/shadowcloud/test/utils/SCExtensionSpec.scala index c5728ed1..44f99513 100644 --- a/core/src/test/scala/com/karasiq/shadowcloud/test/utils/SCExtensionSpec.scala +++ b/core/src/test/scala/com/karasiq/shadowcloud/test/utils/SCExtensionSpec.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.test.utils -import scala.language.postfixOps + import com.karasiq.shadowcloud.{ShadowCloud, ShadowCloudExtension} diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/BouncyCastleCryptoProvider.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/BouncyCastleCryptoProvider.scala index 608f0cd0..e19c2c3a 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/BouncyCastleCryptoProvider.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/BouncyCastleCryptoProvider.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.crypto.bouncycastle -import scala.language.postfixOps + import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.crypto.bouncycastle.asymmetric.{ECIESCipherModule, RSACipherModule} diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherKeys.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherKeys.scala index 2659cd90..c79eef89 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherKeys.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherKeys.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.asymmetric -import scala.language.postfixOps -import org.bouncycastle.crypto.params.AsymmetricKeyParameter import com.karasiq.shadowcloud.crypto.EncryptionModule import com.karasiq.shadowcloud.crypto.bouncycastle.internal.{BCAsymmetricKeys, KeyUtils} import com.karasiq.shadowcloud.model.crypto.{AsymmetricEncryptionParameters, EncryptionParameters} +import org.bouncycastle.crypto.params.AsymmetricKeyParameter private[bouncycastle] object BCAsymmetricCipherKeys { def getCipherKey(parameters: EncryptionParameters, encrypt: Boolean): AsymmetricKeyParameter = { diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherModule.scala index 1bb0027f..205b1b33 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/BCAsymmetricCipherModule.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.asymmetric -import scala.language.postfixOps -import akka.util.ByteString -import org.bouncycastle.crypto.AsymmetricBlockCipher +import akka.util.ByteString import com.karasiq.shadowcloud.crypto.{EncryptionModuleStreamer, OnlyStreamEncryptionModule} import com.karasiq.shadowcloud.utils.ByteStringUnsafe +import org.bouncycastle.crypto.AsymmetricBlockCipher private[bouncycastle] trait BCAsymmetricCipherModule extends OnlyStreamEncryptionModule with BCAsymmetricCipherKeys @@ -34,4 +33,4 @@ private[bouncycastle] trait BCAsymmetricBlockCipherStreamer extends EncryptionMo private[this] def requireInitialized(): Unit = { require(cipher.ne(null), "Not initialized") } -} \ No newline at end of file +} diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/ECIESCipherModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/ECIESCipherModule.scala index 81113422..e52c9379 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/ECIESCipherModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/ECIESCipherModule.scala @@ -2,19 +2,7 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.asymmetric import java.security.SecureRandom -import scala.language.postfixOps - import akka.util.ByteString -import com.typesafe.config.ConfigValueFactory -import org.bouncycastle.crypto._ -import org.bouncycastle.crypto.agreement.ECDHBasicAgreement -import org.bouncycastle.crypto.engines.IESEngine -import org.bouncycastle.crypto.generators.{EphemeralKeyPairGenerator, KDF2BytesGenerator} -import org.bouncycastle.crypto.macs.HMac -import org.bouncycastle.crypto.params.{AsymmetricKeyParameter, ECPublicKeyParameters, IESParameters, IESWithCipherParameters} -import org.bouncycastle.crypto.parsers.ECIESPublicKeyParser - -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ import com.karasiq.common.configs.ConfigImplicits import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.config.{ConfigProps, CryptoProps} @@ -25,6 +13,15 @@ import com.karasiq.shadowcloud.crypto.bouncycastle.internal.{BCUtils, ECUtils} import com.karasiq.shadowcloud.crypto.bouncycastle.sign.BCECKeys import com.karasiq.shadowcloud.crypto.bouncycastle.symmetric.BlockCipherModule import com.karasiq.shadowcloud.model.crypto.{AsymmetricEncryptionParameters, EncryptionMethod, EncryptionParameters, HashingMethod} +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import com.typesafe.config.ConfigValueFactory +import org.bouncycastle.crypto._ +import org.bouncycastle.crypto.agreement.ECDHBasicAgreement +import org.bouncycastle.crypto.engines.IESEngine +import org.bouncycastle.crypto.generators.{EphemeralKeyPairGenerator, KDF2BytesGenerator} +import org.bouncycastle.crypto.macs.HMac +import org.bouncycastle.crypto.params.{AsymmetricKeyParameter, ECPublicKeyParameters, IESParameters, IESWithCipherParameters} +import org.bouncycastle.crypto.parsers.ECIESPublicKeyParser private[bouncycastle] object ECIESCipherModule { import ConfigImplicits._ diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/RSACipherModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/RSACipherModule.scala index f37a54cb..393c73bd 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/RSACipherModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/asymmetric/RSACipherModule.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.asymmetric -import scala.language.postfixOps -import org.bouncycastle.crypto.encodings.OAEPEncoding -import org.bouncycastle.crypto.engines.RSAEngine -import com.karasiq.shadowcloud.crypto.{EncryptionModule, EncryptionModuleStreamer} import com.karasiq.shadowcloud.crypto.bouncycastle.internal.RSAUtils +import com.karasiq.shadowcloud.crypto.{EncryptionModule, EncryptionModuleStreamer} import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} +import org.bouncycastle.crypto.encodings.OAEPEncoding +import org.bouncycastle.crypto.engines.RSAEngine private[bouncycastle] object RSACipherModule { def apply(method: EncryptionMethod = EncryptionMethod("RSA", 4096)): RSACipherModule = { diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/hashing/BCDigests.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/hashing/BCDigests.scala index 7af8c5bd..6974322e 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/hashing/BCDigests.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/hashing/BCDigests.scala @@ -2,14 +2,11 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.hashing import java.security.MessageDigest -import scala.language.postfixOps - -import org.bouncycastle.crypto.Digest - import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.crypto.bouncycastle.internal.BCUtils import com.karasiq.shadowcloud.model.crypto.HashingMethod +import org.bouncycastle.crypto.Digest private[bouncycastle] object BCDigests extends ConfigImplicits { /** [[org.bouncycastle.jce.provider.BouncyCastleProvider.DIGESTS]] */ diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCSymmetricKeys.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCSymmetricKeys.scala index 5bd6416c..f27be7b6 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCSymmetricKeys.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCSymmetricKeys.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.internal -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.crypto.EncryptionModule import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters, SymmetricEncryptionParameters} diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCUtils.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCUtils.scala index 1c8fdd69..626a5cfd 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCUtils.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/BCUtils.scala @@ -2,14 +2,11 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.internal import java.security.SecureRandom -import scala.language.postfixOps - +import com.karasiq.shadowcloud.model.crypto.EncryptionParameters +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ import org.bouncycastle.crypto.params.{KeyParameter, ParametersWithIV} import org.bouncycastle.jce.provider.BouncyCastleProvider -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ -import com.karasiq.shadowcloud.model.crypto.EncryptionParameters - private[bouncycastle] object BCUtils { val provider = new BouncyCastleProvider diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/ECUtils.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/ECUtils.scala index fad9f66a..24126571 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/ECUtils.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/internal/ECUtils.scala @@ -1,8 +1,8 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.internal -import scala.language.postfixOps -import scala.util.control.NonFatal +import com.karasiq.shadowcloud.config.ConfigProps +import com.karasiq.shadowcloud.model.crypto.{CryptoMethod, EncryptionMethod, SignMethod} import org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator import org.bouncycastle.crypto.generators.ECKeyPairGenerator import org.bouncycastle.crypto.params.{ECDomainParameters, ECKeyGenerationParameters, ECNamedDomainParameters} @@ -10,8 +10,7 @@ import org.bouncycastle.jcajce.provider.asymmetric.util.ECUtil import org.bouncycastle.jce.ECNamedCurveTable import org.bouncycastle.jce.spec.ECNamedCurveParameterSpec -import com.karasiq.shadowcloud.config.ConfigProps -import com.karasiq.shadowcloud.model.crypto.{CryptoMethod, EncryptionMethod, SignMethod} +import scala.util.control.NonFatal private[bouncycastle] object ECUtils { // Curve list: org.bouncycastle.crypto.ec.CustomNamedCurves.getByName diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/ECDSASignModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/ECDSASignModule.scala index 6d2e89f5..98d86a0c 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/ECDSASignModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/ECDSASignModule.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.sign -import scala.language.postfixOps -import org.bouncycastle.crypto.DSA -import org.bouncycastle.crypto.signers.ECDSASigner import com.karasiq.shadowcloud.crypto.{SignModule, SignModuleStreamer} import com.karasiq.shadowcloud.model.crypto.{HashingMethod, SignMethod} +import org.bouncycastle.crypto.DSA +import org.bouncycastle.crypto.signers.ECDSASigner private[bouncycastle] object ECDSASignModule { def apply(method: SignMethod = SignMethod("ECDSA", HashingMethod.default)): ECDSASignModule = { diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/RSASignModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/RSASignModule.scala index fa7f9676..64c4448a 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/RSASignModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/sign/RSASignModule.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.sign -import scala.language.postfixOps -import org.bouncycastle.crypto.Signer -import org.bouncycastle.crypto.signers.RSADigestSigner import com.karasiq.shadowcloud.crypto._ import com.karasiq.shadowcloud.crypto.bouncycastle.hashing.BCDigests import com.karasiq.shadowcloud.crypto.bouncycastle.internal.RSAUtils import com.karasiq.shadowcloud.model.crypto.{HashingMethod, SignMethod, SignParameters} +import org.bouncycastle.crypto.Signer +import org.bouncycastle.crypto.signers.RSADigestSigner private[bouncycastle] object RSASignModule { // Digest should be in org.bouncycastle.crypto.signers.RSADigestSigner.oidMap diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/AEADBlockCipherModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/AEADBlockCipherModule.scala index 0cc27759..041c6ff6 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/AEADBlockCipherModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/AEADBlockCipherModule.scala @@ -1,12 +1,8 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.symmetric -import scala.language.postfixOps -import akka.util.ByteString -import org.bouncycastle.crypto.modes.AEADBlockCipher -import org.bouncycastle.crypto.params.{AEADParameters, KeyParameter} -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import akka.util.ByteString import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.crypto._ @@ -14,6 +10,9 @@ import com.karasiq.shadowcloud.crypto.bouncycastle.internal.BCSymmetricKeys import com.karasiq.shadowcloud.crypto.bouncycastle.symmetric.AEADBlockCipherModule.AEADCipherOptions import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} import com.karasiq.shadowcloud.utils.ByteStringUnsafe +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import org.bouncycastle.crypto.modes.AEADBlockCipher +import org.bouncycastle.crypto.params.{AEADParameters, KeyParameter} //noinspection RedundantDefaultArgument private[bouncycastle] object AEADBlockCipherModule { diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/BlockCipherModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/BlockCipherModule.scala index 35828cdf..cab8d141 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/BlockCipherModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/BlockCipherModule.scala @@ -1,10 +1,8 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.symmetric -import scala.language.postfixOps -import akka.util.ByteString -import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher +import akka.util.ByteString import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.crypto._ @@ -12,6 +10,7 @@ import com.karasiq.shadowcloud.crypto.bouncycastle.internal.{BCSymmetricKeys, BC import com.karasiq.shadowcloud.crypto.bouncycastle.symmetric.BlockCipherModule.BlockCipherOptions import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher //noinspection RedundantDefaultArgument private[bouncycastle] object BlockCipherModule { diff --git a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/StreamCipherModule.scala b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/StreamCipherModule.scala index b628268f..4248bb23 100644 --- a/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/StreamCipherModule.scala +++ b/crypto/bouncycastle/src/main/scala/com/karasiq/shadowcloud/crypto/bouncycastle/symmetric/StreamCipherModule.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.symmetric -import scala.language.postfixOps -import akka.util.ByteString -import org.bouncycastle.crypto.StreamCipher -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import akka.util.ByteString import com.karasiq.shadowcloud.crypto._ import com.karasiq.shadowcloud.crypto.bouncycastle.internal.{BCSymmetricKeys, BCUtils} import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import org.bouncycastle.crypto.StreamCipher //noinspection RedundantDefaultArgument private[bouncycastle] object StreamCipherModule { diff --git a/crypto/bouncycastle/src/test/scala/com/karasiq/shadowcloud/crypto/bouncycastle/test/BouncyCastleTest.scala b/crypto/bouncycastle/src/test/scala/com/karasiq/shadowcloud/crypto/bouncycastle/test/BouncyCastleTest.scala index 5cc8d876..0f2ec25a 100644 --- a/crypto/bouncycastle/src/test/scala/com/karasiq/shadowcloud/crypto/bouncycastle/test/BouncyCastleTest.scala +++ b/crypto/bouncycastle/src/test/scala/com/karasiq/shadowcloud/crypto/bouncycastle/test/BouncyCastleTest.scala @@ -2,11 +2,7 @@ package com.karasiq.shadowcloud.crypto.bouncycastle.test import java.security.NoSuchAlgorithmException -import scala.language.postfixOps - import akka.util.ByteString -import org.scalatest.{FlatSpec, Matchers} - import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.crypto._ @@ -17,6 +13,7 @@ import com.karasiq.shadowcloud.crypto.bouncycastle.sign.{ECDSASignModule, RSASig import com.karasiq.shadowcloud.crypto.bouncycastle.symmetric.{AEADBlockCipherModule, BCBlockCiphers, BlockCipherModule, StreamCipherModule} import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters, HashingMethod, SignMethod} import com.karasiq.shadowcloud.test.crypto.utils.CryptoTestVectors +import org.scalatest.{FlatSpec, Matchers} //noinspection RedundantDefaultArgument class BouncyCastleTest extends FlatSpec with Matchers { @@ -205,4 +202,4 @@ class BouncyCastleTest extends FlatSpec with Matchers { hash shouldBe testHash } } -} \ No newline at end of file +} diff --git a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/LibSodiumCryptoProvider.scala b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/LibSodiumCryptoProvider.scala index 2d4b1331..cdad93a6 100644 --- a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/LibSodiumCryptoProvider.scala +++ b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/LibSodiumCryptoProvider.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.crypto.libsodium -import scala.language.postfixOps + import com.karasiq.shadowcloud.crypto.libsodium.asymmetric.SealedBoxModule import com.karasiq.shadowcloud.crypto.libsodium.hashing.{Blake2bModule, MultiPartHashModule} diff --git a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/internal/LSUtils.scala b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/internal/LSUtils.scala index b926a8ec..ee207692 100644 --- a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/internal/LSUtils.scala +++ b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/internal/LSUtils.scala @@ -1,10 +1,10 @@ package com.karasiq.shadowcloud.crypto.libsodium.internal -import scala.language.postfixOps -import scala.util.control.{Exception ⇒ ExcControl} import org.abstractj.kalium.NaCl +import scala.util.control.{Exception => ExcControl} + private[libsodium] object LSUtils { type LSRandom = org.abstractj.kalium.crypto.Random diff --git a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/ChaCha20Module.scala b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/ChaCha20Module.scala index ff87f6e4..3e981d00 100644 --- a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/ChaCha20Module.scala +++ b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/ChaCha20Module.scala @@ -1,10 +1,9 @@ package com.karasiq.shadowcloud.crypto.libsodium.symmetric -import scala.language.postfixOps -import org.abstractj.kalium.NaCl.Sodium import com.karasiq.shadowcloud.model.crypto.EncryptionMethod +import org.abstractj.kalium.NaCl.Sodium private[libsodium] object ChaCha20Module extends SymmetricConstants { val KeyBytes = Sodium.CRYPTO_STREAM_CHACHA20_KEYBYTES diff --git a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/SymmetricCipherModule.scala b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/SymmetricCipherModule.scala index a628e69c..4528ec89 100644 --- a/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/SymmetricCipherModule.scala +++ b/crypto/libsodium/src/main/scala/com/karasiq/shadowcloud/crypto/libsodium/symmetric/SymmetricCipherModule.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.crypto.libsodium.symmetric -import scala.language.postfixOps -import akka.util.ByteString -import org.abstractj.kalium.NaCl -import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import akka.util.ByteString import com.karasiq.shadowcloud.crypto._ import com.karasiq.shadowcloud.crypto.libsodium.internal.LSUtils import com.karasiq.shadowcloud.model.crypto.{EncryptionParameters, SymmetricEncryptionParameters} +import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import org.abstractj.kalium.NaCl private[libsodium] object SymmetricCipherModule { def requireValidParameters(module: SymmetricCipherModule, parameters: SymmetricEncryptionParameters): Unit = { diff --git a/crypto/libsodium/src/test/scala/com/karasiq/shadowcloud/crypto/libsodium/test/LibSodiumTest.scala b/crypto/libsodium/src/test/scala/com/karasiq/shadowcloud/crypto/libsodium/test/LibSodiumTest.scala index 11d8c404..c2ccf45d 100644 --- a/crypto/libsodium/src/test/scala/com/karasiq/shadowcloud/crypto/libsodium/test/LibSodiumTest.scala +++ b/crypto/libsodium/src/test/scala/com/karasiq/shadowcloud/crypto/libsodium/test/LibSodiumTest.scala @@ -1,10 +1,8 @@ package com.karasiq.shadowcloud.crypto.libsodium.test -import scala.language.postfixOps -import akka.util.ByteString -import org.scalatest.{FlatSpec, Matchers} +import akka.util.ByteString import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.config.ConfigProps import com.karasiq.shadowcloud.crypto._ @@ -15,6 +13,7 @@ import com.karasiq.shadowcloud.crypto.libsodium.signing.CryptoSignModule import com.karasiq.shadowcloud.crypto.libsodium.symmetric._ import com.karasiq.shadowcloud.model.crypto.{EncryptionParameters, HashingMethod} import com.karasiq.shadowcloud.test.crypto.utils.CryptoTestVectors +import org.scalatest.{FlatSpec, Matchers} class LibSodiumTest extends FlatSpec with Matchers { val testVectors = CryptoTestVectors("libsodium") diff --git a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/CryptoModule.scala b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/CryptoModule.scala index 73f9e69a..4f5cc887 100644 --- a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/CryptoModule.scala +++ b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/CryptoModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.model.crypto.CryptoMethod trait CryptoModule { @@ -18,4 +17,4 @@ trait CryptoModuleStreamer { trait StreamCryptoModule extends CryptoModule { def createStreamer(): CryptoModuleStreamer -} \ No newline at end of file +} diff --git a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/EncryptionModule.scala b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/EncryptionModule.scala index 85b2ec31..86ad3002 100644 --- a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/EncryptionModule.scala +++ b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/EncryptionModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, EncryptionParameters} trait EncryptionModule extends CryptoModule { @@ -35,4 +34,4 @@ trait OnlyStreamEncryptionModule extends StreamEncryptionModule { streamer.init(encrypt = false, parameters) streamer.process(data) ++ streamer.finish() } -} \ No newline at end of file +} diff --git a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/HashingModule.scala b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/HashingModule.scala index c6185e86..30499ac5 100644 --- a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/HashingModule.scala +++ b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/HashingModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.model.crypto.HashingMethod trait HashingModule extends CryptoModule { @@ -34,4 +33,4 @@ trait OnlyStreamHashingModule extends StreamHashingModule { streamer.process(data) streamer.finish() } -} \ No newline at end of file +} diff --git a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/SignModule.scala b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/SignModule.scala index 8ffa862f..02aaf3df 100644 --- a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/SignModule.scala +++ b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/crypto/SignModule.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.crypto -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.model.crypto.{SignMethod, SignParameters} trait SignModule extends CryptoModule { diff --git a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/providers/CryptoProvider.scala b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/providers/CryptoProvider.scala index 8fa0acfe..a998dfab 100644 --- a/crypto/parent/src/main/scala/com/karasiq/shadowcloud/providers/CryptoProvider.scala +++ b/crypto/parent/src/main/scala/com/karasiq/shadowcloud/providers/CryptoProvider.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.providers -import scala.language.postfixOps + import com.karasiq.shadowcloud.crypto._ import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, HashingMethod, SignMethod} diff --git a/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCTrayIcon.scala b/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCTrayIcon.scala index 82071d4e..863f6d20 100644 --- a/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCTrayIcon.scala +++ b/desktop-app/src/main/scala/com/karasiq/shadowcloud/desktop/SCTrayIcon.scala @@ -1,15 +1,15 @@ package com.karasiq.shadowcloud.desktop -import javax.imageio.ImageIO import java.awt._ -import java.awt.event.{ActionEvent, ActionListener, ItemEvent} - -import scala.concurrent.Future -import scala.language.{implicitConversions, postfixOps} -import scala.util.control.NonFatal +import java.awt.event.ActionEvent +import java.awt.image.BufferedImage import akka.Done import akka.actor.ActorSystem +import javax.imageio.ImageIO + +import scala.concurrent.Future +import scala.util.control.NonFatal abstract class SCTrayIcon(implicit actorSystem: ActorSystem) { import actorSystem.dispatcher @@ -21,7 +21,7 @@ abstract class SCTrayIcon(implicit actorSystem: ActorSystem) { def addToTray(): Unit = { if (SystemTray.isSupported) { val systemTray = SystemTray.getSystemTray - val popup = new PopupMenu("shadowcloud") + val popup = new PopupMenu("shadowcloud") val openItem = new MenuItem("Open interface") openItem.addActionListener((_: ActionEvent) ⇒ onOpen()) @@ -31,7 +31,7 @@ abstract class SCTrayIcon(implicit actorSystem: ActorSystem) { if (mountItem.isEnabled) onMount().foreach(_ ⇒ mountItem.setEnabled(false)) } - + val exitItem = new MenuItem("Exit") exitItem.addActionListener((_: ActionEvent) ⇒ onExit()) @@ -41,22 +41,18 @@ abstract class SCTrayIcon(implicit actorSystem: ActorSystem) { popup.add(mountItem) popup.add(exitItem) - val trayIcon = new TrayIcon(getTrayIcon(), "shadowcloud", popup) + val trayIcon = new TrayIcon(loadTrayIcon(), "shadowcloud", popup) try { systemTray.add(trayIcon) - } catch { case NonFatal(error) ⇒ - System.err.println(error) + } catch { + case NonFatal(error) ⇒ + System.err.println(error) } } } - private[this] def getTrayIcon() = { + private[this] def loadTrayIcon(): BufferedImage = { val inputStream = getClass.getClassLoader.getResourceAsStream("sc-tray-icon.png") ImageIO.read(inputStream) } - - //noinspection ConvertExpressionToSAM - private implicit def implicitFunctionToActionListener(f: ActionEvent ⇒ Unit): ActionListener = new ActionListener { - def actionPerformed(e: ActionEvent): Unit = f(e) - } } diff --git a/drive/core/src/main/scala/com/karasiq/shadowcloud/drive/VirtualFSDispatcher.scala b/drive/core/src/main/scala/com/karasiq/shadowcloud/drive/VirtualFSDispatcher.scala index 13d66ea8..90e219c4 100644 --- a/drive/core/src/main/scala/com/karasiq/shadowcloud/drive/VirtualFSDispatcher.scala +++ b/drive/core/src/main/scala/com/karasiq/shadowcloud/drive/VirtualFSDispatcher.scala @@ -2,23 +2,21 @@ package com.karasiq.shadowcloud.drive import java.io.IOException -import scala.collection.mutable -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps -import scala.util.{Failure, Success} - import akka.actor.{Actor, ActorLogging, ActorRef, PoisonPill, PossiblyHarmful, Props} import akka.pattern.{ask, pipe} import akka.util.Timeout - import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.actors.utils.{ActorState, MessageStatus} import com.karasiq.shadowcloud.drive.config.SCDriveConfig import com.karasiq.shadowcloud.exceptions.StorageException import com.karasiq.shadowcloud.index.diffs.FolderIndexDiff import com.karasiq.shadowcloud.index.files.FileVersions -import com.karasiq.shadowcloud.model.{File, Folder, Path, RegionId} import com.karasiq.shadowcloud.model.utils.StorageHealth +import com.karasiq.shadowcloud.model.{File, Folder, Path, RegionId} + +import scala.collection.mutable +import scala.concurrent.{ExecutionContext, Future} +import scala.util.{Failure, Success} object VirtualFSDispatcher { // Messages diff --git a/javafx/src/main/scala/com/karasiq/shadowcloud/javafx/JavaFXContext.scala b/javafx/src/main/scala/com/karasiq/shadowcloud/javafx/JavaFXContext.scala index 5222313e..96fdcc2e 100644 --- a/javafx/src/main/scala/com/karasiq/shadowcloud/javafx/JavaFXContext.scala +++ b/javafx/src/main/scala/com/karasiq/shadowcloud/javafx/JavaFXContext.scala @@ -10,7 +10,6 @@ import scalafx.stage.StageStyle import scala.concurrent.duration._ import scala.concurrent.{Await, Promise} -import scala.language.postfixOps import scala.util.control.NonFatal object JavaFXContext extends ExtensionId[JavaFXContextExtension] with ExtensionIdProvider { diff --git a/metadata/imageio/src/main/scala/com/karasiq/shadowcloud/metadata/imageio/ImageIOThumbnailCreator.scala b/metadata/imageio/src/main/scala/com/karasiq/shadowcloud/metadata/imageio/ImageIOThumbnailCreator.scala index 00f5be58..d723a44a 100644 --- a/metadata/imageio/src/main/scala/com/karasiq/shadowcloud/metadata/imageio/ImageIOThumbnailCreator.scala +++ b/metadata/imageio/src/main/scala/com/karasiq/shadowcloud/metadata/imageio/ImageIOThumbnailCreator.scala @@ -2,22 +2,19 @@ package com.karasiq.shadowcloud.metadata.imageio import java.awt.image.BufferedImage -import scala.language.postfixOps - import akka.NotUsed import akka.stream.FlowShape import akka.stream.scaladsl.{Broadcast, Concat, Flow, GraphDSL} import akka.util.ByteString -import com.typesafe.config.Config - import com.karasiq.common.configs.ConfigImplicits -import com.karasiq.shadowcloud.metadata.{Metadata, MetadataParser} -import Metadata.Tag.Disposition +import com.karasiq.shadowcloud.metadata.Metadata.Tag.Disposition import com.karasiq.shadowcloud.metadata.config.MetadataParserConfig import com.karasiq.shadowcloud.metadata.imageio.utils.ImageIOResizer +import com.karasiq.shadowcloud.metadata.{Metadata, MetadataParser} import com.karasiq.shadowcloud.streams.utils.ByteStreams import com.karasiq.shadowcloud.utils.ByteStringOutputStream import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import com.typesafe.config.Config private[imageio] object ImageIOThumbnailCreator { val PluginId = "imageio" diff --git a/metadata/imageio/src/test/scala/com/karasiq/shadowcloud/metadata/imageio/test/ImageIOMetadataProviderTest.scala b/metadata/imageio/src/test/scala/com/karasiq/shadowcloud/metadata/imageio/test/ImageIOMetadataProviderTest.scala index efcee3b9..0c41557e 100644 --- a/metadata/imageio/src/test/scala/com/karasiq/shadowcloud/metadata/imageio/test/ImageIOMetadataProviderTest.scala +++ b/metadata/imageio/src/test/scala/com/karasiq/shadowcloud/metadata/imageio/test/ImageIOMetadataProviderTest.scala @@ -2,20 +2,18 @@ package com.karasiq.shadowcloud.metadata.imageio.test import java.awt.image.BufferedImage -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.NotUsed import akka.stream.scaladsl.{Source, StreamConverters} import akka.stream.testkit.scaladsl.TestSink import akka.testkit.TestKit import akka.util.ByteString -import org.scalatest.FlatSpecLike - import com.karasiq.shadowcloud.metadata.Metadata import com.karasiq.shadowcloud.metadata.imageio.ImageIOThumbnailCreator import com.karasiq.shadowcloud.metadata.imageio.utils.ImageIOResizer import com.karasiq.shadowcloud.test.utils.{ActorSpec, ActorSpecImplicits} +import org.scalatest.FlatSpecLike + +import scala.concurrent.duration._ class ImageIOMetadataProviderTest extends ActorSpec with ActorSpecImplicits with FlatSpecLike { val thumbnailCreator = ImageIOThumbnailCreator(system.settings.config.getConfig("shadowcloud.metadata.imageio.thumbnails")) diff --git a/metadata/parent/src/main/scala/com/karasiq/shadowcloud/metadata/utils/BlockingMetadataParser.scala b/metadata/parent/src/main/scala/com/karasiq/shadowcloud/metadata/utils/BlockingMetadataParser.scala index 0ca2059f..2e8d8d63 100644 --- a/metadata/parent/src/main/scala/com/karasiq/shadowcloud/metadata/utils/BlockingMetadataParser.scala +++ b/metadata/parent/src/main/scala/com/karasiq/shadowcloud/metadata/utils/BlockingMetadataParser.scala @@ -2,15 +2,14 @@ package com.karasiq.shadowcloud.metadata.utils import java.io.InputStream -import scala.concurrent.duration._ -import scala.language.postfixOps import akka.NotUsed -import akka.stream.{ActorAttributes, FlowShape} import akka.stream.scaladsl.{Flow, GraphDSL, Sink, Source, StreamConverters} +import akka.stream.{ActorAttributes, FlowShape} import akka.util.ByteString import com.karasiq.shadowcloud.actors.SCDispatchers import com.karasiq.shadowcloud.metadata.{Metadata, MetadataParser} +import scala.concurrent.duration._ import scala.util.Try /** diff --git a/metadata/tika/src/main/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataParser.scala b/metadata/tika/src/main/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataParser.scala index 612ab3bc..bb79b3e4 100644 --- a/metadata/tika/src/main/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataParser.scala +++ b/metadata/tika/src/main/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataParser.scala @@ -2,19 +2,17 @@ package com.karasiq.shadowcloud.metadata.tika import java.io.InputStream -import scala.collection.JavaConverters._ -import scala.language.postfixOps - import akka.NotUsed import akka.stream.scaladsl.Source -import com.typesafe.config.Config -import org.apache.tika.metadata.TikaCoreProperties -import org.apache.tika.parser.{ParseContext, Parser} - import com.karasiq.common.configs.ConfigImplicits import com.karasiq.shadowcloud.metadata.Metadata import com.karasiq.shadowcloud.metadata.config.MetadataParserConfig import com.karasiq.shadowcloud.metadata.utils.BlockingMetadataParser +import com.typesafe.config.Config +import org.apache.tika.metadata.TikaCoreProperties +import org.apache.tika.parser.{ParseContext, Parser} + +import scala.collection.JavaConverters._ /** * Abstract metadata parser @@ -47,4 +45,4 @@ private[tika] trait TikaMetadataParser extends BlockingMetadataParser { metadata.add(TikaCoreProperties.CONTENT_TYPE_HINT, mime) Source(parseStream(metadata, inputStream).toVector) } -} \ No newline at end of file +} diff --git a/metadata/tika/src/test/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataProviderTest.scala b/metadata/tika/src/test/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataProviderTest.scala index 4ac7e8f4..11a1ac5b 100644 --- a/metadata/tika/src/test/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataProviderTest.scala +++ b/metadata/tika/src/test/scala/com/karasiq/shadowcloud/metadata/tika/TikaMetadataProviderTest.scala @@ -2,18 +2,16 @@ package com.karasiq.shadowcloud.metadata.tika import java.io.File -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.stream.scaladsl.{FileIO, Keep} import akka.stream.testkit.scaladsl.TestSink import akka.util.ByteString +import com.karasiq.shadowcloud.metadata.Metadata +import com.karasiq.shadowcloud.test.utils.{ActorSpec, ActorSpecImplicits} import org.apache.commons.io.FileUtils import org.apache.tika.Tika import org.scalatest.{FlatSpecLike, SequentialNestedSuiteExecution} -import com.karasiq.shadowcloud.metadata.Metadata -import com.karasiq.shadowcloud.test.utils.{ActorSpec, ActorSpecImplicits} +import scala.concurrent.duration._ class TikaMetadataProviderTest extends ActorSpec with ActorSpecImplicits with FlatSpecLike with SequentialNestedSuiteExecution { val testPdfName = "TypeClasses.pdf" diff --git a/model/.jvm/src/main/scala/com/karasiq/shadowcloud/config/ConfigProps.scala b/model/.jvm/src/main/scala/com/karasiq/shadowcloud/config/ConfigProps.scala index eaecdfdc..c5302dd6 100644 --- a/model/.jvm/src/main/scala/com/karasiq/shadowcloud/config/ConfigProps.scala +++ b/model/.jvm/src/main/scala/com/karasiq/shadowcloud/config/ConfigProps.scala @@ -1,12 +1,10 @@ package com.karasiq.shadowcloud.config -import scala.collection.JavaConverters._ -import scala.language.postfixOps - import akka.util.ByteString +import com.karasiq.shadowcloud.utils.Utils import com.typesafe.config.{Config, ConfigFactory, ConfigRenderOptions} -import com.karasiq.shadowcloud.utils.Utils +import scala.collection.JavaConverters._ private[shadowcloud] object ConfigProps { private[this] val SupportedFormats = Set(SerializedProps.DefaultFormat, SerializedProps.JsonFormat) diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/ChunkIndex.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/ChunkIndex.scala index 8f1edda2..a5b7bd28 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/ChunkIndex.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/ChunkIndex.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.index -import scala.collection.GenTraversableOnce -import scala.language.postfixOps - import com.karasiq.shadowcloud.index.diffs.ChunkIndexDiff import com.karasiq.shadowcloud.index.utils.{HasEmpty, HasWithoutData, Mergeable} import com.karasiq.shadowcloud.model.{Chunk, SCEntity} import com.karasiq.shadowcloud.utils.Utils +import scala.collection.GenTraversableOnce + @SerialVersionUID(0L) final case class ChunkIndex(chunks: Set[Chunk] = Set.empty) extends SCEntity with Mergeable with HasEmpty with HasWithoutData { diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/FolderIndex.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/FolderIndex.scala index 7a3a6f05..fcc8fc54 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/FolderIndex.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/FolderIndex.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.index -import scala.annotation.tailrec -import scala.collection.{mutable, GenTraversableOnce} -import scala.language.postfixOps - import com.karasiq.shadowcloud.index.diffs.{FolderDiff, FolderIndexDiff} import com.karasiq.shadowcloud.index.utils.{HasEmpty, HasWithoutData, Mergeable} import com.karasiq.shadowcloud.model.{File, Folder, Path, SCEntity} import com.karasiq.shadowcloud.utils.Utils +import scala.annotation.tailrec +import scala.collection.{GenTraversableOnce, mutable} + @SerialVersionUID(0L) final case class FolderIndex(folders: Map[Path, Folder] = Map(Path.root → Folder(Path.root))) extends SCEntity with Mergeable with HasEmpty with HasWithoutData { @@ -201,4 +200,4 @@ object FolderIndex { index.get(path).iterator .flatMap(traverseFolderTreeRec(index, _)) } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/ChunkIndexDiff.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/ChunkIndexDiff.scala index c12514c6..f582a1d3 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/ChunkIndexDiff.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/ChunkIndexDiff.scala @@ -1,12 +1,12 @@ package com.karasiq.shadowcloud.index.diffs -import scala.language.postfixOps + import com.karasiq.shadowcloud.index.ChunkIndex import com.karasiq.shadowcloud.index.utils.{HasEmpty, HasWithoutData, MergeableDiff} import com.karasiq.shadowcloud.model.{Chunk, SCEntity} -import com.karasiq.shadowcloud.utils.{MergeUtil, Utils} import com.karasiq.shadowcloud.utils.MergeUtil.{Decider, SplitDecider} +import com.karasiq.shadowcloud.utils.{MergeUtil, Utils} @SerialVersionUID(0L) final case class ChunkIndexDiff(newChunks: Set[Chunk] = Set.empty, deletedChunks: Set[Chunk] = Set.empty) diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderDiff.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderDiff.scala index 4b13e429..9c20d854 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderDiff.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderDiff.scala @@ -1,11 +1,11 @@ package com.karasiq.shadowcloud.index.diffs -import scala.language.postfixOps + import com.karasiq.shadowcloud.index.utils._ import com.karasiq.shadowcloud.model.{File, Folder, Path, SCEntity} -import com.karasiq.shadowcloud.utils.{MergeUtil, Utils} import com.karasiq.shadowcloud.utils.MergeUtil.SplitDecider +import com.karasiq.shadowcloud.utils.{MergeUtil, Utils} @SerialVersionUID(0L) final case class FolderDiff(path: Path, time: Long = 0, newFiles: Set[File] = Set.empty, @@ -91,4 +91,4 @@ object FolderDiff { def create(folder: Folder): FolderDiff = { FolderDiff(folder.path, folder.timestamp.lastModified, folder.files, Set.empty, folder.folders, Set.empty) } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderIndexDiff.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderIndexDiff.scala index ed828506..de82b89b 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderIndexDiff.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/FolderIndexDiff.scala @@ -1,13 +1,13 @@ package com.karasiq.shadowcloud.index.diffs -import scala.language.postfixOps + import com.karasiq.shadowcloud.index.FolderIndex import com.karasiq.shadowcloud.index.utils._ import com.karasiq.shadowcloud.model.{File, Folder, Path, SCEntity} -import com.karasiq.shadowcloud.utils.{MergeUtil, Utils} import com.karasiq.shadowcloud.utils.MergeUtil.Decider import com.karasiq.shadowcloud.utils.MergeUtil.State.{Conflict, Equal, Left, Right} +import com.karasiq.shadowcloud.utils.{MergeUtil, Utils} @SerialVersionUID(0L) final case class FolderIndexDiff(folders: Seq[FolderDiff] = Vector.empty) @@ -256,4 +256,4 @@ object FolderIndexDiff { val deleteDiff = deleteFolderPaths(path) deleteDiff.mergeWith(copyDiff, FolderDiffDecider.rightWins, FolderDecider.createWins) } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/IndexDiff.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/IndexDiff.scala index 4a3d8d09..3ae5bbec 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/IndexDiff.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/diffs/IndexDiff.scala @@ -1,11 +1,11 @@ package com.karasiq.shadowcloud.index.diffs -import scala.language.postfixOps + import com.karasiq.shadowcloud.index.utils._ import com.karasiq.shadowcloud.model.{Chunk, Folder, Path, SCEntity} -import com.karasiq.shadowcloud.utils.Utils import com.karasiq.shadowcloud.utils.MergeUtil.{Decider, SplitDecider} +import com.karasiq.shadowcloud.utils.Utils @SerialVersionUID(0L) final case class IndexDiff(time: Long = Utils.timestamp, diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/files/FileVersions.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/files/FileVersions.scala index d1e40d3d..216ea2d6 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/files/FileVersions.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/files/FileVersions.scala @@ -1,10 +1,9 @@ package com.karasiq.shadowcloud.index.files -import scala.collection.GenTraversableOnce -import scala.language.postfixOps - import com.karasiq.shadowcloud.model.{File, FileId} +import scala.collection.GenTraversableOnce + object FileVersions { def mostRecent(files: GenTraversableOnce[File]): File = { requireNonEmpty(files) @@ -23,4 +22,4 @@ object FileVersions { private[this] def requireNonEmpty(files: GenTraversableOnce[File]): Unit = { if (files.isEmpty) throw new NoSuchElementException("File not found") } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/FolderDecider.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/FolderDecider.scala index f71495f3..7f821922 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/FolderDecider.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/FolderDecider.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.index.utils -import scala.language.postfixOps + import com.karasiq.shadowcloud.model.File import com.karasiq.shadowcloud.utils.MergeUtil.SplitDecider diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasEmpty.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasEmpty.scala index 3a277858..abc3dc9e 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasEmpty.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasEmpty.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.index.utils -import scala.language.postfixOps + trait HasEmpty { def isEmpty: Boolean diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasPath.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasPath.scala index b794c5b5..5a176357 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasPath.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasPath.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.index.utils -import scala.language.postfixOps + import com.karasiq.shadowcloud.model.Path diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasWithoutData.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasWithoutData.scala index 9f2ebcda..ae98f866 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasWithoutData.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/HasWithoutData.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.index.utils -import scala.language.postfixOps + trait HasWithoutData { type Repr diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/Mergeable.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/Mergeable.scala index de75bc4b..95c9c281 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/Mergeable.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/Mergeable.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.index.utils -import scala.language.postfixOps + trait Mergeable { type Repr diff --git a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/MergeableDiff.scala b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/MergeableDiff.scala index b5d54cba..f16a0186 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/index/utils/MergeableDiff.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/index/utils/MergeableDiff.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.index.utils -import scala.language.postfixOps + trait MergeableDiff extends Mergeable { type Repr diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/Checksum.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/Checksum.scala index 9efba23e..b3771d0f 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/Checksum.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/Checksum.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.model -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.common.encoding.HexString import com.karasiq.common.memory.MemorySize import com.karasiq.shadowcloud.index.utils.HasEmpty @@ -57,4 +56,4 @@ final case class Checksum(method: HashingMethod = HashingMethod.default, encMeth object Checksum { val empty = Checksum() -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/Chunk.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/Chunk.scala index af173e26..0a7f308c 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/Chunk.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/Chunk.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.model -import scala.language.postfixOps + import com.karasiq.common.memory.MemorySize import com.karasiq.shadowcloud.index.utils.{HasEmpty, HasWithoutData, HasWithoutKeys} @@ -42,4 +42,4 @@ final case class Chunk(checksum: Checksum = Checksum.empty, override def toString: String = { s"Chunk($checksum, $encryption, ${MemorySize(data.plain.length)}/${MemorySize(data.encrypted.length)})" } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/Data.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/Data.scala index 1c58578e..20f4699b 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/Data.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/Data.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.model -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.index.utils.{HasEmpty, HasWithoutData} @SerialVersionUID(0L) diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/File.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/File.scala index 1e93c424..14b46285 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/File.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/File.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.model -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.SerializedProps import com.karasiq.shadowcloud.index.utils._ diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/Folder.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/Folder.scala index 5d92521b..95601067 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/Folder.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/Folder.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.model -import scala.collection.GenTraversableOnce -import scala.language.postfixOps - import com.karasiq.shadowcloud.index.diffs.FolderDiff import com.karasiq.shadowcloud.index.utils._ import com.karasiq.shadowcloud.utils.Utils +import scala.collection.GenTraversableOnce + @SerialVersionUID(0L) final case class Folder(path: Path, timestamp: Timestamp = Timestamp.now, folders: Set[String] = Set.empty, files: Set[File] = Set.empty) @@ -106,4 +105,4 @@ object Folder { def create(path: Path): Folder = { Folder(path) } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/Timestamp.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/Timestamp.scala index 374eccfa..1ea696c0 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/Timestamp.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/Timestamp.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.model -import scala.language.postfixOps + import com.karasiq.shadowcloud.utils.Utils @@ -31,4 +31,4 @@ object Timestamp { implicit val ordering: Ordering[Timestamp] = Ordering.by(ts ⇒ (ts.lastModified, ts.created)) -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/CryptoMethod.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/CryptoMethod.scala index f938b78b..4208c014 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/CryptoMethod.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/CryptoMethod.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.model.crypto -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.SerializedProps import com.karasiq.shadowcloud.model.SCEntity @@ -15,4 +15,4 @@ object CryptoMethod { def isNoOpMethod(m: CryptoMethod): Boolean = { m.algorithm.isEmpty } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionMethod.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionMethod.scala index cd286106..57072a86 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionMethod.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionMethod.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.model.crypto -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.SerializedProps @@ -28,4 +28,4 @@ final case class EncryptionMethod(algorithm: String, keySize: Int = 256, object EncryptionMethod { val none = EncryptionMethod("", 0) val default = EncryptionMethod("ChaCha20", 256) -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionParameters.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionParameters.scala index 23f6b133..f0157b19 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionParameters.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/EncryptionParameters.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.model.crypto -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.index.utils.HasWithoutKeys sealed trait EncryptionParameters extends CryptoParameters with HasWithoutKeys { @@ -95,4 +94,4 @@ object EncryptionParameters { case SymmetricEncryptionParameters(_, key, _) ⇒ key.nonEmpty case AsymmetricEncryptionParameters(_, pubKey, privKey) ⇒ pubKey.nonEmpty || privKey.nonEmpty } -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/HashingMethod.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/HashingMethod.scala index a0b5f78f..2e0f4782 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/HashingMethod.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/HashingMethod.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.model.crypto -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.SerializedProps @@ -27,4 +27,4 @@ final case class HashingMethod(algorithm: String, config: SerializedProps = Seri object HashingMethod { val none = HashingMethod("") val default = HashingMethod("Blake2b") -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/SignParameters.scala b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/SignParameters.scala index 3859b6aa..8fc7ffac 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/SignParameters.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/model/crypto/SignParameters.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.model.crypto -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.shadowcloud.index.utils.HasWithoutKeys @SerialVersionUID(0L) @@ -36,4 +35,4 @@ final case class SignParameters(method: SignMethod, publicKey: ByteString, priva object SignParameters { val empty = SignParameters(SignMethod.none, ByteString.empty, ByteString.empty) -} \ No newline at end of file +} diff --git a/model/src/main/scala/com/karasiq/shadowcloud/storage/StorageIOResult.scala b/model/src/main/scala/com/karasiq/shadowcloud/storage/StorageIOResult.scala index dedb3ea0..b1d22bdd 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/storage/StorageIOResult.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/storage/StorageIOResult.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.storage -import scala.language.postfixOps + import com.karasiq.shadowcloud.exceptions.StorageException import com.karasiq.shadowcloud.model.Path diff --git a/model/src/main/scala/com/karasiq/shadowcloud/utils/MergeUtil.scala b/model/src/main/scala/com/karasiq/shadowcloud/utils/MergeUtil.scala index e4bb0d99..93063308 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/utils/MergeUtil.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/utils/MergeUtil.scala @@ -1,7 +1,7 @@ package com.karasiq.shadowcloud.utils import scala.collection.mutable -import scala.language.postfixOps + object MergeUtil { // ----------------------------------------------------------------------- diff --git a/model/src/main/scala/com/karasiq/shadowcloud/utils/ProtobufUtils.scala b/model/src/main/scala/com/karasiq/shadowcloud/utils/ProtobufUtils.scala index b9cfdf67..9e40644e 100644 --- a/model/src/main/scala/com/karasiq/shadowcloud/utils/ProtobufUtils.scala +++ b/model/src/main/scala/com/karasiq/shadowcloud/utils/ProtobufUtils.scala @@ -4,10 +4,9 @@ import java.nio.ByteBuffer import java.util.UUID import akka.util.ByteString -import com.google.protobuf.{ByteString ⇒ PBByteString} -import com.trueaccord.scalapb.TypeMapper - +import com.google.protobuf.{ByteString => PBByteString} import com.karasiq.shadowcloud.model.Path +import scalapb.TypeMapper object ProtobufUtils { private[this] val emptyUUID = new UUID(0, 0) diff --git a/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2AkkaSnapshotStore.scala b/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2AkkaSnapshotStore.scala index 72767f35..1e1745d9 100644 --- a/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2AkkaSnapshotStore.scala +++ b/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2AkkaSnapshotStore.scala @@ -1,23 +1,21 @@ package com.karasiq.shadowcloud.persistence.h2 -import scala.concurrent.Future -import scala.language.postfixOps -import scala.util.Try - import akka.persistence._ import akka.persistence.serialization.Snapshot import akka.persistence.snapshot.SnapshotStore import akka.serialization.SerializationExtension import akka.util.ByteString - import com.karasiq.shadowcloud.persistence.utils.SCQuillEncoders +import scala.concurrent.Future +import scala.util.Try + final class H2AkkaSnapshotStore extends SnapshotStore { // ----------------------------------------------------------------------- // Context // ----------------------------------------------------------------------- private[this] val h2db = H2DB(context.system) - import h2db.context.{run ⇒ runQuery, _} + import h2db.context.{run => runQuery, _} // ----------------------------------------------------------------------- // Schema diff --git a/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2KeyProvider.scala b/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2KeyProvider.scala index 6d394ec8..f6b558c2 100644 --- a/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2KeyProvider.scala +++ b/persistence/src/main/scala/com/karasiq/shadowcloud/persistence/h2/H2KeyProvider.scala @@ -2,20 +2,18 @@ package com.karasiq.shadowcloud.persistence.h2 import java.util.UUID -import scala.concurrent.Future -import scala.language.postfixOps -import scala.util.Try - import akka.Done import akka.actor.ActorSystem import akka.util.ByteString - import com.karasiq.shadowcloud.ShadowCloud -import com.karasiq.shadowcloud.model.keys.{KeyChain, KeyId, KeyProps, KeySet} import com.karasiq.shadowcloud.model.keys.KeyProps.RegionSet +import com.karasiq.shadowcloud.model.keys.{KeyChain, KeyId, KeyProps, KeySet} import com.karasiq.shadowcloud.persistence.utils.SCQuillEncoders import com.karasiq.shadowcloud.providers.KeyProvider +import scala.concurrent.Future +import scala.util.Try + final class H2KeyProvider(actorSystem: ActorSystem) extends KeyProvider { private[this] val h2 = H2DB(actorSystem) private[this] val sc = ShadowCloud(actorSystem) diff --git a/project/ProjectDeps.scala b/project/ProjectDeps.scala index e98e59d6..c1bff51d 100644 --- a/project/ProjectDeps.scala +++ b/project/ProjectDeps.scala @@ -49,11 +49,11 @@ object ProjectDeps { ) def protobuf: Deps = { - val version = com.trueaccord.scalapb.compiler.Version.scalapbVersion + val version = scalapb.compiler.Version.scalapbVersion Seq( // "com.google.protobuf" % "protobuf-java" % "3.4.0", - "com.trueaccord.scalapb" %% "scalapb-runtime" % version, - "com.trueaccord.scalapb" %% "scalapb-runtime" % version % "protobuf" + "com.thesamet.scalapb" %% "scalapb-runtime" % version, + "com.thesamet.scalapb" %% "scalapb-runtime" % version % "protobuf" ) } diff --git a/project/ScalaJSDeps.scala b/project/ScalaJSDeps.scala index 2b808c5a..39eb2484 100644 --- a/project/ScalaJSDeps.scala +++ b/project/ScalaJSDeps.scala @@ -62,8 +62,8 @@ object ScalaJSDeps { def protobuf: Deps = { libraryDependencies ++= Seq( - "com.trueaccord.scalapb" %%% "scalapb-runtime" % com.trueaccord.scalapb.compiler.Version.scalapbVersion, - "com.trueaccord.scalapb" %%% "scalapb-runtime" % com.trueaccord.scalapb.compiler.Version.scalapbVersion % "protobuf" + "com.thesamet.scalapb" %%% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion, + "com.thesamet.scalapb" %%% "scalapb-runtime" % scalapb.compiler.Version.scalapbVersion % "protobuf" ) } @@ -78,4 +78,4 @@ object ScalaJSDeps { def scalaTest: Deps = { libraryDependencies ++= Seq("org.scalatest" %%% "scalatest" % "3.0.3" % "test") } -} \ No newline at end of file +} diff --git a/project/build.properties b/project/build.properties index dca663de..a919a9b5 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 1.2.8 +sbt.version=1.3.8 diff --git a/project/plugins.sbt b/project/plugins.sbt index 822ac99f..7be2c205 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,8 +1,8 @@ logLevel := Level.Warn -addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.13") +addSbtPlugin("com.thesamet" % "sbt-protoc" % "0.99.25") -libraryDependencies += "com.trueaccord.scalapb" %% "compilerplugin" % "0.6.7" // Should go before Scala.js +libraryDependencies += "com.thesamet.scalapb" %% "compilerplugin" % "0.9.0" // Should go before Scala.js // addSbtPlugin("com.github.sbtliquibase" % "sbt-liquibase" % "0.2.0") // TODO: https://github.com/sbtliquibase/sbt-liquibase-plugin/issues/17 diff --git a/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ByteStringSerializer.scala b/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ByteStringSerializer.scala index bf414e52..aa437ccc 100644 --- a/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ByteStringSerializer.scala +++ b/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ByteStringSerializer.scala @@ -1,13 +1,10 @@ package com.karasiq.shadowcloud.serialization.kryo -import scala.language.postfixOps - import akka.util.ByteString import com.esotericsoftware.kryo.Kryo import com.esotericsoftware.kryo.io.{Input, Output} -import com.twitter.chill - import com.karasiq.shadowcloud.utils.ByteStringUnsafe.implicits._ +import com.twitter.chill private[kryo] final class ByteStringSerializer extends chill.KSerializer[ByteString](false, true) { def write(kryo: Kryo, output: Output, bs: ByteString): Unit = { @@ -25,4 +22,4 @@ private[kryo] final class ByteStringSerializer extends chill.KSerializer[ByteStr ByteString.empty } } -} \ No newline at end of file +} diff --git a/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ConfigSerializer.scala b/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ConfigSerializer.scala index 216158ff..fa6d49c8 100644 --- a/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ConfigSerializer.scala +++ b/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/ConfigSerializer.scala @@ -1,15 +1,12 @@ package com.karasiq.shadowcloud.serialization.kryo -import scala.language.postfixOps - import akka.util.ByteString import com.esotericsoftware.kryo.Kryo import com.esotericsoftware.kryo.io.{Input, Output} -import com.twitter.chill -import com.typesafe.config._ - import com.karasiq.shadowcloud.config.{ConfigProps, SerializedProps} import com.karasiq.shadowcloud.utils.Utils +import com.twitter.chill +import com.typesafe.config._ private[kryo] final class ConfigSerializer(json: Boolean) extends chill.KSerializer[Config](false, true) { def write(kryo: Kryo, output: Output, config: Config): Unit = { @@ -22,7 +19,7 @@ private[kryo] final class ConfigSerializer(json: Boolean) extends chill.KSeriali val isNotEmpty = input.readBoolean() if (isNotEmpty) { val configString = input.readString() - val serialized = SerializedProps(if (json) SerializedProps.JsonFormat else SerializedProps.DefaultFormat, ByteString(configString)) + val serialized = SerializedProps(if (json) SerializedProps.JsonFormat else SerializedProps.DefaultFormat, ByteString(configString)) ConfigProps.toConfig(serialized) } else { Utils.emptyConfig diff --git a/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/GeneratedMessageSerializer.scala b/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/GeneratedMessageSerializer.scala index 3f05c19c..afdb94f2 100644 --- a/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/GeneratedMessageSerializer.scala +++ b/serialization/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/kryo/GeneratedMessageSerializer.scala @@ -2,7 +2,7 @@ package com.karasiq.shadowcloud.serialization.kryo import com.esotericsoftware.kryo.Kryo import com.esotericsoftware.kryo.io.{Input, Output} -import com.trueaccord.scalapb.{GeneratedMessage, GeneratedMessageCompanion} +import scalapb.{GeneratedMessage, GeneratedMessageCompanion} import com.twitter.chill import com.karasiq.shadowcloud.serialization.internal.CompanionReflectSerializer diff --git a/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/boopickle/SCBooPickleEncoders.scala b/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/boopickle/SCBooPickleEncoders.scala index 2503e3ea..7c665bfd 100644 --- a/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/boopickle/SCBooPickleEncoders.scala +++ b/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/boopickle/SCBooPickleEncoders.scala @@ -3,7 +3,7 @@ package com.karasiq.shadowcloud.serialization.boopickle import akka.Done import akka.util.ByteString import boopickle._ -import com.trueaccord.scalapb.{GeneratedEnum, GeneratedEnumCompanion, GeneratedMessage, GeneratedMessageCompanion} +import scalapb.{GeneratedEnum, GeneratedEnumCompanion, GeneratedMessage, GeneratedMessageCompanion} import com.karasiq.shadowcloud.config.SerializedProps import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex, IndexData} @@ -15,6 +15,7 @@ import com.karasiq.shadowcloud.model.utils._ import com.karasiq.shadowcloud.model.utils.GCReport.{RegionGCState, StorageGCState} import com.karasiq.shadowcloud.model.utils.RegionStateReport.{RegionStatus, StorageStatus} +//noinspection TypeAnnotation trait SCBooPickleEncoders extends Base with BasicImplicitPicklers with TransformPicklers with TuplePicklers { protected object MacroPicklers extends MaterializePicklerFallback import MacroPicklers.generatePickler @@ -85,7 +86,7 @@ trait SCBooPickleEncoders extends Base with BasicImplicitPicklers with Transform implicit val keyPropsFormat = generatePickler[KeyProps] implicit val keyChainFormat = generatePickler[KeyChain] - implicit def generatedMessagePickler[T <: GeneratedMessage with com.trueaccord.scalapb.Message[T] : GeneratedMessageCompanion]: Pickler[T] = new Pickler[T] { + implicit def generatedMessagePickler[T <: GeneratedMessage with scalapb.Message[T] : GeneratedMessageCompanion]: Pickler[T] = new Pickler[T] { def pickle(obj: T)(implicit state: PickleState): Unit = { state.enc.writeByteArray(obj.toByteArray) } @@ -106,4 +107,4 @@ trait SCBooPickleEncoders extends Base with BasicImplicitPicklers with Transform } } -object SCBooPickleEncoders extends SCBooPickleEncoders \ No newline at end of file +object SCBooPickleEncoders extends SCBooPickleEncoders diff --git a/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/json/SCJsonEncoders.scala b/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/json/SCJsonEncoders.scala index a0c3690a..dec06cd0 100644 --- a/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/json/SCJsonEncoders.scala +++ b/serialization/src/main/scala/com/karasiq/shadowcloud/serialization/json/SCJsonEncoders.scala @@ -2,19 +2,18 @@ package com.karasiq.shadowcloud.serialization.json import akka.Done import akka.util.ByteString -import com.trueaccord.scalapb.{GeneratedEnum, GeneratedEnumCompanion, GeneratedMessage, GeneratedMessageCompanion} -import play.api.libs.json._ - import com.karasiq.common.encoding.{Base64, HexString} import com.karasiq.shadowcloud.config.SerializedProps -import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex, IndexData} import com.karasiq.shadowcloud.index.diffs.{ChunkIndexDiff, FolderDiff, FolderIndexDiff, IndexDiff} +import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex, IndexData} import com.karasiq.shadowcloud.model._ import com.karasiq.shadowcloud.model.crypto._ import com.karasiq.shadowcloud.model.keys.{KeyChain, KeyProps, KeySet} -import com.karasiq.shadowcloud.model.utils._ import com.karasiq.shadowcloud.model.utils.GCReport.{RegionGCState, StorageGCState} import com.karasiq.shadowcloud.model.utils.RegionStateReport.{RegionStatus, StorageStatus} +import com.karasiq.shadowcloud.model.utils._ +import play.api.libs.json._ +import scalapb.{GeneratedEnum, GeneratedEnumCompanion, GeneratedMessage, GeneratedMessageCompanion} //noinspection ConvertExpressionToSAM trait SCJsonEncoders { @@ -28,30 +27,33 @@ trait SCJsonEncoders { Writes(_ ⇒ JsString("Done")) ) - implicit val pathFormat = Json.format[Path] - implicit val serializedPropsFormat = Json.format[SerializedProps] - implicit val encryptionMethodFormat = Json.format[EncryptionMethod] - implicit val hashingMethodFormat = Json.format[HashingMethod] - implicit val symmetricEncryptionParametersFormat = Json.format[SymmetricEncryptionParameters] + implicit val pathFormat = Json.format[Path] + implicit val serializedPropsFormat = Json.format[SerializedProps] + implicit val encryptionMethodFormat = Json.format[EncryptionMethod] + implicit val hashingMethodFormat = Json.format[HashingMethod] + implicit val symmetricEncryptionParametersFormat = Json.format[SymmetricEncryptionParameters] implicit val asymmetricEncryptionParametersFormat = Json.format[AsymmetricEncryptionParameters] implicit val encryptionParametersFormat = Format[EncryptionParameters]( - Reads(value ⇒ (value \ "_key_type").as[String] match { - case "symmetric" ⇒ symmetricEncryptionParametersFormat.reads(value) - case "asymmetric" ⇒ asymmetricEncryptionParametersFormat.reads(value) - }), + Reads( + value ⇒ + (value \ "_key_type").as[String] match { + case "symmetric" ⇒ symmetricEncryptionParametersFormat.reads(value) + case "asymmetric" ⇒ asymmetricEncryptionParametersFormat.reads(value) + } + ), Writes { - case s: SymmetricEncryptionParameters ⇒ symmetricEncryptionParametersFormat.writes(s) + ("_key_type" → JsString("symmetric")) + case s: SymmetricEncryptionParameters ⇒ symmetricEncryptionParametersFormat.writes(s) + ("_key_type" → JsString("symmetric")) case as: AsymmetricEncryptionParameters ⇒ asymmetricEncryptionParametersFormat.writes(as) + ("_key_type" → JsString("asymmetric")) } ) - implicit val signMethodFormat = Json.format[SignMethod] + implicit val signMethodFormat = Json.format[SignMethod] implicit val signParametersFormat = Json.format[SignParameters] - implicit val timestampFormat = Json.format[Timestamp] - implicit val dataFormat = Json.format[Data] - implicit val checksumFormat = Json.format[Checksum] - implicit val chunkFormat = Json.format[Chunk] - implicit val fileFormat = Json.format[File] - implicit val folderFormat = Json.format[Folder] + implicit val timestampFormat = Json.format[Timestamp] + implicit val dataFormat = Json.format[Data] + implicit val checksumFormat = Json.format[Checksum] + implicit val chunkFormat = Json.format[Chunk] + implicit val fileFormat = Json.format[File] + implicit val folderFormat = Json.format[Folder] implicit def pathMapFormat[V: Format]: Format[Map[Path, V]] = { def pathToString(path: Path) = { @@ -69,25 +71,25 @@ trait SCJsonEncoders { jsonMapFormat(_.toString, _.toLong) } - implicit val chunkIndexFormat = Json.format[ChunkIndex] - implicit val folderIndexFormat = Json.format[FolderIndex] - implicit val folderDiffFormat = Json.format[FolderDiff] - implicit val folderIndexDiffFormat = Json.format[FolderIndexDiff] - implicit val chunkIndexDiffFormat = Json.format[ChunkIndexDiff] - implicit val indexDiffFormat = Json.format[IndexDiff] - implicit val indexDataFormat = Json.format[IndexData] - implicit val fileAvailabilityFormat = Json.format[FileAvailability] - implicit val storageGCStateFormat = Json.format[StorageGCState] - implicit val regionGCStateFormat = Json.format[RegionGCState] - implicit val gcReportFormat = Json.format[GCReport] - implicit val syncReportFormat = Json.format[SyncReport] - implicit val storageStatusFormat = Json.format[StorageStatus] - implicit val regionStatusFormat = Json.format[RegionStatus] + implicit val chunkIndexFormat = Json.format[ChunkIndex] + implicit val folderIndexFormat = Json.format[FolderIndex] + implicit val folderDiffFormat = Json.format[FolderDiff] + implicit val folderIndexDiffFormat = Json.format[FolderIndexDiff] + implicit val chunkIndexDiffFormat = Json.format[ChunkIndexDiff] + implicit val indexDiffFormat = Json.format[IndexDiff] + implicit val indexDataFormat = Json.format[IndexData] + implicit val fileAvailabilityFormat = Json.format[FileAvailability] + implicit val storageGCStateFormat = Json.format[StorageGCState] + implicit val regionGCStateFormat = Json.format[RegionGCState] + implicit val gcReportFormat = Json.format[GCReport] + implicit val syncReportFormat = Json.format[SyncReport] + implicit val storageStatusFormat = Json.format[StorageStatus] + implicit val regionStatusFormat = Json.format[RegionStatus] implicit val regionStateReportFormat = Json.format[RegionStateReport] - implicit val storageHealthFormat = Json.format[StorageHealth] - implicit val regionHealthFormat = Json.format[RegionHealth] + implicit val storageHealthFormat = Json.format[StorageHealth] + implicit val regionHealthFormat = Json.format[RegionHealth] - implicit val keySetFormat = Json.format[KeySet] + implicit val keySetFormat = Json.format[KeySet] implicit val keyPropsFormat = Json.format[KeyProps] implicit val keyChainFormat = Json.format[KeyChain] @@ -136,21 +138,22 @@ trait SCJsonEncoders { } } - implicit def generatedMessageReadWrites[T <: GeneratedMessage with com.trueaccord.scalapb.Message[T] : GeneratedMessageCompanion]: Reads[T] with Writes[T] = new Reads[T] with Writes[T] { - def reads(json: JsValue): JsResult[T] = { - val bytes = Base64.decode(json.as[String]) - JsSuccess(implicitly[GeneratedMessageCompanion[T]].parseFrom(bytes.toArray)) - } + implicit def generatedMessageReadWrites[T <: GeneratedMessage with scalapb.Message[T]: GeneratedMessageCompanion]: Reads[T] with Writes[T] = + new Reads[T] with Writes[T] { + def reads(json: JsValue): JsResult[T] = { + val bytes = Base64.decode(json.as[String]) + JsSuccess(implicitly[GeneratedMessageCompanion[T]].parseFrom(bytes.toArray)) + } - def writes(o: T): JsValue = { - JsString(Base64.encode(ByteString.fromArrayUnsafe(o.toByteArray))) + def writes(o: T): JsValue = { + JsString(Base64.encode(ByteString.fromArrayUnsafe(o.toByteArray))) + } } - } - implicit def generatedEnumReadWrites[T <: GeneratedEnum : GeneratedEnumCompanion]: Reads[T] with Writes[T] = new Reads[T] with Writes[T] { + implicit def generatedEnumReadWrites[T <: GeneratedEnum: GeneratedEnumCompanion]: Reads[T] with Writes[T] = new Reads[T] with Writes[T] { def reads(json: JsValue): JsResult[T] = { val stringValue = json.as[String] - val value = implicitly[GeneratedEnumCompanion[T]].fromName(stringValue) + val value = implicitly[GeneratedEnumCompanion[T]].fromName(stringValue) value match { case Some(value) ⇒ JsSuccess(value) @@ -173,4 +176,4 @@ trait SCJsonEncoders { } } -object SCJsonEncoders extends SCJsonEncoders \ No newline at end of file +object SCJsonEncoders extends SCJsonEncoders diff --git a/server/api-routes/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpApiRoutes.scala b/server/api-routes/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpApiRoutes.scala index 3f02541a..46190e87 100644 --- a/server/api-routes/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpApiRoutes.scala +++ b/server/api-routes/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpApiRoutes.scala @@ -1,8 +1,5 @@ package com.karasiq.shadowcloud.server.http -import scala.concurrent.ExecutionContext -import scala.concurrent.duration._ -import scala.language.postfixOps import akka.http.scaladsl.marshalling.Marshaller import akka.http.scaladsl.model._ import akka.http.scaladsl.model.headers.{ByteRange, Range} @@ -11,11 +8,14 @@ import akka.http.scaladsl.unmarshalling.Unmarshaller import akka.util.ByteString import autowire.Core.Request import com.karasiq.shadowcloud.ShadowCloudExtension -import com.karasiq.shadowcloud.api.{SCApiUtils, ShadowCloudApi} import com.karasiq.shadowcloud.api.jvm.SCDefaultApiServer +import com.karasiq.shadowcloud.api.{SCApiUtils, ShadowCloudApi} import com.karasiq.shadowcloud.server.http.api.ShadowCloudApiImpl import com.karasiq.shadowcloud.streams.chunk.ChunkRanges +import scala.concurrent.ExecutionContext +import scala.concurrent.duration._ + private[server] trait SCAkkaHttpApiRoutes { self: Directives ⇒ protected val sc: ShadowCloudExtension @@ -38,7 +38,6 @@ private[server] trait SCAkkaHttpApiRoutes { self: Directives ⇒ } import SCApiInternals._ - import apiEncoding.implicits._ private[http] object SCApiMarshallers { implicit def implicitSCEntityMarshaller[T: apiEncoding.Encoder]: Marshaller[T, ByteString] = diff --git a/server/api-routes/src/test/scala/com/karasiq/shadowcloud/server/http/test/SCHttpServerTest.scala b/server/api-routes/src/test/scala/com/karasiq/shadowcloud/server/http/test/SCHttpServerTest.scala index 47f76bb2..3f703395 100644 --- a/server/api-routes/src/test/scala/com/karasiq/shadowcloud/server/http/test/SCHttpServerTest.scala +++ b/server/api-routes/src/test/scala/com/karasiq/shadowcloud/server/http/test/SCHttpServerTest.scala @@ -1,23 +1,21 @@ package com.karasiq.shadowcloud.server.http.test -import scala.concurrent.duration._ -import scala.language.postfixOps -import scala.reflect.ClassTag - import akka.http.scaladsl.model.HttpEntity import akka.http.scaladsl.model.headers.{ByteRange, Range, RawHeader} import akka.http.scaladsl.server.{Directives, Route} import akka.http.scaladsl.testkit.{RouteTestTimeout, ScalatestRouteTest} import akka.http.scaladsl.unmarshalling.FromEntityUnmarshaller import akka.util.ByteString -import org.scalatest.{FlatSpec, Matchers, SequentialNestedSuiteExecution} - import com.karasiq.common.encoding.HexString -import com.karasiq.shadowcloud.{ShadowCloud, ShadowCloudExtension} import com.karasiq.shadowcloud.api.{SCApiEncoding, SCApiUtils} import com.karasiq.shadowcloud.server.http.SCAkkaHttpRoutes import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.test.utils.TestUtils +import com.karasiq.shadowcloud.{ShadowCloud, ShadowCloudExtension} +import org.scalatest.{FlatSpec, Matchers, SequentialNestedSuiteExecution} + +import scala.concurrent.duration._ +import scala.reflect.ClassTag class SCHttpServerTest extends FlatSpec with Matchers with ScalatestRouteTest with SequentialNestedSuiteExecution { implicit val sc = ShadowCloud(system) @@ -26,9 +24,9 @@ class SCHttpServerTest extends FlatSpec with Matchers with ScalatestRouteTest wi protected val sc: ShadowCloudExtension = SCHttpServerTest.this.sc } - import akka.http.scaladsl.unmarshalling.Unmarshaller._ import TestServer._ import SCApiInternals.apiEncoding + import akka.http.scaladsl.unmarshalling.Unmarshaller._ implicit val routeTimeout = RouteTestTimeout(30 seconds) diff --git a/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServer.scala b/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServer.scala index 9f3769c0..aef0b3e0 100644 --- a/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServer.scala +++ b/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServer.scala @@ -10,7 +10,7 @@ import com.karasiq.shadowcloud.server.http.static.SCAkkaHttpStaticRoutes import com.karasiq.shadowcloud.server.http.webzinc.SCAkkaHttpWebZincRoutes import org.apache.commons.codec.binary.Hex -import scala.language.postfixOps + object SCAkkaHttpServer { def apply(sc: ShadowCloudExtension): SCAkkaHttpServer = { diff --git a/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServerLifecycleHook.scala b/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServerLifecycleHook.scala index 88113472..5c8c50dd 100644 --- a/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServerLifecycleHook.scala +++ b/server/src/main/scala/com/karasiq/shadowcloud/server/http/SCAkkaHttpServerLifecycleHook.scala @@ -5,7 +5,7 @@ import com.karasiq.shadowcloud.ShadowCloudExtension import com.karasiq.shadowcloud.providers.LifecycleHook import scala.concurrent.Await -import scala.language.postfixOps + private[http] final class SCAkkaHttpServerLifecycleHook(sc: ShadowCloudExtension) extends LifecycleHook { @volatile diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/SCFrontendMain.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/SCFrontendMain.scala index 6187c3f4..c04c0efd 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/SCFrontendMain.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/SCFrontendMain.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.webapp -import scala.language.postfixOps -import org.scalajs.jquery._ import com.karasiq.shadowcloud.webapp.components.SCFrontend import com.karasiq.shadowcloud.webapp.context.AppContext +import org.scalajs.jquery._ object SCFrontendMain { def main(args: Array[String]): Unit = { diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/common/AppComponents.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/common/AppComponents.scala index 04cacc43..3615e636 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/common/AppComponents.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/common/AppComponents.scala @@ -1,16 +1,13 @@ package com.karasiq.shadowcloud.webapp.components.common -import scala.language.postfixOps -import scalatags.JsDom.all.{a, href, onclick} import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ - -import org.scalajs.dom -import rx.{Rx, Var} - import com.karasiq.shadowcloud.webapp.context.AppContext import com.karasiq.taboverridejs.TabOverride +import org.scalajs.dom +import rx.{Rx, Var} +import scalaTags.all._ +import scalatags.JsDom.all.{a, href, onclick} object AppComponents { def iconLink(title: Modifier, icon: Modifier, md: Modifier*): ConcreteHtmlTag[dom.html.Anchor] = a( diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FileDownloadLink.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FileDownloadLink.scala index 05ad5185..0baad2cd 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FileDownloadLink.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FileDownloadLink.scala @@ -1,15 +1,13 @@ package com.karasiq.shadowcloud.webapp.components.file -import scala.language.postfixOps -import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ - -import rx.Rx +import com.karasiq.bootstrap.Bootstrap.default._ import com.karasiq.shadowcloud.model.File import com.karasiq.shadowcloud.webapp.context.{AppContext, FolderContext} import com.karasiq.shadowcloud.webapp.utils.RxUtils +import rx.Rx +import scalaTags.all._ object FileDownloadLink { def apply(file: File, useId: Boolean = false)(title: Modifier*) diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FilePreview.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FilePreview.scala index 5b5b7964..f11d39ff 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FilePreview.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/file/FilePreview.scala @@ -1,20 +1,17 @@ package com.karasiq.shadowcloud.webapp.components.file -import scala.concurrent.Future -import scala.language.postfixOps -import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue - -import rx.Rx -import rx.async._ - import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ - import com.karasiq.shadowcloud.metadata.Metadata import com.karasiq.shadowcloud.model.{File, FileId, RegionId} import com.karasiq.shadowcloud.webapp.components.file.FilePreview.PreviewVariants import com.karasiq.shadowcloud.webapp.components.metadata.MetadataView import com.karasiq.shadowcloud.webapp.context.AppContext +import rx.Rx +import rx.async._ +import scalaTags.all._ + +import scala.concurrent.Future +import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue object FilePreview { case class PreviewVariants(image: Option[Metadata.Thumbnail] = None, diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/FolderTree.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/FolderTree.scala index dd5203c8..77a586f3 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/FolderTree.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/FolderTree.scala @@ -15,7 +15,7 @@ import org.scalajs.dom.raw.DragEffect import rx._ import scalaTags.all._ -import scala.language.postfixOps + object FolderTree { def apply(path: Path)(implicit context: AppContext, folderContext: FolderContext, folderController: FolderController): FolderTree = { diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/PreviewsFileListItem.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/PreviewsFileListItem.scala index cb7dccec..2c4d3a87 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/PreviewsFileListItem.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/folder/PreviewsFileListItem.scala @@ -1,18 +1,19 @@ package com.karasiq.shadowcloud.webapp.components.folder -import scala.language.postfixOps -import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue -import rx._ -import rx.async._ + import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ import com.karasiq.common.memory.MemorySize import com.karasiq.shadowcloud.model.File import com.karasiq.shadowcloud.webapp.components.common.AppIcons -import com.karasiq.shadowcloud.webapp.components.file.{FileDownloadLink, FilePreview} import com.karasiq.shadowcloud.webapp.components.file.FilePreview.PreviewVariants +import com.karasiq.shadowcloud.webapp.components.file.{FileDownloadLink, FilePreview} import com.karasiq.shadowcloud.webapp.context.{AppContext, FolderContext} import com.karasiq.shadowcloud.webapp.utils.Blobs +import rx._ +import rx.async._ +import scalaTags.all._ + +import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue object PreviewsFileListItem { def apply(file: File, selectedFile: Var[Option[File]])(implicit context: AppContext, fc: FolderContext): PreviewsFileListItem = { diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataListView.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataListView.scala index 9a78ed8f..8c117959 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataListView.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataListView.scala @@ -1,18 +1,16 @@ package com.karasiq.shadowcloud.webapp.components.metadata -import scala.language.postfixOps -import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue - -import rx.{Rx, Var} -import rx.async._ import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ - import com.karasiq.shadowcloud.metadata.Metadata import com.karasiq.shadowcloud.model.{File, RegionId} import com.karasiq.shadowcloud.webapp.components.common.AppComponents import com.karasiq.shadowcloud.webapp.context.AppContext +import rx.async._ +import rx.{Rx, Var} +import scalaTags.all._ + +import scala.scalajs.concurrent.JSExecutionContext.Implicits.queue object MetadataListView { def apply(regionId: RegionId, file: File)(implicit context: AppContext): MetadataListView = { diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataView.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataView.scala index 2424e590..9269bc95 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataView.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/metadata/MetadataView.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.webapp.components.metadata -import scala.language.postfixOps -import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ +import com.karasiq.bootstrap.Bootstrap.default._ import com.karasiq.shadowcloud.metadata.Metadata import com.karasiq.shadowcloud.webapp.context.AppContext +import scalaTags.all._ object MetadataView { def thumbnail(preview: Metadata.Thumbnail): ThumbnailImage = { diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/themes/ThemeSelector.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/themes/ThemeSelector.scala index 3ed79f7d..8e6ce507 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/themes/ThemeSelector.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/components/themes/ThemeSelector.scala @@ -1,13 +1,11 @@ package com.karasiq.shadowcloud.webapp.components.themes -import scala.language.postfixOps -import rx.{Rx, Var} import com.karasiq.bootstrap.Bootstrap.default._ -import scalaTags.all._ - import com.karasiq.shadowcloud.webapp.utils.StorageBind +import rx.{Rx, Var} +import scalaTags.all._ object ThemeSelector { val Themes = Vector( diff --git a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/styles/FolderTreeStyles.scala b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/styles/FolderTreeStyles.scala index d12b6fd0..0a0bc569 100644 --- a/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/styles/FolderTreeStyles.scala +++ b/server/webapp/src/main/scala/com/karasiq/shadowcloud/webapp/styles/FolderTreeStyles.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.webapp.styles -import scala.language.postfixOps + import com.karasiq.shadowcloud.webapp.context.AppContext.CssSettings._ diff --git a/shell/src/main/scala/com/karasiq/shadowcloud/shell/RegionContext.scala b/shell/src/main/scala/com/karasiq/shadowcloud/shell/RegionContext.scala index 277d68cf..7265c6a1 100644 --- a/shell/src/main/scala/com/karasiq/shadowcloud/shell/RegionContext.scala +++ b/shell/src/main/scala/com/karasiq/shadowcloud/shell/RegionContext.scala @@ -1,18 +1,16 @@ package com.karasiq.shadowcloud.shell -import java.nio.file.{OpenOption, StandardOpenOption, Path ⇒ FSPath} - -import scala.concurrent.{Await, Future} -import scala.concurrent.duration.Duration -import scala.language.postfixOps +import java.nio.file.{OpenOption, StandardOpenOption, Path => FSPath} import akka.stream.IOResult import akka.stream.scaladsl.{FileIO, Sink} - import com.karasiq.shadowcloud.actors.RegionGC.GCStrategy import com.karasiq.shadowcloud.index.diffs.IndexDiff -import com.karasiq.shadowcloud.model.{File, Folder, Path, RegionId} import com.karasiq.shadowcloud.model.utils.GCReport +import com.karasiq.shadowcloud.model.{File, Folder, Path, RegionId} + +import scala.concurrent.duration.Duration +import scala.concurrent.{Await, Future} private[shell] object RegionContext { def apply(regionId: RegionId)(implicit context: ShellContext): RegionContext = { diff --git a/shell/src/main/scala/com/karasiq/shadowcloud/shell/Shell.scala b/shell/src/main/scala/com/karasiq/shadowcloud/shell/Shell.scala index b211cc9a..14cfac21 100644 --- a/shell/src/main/scala/com/karasiq/shadowcloud/shell/Shell.scala +++ b/shell/src/main/scala/com/karasiq/shadowcloud/shell/Shell.scala @@ -2,15 +2,14 @@ package com.karasiq.shadowcloud.shell import java.nio.file.Files -import scala.concurrent.Await -import scala.concurrent.duration.Duration -import scala.language.postfixOps - import com.karasiq.shadowcloud.actors.RegionSupervisor import com.karasiq.shadowcloud.config.RegionConfig import com.karasiq.shadowcloud.model.{RegionId, StorageId} import com.karasiq.shadowcloud.storage.props.StorageProps +import scala.concurrent.Await +import scala.concurrent.duration.Duration + object Shell extends ImplicitConversions { private[this] implicit val context = ShellContext() diff --git a/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellContext.scala b/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellContext.scala index ad79d218..92361f90 100644 --- a/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellContext.scala +++ b/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellContext.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.shell -import scala.language.postfixOps -import akka.actor.ActorSystem +import akka.actor.ActorSystem import com.karasiq.shadowcloud.ShadowCloud private[shell] object ShellContext { diff --git a/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellUtils.scala b/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellUtils.scala index da51a809..7194b6fd 100644 --- a/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellUtils.scala +++ b/shell/src/main/scala/com/karasiq/shadowcloud/shell/ShellUtils.scala @@ -1,15 +1,13 @@ package com.karasiq.shadowcloud.shell -import scala.collection.GenTraversableOnce -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps -import scala.util.{Failure, Success} - import akka.stream.IOResult - import com.karasiq.common.memory.MemorySize import com.karasiq.shadowcloud.model.{File, Folder} +import scala.collection.GenTraversableOnce +import scala.concurrent.{ExecutionContext, Future} +import scala.util.{Failure, Success} + private[shell] object ShellUtils { def toString(f: File): String = { s"${f.path.name} [${Integer.toHexString(f.hashCode())}] (${MemorySize(f.checksum.size)})" diff --git a/shell/src/main/scala/com/karasiq/shadowcloud/shell/StorageContext.scala b/shell/src/main/scala/com/karasiq/shadowcloud/shell/StorageContext.scala index ec6bcc1e..addb823d 100644 --- a/shell/src/main/scala/com/karasiq/shadowcloud/shell/StorageContext.scala +++ b/shell/src/main/scala/com/karasiq/shadowcloud/shell/StorageContext.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.shell +import com.karasiq.shadowcloud.model.utils.SyncReport +import com.karasiq.shadowcloud.model.{RegionId, StorageId} + import scala.concurrent.Await import scala.concurrent.duration.Duration -import scala.language.postfixOps - -import com.karasiq.shadowcloud.model.{RegionId, StorageId} -import com.karasiq.shadowcloud.model.utils.SyncReport private[shell] object StorageContext { def apply(storageId: StorageId)(implicit context: ShellContext): StorageContext = { diff --git a/shell/src/main/scala/com/karasiq/shadowcloud/test/Benchmark.scala b/shell/src/main/scala/com/karasiq/shadowcloud/test/Benchmark.scala index d06869a9..c41cb1b9 100644 --- a/shell/src/main/scala/com/karasiq/shadowcloud/test/Benchmark.scala +++ b/shell/src/main/scala/com/karasiq/shadowcloud/test/Benchmark.scala @@ -1,21 +1,19 @@ package com.karasiq.shadowcloud.test -import scala.concurrent.{Await, Promise} -import scala.concurrent.duration._ -import scala.language.postfixOps -import scala.util.{Failure, Random, Success} -import scala.util.control.NonFatal - -import akka.{Done, NotUsed} import akka.actor.ActorSystem import akka.stream.scaladsl.{Sink, Source} import akka.util.{ByteString, Timeout} - +import akka.{Done, NotUsed} import com.karasiq.common.memory.{MemorySize, SizeUnit} import com.karasiq.shadowcloud.ShadowCloud import com.karasiq.shadowcloud.model.crypto.{EncryptionMethod, HashingMethod} import com.karasiq.shadowcloud.streams.chunk.ChunkSplitter +import scala.concurrent.duration._ +import scala.concurrent.{Await, Promise} +import scala.util.control.NonFatal +import scala.util.{Failure, Random, Success} + private object Benchmark extends App { implicit val actorSystem = ActorSystem("shadowcloud-benchmark") implicit val timeout = Timeout(15 seconds) diff --git a/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/GDriveRepository.scala b/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/GDriveRepository.scala index 6101261b..3765035a 100644 --- a/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/GDriveRepository.scala +++ b/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/GDriveRepository.scala @@ -18,7 +18,6 @@ import com.karasiq.shadowcloud.streams.utils.AkkaStreamUtils import scala.concurrent.duration._ import scala.concurrent.{Await, ExecutionContext, Future} -import scala.language.postfixOps import scala.util.Try private[gdrive] object GDriveRepository { diff --git a/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/SCGDriveStore.scala b/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/SCGDriveStore.scala index ba29aac0..2aa78a93 100644 --- a/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/SCGDriveStore.scala +++ b/storage/gdrive/src/main/scala/com/karasiq/shadowcloud/storage/gdrive/SCGDriveStore.scala @@ -2,18 +2,16 @@ package com.karasiq.shadowcloud.storage.gdrive import java.{io, util} -import scala.collection.JavaConverters._ -import scala.concurrent.{Await, ExecutionContext, Future} -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.util.ByteString import com.google.api.client.util.IOUtils import com.google.api.client.util.store.{AbstractDataStore, AbstractDataStoreFactory, DataStore} - import com.karasiq.shadowcloud.ShadowCloudExtension import com.karasiq.shadowcloud.model.StorageId +import scala.collection.JavaConverters._ +import scala.concurrent.duration._ +import scala.concurrent.{Await, ExecutionContext, Future} + object SCGDriveStore { def apply(storageId: StorageId, userId: String)(implicit sc: ShadowCloudExtension, ec: ExecutionContext): SCGDriveStore = { new SCGDriveStore(storageId, userId) diff --git a/storage/mailrucloud/src/main/scala/com/karasiq/shadowcloud/mailrucloud/MailRuCloudProxyActor.scala b/storage/mailrucloud/src/main/scala/com/karasiq/shadowcloud/mailrucloud/MailRuCloudProxyActor.scala index 75c80d6f..4510f3c4 100644 --- a/storage/mailrucloud/src/main/scala/com/karasiq/shadowcloud/mailrucloud/MailRuCloudProxyActor.scala +++ b/storage/mailrucloud/src/main/scala/com/karasiq/shadowcloud/mailrucloud/MailRuCloudProxyActor.scala @@ -1,10 +1,6 @@ package com.karasiq.shadowcloud.mailrucloud -import scala.concurrent.Future -import scala.language.postfixOps - import akka.actor.Props - import com.karasiq.mailrucloud.api.MailCloudClient import com.karasiq.mailrucloud.api.MailCloudTypes.{CsrfToken, Nodes, Session} import com.karasiq.shadowcloud.ShadowCloud @@ -14,6 +10,8 @@ import com.karasiq.shadowcloud.model.StorageId import com.karasiq.shadowcloud.storage.props.StorageProps import com.karasiq.shadowcloud.storage.utils.StoragePluginBuilder +import scala.concurrent.Future + private[mailrucloud] object MailRuCloudProxyActor { final case class MailCloudSession(session: Session, token: CsrfToken, nodes: Nodes) diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/actors/SessionProxyActor.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/actors/SessionProxyActor.scala index a624c6fe..c051f303 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/actors/SessionProxyActor.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/actors/SessionProxyActor.scala @@ -2,14 +2,12 @@ package com.karasiq.shadowcloud.actors import java.util.concurrent.TimeoutException -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.{Actor, ActorContext, Props, ReceiveTimeout, Stash, Status} import akka.pattern.pipe - import com.karasiq.shadowcloud.actors.utils.SessionAuthenticator +import scala.concurrent.duration._ + private[shadowcloud] object SessionProxyActor { def props[Session](createAuthenticator: ActorContext ⇒ SessionAuthenticator[Session]): Props = { Props(new SessionProxyActor[Session](createAuthenticator)) diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/providers/StorageProvider.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/providers/StorageProvider.scala index 3d3e5377..8f1ea920 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/providers/StorageProvider.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/providers/StorageProvider.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.providers -import scala.language.postfixOps + import com.karasiq.shadowcloud.config.SerializedProps import com.karasiq.shadowcloud.storage.StoragePlugin diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProvider.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProvider.scala index 0a0cc410..54430d7e 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProvider.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StorageHealthProvider.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.storage -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import com.karasiq.shadowcloud.model.utils.StorageHealth import com.karasiq.shadowcloud.storage.props.StorageProps.Quota +import scala.concurrent.{ExecutionContext, Future} + trait StorageHealthProvider { def health: Future[StorageHealth] } diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StoragePlugin.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StoragePlugin.scala index e44a81d8..0c9eb39c 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StoragePlugin.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/StoragePlugin.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.storage -import scala.language.postfixOps -import akka.actor.{ActorContext, ActorRef} +import akka.actor.{ActorContext, ActorRef} import com.karasiq.shadowcloud.model.StorageId import com.karasiq.shadowcloud.storage.props.StorageProps trait StoragePlugin { def createStorage(storageId: StorageId, props: StorageProps)(implicit context: ActorContext): ActorRef -} \ No newline at end of file +} diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/props/StorageProps.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/props/StorageProps.scala index 683ae928..624a8eb6 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/props/StorageProps.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/props/StorageProps.scala @@ -12,7 +12,7 @@ import com.karasiq.shadowcloud.storage.props.StorageProps.{Address, Credentials, import com.karasiq.shadowcloud.utils.Utils import com.typesafe.config.Config -import scala.language.postfixOps + @SerialVersionUID(0L) final case class StorageProps( diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/CategorizedRepository.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/CategorizedRepository.scala index 213b3c91..fee6b8ac 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/CategorizedRepository.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/CategorizedRepository.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.storage.repository -import scala.language.postfixOps -import akka.stream.scaladsl.Source +import akka.stream.scaladsl.Source import com.karasiq.shadowcloud.storage.repository.wrappers.{PrefixedRepositoryWrapper, RepositoryKeyMapper} trait CategorizedRepository[CatKey, ItemKey] extends Repository[(CatKey, ItemKey)] { diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/RepositoryKeys.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/RepositoryKeys.scala index 20c61067..db7d9636 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/RepositoryKeys.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/RepositoryKeys.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.storage.repository -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.storage.repository.wrappers.LongSeqRepositoryWrapper diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/SeqRepository.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/SeqRepository.scala index 28c56029..2d50eb3a 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/SeqRepository.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/SeqRepository.scala @@ -1,10 +1,9 @@ package com.karasiq.shadowcloud.storage.repository -import scala.collection.immutable.TreeSet -import scala.language.postfixOps - import akka.stream.scaladsl.Source +import scala.collection.immutable.TreeSet + trait SeqRepository[Key] extends Repository[Key] { def sortedKeys(implicit ord: Ordering[Key]): Source[Key, Result] = { keys.fold(TreeSet.empty[Key])(_ + _).mapConcat(identity) @@ -17,4 +16,4 @@ trait SeqRepository[Key] extends Repository[Key] { def keysAfter(id: Key)(implicit ord: Ordering[Key]): Source[Key, Result] = { keys.filter(ord.gt(_, id)) } -} \ No newline at end of file +} diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryKeyMapper.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryKeyMapper.scala index 145d4de7..e4bce86c 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryKeyMapper.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryKeyMapper.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.storage.repository.wrappers -import scala.language.postfixOps -import scala.util.Try import akka.stream.scaladsl.{Flow, Keep, Sink, Source} - import com.karasiq.shadowcloud.storage.repository.Repository +import scala.util.Try + private[repository] class RepositoryKeyMapper[OldKey, NewKey](repository: Repository[OldKey], toNew: OldKey ⇒ NewKey, toOld: NewKey ⇒ OldKey) extends Repository[NewKey] { def keys: Source[NewKey, Result] = repository.keys diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryWrapper.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryWrapper.scala index 75f39a73..8586a8d5 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryWrapper.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/RepositoryWrapper.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.storage.repository.wrappers -import scala.language.postfixOps + import com.karasiq.shadowcloud.storage.repository.Repository @@ -10,4 +10,4 @@ private[repository] class RepositoryWrapper[Key](underlying: Repository[Key]) override def toString: String = { underlying.toString } -} \ No newline at end of file +} diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/SubRepositoriesWrapper.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/SubRepositoriesWrapper.scala index 54613b05..8dcaac5e 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/SubRepositoriesWrapper.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/repository/wrappers/SubRepositoriesWrapper.scala @@ -1,17 +1,15 @@ package com.karasiq.shadowcloud.storage.repository.wrappers -import scala.concurrent.{ExecutionContext, Future, Promise} -import scala.language.postfixOps -import scala.util.{Failure, Success} - import akka.NotUsed import akka.stream.scaladsl.{Flow, Keep, Sink, Source} - import com.karasiq.shadowcloud.storage.StorageIOResult import com.karasiq.shadowcloud.storage.repository.{CategorizedRepository, Repository} import com.karasiq.shadowcloud.storage.utils.StorageUtils import com.karasiq.shadowcloud.streams.utils.AkkaStreamUtils +import scala.concurrent.{ExecutionContext, Future, Promise} +import scala.util.{Failure, Success} + private[repository] final class SubRepositoriesWrapper[CatKey, Key](pathString: String, subRepositories: () ⇒ Source[(CatKey, Repository[Key]), NotUsed]) (implicit ec: ExecutionContext) diff --git a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/utils/StorageUtils.scala b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/utils/StorageUtils.scala index ae5a07f2..942c4d74 100644 --- a/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/utils/StorageUtils.scala +++ b/storage/parent/src/main/scala/com/karasiq/shadowcloud/storage/utils/StorageUtils.scala @@ -3,20 +3,18 @@ package com.karasiq.shadowcloud.storage.utils import java.io.FileNotFoundException import java.nio.file.FileAlreadyExistsException -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps -import scala.util.{Failure, Success} - -import akka.{Done, NotUsed} -import akka.stream.{IOResult ⇒ AkkaIOResult} import akka.stream.scaladsl.Flow +import akka.stream.{IOResult => AkkaIOResult} import akka.util.ByteString - +import akka.{Done, NotUsed} import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.exceptions.StorageException import com.karasiq.shadowcloud.model.Path import com.karasiq.shadowcloud.storage.StorageIOResult +import scala.concurrent.{ExecutionContext, Future} +import scala.util.{Failure, Success} + object StorageUtils { def toStoragePath(key: Any, root: Path = Path.root): Path = { def encodeNode(node: Any): String = node match { diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/ContainerActor.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/ContainerActor.scala index e4675e72..8f457827 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/ContainerActor.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/ContainerActor.scala @@ -2,11 +2,10 @@ package com.karasiq.shadowcloud.actors.utils import java.util.concurrent.TimeoutException -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.{Actor, ActorRef, ReceiveTimeout, Stash, Terminated} +import scala.concurrent.duration._ + private[actors] object ContainerActor { sealed trait Message case object Restart extends Message diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/MessageStatus.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/MessageStatus.scala index df268ad2..801cc2bc 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/MessageStatus.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/MessageStatus.scala @@ -1,10 +1,9 @@ package com.karasiq.shadowcloud.actors.utils -import scala.concurrent.{ExecutionContext, Future} -import scala.language.postfixOps - import akka.actor.{DeadLetterSuppression, Status} +import scala.concurrent.{ExecutionContext, Future} + trait MessageStatus[Key, Value] { sealed abstract class Status extends DeadLetterSuppression { def key: Key @@ -36,4 +35,4 @@ trait MessageStatus[Key, Value] { Future.failed(new IllegalArgumentException(value.toString)) } } -} \ No newline at end of file +} diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/PendingOperation.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/PendingOperation.scala index ec9dc0f8..7fd19006 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/PendingOperation.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/PendingOperation.scala @@ -3,7 +3,7 @@ package com.karasiq.shadowcloud.actors.utils import akka.actor.ActorRef import scala.collection.mutable -import scala.language.postfixOps + object PendingOperation { def apply[Key <: AnyRef]: PendingOperation[Key] = { diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/StringEventBus.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/StringEventBus.scala index af7a029a..8a854488 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/StringEventBus.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/actors/utils/StringEventBus.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.actors.utils -import scala.language.postfixOps + import akka.actor.ActorRef import akka.event.{ActorEventBus, LookupClassification} diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/StreamSerialization.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/StreamSerialization.scala index 859cf504..aa0f2de9 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/StreamSerialization.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/StreamSerialization.scala @@ -1,12 +1,12 @@ package com.karasiq.shadowcloud.serialization -import scala.language.postfixOps -import scala.reflect.ClassTag import akka.NotUsed import akka.stream.scaladsl.{Flow, Framing} import akka.util.ByteString +import scala.reflect.ClassTag + object StreamSerialization { def apply(module: SerializationModule): StreamSerialization = { new StreamSerialization(module) diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializationExtensionModule.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializationExtensionModule.scala index 50d0e9eb..35c56c5d 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializationExtensionModule.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializationExtensionModule.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.serialization.internal -import scala.language.postfixOps -import scala.reflect.ClassTag -import akka.serialization.{Serialization ⇒ AkkaSerialization} +import akka.serialization.{Serialization => AkkaSerialization} import akka.util.ByteString - import com.karasiq.shadowcloud.serialization.SerializationModule import com.karasiq.shadowcloud.utils.ByteStringUnsafe +import scala.reflect.ClassTag + private[serialization] final class AkkaSerializationExtensionModule(extension: AkkaSerialization) extends SerializationModule { def toBytes[T <: AnyRef](value: T): ByteString = { extension.serialize(value).map(ByteString.fromArrayUnsafe).get diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializerModule.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializerModule.scala index e2cc1fa8..d9e568e3 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializerModule.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/serialization/internal/AkkaSerializerModule.scala @@ -1,14 +1,13 @@ package com.karasiq.shadowcloud.serialization.internal -import scala.language.postfixOps -import scala.reflect.ClassTag -import akka.serialization.{Serializer ⇒ AkkaSerializer} +import akka.serialization.{Serializer => AkkaSerializer} import akka.util.ByteString - import com.karasiq.shadowcloud.serialization.SerializationModule import com.karasiq.shadowcloud.utils.ByteStringUnsafe +import scala.reflect.ClassTag + private[serialization] final class AkkaSerializerModule(serializer: AkkaSerializer) extends SerializationModule { def toBytes[T <: AnyRef](value: T): ByteString = { ByteString.fromArrayUnsafe(serializer.toBinary(value)) diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/storage/utils/ChunkKeyMapper.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/storage/utils/ChunkKeyMapper.scala index 9accef19..dac37fce 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/storage/utils/ChunkKeyMapper.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/storage/utils/ChunkKeyMapper.scala @@ -1,13 +1,12 @@ package com.karasiq.shadowcloud.storage.utils -import scala.language.postfixOps -import akka.util.ByteString -import com.typesafe.config.Config +import akka.util.ByteString import com.karasiq.common.configs.ConfigImplicits._ import com.karasiq.shadowcloud.model.{Chunk, ChunkId} import com.karasiq.shadowcloud.utils.{ProviderInstantiator, Utils} +import com.typesafe.config.Config private[shadowcloud] trait ChunkKeyMapper extends (Chunk ⇒ ByteString) { def apply(chunk: Chunk): ChunkId @@ -38,4 +37,4 @@ private[shadowcloud] object ChunkKeyMapper { def forConfig(config: Config): ChunkKeyMapper = { ProviderInstantiator.fromConfig[ChunkKeyMapper](config) } -} \ No newline at end of file +} diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/streams/utils/AkkaStreamUtils.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/streams/utils/AkkaStreamUtils.scala index 90d23662..cbba7c9c 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/streams/utils/AkkaStreamUtils.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/streams/utils/AkkaStreamUtils.scala @@ -11,7 +11,6 @@ import akka.{Done, NotUsed} import scala.annotation.unchecked.uncheckedVariance import scala.concurrent.duration.{Duration, FiniteDuration, _} import scala.concurrent.{Future, Promise} -import scala.language.postfixOps import scala.util.{Failure, Success} object AkkaStreamUtils { diff --git a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/utils/FileSystemUtils.scala b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/utils/FileSystemUtils.scala index 63f4ec03..91d7d59d 100644 --- a/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/utils/FileSystemUtils.scala +++ b/utils/.jvm/src/main/scala/com/karasiq/shadowcloud/utils/FileSystemUtils.scala @@ -4,13 +4,12 @@ import java.io.IOException import java.nio.file._ import java.nio.file.attribute.BasicFileAttributes -import scala.collection.mutable.{Set ⇒ MSet} -import scala.collection.JavaConverters._ -import scala.language.postfixOps - import akka.NotUsed -import akka.stream.{ActorAttributes, Attributes} import akka.stream.scaladsl.Source +import akka.stream.{ActorAttributes, Attributes} + +import scala.collection.JavaConverters._ +import scala.collection.mutable.{Set => MSet} private[shadowcloud] object FileSystemUtils { private[this] val forbiddenChars = """[<>:"/\\|?*]""".r diff --git a/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexMerger.scala b/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexMerger.scala index edbc89a6..0f9ec27a 100644 --- a/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexMerger.scala +++ b/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/IndexMerger.scala @@ -1,15 +1,14 @@ package com.karasiq.shadowcloud.storage.utils -import scala.collection.SortedMap -import scala.language.postfixOps - -import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex} import com.karasiq.shadowcloud.index.diffs.IndexDiff import com.karasiq.shadowcloud.index.utils.HasEmpty -import com.karasiq.shadowcloud.model.{SequenceNr, StorageId} +import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex} import com.karasiq.shadowcloud.model.utils.IndexScope +import com.karasiq.shadowcloud.model.{SequenceNr, StorageId} import com.karasiq.shadowcloud.storage.utils.internal.DefaultIndexMerger +import scala.collection.SortedMap + // TODO: UUID, time query private[shadowcloud] trait IndexMerger[T] extends HasEmpty { def lastSequenceNr: T @@ -142,4 +141,4 @@ private[shadowcloud] object IndexMerger { def timestamp(key: RegionKey) = key.timestamp } } -} \ No newline at end of file +} diff --git a/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/internal/DefaultIndexMerger.scala b/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/internal/DefaultIndexMerger.scala index 9bcb6249..044f3774 100644 --- a/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/internal/DefaultIndexMerger.scala +++ b/utils/src/main/scala/com/karasiq/shadowcloud/storage/utils/internal/DefaultIndexMerger.scala @@ -1,15 +1,14 @@ package com.karasiq.shadowcloud.storage.utils.internal -import scala.collection.{mutable, SortedMap} -import scala.language.postfixOps - import com.karasiq.shadowcloud.exceptions.SCExceptions -import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex} import com.karasiq.shadowcloud.index.diffs.IndexDiff import com.karasiq.shadowcloud.index.utils.{FolderDecider, FolderDiffDecider} +import com.karasiq.shadowcloud.index.{ChunkIndex, FolderIndex} import com.karasiq.shadowcloud.storage.utils.IndexMerger import com.karasiq.shadowcloud.utils.MergeUtil.Decider +import scala.collection.{SortedMap, mutable} + private[storage] final class DefaultIndexMerger[@specialized(Long) T](firstKey: T)(implicit ord: Ordering[T]) extends IndexMerger[T] { private[this] var _diffs = mutable.SortedMap.empty[T, IndexDiff] private[this] var _chunks = ChunkIndex.empty diff --git a/utils/src/main/scala/com/karasiq/shadowcloud/utils/DiffStats.scala b/utils/src/main/scala/com/karasiq/shadowcloud/utils/DiffStats.scala index fad5a3f7..8a8fde8a 100644 --- a/utils/src/main/scala/com/karasiq/shadowcloud/utils/DiffStats.scala +++ b/utils/src/main/scala/com/karasiq/shadowcloud/utils/DiffStats.scala @@ -1,6 +1,6 @@ package com.karasiq.shadowcloud.utils -import scala.language.postfixOps + import com.karasiq.common.memory.MemorySize import com.karasiq.shadowcloud.index.diffs.IndexDiff diff --git a/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpec.scala b/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpec.scala index 94f3ba25..422703c5 100644 --- a/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpec.scala +++ b/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpec.scala @@ -1,12 +1,11 @@ package com.karasiq.shadowcloud.test.utils -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.actor.ActorSystem import akka.testkit.{ImplicitSender, TestKit} -import org.scalatest.{BeforeAndAfterAll, Matchers, Suite} import org.scalatest.concurrent.ScalaFutures +import org.scalatest.{BeforeAndAfterAll, Matchers, Suite} + +import scala.concurrent.duration._ abstract class ActorSpec extends TestKit(ActorSystem("test")) with ImplicitSender with Suite with Matchers with ScalaFutures with BeforeAndAfterAll { diff --git a/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpecImplicits.scala b/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpecImplicits.scala index c4c58b16..9236c898 100644 --- a/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpecImplicits.scala +++ b/utils/test/.jvm/src/main/scala/com/karasiq/shadowcloud/test/utils/ActorSpecImplicits.scala @@ -1,11 +1,10 @@ package com.karasiq.shadowcloud.test.utils -import scala.concurrent.duration._ -import scala.language.postfixOps - import akka.stream.ActorMaterializer import akka.util.Timeout +import scala.concurrent.duration._ + trait ActorSpecImplicits { self: ActorSpec ⇒ implicit val defaultTimeout = Timeout(15 seconds) implicit val materializer = ActorMaterializer() diff --git a/utils/test/src/main/scala/com/karasiq/shadowcloud/test/utils/ByteStringImplicits.scala b/utils/test/src/main/scala/com/karasiq/shadowcloud/test/utils/ByteStringImplicits.scala index dca14db5..462b8e90 100644 --- a/utils/test/src/main/scala/com/karasiq/shadowcloud/test/utils/ByteStringImplicits.scala +++ b/utils/test/src/main/scala/com/karasiq/shadowcloud/test/utils/ByteStringImplicits.scala @@ -1,9 +1,8 @@ package com.karasiq.shadowcloud.test.utils -import scala.language.postfixOps -import akka.util.ByteString +import akka.util.ByteString import com.karasiq.common.encoding.HexString import com.karasiq.shadowcloud.model.Chunk