package Ġcom . nail . servlet Ċ Ċ import Ġcom . nail . ipa . Bundle Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . io . IOException Ċ import Ġjava . lang . StringBuilder Ċ import Ġjava . util .* Ċ import Ġjavax . servlet . Servlet Exception Ċ import Ġjavax . servlet . http . HttpServlet Ċ import Ġjavax . servlet . http . HttpServletRequest Ċ import Ġjavax . servlet . http . HttpServletResponse Ċ Ċ class ĠLoad Build List Servlet ( private Ġval Ġart ef acts Folder : ĠFile ): ĠHttpServlet () Ġ{ ĊĊĠĠĠ Ġ@ Throws ( Servlet Exception :: class , ĠIOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdo Get ( request : ĠHttpServletRequest , Ġresponse : ĠHttpServletResponse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġidentifier Ġ= Ġrequest . getParameter (" identifier ") ĊĠĠĠĠĠĠĠ Ġresponse . contentType Ġ= Ġ" application / json ; Ġcharset = utf - 8 " ĊĠĠĠĠĠĠĠ Ġresponse . status Ġ= ĠHttpServletResponse . SC _ OK ĊĠĠĠĠĠĠĠ Ġval Ġout Ġ= Ġresponse . writer ĊĠĠĠĠĠĠĠ Ġout . print ( this . get Build List ( identifier )) ĊĠĠĠĠĠĠĠ Ġout . close () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Build List ( identifier : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp Folder Ġ= ĠFile ( art ef acts Folder , Ġidentifier ) ĊĠĠĠĠĠĠĠ Ġval Ġbuilds Folder Ġ= ĠFile ( app Folder , Ġ" builds ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! builds Folder . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfolders Ġ= Ġbuilds Folder . list Files (). to Mutable List () ĊĠĠĠĠĠĠĠ ĠCollections . sort ( folders , ĠComparator < File > Ġ{ Ġa , Ġb Ġ-> Ġ( a . lastModified () Ġ- Ġb . lastModified ()). toInt () Ġ}) ĊĊĠĠĠĠĠĠĠ Ġval ĠstringBuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ ĠstringBuilder . append ("[ ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġis First Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ; ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( folder Ġin Ġfolders ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ> Ġ 5 0 ) Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( folder . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is First ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis First Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuild File Ġ= ĠFile ( folder , Ġ" build . properties ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= ĠProperties () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperties . load ( FileInputStream ( build File )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle ( properties ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ( bundle . toJSON ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠstringBuilder . append (" ]") ĊĠĠĠĠĠĠĠ Ġreturn ĠstringBuilder . toString () ĊĠĠĠ Ġ} Ċ Ċ }