66import com .sap .ai .sdk .orchestration .client .model .MaskingModuleConfig ;
77import com .sap .ai .sdk .orchestration .client .model .OutputFilteringConfig ;
88import com .sap .ai .sdk .orchestration .client .model .TemplatingModuleConfig ;
9+ import java .util .ArrayList ;
910import java .util .Arrays ;
11+ import java .util .Objects ;
1012import javax .annotation .Nonnull ;
1113import javax .annotation .Nullable ;
1214import lombok .AccessLevel ;
@@ -98,13 +100,18 @@ public OrchestrationModuleConfig withMaskingConfig(
98100 */
99101 @ Nonnull
100102 public OrchestrationModuleConfig withInputFiltering (
101- @ Nonnull final ContentFilter ... contentFilters ) {
103+ @ Nonnull final ContentFilter contentFilter , @ Nonnull final ContentFilter ... contentFilters ) {
102104
103- var filterConfigs = Arrays .stream (contentFilters ).map (ContentFilter ::createConfig ).toList ();
105+ final var allFilters = new ArrayList <ContentFilter >();
106+ allFilters .add (contentFilter );
107+ allFilters .addAll (Arrays .asList (contentFilters ));
104108
105- var inputFilter = new InputFilteringConfig ().filters (filterConfigs );
109+ final var filterConfigs =
110+ allFilters .stream ().filter (Objects ::nonNull ).map (ContentFilter ::createConfig ).toList ();
106111
107- var newFilteringConfig =
112+ final var inputFilter = new InputFilteringConfig ().filters (filterConfigs );
113+
114+ final var newFilteringConfig =
108115 new FilteringModuleConfig ()
109116 .input (inputFilter )
110117 .output (this .filteringConfig != null ? this .filteringConfig .getOutput () : null );
@@ -124,12 +131,18 @@ public OrchestrationModuleConfig withInputFiltering(
124131 */
125132 @ Nonnull
126133 public OrchestrationModuleConfig withOutputFiltering (
127- @ Nonnull final ContentFilter ... contentFilters ) {
134+ @ Nonnull final ContentFilter contentFilter , @ Nonnull final ContentFilter ... contentFilters ) {
135+
136+ final var allFilters = new ArrayList <ContentFilter >();
137+ allFilters .add (contentFilter );
138+ allFilters .addAll (Arrays .asList (contentFilters ));
139+
140+ final var filterConfigs =
141+ allFilters .stream ().filter (Objects ::nonNull ).map (ContentFilter ::createConfig ).toList ();
128142
129- var filterConfigs = Arrays .stream (contentFilters ).map (ContentFilter ::createConfig ).toList ();
130- var outputFilter = new OutputFilteringConfig ().filters (filterConfigs );
143+ final var outputFilter = new OutputFilteringConfig ().filters (filterConfigs );
131144
132- var newFilteringConfig =
145+ final var newFilteringConfig =
133146 new FilteringModuleConfig ()
134147 .output (outputFilter )
135148 .input (this .filteringConfig != null ? this .filteringConfig .getInput () : null );
0 commit comments