[ 
https://issues.apache.org/jira/browse/MRESOLVER-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784130#comment-17784130
 ] 

ASF GitHub Bot commented on MRESOLVER-302:
------------------------------------------

cstamas commented on code in PR #357:
URL: https://github.com/apache/maven-resolver/pull/357#discussion_r1386923270


##########
maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultRepositorySystemLifecycle.java:
##########
@@ -69,6 +74,59 @@ public void addOnSystemEndedHandler(Runnable handler) {
         onSystemEndedHandlers.add(0, handler);
     }
 
+    @Override
+    public void sessionStarted(CloseableRepositorySystemSession session) {
+        requireNonNull(session, "session cannot be null");
+        requireNotShutdown();
+        String sessionId = session.sessionId();
+        onSessionEndedHandlers.compute(sessionId, (k, v) -> {
+            if (v != null) {
+                throw new IllegalStateException("session instance already 
registered");
+            }
+            return new CopyOnWriteArrayList<>();
+        });
+    }
+
+    @Override
+    public void sessionEnded(CloseableRepositorySystemSession session) {
+        requireNonNull(session, "session cannot be null");
+        requireNotShutdown();
+        String sessionId = session.sessionId();
+        ArrayList<Runnable> handlers = new ArrayList<>();
+        onSessionEndedHandlers.compute(sessionId, (k, v) -> {
+            if (v == null) {
+                throw new IllegalStateException("session instance not 
registered");
+            }
+            handlers.addAll(v);

Review Comment:
   that would make `handlers` non-immutable, no? This is within lambda...





> Introduce onSession close
> -------------------------
>
>                 Key: MRESOLVER-302
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-302
>             Project: Maven Resolver
>          Issue Type: Improvement
>          Components: Resolver
>            Reporter: Tamas Cservenak
>            Assignee: Tamas Cservenak
>            Priority: Major
>             Fix For: 2.0.0
>
>
> The on session close callback, revisited.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to