remove jsNumber.as on sortBy in PostProcess.
Project: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/commit/828a4c7b Tree: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/tree/828a4c7b Diff: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/diff/828a4c7b Branch: refs/heads/feature/test_daewon Commit: 828a4c7bb92471eb56bd78a9c607966a9c263692 Parents: b5b8fcb Author: SteamShon <[email protected]> Authored: Mon Dec 21 14:16:09 2015 +0900 Committer: SteamShon <[email protected]> Committed: Mon Dec 21 14:16:09 2015 +0900 ---------------------------------------------------------------------- .../main/scala/com/kakao/s2graph/core/PostProcess.scala | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/828a4c7b/s2core/src/main/scala/com/kakao/s2graph/core/PostProcess.scala ---------------------------------------------------------------------- diff --git a/s2core/src/main/scala/com/kakao/s2graph/core/PostProcess.scala b/s2core/src/main/scala/com/kakao/s2graph/core/PostProcess.scala index 0c72beb..d39c87f 100644 --- a/s2core/src/main/scala/com/kakao/s2graph/core/PostProcess.scala +++ b/s2core/src/main/scala/com/kakao/s2graph/core/PostProcess.scala @@ -257,7 +257,7 @@ object PostProcess extends JSONParser { } yield column -> value } - val groupedEdges = + val groupedEdgesWithScoreSum = for { (groupByKeyVals, groupedRawEdges) <- grouped } yield { @@ -266,7 +266,7 @@ object PostProcess extends JSONParser { val edges = orderBy(query, orderByColumns, groupedRawEdges).map(_._1) //TODO: refactor this - if (query.returnAgg) + val js = if (query.returnAgg) Json.obj( "groupBy" -> Json.toJson(groupByKeyVals.toMap), "scoreSum" -> scoreSum, @@ -278,12 +278,14 @@ object PostProcess extends JSONParser { "scoreSum" -> scoreSum, "agg" -> Json.arr() ) + (js, scoreSum) } val groupedSortedJsons = query.limitOpt match { - case None => groupedEdges.toList.sortBy { jsVal => -1 * (jsVal \ "scoreSum").as[Double] } + case None => + groupedEdgesWithScoreSum.toList.sortBy { case (jsVal, scoreSum) => scoreSum * -1 }.map(_._1) case Some(limit) => - groupedEdges.toList.sortBy { jsVal => -1 * (jsVal \ "scoreSum").as[Double] } take (limit) + groupedEdgesWithScoreSum.toList.sortBy { case (jsVal, scoreSum) => scoreSum * -1 }.map(_._1).take(limit) } Json.obj(
