Skip to content

Commit 2c38704

Browse files
dbulahovstbischof
authored andcommitted
migrate propertyName restriction from string to list
Signed-off-by: dbulahov <[email protected]>
1 parent 0e5dae7 commit 2c38704

File tree

7 files changed

+25
-13
lines changed

7 files changed

+25
-13
lines changed

api/src/main/java/org/eclipse/daanse/xmla/api/discover/discover/properties/DiscoverPropertiesRestrictions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515

1616
import org.eclipse.daanse.xmla.api.annotation.Restriction;
1717

18-
import java.util.Optional;
18+
import java.util.List;
1919

2020
import static org.eclipse.daanse.xmla.api.common.properties.XsdType.XSD_STRING;
2121

2222
public 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
}

client/soapmessage/src/main/java/org/eclipse/daanse/xmla/client/soapmessage/DiscoverConsumers.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
import org.slf4j.LoggerFactory;
7676

7777
import java.util.function.Consumer;
78+
import java.util.stream.Collectors;
7879

7980
import static org.eclipse.daanse.xmla.api.discover.discover.datasources.DiscoverDataSourcesRestrictions.RESTRICTIONS_AUTHENTICATION_MODE;
8081
import 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);

client/soapmessage/src/test/java/org/eclipse/daanse/xmla/client/soapmessage/ClientDiscoverTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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;

model.record/src/main/java/org/eclipse/daanse/xmla/model/record/discover/discover/properties/DiscoverPropertiesRestrictionsR.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@
1313
*/
1414
package org.eclipse.daanse.xmla.model.record.discover.discover.properties;
1515

16+
import java.util.List;
1617
import java.util.Optional;
1718

1819
import 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
}

server/adapter.soapmessage/src/main/java/org/eclipse/daanse/xmla/server/adapter/soapmessage/Convert.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.time.Duration;
2020
import java.time.Instant;
2121
import java.util.ArrayList;
22+
import java.util.Arrays;
2223
import java.util.HashMap;
2324
import java.util.Iterator;
2425
import 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) {

server/jakarta.jws/src/main/java/org/eclipse/daanse/xmla/server/jakarta/jws/Convert.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static org.eclipse.daanse.xmla.server.jakarta.jws.ConvertorUtil.convertMessages;
2020

2121
import java.io.IOException;
22+
import java.util.Arrays;
2223
import java.util.List;
2324
import java.util.Map;
2425
import 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) {

server/tck/src/main/java/org/eclipse/daanse/xmla/server/tck/DiscoverRequestTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.eclipse.daanse.xmla.api.RequestMetaData;
1717
import org.eclipse.daanse.xmla.api.UserPrincipal;
1818
import org.eclipse.daanse.xmla.api.XmlaService;
19-
import org.eclipse.daanse.xmla.api.common.enums.ActionTypeEnum;
2019
import org.eclipse.daanse.xmla.api.common.enums.AuthenticationModeEnum;
2120
import org.eclipse.daanse.xmla.api.common.enums.ColumnOlapTypeEnum;
2221
import 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

0 commit comments

Comments
 (0)