File tree Expand file tree Collapse file tree 4 files changed +23
-4
lines changed
resources/webapp/WEB-INF/views Expand file tree Collapse file tree 4 files changed +23
-4
lines changed Original file line number Diff line number Diff line change @@ -32,4 +32,5 @@ public interface TaskStore {
3232 CommunicationTask get (Integer taskId );
3333 Integer add (CommunicationTask task );
3434 void clearFinished ();
35+ void clearUnfinished ();
3536}
Original file line number Diff line number Diff line change 2626import org .springframework .stereotype .Repository ;
2727
2828import java .util .List ;
29+ import java .util .Map ;
2930import java .util .concurrent .ConcurrentHashMap ;
3031import java .util .concurrent .atomic .AtomicInteger ;
32+ import java .util .function .Predicate ;
3133import java .util .stream .Collectors ;
3234
3335/**
@@ -79,9 +81,18 @@ public Integer add(CommunicationTask task) {
7981
8082 @ Override
8183 public void clearFinished () {
84+ removeTasks (entry -> entry .getValue ().isFinished ());
85+ }
86+
87+ @ Override
88+ public void clearUnfinished () {
89+ removeTasks (entry -> !entry .getValue ().isFinished ());
90+ }
91+
92+ private void removeTasks (Predicate <Map .Entry <Integer , CommunicationTask >> filterPredicate ) {
8293 lookupTable .entrySet ()
8394 .stream ()
84- .filter (entry -> entry . getValue (). isFinished () )
95+ .filter (filterPredicate )
8596 .forEach (entry -> lookupTable .remove (entry .getKey ()));
8697 }
8798}
Original file line number Diff line number Diff line change @@ -59,12 +59,18 @@ public String getOverview(Model model) {
5959 return "tasks" ;
6060 }
6161
62- @ RequestMapping (method = RequestMethod .POST )
62+ @ RequestMapping (params = "finished" , method = RequestMethod .POST )
6363 public String clearFinished (Model model ) {
6464 taskStore .clearFinished ();
6565 return getOverview (model );
6666 }
6767
68+ @ RequestMapping (params = "unfinished" , method = RequestMethod .POST )
69+ public String clearUnfinished (Model model ) {
70+ taskStore .clearUnfinished ();
71+ return getOverview (model );
72+ }
73+
6874 @ RequestMapping (value = TASK_ID_PATH , method = RequestMethod .GET )
6975 public String getTaskDetails (@ PathVariable ("taskId" ) Integer taskId , Model model ) {
7076 CommunicationTask r = taskStore .get (taskId );
Original file line number Diff line number Diff line change 2929 Request Tasks <a class =" tooltip" href =" #" ><img src =" ${ ctxPath } /static/images/info.png" style =" vertical-align :middle " ><span >Click on Task IDs for detailed task information.</span ></a >
3030 </span ></section >
3131 <form:form action =" ${ ctxPath } /manager/operations/tasks" >
32- <input type =" submit" value =" Delete Finished" />
32+ <input type =" submit" name =" finished" value =" Delete Finished" />
33+ <input type =" submit" name =" unfinished" value =" Delete Unfinished" />
3334 </form:form >
3435 <br >
3536 <table class =" res" >
5455 </tbody >
5556 </table >
5657</div >
57- <%@ include file =" 00-footer.jsp" %>
58+ <%@ include file =" 00-footer.jsp" %>
You can’t perform that action at this time.
0 commit comments