From e1dbe80ccd6854cb623e57bccc68571ff5482565 Mon Sep 17 00:00:00 2001 From: snowgooseyk Date: Tue, 29 Sep 2015 00:03:49 +0900 Subject: [PATCH 1/2] Fix ArrayIndexOutOfBoundsException --- src/main/scala/gitbucket/core/service/IssuesService.scala | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/scala/gitbucket/core/service/IssuesService.scala b/src/main/scala/gitbucket/core/service/IssuesService.scala index 251abbd6b..62f7a0fb4 100644 --- a/src/main/scala/gitbucket/core/service/IssuesService.scala +++ b/src/main/scala/gitbucket/core/service/IssuesService.scala @@ -476,8 +476,11 @@ object IssuesService { def apply(filter: String, milestones: Map[String, Int]): IssueSearchCondition = { val conditions = filter.split("[  \t]+").map { x => val dim = x.split(":") - dim(0) -> dim(1) - }.groupBy(_._1).map { case (key, values) => + dim match { + case Array(_,_) => dim(0) -> dim(1) + case _ => "x" -> "x" + } + }.filter(_._1 != "x").groupBy(_._1).map { case (key, values) => key -> values.map(_._2).toSeq } From cf7aaa25cd39d934b23ec526d381e699359cac57 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Thu, 1 Oct 2015 10:22:55 +0900 Subject: [PATCH 2/2] (refs #915)Fixup --- .../scala/gitbucket/core/service/IssuesService.scala | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/scala/gitbucket/core/service/IssuesService.scala b/src/main/scala/gitbucket/core/service/IssuesService.scala index 62f7a0fb4..dca5931f6 100644 --- a/src/main/scala/gitbucket/core/service/IssuesService.scala +++ b/src/main/scala/gitbucket/core/service/IssuesService.scala @@ -474,13 +474,12 @@ object IssuesService { * Restores IssueSearchCondition instance from filter query. */ def apply(filter: String, milestones: Map[String, Int]): IssueSearchCondition = { - val conditions = filter.split("[  \t]+").map { x => - val dim = x.split(":") - dim match { - case Array(_,_) => dim(0) -> dim(1) - case _ => "x" -> "x" + val conditions = filter.split("[  \t]+").flatMap { x => + x.split(":") match { + case Array(key, value) => Some((key, value)) + case _ => None } - }.filter(_._1 != "x").groupBy(_._1).map { case (key, values) => + }.groupBy(_._1).map { case (key, values) => key -> values.map(_._2).toSeq }