@@ -375,15 +375,23 @@ class MongoDBSpaceService @Inject() (
375375 }
376376
377377 def decrementCollectionCounter (collection : UUID , space : UUID , decrement : Int ): Unit = {
378- ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" collectionCount" -> - 1 ), upsert= false , multi= false , WriteConcern .Safe )
378+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" collectionCount" -> - 1 * decrement), upsert= false , multi= false , WriteConcern .Safe )
379+ }
380+
381+ def incrementFileCounter (space : UUID , increment : Long ): Unit = {
382+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" fileCount" -> increment), upsert= false , multi= false , WriteConcern .Safe )
383+ }
384+
385+ def decrementFileCounter (space : UUID , decrement : Long ): Unit = {
386+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" fileCount" -> - 1 * decrement), upsert= false , multi= false , WriteConcern .Safe )
379387 }
380388
381389 def incrementSpaceBytes (space : UUID , increment : Long ): Unit = {
382390 ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> increment), upsert= false , multi= false , WriteConcern .Safe )
383391 }
384392
385393 def decrementSpaceBytes (space : UUID , decrement : Long ): Unit = {
386- ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> decrement), upsert= false , multi= false , WriteConcern .Safe )
394+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> - 1 * decrement), upsert= false , multi= false , WriteConcern .Safe )
387395 }
388396
389397 def removeCollection (collection: UUID , space: UUID ): Unit = {
@@ -398,11 +406,15 @@ class MongoDBSpaceService @Inject() (
398406 */
399407 def addDataset (dataset : UUID , space : UUID ): Unit = {
400408 log.debug(s " Space Service - Adding $dataset to $space" )
401- val datasetBytes = datasets.getBytesForDataset(dataset)
402- datasets.addToSpace(dataset, space)
403- ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> datasetBytes), upsert= false , multi= false , WriteConcern .Safe )
404- ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" datasetCount" -> 1 ), upsert= false , multi= false , WriteConcern .Safe )
405-
409+ datasets.get(dataset) match {
410+ case Some (x) => {
411+ val datasetBytes = datasets.getBytesForDataset(dataset)
412+ datasets.addToSpace(dataset, space)
413+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> datasetBytes), upsert= false , multi= false , WriteConcern .Safe )
414+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" fileCount" -> x.files.length), upsert= false , multi= false , WriteConcern .Safe )
415+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" datasetCount" -> 1 ), upsert= false , multi= false , WriteConcern .Safe )
416+ }
417+ }
406418 }
407419
408420 /**
@@ -414,9 +426,15 @@ class MongoDBSpaceService @Inject() (
414426 def removeDataset (dataset: UUID , space: UUID ): Unit = {
415427 log.debug(s " Space Service - removing $dataset from $space" )
416428 datasets.removeFromSpace(dataset, space)
417- val datasetBytes = datasets.getBytesForDataset(dataset)
418- ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> - datasetBytes), upsert= false , multi= false , WriteConcern .Safe )
419- ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" datasetCount" -> - 1 ), upsert= false , multi= false , WriteConcern .Safe )
429+ datasets.get(dataset) match {
430+ case Some (x) => {
431+ val datasetBytes = datasets.getBytesForDataset(dataset)
432+ datasets.addToSpace(dataset, space)
433+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" spaceBytes" -> - 1 * datasetBytes), upsert= false , multi= false , WriteConcern .Safe )
434+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" fileCount" -> - 1 * x.files.length), upsert= false , multi= false , WriteConcern .Safe )
435+ ProjectSpaceDAO .update(MongoDBObject (" _id" -> new ObjectId (space.stringify)), $inc(" datasetCount" -> - 1 ), upsert= false , multi= false , WriteConcern .Safe )
436+ }
437+ }
420438 }
421439
422440 /**
0 commit comments