File tree Expand file tree Collapse file tree 7 files changed +25
-13
lines changed
api/src/main/java/org/eclipse/daanse/xmla/api/discover/discover/properties
main/java/org/eclipse/daanse/xmla/client/soapmessage
test/java/org/eclipse/daanse/xmla/client/soapmessage
model.record/src/main/java/org/eclipse/daanse/xmla/model/record/discover/discover/properties
adapter.soapmessage/src/main/java/org/eclipse/daanse/xmla/server/adapter/soapmessage
jakarta.jws/src/main/java/org/eclipse/daanse/xmla/server/jakarta/jws
tck/src/main/java/org/eclipse/daanse/xmla/server/tck Expand file tree Collapse file tree 7 files changed +25
-13
lines changed Original file line number Diff line number Diff line change 1515
1616import org .eclipse .daanse .xmla .api .annotation .Restriction ;
1717
18- import java .util .Optional ;
18+ import java .util .List ;
1919
2020import static org .eclipse .daanse .xmla .api .common .properties .XsdType .XSD_STRING ;
2121
2222public interface DiscoverPropertiesRestrictions {
2323 String RESTRICTIONS_PROPERTY_NAME = "PropertyName" ;
2424
2525 @ Restriction (name = RESTRICTIONS_PROPERTY_NAME , type = XSD_STRING )
26- Optional <String > propertyName ();
26+ List <String > propertyName ();
2727}
Original file line number Diff line number Diff line change 7575import org .slf4j .LoggerFactory ;
7676
7777import java .util .function .Consumer ;
78+ import java .util .stream .Collectors ;
7879
7980import static org .eclipse .daanse .xmla .api .discover .discover .datasources .DiscoverDataSourcesRestrictions .RESTRICTIONS_AUTHENTICATION_MODE ;
8081import static org .eclipse .daanse .xmla .api .discover .discover .datasources .DiscoverDataSourcesRestrictions .RESTRICTIONS_DATA_SOURCE_DESCRIPTION ;
@@ -673,7 +674,10 @@ static Consumer<SOAPMessage> createDiscoverPropertiesRequestConsumer(DiscoverPro
673674 discover .addChildElement (REQUEST_TYPE ).setTextContent (DISCOVER_PROPERTIES );
674675 SOAPElement restrictionList = discover .addChildElement (RESTRICTIONS ).addChildElement (RESTRICTION_LIST );
675676
676- dr .propertyName ().ifPresent (v -> addChildElement (restrictionList , RESTRICTIONS_PROPERTY_NAME , v ));
677+ if (dr .propertyName ().size () > 0 ) {
678+ String joinedStr = dr .propertyName ().stream ().collect (Collectors .joining ("\n " , "" , "" ));
679+ addChildElement (restrictionList , RESTRICTIONS_PROPERTY_NAME , joinedStr );
680+ }
677681
678682 SOAPElement propertyList = discover .addChildElement (PROPERTIES ).addChildElement (PROPERTY_LIST );
679683 addChildElementPropertyList (propertyList , properties );
Original file line number Diff line number Diff line change @@ -474,7 +474,7 @@ void testDiscoverProperties() throws Exception {
474474 PropertiesR properties = new PropertiesR ();
475475 properties .addProperty (PropertyListElementDefinition .DATA_SOURCE_INFO , "FoodMart" );
476476 properties .addProperty (PropertyListElementDefinition .CONTENT , "SchemaData" );
477- DiscoverPropertiesRestrictionsR restrictions = new DiscoverPropertiesRestrictionsR (Optional .of ("PropertyName" ));
477+ DiscoverPropertiesRestrictionsR restrictions = new DiscoverPropertiesRestrictionsR (List .of ("PropertyName" ));
478478
479479 RequestMetaData requestMetaData = null ;
480480 UserPrincipal userPrincipal = null ;
Original file line number Diff line number Diff line change 1313*/
1414package org .eclipse .daanse .xmla .model .record .discover .discover .properties ;
1515
16+ import java .util .List ;
1617import java .util .Optional ;
1718
1819import org .eclipse .daanse .xmla .api .discover .discover .properties .DiscoverPropertiesRestrictions ;
1920
20- public record DiscoverPropertiesRestrictionsR (Optional <String > propertyName ) implements DiscoverPropertiesRestrictions {
21+ public record DiscoverPropertiesRestrictionsR (List <String > propertyName ) implements DiscoverPropertiesRestrictions {
2122
2223}
Original file line number Diff line number Diff line change 1919import java .time .Duration ;
2020import java .time .Instant ;
2121import java .util .ArrayList ;
22+ import java .util .Arrays ;
2223import java .util .HashMap ;
2324import java .util .Iterator ;
2425import java .util .List ;
@@ -114,9 +115,12 @@ private Convert() {
114115
115116 public static DiscoverPropertiesRestrictionsR discoverPropertiesRestrictions (SOAPElement restriction ) {
116117 Map <String , String > m = getMapValuesByTag (restriction , RESTRICTION_LIST );
117- return new DiscoverPropertiesRestrictionsR (
118- Optional .ofNullable (m .get (PROPERTY_NAME ))
119- );
118+ String propertyName = m .get (PROPERTY_NAME );
119+ if (propertyName != null ) {
120+ String [] properties = propertyName .split ("\\ n" );
121+ return new DiscoverPropertiesRestrictionsR (Arrays .stream (properties ).map (s -> s .trim ()).filter (s -> s .length () > 0 ).toList ());
122+ }
123+ return new DiscoverPropertiesRestrictionsR (List .of ());
120124 }
121125
122126 public static PropertiesR propertiestoProperties (SOAPElement propertiesElement ) {
Original file line number Diff line number Diff line change 1919import static org .eclipse .daanse .xmla .server .jakarta .jws .ConvertorUtil .convertMessages ;
2020
2121import java .io .IOException ;
22+ import java .util .Arrays ;
2223import java .util .List ;
2324import java .util .Map ;
2425import java .util .Optional ;
@@ -324,8 +325,11 @@ private static DiscoverPropertiesRestrictionsR discoverPropertiesRestrictions(Di
324325 Map <String , String > map = restrictionsMap (requestWs );
325326
326327 String propertyName = map .get (DiscoverPropertiesRestrictions .RESTRICTIONS_PROPERTY_NAME );
327-
328- return new DiscoverPropertiesRestrictionsR (Optional .ofNullable (propertyName ));
328+ if (propertyName != null ) {
329+ String [] properties = propertyName .split ("\\ n" );
330+ return new DiscoverPropertiesRestrictionsR (Arrays .stream (properties ).map (s -> s .trim ()).filter (s -> s .length () > 0 ).toList ());
331+ }
332+ return new DiscoverPropertiesRestrictionsR (List .of ());
329333 }
330334
331335 public static DiscoverPropertiesRequest fromDiscoverProperties (Discover requestWs ) {
Original file line number Diff line number Diff line change 1616import org .eclipse .daanse .xmla .api .RequestMetaData ;
1717import org .eclipse .daanse .xmla .api .UserPrincipal ;
1818import org .eclipse .daanse .xmla .api .XmlaService ;
19- import org .eclipse .daanse .xmla .api .common .enums .ActionTypeEnum ;
2019import org .eclipse .daanse .xmla .api .common .enums .AuthenticationModeEnum ;
2120import org .eclipse .daanse .xmla .api .common .enums .ColumnOlapTypeEnum ;
2221import org .eclipse .daanse .xmla .api .common .enums .CubeSourceEnum ;
@@ -161,7 +160,7 @@ void testDiscoverPropertiesLocaleIdentifier(@InjectService XmlaService xmlaServi
161160 assertThat (p .format ()).isNotNull ().isNotPresent ();
162161 });
163162 assertThat (d .restrictions ()).isNotNull ()
164- .satisfies (r -> assertThat (r .propertyName ()).isNotNull (). isNotPresent () );
163+ .satisfies (r -> assertThat (r .propertyName ()).isNotNull ());
165164 });
166165 }
167166
@@ -205,7 +204,7 @@ void testDiscoverPropertiesRestricted(@InjectService XmlaService xmlaService) {
205204 assertThat (p .format ()).isNotNull ().isPresent ().contains (TABULAR );
206205 });
207206 assertThat (d .restrictions ()).isNotNull ()
208- .satisfies (r -> assertThat (r .propertyName ()).isNotNull ().isPresent (). contains ("ProviderVersion" ));
207+ .satisfies (r -> assertThat (r .propertyName ()).isNotNull ().contains ("ProviderVersion" ));
209208 });
210209 }
211210
You can’t perform that action at this time.
0 commit comments