File tree Expand file tree Collapse file tree 2 files changed +11
-5
lines changed
main/java/io/a2a/server/tasks
test/java/io/a2a/server/tasks Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change 55import static io .a2a .util .Utils .appendArtifactToTask ;
66
77import java .util .ArrayList ;
8+ import java .util .HashMap ;
89import java .util .List ;
10+ import java .util .Map ;
911
1012import io .a2a .spec .A2AServerException ;
1113import io .a2a .spec .Artifact ;
@@ -78,7 +80,9 @@ Task saveTaskEvent(TaskStatusUpdateEvent event) throws A2AServerException {
7880
7981 // Handle metadata from the event
8082 if (event .getMetadata () != null ) {
81- builder .metadata (event .getMetadata ());
83+ Map <String , Object > metadata = task .getMetadata () == null ? new HashMap <>() : new HashMap <>(task .getMetadata ());
84+ metadata .putAll (event .getMetadata ());
85+ builder .metadata (metadata );
8286 }
8387
8488 task = builder .build ();
Original file line number Diff line number Diff line change @@ -588,8 +588,8 @@ public void testSaveTaskEventMetadataUpdateNull() throws A2AServerException {
588588 }
589589
590590 @ Test
591- public void testSaveTaskEventMetadataUpdateOverwritesExisting () throws A2AServerException {
592- // Test that metadata update overwrites existing metadata
591+ public void testSaveTaskEventMetadataMergeExisting () throws A2AServerException {
592+ // Test that metadata update merges with existing metadata
593593 Map <String , Object > originalMetadata = new HashMap <>();
594594 originalMetadata .put ("original_key" , "original_value" );
595595
@@ -612,8 +612,10 @@ public void testSaveTaskEventMetadataUpdateOverwritesExisting() throws A2AServer
612612 taskManager .saveTaskEvent (event );
613613
614614 Task updatedTask = taskManager .getTask ();
615- assertEquals (newMetadata , updatedTask .getMetadata ());
616- assertNotEquals (originalMetadata , updatedTask .getMetadata ());
615+
616+ Map <String , Object > mergedMetadata = new HashMap <>(originalMetadata );
617+ mergedMetadata .putAll (newMetadata );
618+ assertEquals (mergedMetadata , updatedTask .getMetadata ());
617619 }
618620
619621 @ Test
You can’t perform that action at this time.
0 commit comments