@@ -729,12 +729,12 @@ class MongoDBDatasetService @Inject() (
729729 if (file.isInstanceOf [models.File ]) {
730730 val theFile = file.asInstanceOf [models.File ]
731731 if (! theFile.thumbnail_id.isEmpty) {
732- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> theFile.thumbnail_id.get), false , false , WriteConcern .Safe )
732+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> theFile.thumbnail_id.get, " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
733733 return
734734 }
735735 }
736736 }
737- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> None ), false , false , WriteConcern .Safe )
737+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> None , " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
738738 }
739739 case None => Logger .debug(s " Dataset $datasetId not found " )
740740 }
@@ -749,12 +749,12 @@ class MongoDBDatasetService @Inject() (
749749 if (file.isInstanceOf [File ]) {
750750 val theFile = file.asInstanceOf [File ]
751751 if (! theFile.thumbnail_id.isEmpty) {
752- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> theFile.thumbnail_id.get), false , false , WriteConcern .Safe )
752+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> theFile.thumbnail_id.get, " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
753753 return
754754 }
755755 }
756756 }
757- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> None ), false , false , WriteConcern .Safe )
757+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> None , " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
758758 }
759759 case None => Logger .debug(" No dataset found with id " + datasetId)
760760 }
@@ -929,13 +929,13 @@ class MongoDBDatasetService @Inject() (
929929 val md = JSON .parse(json).asInstanceOf [DBObject ]
930930 Dataset .dao.collection.findOne(MongoDBObject (" _id" -> new ObjectId (id.stringify)), MongoDBObject (" metadata" -> 1 )) match {
931931 case None => {
932- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" metadata" -> md), false , false , WriteConcern .Safe )
932+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" metadata" -> md, " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
933933 }
934934 case Some (x) => {
935935 x.getAs[DBObject ](" metadata" ) match {
936936 case Some (map) => {
937937 val union = map.asInstanceOf [DBObject ] ++ md
938- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" metadata" -> union), false , false , WriteConcern .Safe )
938+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" metadata" -> union, " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
939939 }
940940 case None => Map .empty
941941 }
@@ -947,44 +947,46 @@ class MongoDBDatasetService @Inject() (
947947 Logger .debug(" Adding XML metadata to dataset " + id + " from file " + fileId + " : " + json)
948948 val md = JsonUtil .parseJSON(json).asInstanceOf [java.util.LinkedHashMap [String , Any ]].toMap
949949 Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
950- $addToSet(" datasetXmlMetadata" -> DatasetXMLMetadata .toDBObject(models.DatasetXMLMetadata (md, fileId.stringify))), false , false , WriteConcern .Safe )
950+ $addToSet(" datasetXmlMetadata" -> DatasetXMLMetadata .toDBObject(models.DatasetXMLMetadata (md, fileId.stringify)))
951+ ++ $set(" lastModifiedDate" -> new Date ()), false , false , WriteConcern .Safe )
951952 }
952953
953954 def removeXMLMetadata (id : UUID , fileId : UUID ) {
954955 Logger .debug(" Removing XML metadata belonging to file " + fileId + " from dataset " + id + " ." )
955- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $pull(" datasetXmlMetadata" -> MongoDBObject (" fileId" -> fileId.stringify)), false , false , WriteConcern .Safe )
956+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $pull(" datasetXmlMetadata" -> MongoDBObject (" fileId" -> fileId.stringify))
957+ ++ $set(" lastModifiedDate" -> new Date ()), false , false , WriteConcern .Safe )
956958 }
957959
958960 def addUserMetadata (id : UUID , json : String ) {
959961 Logger .debug(" Adding/modifying user metadata to dataset " + id + " : " + json)
960962 val md = com.mongodb.util.JSON .parse(json).asInstanceOf [DBObject ]
961- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" userMetadata" -> md), false , false , WriteConcern .Safe )
963+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" userMetadata" -> md, " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
962964 }
963965
964966 /** Change the metadataCount field for a dataset */
965967 def incrementMetadataCount (id : UUID , count : Long ) = {
966- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $inc(" metadataCount" -> count), false , false , WriteConcern .Safe )
968+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $inc(" metadataCount" -> count) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
967969 }
968970
969971 /**
970972 * Implementation of updateInformation defined in services/DatasetService.scala.
971973 */
972974 def updateInformation (id : UUID , description : String , name : String ) {
973975 val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
974- $set(" description" -> description, " name" -> name),
976+ $set(" description" -> description, " name" -> name, " lastModifiedDate " -> new Date () ),
975977 false , false , WriteConcern .Safe )
976978 }
977979
978980 def updateName (id : UUID , name : String ) {
979981 events.updateObjectName(id, name)
980982 val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
981- $set(" name" -> name),
983+ $set(" name" -> name, " lastModifiedDate " -> new Date () ),
982984 false , false , WriteConcern .Safe )
983985 }
984986
985987 def updateDescription (id : UUID , description : String ){
986988 val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
987- $set(" description" -> description),
989+ $set(" description" -> description, " lastModifiedDate " -> new Date () ),
988990 false , false , WriteConcern .Safe )
989991 }
990992
@@ -995,7 +997,7 @@ class MongoDBDatasetService @Inject() (
995997 // Don't allow duplicates
996998 if (Dataset .dao.find(MongoDBObject (" _id" -> new ObjectId (id.stringify)) ++ MongoDBObject (" creators" -> creator)).length == 0 ) {
997999 val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
998- $push(" creators" -> creator),
1000+ $push(" creators" -> creator) ++ $set( " lastModifiedDate " -> new Date ()) ,
9991001 false , false , WriteConcern .Safe )
10001002 }
10011003 }
@@ -1005,7 +1007,7 @@ class MongoDBDatasetService @Inject() (
10051007 */
10061008 def removeCreator (id : UUID , creator : String ) {
10071009 Dataset .dao.update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
1008- $pull(" creators" -> creator), false , false , WriteConcern .Safe )
1010+ $pull(" creators" -> creator) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
10091011 }
10101012
10111013 /**
@@ -1016,8 +1018,8 @@ class MongoDBDatasetService @Inject() (
10161018 if (Dataset .dao.find(MongoDBObject (" _id" -> new ObjectId (id.stringify)) ++ MongoDBObject (" creators" -> creator)).length != 0 ) {
10171019 removeCreator(id, creator);
10181020 Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
1019- $push(" creators" -> MongoDBObject (" $each" -> MongoDBList (creator), " $position" -> position)),
1020- false , false , WriteConcern .Safe )
1021+ $push(" creators" -> MongoDBObject (" $each" -> MongoDBList (creator), " $position" -> position))
1022+ ++ $set( " lastModifiedDate " -> new Date ()), false , false , WriteConcern .Safe )
10211023 }
10221024 }
10231025
@@ -1032,7 +1034,7 @@ class MongoDBDatasetService @Inject() (
10321034 def updateLicense (id : UUID , licenseType : String , rightsHolder : String , licenseText : String , licenseUrl : String , allowDownload : String ) {
10331035 val licenseData = models.LicenseData (m_licenseType = licenseType, m_rightsHolder = rightsHolder, m_licenseText = licenseText, m_licenseUrl = licenseUrl, m_allowDownload = allowDownload.toBoolean)
10341036 val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
1035- $set(" licenseData" -> LicenseData .toDBObject(licenseData)),
1037+ $set(" licenseData" -> LicenseData .toDBObject(licenseData), " lastModifiedDate " -> new Date () ),
10361038 false , false , WriteConcern .Safe )
10371039 }
10381040
@@ -1056,14 +1058,14 @@ class MongoDBDatasetService @Inject() (
10561058 if (! existingTags.contains(shortTag)) {
10571059 val tagObj = models.Tag (name = shortTag, userId = userIdStr, extractor_id = eid, created = createdDate)
10581060 tagsAdded += tagObj
1059- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $addToSet(" tags" -> Tag .toDBObject(tagObj)), false , false , WriteConcern .Safe )
1061+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $addToSet(" tags" -> Tag .toDBObject(tagObj)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
10601062 }
10611063 })
10621064 tagsAdded.toList
10631065 }
10641066
10651067 def setUserMetadataWasModified (id : UUID , wasModified : Boolean ) {
1066- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" userMetadataWasModified" -> Some (wasModified)), false , false , WriteConcern .Safe )
1068+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" userMetadataWasModified" -> Some (wasModified), " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
10671069 }
10681070
10691071 def findMetadataChangedDatasets (): List [Dataset ] = {
@@ -1083,7 +1085,8 @@ class MongoDBDatasetService @Inject() (
10831085
10841086 def removeTag (id : UUID , tagId : UUID ) {
10851087 Logger .debug(" Removing tag " + tagId)
1086- val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $pull(" tags" -> MongoDBObject (" _id" -> new ObjectId (tagId.stringify))), false , false , WriteConcern .Safe )
1088+ val result = Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $pull(" tags" -> MongoDBObject (" _id" -> new ObjectId (tagId.stringify)))
1089+ ++ $set(" lastModifiedDate" -> new Date ()), false , false , WriteConcern .Safe )
10871090 }
10881091
10891092 def removeTags (id : UUID , tags : List [String ]) {
@@ -1094,12 +1097,13 @@ class MongoDBDatasetService @Inject() (
10941097 // Only remove existing tags.
10951098 tags.intersect(existingTags).map {
10961099 tag =>
1097- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $pull(" tags" -> MongoDBObject (" name" -> tag)), false , false , WriteConcern .Safe )
1100+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $pull(" tags" -> MongoDBObject (" name" -> tag))
1101+ ++ $set(" lastModifiedDate" -> new Date ()), false , false , WriteConcern .Safe )
10981102 }
10991103 }
11001104
11011105 def removeAllTags (id : UUID ) {
1102- Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" tags" -> List ()), false , false , WriteConcern .Safe )
1106+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)), $set(" tags" -> List (), " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
11031107 }
11041108
11051109 // ---------- Tags related code ends ------------------
@@ -1349,28 +1353,28 @@ class MongoDBDatasetService @Inject() (
13491353 }
13501354
13511355 def addFile (datasetId : UUID , file : File ) {
1352- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $addToSet(" files" -> new ObjectId (file.id.stringify)), false , false , WriteConcern .Safe )
1356+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $addToSet(" files" -> new ObjectId (file.id.stringify)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
13531357 }
13541358
13551359 def addFolder (datasetId : UUID , folderId : UUID ) {
1356- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $addToSet(" folders" -> new ObjectId (folderId.stringify)), false , false , WriteConcern .Safe )
1360+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $addToSet(" folders" -> new ObjectId (folderId.stringify)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
13571361 }
13581362
13591363 def addCollection (datasetId : UUID , collectionId : UUID ) {
1360- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $addToSet(" collections" -> new ObjectId (collectionId.stringify)), false , false , WriteConcern .Safe )
1364+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $addToSet(" collections" -> new ObjectId (collectionId.stringify)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
13611365 }
13621366
13631367 def removeCollection (datasetId : UUID , collectionId : UUID ) {
1364- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $pull(" collections" -> new ObjectId (collectionId.stringify)), false , false , WriteConcern .Safe )
1368+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $pull(" collections" -> new ObjectId (collectionId.stringify)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
13651369 }
13661370
13671371 def removeFile (datasetId : UUID , fileId : UUID ) {
1368- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $pull(" files" -> new ObjectId (fileId.stringify)), false , false , WriteConcern .Safe )
1372+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $pull(" files" -> new ObjectId (fileId.stringify)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
13691373 removeXMLMetadata(datasetId, fileId)
13701374 }
13711375
13721376 def removeFolder (datasetId : UUID , folderId : UUID ) {
1373- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $pull(" folders" -> new ObjectId (folderId.stringify)), false , false , WriteConcern .Safe )
1377+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $pull(" folders" -> new ObjectId (folderId.stringify)) ++ $set( " lastModifiedDate " -> new Date ()) , false , false , WriteConcern .Safe )
13741378 }
13751379
13761380 def newThumbnail (datasetId : UUID ) {
@@ -1381,12 +1385,12 @@ class MongoDBDatasetService @Inject() (
13811385 if (file.isInstanceOf [models.File ]) {
13821386 val theFile = file.asInstanceOf [models.File ]
13831387 if (! theFile.thumbnail_id.isEmpty) {
1384- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> theFile.thumbnail_id.get), false , false , WriteConcern .Safe )
1388+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> theFile.thumbnail_id.get, " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
13851389 return
13861390 }
13871391 }
13881392 }
1389- Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> None ), false , false , WriteConcern .Safe )
1393+ Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)), $set(" thumbnail_id" -> None , " lastModifiedDate " -> new Date () ), false , false , WriteConcern .Safe )
13901394 }
13911395 case None =>
13921396 }
@@ -1452,27 +1456,27 @@ class MongoDBDatasetService @Inject() (
14521456 def addToSpace (datasetId : UUID , spaceId : UUID ): Unit = {
14531457 val result = Dataset .update(
14541458 MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)),
1455- $addToSet(" spaces" -> Some (new ObjectId (spaceId.stringify))),
1459+ $addToSet(" spaces" -> Some (new ObjectId (spaceId.stringify))) ++ $set( " lastModifiedDate " -> new Date ()) ,
14561460 false , false )
14571461 if (get(datasetId).exists(_.isTRIAL == true ) && spaces.get(spaceId).exists(_.isTrial == false )) {
14581462 Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)),
1459- $set(" status" -> DatasetStatus .DEFAULT .toString),
1463+ $set(" status" -> DatasetStatus .DEFAULT .toString, " lastModifiedDate " -> new Date () ),
14601464 false , false )
14611465 }
14621466 }
14631467
14641468 def removeFromSpace (datasetId : UUID , spaceId : UUID ): Unit = {
14651469 val result = Dataset .update(
14661470 MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)),
1467- $pull(" spaces" -> Some (new ObjectId (spaceId.stringify))),
1471+ $pull(" spaces" -> Some (new ObjectId (spaceId.stringify))) ++ $set( " lastModifiedDate " -> new Date ()) ,
14681472 false , false )
14691473
14701474 if (play.Play .application().configuration().getBoolean(" verifySpaces" )) {
14711475
14721476 get(datasetId) match {
14731477 case Some (d) if ! d.spaces.map(s => spaces.get(s)).flatten.exists(_.isTrial == false ) =>
14741478 Dataset .update(MongoDBObject (" _id" -> new ObjectId (datasetId.stringify)),
1475- $set(" status" -> DatasetStatus .TRIAL .toString),
1479+ $set(" status" -> DatasetStatus .TRIAL .toString, " lastModifiedDate " -> new Date () ),
14761480 false , false )
14771481 case _ =>
14781482 }
@@ -1646,13 +1650,13 @@ class MongoDBDatasetService @Inject() (
16461650 def incrementDownloads (id : UUID , user : Option [User ]) = {
16471651 Logger .debug(" updating downloads for dataset " + id.toString)
16481652 Dataset .update(MongoDBObject (" _id" -> new ObjectId (id.stringify)),
1649- $inc(" stats.downloads" -> 1 ) ++ $set(" stats.last_downloaded" -> new Date ), true , false , WriteConcern .Safe )
1653+ $inc(" stats.downloads" -> 1 ) ++ $set(" stats.last_downloaded" -> new Date , " lastModifiedDate " -> new Date () ), true , false , WriteConcern .Safe )
16501654
16511655 user match {
16521656 case Some (u) => {
16531657 Logger .debug(" updating downloads for user " + u.toString)
16541658 DatasetStats .update(MongoDBObject (" user_id" -> new ObjectId (u.id.stringify), " resource_id" -> new ObjectId (id.stringify), " resource_type" -> " dataset" ),
1655- $inc(" downloads" -> 1 ) ++ $set(" last_downloaded" -> new Date ), true , false , WriteConcern .Safe )
1659+ $inc(" downloads" -> 1 ) ++ $set(" last_downloaded" -> new Date , " lastModifiedDate " -> new Date () ), true , false , WriteConcern .Safe )
16561660 }
16571661 case None => {}
16581662 }
0 commit comments