Skip to content

Commit a7a8967

Browse files
dbulahovstbischof
authored andcommitted
fix Power BI xml response changing
Signed-off-by: dbulahov <[email protected]>
1 parent 70317af commit a7a8967

File tree

8 files changed

+21
-14
lines changed

8 files changed

+21
-14
lines changed

api/src/main/java/org/eclipse/daanse/xmla/api/common/enums/ItemTypeEnum.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ public enum ItemTypeEnum {
2525

2626
STRING("xsd:string"),
2727

28-
DATETIME("xsd:dateTime"),
28+
DATETIME("xsd:dateTime"),
2929

30-
UNSIGNEDSHOT("xsd:unsignedShort"),
30+
UNSIGNEDSHOT("xsd:unsignedShort"),
3131

32-
UNSIGNEDINT("xsd:xsd:unsignedInt"),
32+
UNSIGNEDINT("xsd:unsignedInt"),
3333

34-
BOOLEAN("xsd:boolean");
34+
BOOLEAN("xsd:boolean");
3535

3636
private final String value;
3737

api/src/main/java/org/eclipse/daanse/xmla/api/discover/discover/csdlmetadata/DiscoverCsdlMetaDataRestrictions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ public interface DiscoverCsdlMetaDataRestrictions {
2727
@Restriction(name = "PERSPECTIVE_NAME", type = XSD_STRING, order = 1)
2828
Optional<String> perspectiveName();
2929

30-
@Restriction(name = "VERSION", type = XSD_STRING)
30+
@Restriction(name = "VERSION", type = XSD_STRING, order = 2)
3131
Optional<String> version();
3232
}

api/src/main/java/org/eclipse/daanse/xmla/api/mddataset/RowSetRowItem.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public interface RowSetRowItem {
2121

2222
String tagName();
2323

24+
String fieldName();
25+
2426
String value();
2527

2628
Optional<ItemTypeEnum> type();

model.record/src/main/java/org/eclipse/daanse/xmla/model/record/mddataset/RowSetRowItemR.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818

1919
import java.util.Optional;
2020

21-
public record RowSetRowItemR(String tagName, String value, Optional<ItemTypeEnum> type) implements RowSetRowItem {
21+
public record RowSetRowItemR(String tagName, String fieldName, String value, Optional<ItemTypeEnum> type) implements RowSetRowItem {
2222

23+
public RowSetRowItemR(String tagName, String value, Optional<ItemTypeEnum> type) {
24+
this(tagName, tagName, value, type);
25+
}
2326
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public static PropertiesR propertiestoProperties(SOAPElement propertiesElement)
138138

139139
public static List<ExecuteParameter> parametersToParameters(SOAPElement parametersElement) {
140140

141-
List<ExecuteParameter> parameters = new ArrayList<ExecuteParameter>();
141+
List<ExecuteParameter> parameters = new ArrayList<ExecuteParameter>();
142142

143143
Iterator<Node> nodeIteratorParameterList = parametersElement.getChildElements();
144144
while (nodeIteratorParameterList.hasNext()) {

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

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ private static void addRowSetRowItem(SOAPElement e, RowSetRowItem it) {
430430
if (it != null) {
431431
SOAPElement el = addChildElement(e, it.tagName(), Constants.ROWSET.PREFIX);
432432
el.setTextContent(it.value());
433-
//it.type().ifPresent(v -> setAttribute(el, "type", v.getValue()));
433+
it.type().ifPresent(v -> setAttribute(el, "type", v.getValue()));
434434
}
435435
}
436436

@@ -2477,7 +2477,7 @@ private static void addRowsetSchema(SOAPElement root, RowSet rowSet) {
24772477
ItemTypeEnum type = item.type().orElse(ItemTypeEnum.STRING);
24782478
ctSequenceEl1.setAttribute("minOccurs", "0");
24792479
ctSequenceEl1.setAttribute("name", item.tagName());
2480-
ctSequenceEl1.setAttribute("sql:field", item.tagName());
2480+
ctSequenceEl1.setAttribute("sql:field", item.fieldName());
24812481
ctSequenceEl1.setAttribute("type", type.getValue());
24822482
}
24832483
}
@@ -2851,8 +2851,10 @@ private static SOAPElement addChildElementTextNode(SOAPElement element, QName qN
28512851
createdChild.setAttribute("xmlns:ddl300_300", "http://schemas.microsoft.com/analysisservices/2011/engine/300/300");
28522852
createdChild.setAttribute("xmlns:ddl400", "http://schemas.microsoft.com/analysisservices/2012/engine/400");
28532853
createdChild.setAttribute("xmlns:ddl400_400", "http://schemas.microsoft.com/analysisservices/2012/engine/400/400");
2854-
SOAPElement se = xmlStringToSoapElement(valueOfChild, createdChild);
2855-
createdChild.addChildElement(se);
2854+
if (valueOfChild != null && !valueOfChild.isEmpty()) {
2855+
SOAPElement se = xmlStringToSoapElement(valueOfChild, createdChild);
2856+
createdChild.addChildElement(se);
2857+
}
28562858
return createdChild;
28572859

28582860
} catch (SOAPException | SAXException | IOException | ParserConfigurationException e) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ private void execute(SOAPElement discover, SOAPBody responseBody, RequestMetaDat
354354
properties = Convert.propertiestoProperties(element);
355355
}
356356
if (parameters == null && Constants.MSXMLA.QN_PARAMETERS.equals(element.getElementQName())) {
357-
parameters = Convert.parametersToParameters(element);
357+
parameters = Convert.parametersToParameters(element);
358358
}
359359
if (command == null && Constants.MSXMLA.QN_COMMAND.equals(element.getElementQName())) {
360360
command = Convert.commandtoCommand(element);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ void testDiscoverSchemaRowSets(@InjectService XmlaService xmlaService) throws SO
437437
void testDiscoverXmlMetadata(@InjectService XmlaService xmlaService) throws SOAPException, IOException,
438438
TransformerException {
439439

440-
DiscoverXmlMetaDataResponseRowR row = new DiscoverXmlMetaDataResponseRowR("metaData");
440+
DiscoverXmlMetaDataResponseRowR row = new DiscoverXmlMetaDataResponseRowR("");
441441

442442
DiscoverService discoverService = xmlaService.discover();
443443
when(discoverService.xmlMetaData(any(), any(), any())).thenReturn(List.of(row));
@@ -453,7 +453,7 @@ void testDiscoverXmlMetadata(@InjectService XmlaService xmlaService) throws SOAP
453453
XmlAssert xmlAssert = XMLUtil.createAssert(response);
454454
checkRow(xmlAssert);
455455
checkRowValues(xmlAssert, Map.of(
456-
"MetaData", "metaData"
456+
"MetaData", ""
457457
));
458458
}
459459

0 commit comments

Comments
 (0)