Skip to content

Commit e993504

Browse files
authored
Merge pull request #258 from clowder-framework/bugfix/257-collection-api-create
adding indexing for new collections created by the api route
2 parents 5a43f21 + 9076c09 commit e993504

File tree

2 files changed

+31
-19
lines changed

2 files changed

+31
-19
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ If any files are returned, you should check to see if these files affected and a
2424
- Updated swagger documentation
2525
- Return 404 not found when calling file/dataset/space api endpoints with an invalid ID [#251](https://github.com/clowder-framework/clowder/issues/251)
2626
- Line breaks in welcome message breaks swagger build [#187](https://github.com/clowder-framework/clowder/issues/187)
27+
- Collections created using api route are now indexed upon creation. [#257](https://github.com/clowder-framework/clowder/issues/257)
2728

2829
### Changed
2930
- Added more information when writing files to make sure files are written correctly

app/api/Collections.scala

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,28 @@
11
package api
22

3-
import java.io.{ByteArrayInputStream, InputStream, ByteArrayOutputStream}
4-
import java.security.{DigestInputStream, MessageDigest}
5-
import java.text.SimpleDateFormat
6-
import java.util.zip.{ZipEntry, ZipOutputStream, Deflater}
7-
83
import Iterators.RootCollectionIterator
9-
import _root_.util.JSONLD
4+
import util.SearchUtils
105
import api.Permission.Permission
11-
import org.apache.commons.codec.binary.Hex
6+
import controllers.Utils
7+
import models._
128
import play.api.Logger
139
import play.api.Play.current
14-
import models._
10+
import play.api.libs.concurrent.Execution.Implicits._
1511
import play.api.libs.iteratee.Enumerator
16-
import services._
17-
import play.api.libs.json._
18-
import play.api.libs.json.{JsObject, JsValue}
1912
import play.api.libs.json.Json.toJson
20-
import javax.inject.{ Singleton, Inject}
21-
import scala.collection.mutable.ListBuffer
22-
import scala.concurrent.{Future, ExecutionContext}
23-
import play.api.libs.concurrent.Execution.Implicits._
24-
import scala.util.parsing.json.JSONArray
25-
import scala.util.{Try, Success, Failure}
26-
import java.util.{Calendar, Date}
27-
import controllers.Utils
13+
import play.api.libs.json.{JsObject, JsValue, _}
14+
import services._
2815

16+
17+
import java.io.ByteArrayOutputStream
18+
import java.security.MessageDigest
19+
import java.util.zip.{Deflater, ZipOutputStream}
20+
import java.util.{Calendar, Date}
21+
import javax.inject.{Inject, Singleton}
2922
import scala.collection.immutable.List
23+
import scala.collection.mutable.ListBuffer
24+
import scala.concurrent.{ExecutionContext, Future}
25+
import scala.util.{Failure, Success, Try}
3026

3127

3228
/**
@@ -72,6 +68,13 @@ class Collections @Inject() (datasets: DatasetService,
7268
collections.addToRootSpaces(c.id, s.id)
7369
events.addSourceEvent(request.user, c.id, c.name, s.id, s.name, EventType.ADD_COLLECTION_SPACE.toString)
7470
})
71+
// index collection
72+
current.plugin[ElasticsearchPlugin].foreach{
73+
_.index(SearchUtils.getElasticsearchObject(c))
74+
}
75+
//Add to Events Table
76+
val option_user = userService.findByIdentity(identity)
77+
events.addObjectEvent(option_user, c.id, c.name, EventType.CREATE_COLLECTION.toString)
7578
Ok(toJson(Map("id" -> id)))
7679
}
7780
case None => Ok(toJson(Map("status" -> "error")))
@@ -598,6 +601,14 @@ class Collections @Inject() (datasets: DatasetService,
598601
events.addSourceEvent(request.user, c.id, c.name, s.id, s.name, EventType.ADD_COLLECTION_SPACE.toString)
599602
}
600603

604+
// index collection
605+
current.plugin[ElasticsearchPlugin].foreach{
606+
_.index(SearchUtils.getElasticsearchObject(c))
607+
}
608+
//Add to Events Table
609+
val option_user = userService.findByIdentity(identity)
610+
events.addObjectEvent(option_user, c.id, c.name, EventType.CREATE_COLLECTION.toString)
611+
601612
//do stuff with parent here
602613
(request.body \"parentId").asOpt[String] match {
603614
case Some(parentId) => {

0 commit comments

Comments
 (0)