Skip to content

Commit

Permalink
Apply auto-formatting rules
Browse files Browse the repository at this point in the history
  • Loading branch information
weco-bot committed May 22, 2019
1 parent cc145d2 commit 2d4ab66
Show file tree
Hide file tree
Showing 43 changed files with 532 additions and 306 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,32 @@ import akka.stream.ActorMaterializer
import com.amazonaws.services.s3.AmazonS3
import com.amazonaws.services.sqs.AmazonSQSAsync
import com.typesafe.config.Config
import uk.ac.wellcome.messaging.typesafe.{AlpakkaSqsWorkerConfigBuilder, CloudwatchMonitoringClientBuilder, SQSBuilder}
import uk.ac.wellcome.messaging.typesafe.{
AlpakkaSqsWorkerConfigBuilder,
CloudwatchMonitoringClientBuilder,
SQSBuilder
}
import uk.ac.wellcome.messaging.worker.monitoring.CloudwatchMonitoringClient
import uk.ac.wellcome.platform.archive.common.config.builders.{IngestUpdaterBuilder, OperationNameBuilder, OutgoingPublisherBuilder}
import uk.ac.wellcome.platform.archive.common.versioning.{DynamoIngestVersionManagerDao, IngestVersionManager, IngestVersionManagerDao}
import uk.ac.wellcome.platform.storage.bagauditor.services.{BagAuditor, BagAuditorWorker}
import uk.ac.wellcome.platform.archive.common.config.builders.{
IngestUpdaterBuilder,
OperationNameBuilder,
OutgoingPublisherBuilder
}
import uk.ac.wellcome.platform.archive.common.versioning.{
DynamoIngestVersionManagerDao,
IngestVersionManager,
IngestVersionManagerDao
}
import uk.ac.wellcome.platform.storage.bagauditor.services.{
BagAuditor,
BagAuditorWorker
}
import uk.ac.wellcome.platform.storage.bagauditor.versioning.VersionPicker
import uk.ac.wellcome.storage.typesafe.{DynamoBuilder, LockingBuilder, S3Builder}
import uk.ac.wellcome.storage.typesafe.{
DynamoBuilder,
LockingBuilder,
S3Builder
}
import uk.ac.wellcome.typesafe.WellcomeTypesafeApp
import uk.ac.wellcome.typesafe.config.builders.AkkaBuilder

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,18 @@ package uk.ac.wellcome.platform.storage.bagauditor.services
import java.time.Instant

import com.amazonaws.services.s3.AmazonS3
import uk.ac.wellcome.platform.archive.common.bagit.models.{BagInfo, ExternalIdentifier}
import uk.ac.wellcome.platform.archive.common.bagit.models.{
BagInfo,
ExternalIdentifier
}
import uk.ac.wellcome.platform.archive.common.IngestID
import uk.ac.wellcome.platform.archive.common.storage.StreamUnavailable
import uk.ac.wellcome.platform.archive.common.storage.models.{IngestFailed, IngestStepResult, IngestStepSucceeded, StorageSpace}
import uk.ac.wellcome.platform.archive.common.storage.models.{
IngestFailed,
IngestStepResult,
IngestStepSucceeded,
StorageSpace
}
import uk.ac.wellcome.platform.storage.bagauditor.models._
import uk.ac.wellcome.platform.archive.common.storage.services.S3BagLocator
import uk.ac.wellcome.platform.archive.common.storage.services.S3StreamableInstances._
Expand Down Expand Up @@ -82,8 +90,8 @@ class BagAuditor(versionPicker: VersionPicker)(implicit s3Client: AmazonS3) {
for {
bagInfoLocation <- s3BagLocator.locateBagInfo(bagRootLocation)
inputStream <- bagInfoLocation.toInputStream match {
case Left(e) => Failure(e)
case Right(None) => Failure(StreamUnavailable("No stream available!"))
case Left(e) => Failure(e)
case Right(None) => Failure(StreamUnavailable("No stream available!"))
case Right(Some(inputStream)) => Success(inputStream)
}
bagInfo <- BagInfo.create(inputStream)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,33 @@ import com.amazonaws.services.s3.AmazonS3
import com.amazonaws.services.sqs.AmazonSQSAsync
import com.typesafe.config.Config
import uk.ac.wellcome.json.JsonUtil._
import uk.ac.wellcome.messaging.typesafe.{AlpakkaSqsWorkerConfigBuilder, CloudwatchMonitoringClientBuilder, SQSBuilder}
import uk.ac.wellcome.messaging.typesafe.{
AlpakkaSqsWorkerConfigBuilder,
CloudwatchMonitoringClientBuilder,
SQSBuilder
}
import uk.ac.wellcome.messaging.worker.monitoring.CloudwatchMonitoringClient
import uk.ac.wellcome.platform.archive.bag_register.services.{BagRegisterWorker, Register}
import uk.ac.wellcome.platform.archive.common.config.builders.{IngestUpdaterBuilder, OperationNameBuilder, OutgoingPublisherBuilder}
import uk.ac.wellcome.platform.archive.bag_register.services.{
BagRegisterWorker,
Register
}
import uk.ac.wellcome.platform.archive.common.config.builders.{
IngestUpdaterBuilder,
OperationNameBuilder,
OutgoingPublisherBuilder
}
import uk.ac.wellcome.platform.archive.common.storage.models.StorageManifest
import uk.ac.wellcome.platform.archive.common.storage.services.{StorageManifestService, StorageManifestVHS}
import uk.ac.wellcome.platform.archive.common.storage.services.{
StorageManifestService,
StorageManifestVHS
}
import uk.ac.wellcome.storage.typesafe.{S3Builder, VHSBuilder}
import uk.ac.wellcome.storage.vhs.EmptyMetadata
import uk.ac.wellcome.typesafe.WellcomeTypesafeApp
import uk.ac.wellcome.typesafe.config.builders.AkkaBuilder

import scala.concurrent.ExecutionContext


object Main extends WellcomeTypesafeApp {
runWithConfig { config: Config =>
implicit val actorSystem: ActorSystem =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,24 @@ import akka.stream.ActorMaterializer
import com.amazonaws.services.s3.AmazonS3
import com.amazonaws.services.sqs.AmazonSQSAsync
import com.typesafe.config.Config
import uk.ac.wellcome.messaging.typesafe.{AlpakkaSqsWorkerConfigBuilder, CloudwatchMonitoringClientBuilder, SQSBuilder}
import uk.ac.wellcome.messaging.typesafe.{
AlpakkaSqsWorkerConfigBuilder,
CloudwatchMonitoringClientBuilder,
SQSBuilder
}
import uk.ac.wellcome.messaging.worker.models.Result
import uk.ac.wellcome.messaging.worker.monitoring.CloudwatchMonitoringClient
import uk.ac.wellcome.platform.archive.bagreplicator.config.ReplicatorDestinationConfig
import uk.ac.wellcome.platform.archive.bagreplicator.models.ReplicationSummary
import uk.ac.wellcome.platform.archive.bagreplicator.services.{BagReplicator, BagReplicatorWorker}
import uk.ac.wellcome.platform.archive.common.config.builders.{IngestUpdaterBuilder, OperationNameBuilder, OutgoingPublisherBuilder}
import uk.ac.wellcome.platform.archive.bagreplicator.services.{
BagReplicator,
BagReplicatorWorker
}
import uk.ac.wellcome.platform.archive.common.config.builders.{
IngestUpdaterBuilder,
OperationNameBuilder,
OutgoingPublisherBuilder
}
import uk.ac.wellcome.storage.typesafe.{LockingBuilder, S3Builder}
import uk.ac.wellcome.typesafe.WellcomeTypesafeApp
import uk.ac.wellcome.typesafe.config.builders.AkkaBuilder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ import com.amazonaws.services.sqs.AmazonSQSAsync
import com.amazonaws.services.sqs.model.{Message => SQSMessage}
import grizzled.slf4j.Logging
import uk.ac.wellcome.json.JsonUtil._
import uk.ac.wellcome.messaging.sqsworker.alpakka.{AlpakkaSQSWorker, AlpakkaSQSWorkerConfig}
import uk.ac.wellcome.messaging.sqsworker.alpakka.{
AlpakkaSQSWorker,
AlpakkaSQSWorkerConfig
}
import uk.ac.wellcome.messaging.worker.models.{NonDeterministicFailure, Result}
import uk.ac.wellcome.messaging.worker.monitoring.MonitoringClient
import uk.ac.wellcome.platform.archive.bagreplicator.config.ReplicatorDestinationConfig
Expand All @@ -21,7 +24,6 @@ import uk.ac.wellcome.storage.{LockDao, LockingService, ObjectLocation}
import uk.ac.wellcome.typesafe.Runnable
import cats.instances.future._


import scala.concurrent.{ExecutionContext, Future}

class BagReplicatorWorker(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,26 @@ import akka.stream.ActorMaterializer
import com.amazonaws.services.s3.AmazonS3
import com.amazonaws.services.sqs.AmazonSQSAsync
import com.typesafe.config.Config
import uk.ac.wellcome.messaging.typesafe.{AlpakkaSqsWorkerConfigBuilder, CloudwatchMonitoringClientBuilder, SQSBuilder}
import uk.ac.wellcome.messaging.typesafe.{
AlpakkaSqsWorkerConfigBuilder,
CloudwatchMonitoringClientBuilder,
SQSBuilder
}
import uk.ac.wellcome.messaging.worker.monitoring.MonitoringClient
import uk.ac.wellcome.platform.archive.bagverifier.services.{BagVerifier, BagVerifierWorker}
import uk.ac.wellcome.platform.archive.bagverifier.services.{
BagVerifier,
BagVerifierWorker
}
import uk.ac.wellcome.platform.archive.common.bagit.services.BagService
import uk.ac.wellcome.platform.archive.common.config.builders.{IngestUpdaterBuilder, OperationNameBuilder, OutgoingPublisherBuilder}
import uk.ac.wellcome.platform.archive.common.storage.services.{S3ObjectVerifier, S3Resolvable}
import uk.ac.wellcome.platform.archive.common.config.builders.{
IngestUpdaterBuilder,
OperationNameBuilder,
OutgoingPublisherBuilder
}
import uk.ac.wellcome.platform.archive.common.storage.services.{
S3ObjectVerifier,
S3Resolvable
}
import uk.ac.wellcome.storage.typesafe.S3Builder
import uk.ac.wellcome.typesafe.WellcomeTypesafeApp
import uk.ac.wellcome.typesafe.config.builders.AkkaBuilder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@ package uk.ac.wellcome.platform.archive.bagverifier.models
import java.time.Instant

import uk.ac.wellcome.platform.archive.common.operation.models.Summary
import uk.ac.wellcome.platform.archive.common.verify.{VerificationFailure, VerificationIncomplete, VerificationResult, VerificationSuccess}
import uk.ac.wellcome.platform.archive.common.verify.{
VerificationFailure,
VerificationIncomplete,
VerificationResult,
VerificationSuccess
}
import uk.ac.wellcome.storage.ObjectLocation

sealed trait VerificationSummary extends Summary {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ import java.time.Instant
import grizzled.slf4j.Logging
import uk.ac.wellcome.platform.archive.bagverifier.models._
import uk.ac.wellcome.platform.archive.common.bagit.models._
import uk.ac.wellcome.platform.archive.common.bagit.services.{BagService, BagVerifiable}
import uk.ac.wellcome.platform.archive.common.bagit.services.{
BagService,
BagVerifiable
}
import uk.ac.wellcome.platform.archive.common.storage.Resolvable
import uk.ac.wellcome.platform.archive.common.storage.models._
import uk.ac.wellcome.platform.archive.common.verify.Verification._
Expand All @@ -16,27 +19,30 @@ import scala.util.Try

class BagVerifier()(
implicit
bagService: BagService,
resolvable: Resolvable[ObjectLocation],
verifier: Verifier
bagService: BagService,
resolvable: Resolvable[ObjectLocation],
verifier: Verifier
) extends Logging {

def verify(root: ObjectLocation) = Try {
implicit val bagVerifiable = new BagVerifiable(root)
val startTime = Instant.now()

bagService.retrieve(root) match {
case Left(e) => IngestFailed(VerificationSummary.incomplete(root, e, startTime), e)
case Right(bag) => VerificationSummary.create(root, bag.verify, startTime) match {
case success@VerificationSuccessSummary(_, _, _, _) =>
IngestStepSucceeded(success)
case failure@VerificationFailureSummary(_, _, _, _) =>
IngestFailed(failure, InvalidBag(bag))
case incomplete@VerificationIncompleteSummary(_, _, _, _) =>
IngestFailed(incomplete, incomplete.e)
}
case Left(e) =>
IngestFailed(VerificationSummary.incomplete(root, e, startTime), e)
case Right(bag) =>
VerificationSummary.create(root, bag.verify, startTime) match {
case success @ VerificationSuccessSummary(_, _, _, _) =>
IngestStepSucceeded(success)
case failure @ VerificationFailureSummary(_, _, _, _) =>
IngestFailed(failure, InvalidBag(bag))
case incomplete @ VerificationIncompleteSummary(_, _, _, _) =>
IngestFailed(incomplete, incomplete.e)
}
}
}
}

case class InvalidBag(bag: Bag) extends Throwable(s"Invalid bag: ${bag.info.externalIdentifier}")
case class InvalidBag(bag: Bag)
extends Throwable(s"Invalid bag: ${bag.info.externalIdentifier}")
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ import com.amazonaws.services.sqs.AmazonSQSAsync
import grizzled.slf4j.Logging
import org.apache.commons.codec.digest.MessageDigestAlgorithms
import uk.ac.wellcome.json.JsonUtil._
import uk.ac.wellcome.messaging.sqsworker.alpakka.{AlpakkaSQSWorker, AlpakkaSQSWorkerConfig}
import uk.ac.wellcome.messaging.sqsworker.alpakka.{
AlpakkaSQSWorker,
AlpakkaSQSWorkerConfig
}
import uk.ac.wellcome.messaging.worker.models.Result
import uk.ac.wellcome.messaging.worker.monitoring.MonitoringClient
import uk.ac.wellcome.platform.archive.bagverifier.models.VerificationSummary
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ class BagVerifierFeatureTest
assertTopicReceivesIngestUpdates(
payload.ingestId,
ingestTopic) { ingestUpdates =>

debug(s"Got $ingestUpdates")

ingestUpdates.size shouldBe 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,19 @@ import uk.ac.wellcome.messaging.fixtures.SNS.Topic
import uk.ac.wellcome.messaging.fixtures.SQS
import uk.ac.wellcome.messaging.fixtures.SQS.Queue
import uk.ac.wellcome.messaging.fixtures.worker.AlpakkaSQSWorkerFixtures
import uk.ac.wellcome.platform.archive.bagverifier.services.{BagVerifier, BagVerifierWorker}
import uk.ac.wellcome.platform.archive.bagverifier.services.{
BagVerifier,
BagVerifierWorker
}
import uk.ac.wellcome.platform.archive.common.bagit.services.BagService
import uk.ac.wellcome.platform.archive.common.fixtures.{MonitoringClientFixture, OperationFixtures}
import uk.ac.wellcome.platform.archive.common.storage.services.{S3ObjectVerifier, S3Resolvable}
import uk.ac.wellcome.platform.archive.common.fixtures.{
MonitoringClientFixture,
OperationFixtures
}
import uk.ac.wellcome.platform.archive.common.storage.services.{
S3ObjectVerifier,
S3Resolvable
}

import scala.concurrent.ExecutionContext.Implicits.global

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package uk.ac.wellcome.platform.archive.bagverifier.fixtures

import uk.ac.wellcome.platform.archive.common.fixtures.RandomThings
import uk.ac.wellcome.platform.archive.common.storage.services.{S3ObjectVerifier, S3Resolvable}
import uk.ac.wellcome.platform.archive.common.storage.services.{
S3ObjectVerifier,
S3Resolvable
}
import uk.ac.wellcome.platform.archive.common.verify._
import uk.ac.wellcome.storage.ObjectLocation
import uk.ac.wellcome.storage.fixtures.S3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,21 @@ package uk.ac.wellcome.platform.archive.bagverifier.services
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.{FunSpec, Matchers, OptionValues, TryValues}
import uk.ac.wellcome.platform.archive.bagverifier.fixtures.BagVerifierFixtures
import uk.ac.wellcome.platform.archive.bagverifier.models.{VerificationFailureSummary, VerificationIncompleteSummary, VerificationSuccessSummary}
import uk.ac.wellcome.platform.archive.bagverifier.models.{
VerificationFailureSummary,
VerificationIncompleteSummary,
VerificationSuccessSummary
}
import uk.ac.wellcome.platform.archive.common.bagit.services.BagUnavailable
import uk.ac.wellcome.platform.archive.common.fixtures.{BagLocationFixtures, FileEntry}
import uk.ac.wellcome.platform.archive.common.fixtures.{
BagLocationFixtures,
FileEntry
}
import uk.ac.wellcome.platform.archive.common.storage.LocationNotFound
import uk.ac.wellcome.platform.archive.common.storage.models.{IngestFailed, IngestStepSucceeded}
import uk.ac.wellcome.platform.archive.common.storage.models.{
IngestFailed,
IngestStepSucceeded
}
import uk.ac.wellcome.platform.archive.common.verify.FailedChecksumNoMatch

class BagVerifierTest
Expand Down Expand Up @@ -190,7 +200,8 @@ class BagVerifierTest
val error = summary.e

error shouldBe a[BagUnavailable]
error.getMessage should include("Error loading tagmanifest-sha256.txt")
error.getMessage should include(
"Error loading tagmanifest-sha256.txt")
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ package uk.ac.wellcome.platform.archive.bagverifier.services
import com.amazonaws.services.s3.model.PutObjectResult
import org.scalatest.{EitherValues, FunSpec, Matchers}
import uk.ac.wellcome.platform.archive.bagverifier.fixtures.VerifyFixture
import uk.ac.wellcome.platform.archive.common.storage.{LocationError, LocationNotFound}
import uk.ac.wellcome.platform.archive.common.storage.{
LocationError,
LocationNotFound
}
import uk.ac.wellcome.platform.archive.common.verify._
import uk.ac.wellcome.storage.ObjectLocation

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package uk.ac.wellcome.platform.archive.common.bagit.models

case class Bag(
info: BagInfo,
manifest: BagManifest,
tagManifest: BagManifest,
fetch: Option[BagFetch] = None
)
info: BagInfo,
manifest: BagManifest,
tagManifest: BagManifest,
fetch: Option[BagFetch] = None
)
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import scala.util.Try
import scala.util.matching.Regex

case class BagFetch(
files: List[BagFetchEntry]
)

files: List[BagFetchEntry]
)

object BagFetch {

/** Read/write the contents of a Fetch File as defined by RFC 8493 § 2.2.3.
*
* Relevant notes:
Expand Down
Loading

0 comments on commit 2d4ab66

Please sign in to comment.