@@ -687,24 +687,38 @@ public static MessageSendParams messageSendParams(io.a2a.grpc.SendMessageRequest
687687 return builder .build ();
688688 }
689689
690- public static TaskPushNotificationConfig taskPushNotificationConfig (io .a2a .grpc .CreateTaskPushNotificationConfigRequest request ) {
691- return taskPushNotificationConfig (request .getConfig ());
690+ public static TaskPushNotificationConfig taskPushNotificationConfig (io .a2a .grpc .CreateTaskPushNotificationConfigRequestOrBuilder request ) {
691+ return taskPushNotificationConfig (request .getConfig (), true );
692692 }
693693
694- public static TaskPushNotificationConfig taskPushNotificationConfig (io .a2a .grpc .TaskPushNotificationConfig config ) {
694+ public static TaskPushNotificationConfig taskPushNotificationConfig (io .a2a .grpc .TaskPushNotificationConfigOrBuilder config ) {
695+ return taskPushNotificationConfig (config , false );
696+ }
697+
698+ private static TaskPushNotificationConfig taskPushNotificationConfig (io .a2a .grpc .TaskPushNotificationConfigOrBuilder config , boolean create ) {
695699 String name = config .getName (); // "tasks/{id}/pushNotificationConfigs/{push_id}"
696700 String [] parts = name .split ("/" );
697- if (parts .length < 4 ) {
698- throw new IllegalArgumentException ("Invalid name format for TaskPushNotificationConfig: " + name );
701+ String configId = "" ;
702+ if (create ) {
703+ if (parts .length < 3 ) {
704+ throw new IllegalArgumentException ("Invalid name format for TaskPushNotificationConfig: " + name );
705+ }
706+ if (parts .length == 4 ) {
707+ configId = parts [3 ];
708+ }
709+ } else {
710+ if (parts .length < 4 ) {
711+ throw new IllegalArgumentException ("Invalid name format for TaskPushNotificationConfig: " + name );
712+ }
713+ configId = parts [3 ];
699714 }
700715 String taskId = parts [1 ];
701- String configId = parts [3 ];
702716 PushNotificationConfig pnc = pushNotification (config .getPushNotificationConfig (), configId );
703717 return new TaskPushNotificationConfig (taskId , pnc );
704718 }
705719
706720 public static GetTaskPushNotificationConfigParams getTaskPushNotificationConfigParams (io .a2a .grpc .GetTaskPushNotificationConfigRequest request ) {
707- String name = request .getName (); // "tasks/{id}/pushNotificationConfigs/{push_id}" or /tasks/{id}
721+ String name = request .getName (); // "tasks/{id}/pushNotificationConfigs/{push_id}"
708722 String [] parts = name .split ("/" );
709723 String taskId = parts [1 ];
710724 String configId ;
@@ -775,9 +789,6 @@ private static PushNotificationConfig pushNotification(io.a2a.grpc.PushNotificat
775789 }
776790
777791 private static PushNotificationConfig pushNotification (io .a2a .grpc .PushNotificationConfig pushNotification ) {
778- /*if (pushNotification == null) {
779- return null;
780- }*/
781792 return pushNotification (pushNotification , pushNotification .getId ());
782793 }
783794
0 commit comments