
com.sap.cds.reflect.impl.CdsEventReader Maven / Gradle / Ivy
/*******************************************************************
* © 2020 SAP SE or an SAP affiliate company. All rights reserved. *
*******************************************************************/
package com.sap.cds.reflect.impl;
import com.fasterxml.jackson.databind.JsonNode;
import static com.sap.cds.util.CdsModelUtils.getDoc;
import com.sap.cds.reflect.impl.reader.model.CdsConstants;
import com.sap.cds.util.StructuredTypeResolver;
public class CdsEventReader {
private CdsEventReader() {
}
public static CdsEventBuilder read(CdsModelReader.Config config, String qualifiedName, String name, JsonNode csn, CdsModelBuilder model,
StructuredTypeResolver structResolver) {
CdsEventBuilder event = CdsEventBuilder.create(CdsAnnotationReader.read(config, csn), qualifiedName, name,
getQuery(csn), getDoc(csn));
if (csn.has(CdsConstants.TYPE)) {
event.addDelegationType(csn.get(CdsConstants.TYPE).asText());
return event;
}
event.addElements(CdsStructuredTypeReader.readElementList(config, qualifiedName, csn, model, structResolver));
return event;
}
private static String getQuery(JsonNode csn) {
String query = null;
if (csn.has(CdsConstants.QUERY)) {
query = csn.get(CdsConstants.QUERY).toString();
}
return query;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy