use of org.contextmapper.dsl.generator.mdsl.model.DataType in project context-mapper-dsl by ContextMapper.
the class MDSLModelCreatorTest method canHandleMDSLKeywords.
@Test
void canHandleMDSLKeywords() throws IOException {
// given
String inputModelName = "mdsl-can-handle-keyword-clashes.cml";
CMLResource input = getResourceCopyOfTestCML(inputModelName);
MDSLModelCreator mdslCreator = new MDSLModelCreator(input.getContextMappingModel());
// when
List<ServiceSpecification> serviceSpecifications = mdslCreator.createServiceSpecifications();
// then
assertEquals(1, serviceSpecifications.size());
ServiceSpecification spec = serviceSpecifications.get(0);
assertEquals(2, spec.getDataTypes().size());
DataType dataType1 = spec.getDataTypes().get(0);
DataType dataType2 = spec.getDataTypes().get(1);
assertEquals("ReturnType", dataType1.getName());
assertEquals("^Link", dataType2.getName());
}
use of org.contextmapper.dsl.generator.mdsl.model.DataType in project context-mapper-dsl by ContextMapper.
the class MDSLModelCreatorTest method canCreateMDSLModelWithoutContextMap.
@Test
void canCreateMDSLModelWithoutContextMap() throws IOException {
// given
CMLResource input = getResourceCopyOfTestCML("basic-mdsl-model-test-without-contextmap.cml");
MDSLModelCreator mdslCreator = new MDSLModelCreator(input.getContextMappingModel());
// when
List<ServiceSpecification> serviceSpecifications = mdslCreator.createServiceSpecifications();
// then
assertEquals(1, serviceSpecifications.size());
ServiceSpecification spec = serviceSpecifications.get(0);
assertEquals("CustomerManagementContextAPI", spec.getName());
assertEquals(1, spec.getEndpoints().size());
EndpointContract endpoint = spec.getEndpoints().get(0);
assertEquals("Customers", endpoint.getName());
assertEquals(2, endpoint.getOperations().size());
EndpointOperation operation1 = endpoint.getOperations().get(0);
assertEquals("updateAddress", operation1.getName());
EndpointOperation operation2 = endpoint.getOperations().get(1);
assertEquals("anotherMethod", operation2.getName());
assertEquals(5, spec.getDataTypes().size());
DataType dataType1 = spec.getDataTypes().get(0);
assertEquals("Address", dataType1.getName());
DataType dataType2 = spec.getDataTypes().get(1);
assertEquals("Parameter1Type", dataType2.getName());
DataType dataType3 = spec.getDataTypes().get(2);
assertEquals("Parameter2Type", dataType3.getName());
DataType dataType4 = spec.getDataTypes().get(3);
assertEquals("ReturnType", dataType4.getName());
DataType dataType5 = spec.getDataTypes().get(4);
assertEquals("anotherMethodParameter", dataType5.getName());
assertEquals("Address", operation1.getExpectingPayload().getName());
assertEquals("ReturnType", operation1.getDeliveringPayload().getName());
assertEquals("anotherMethodParameter", operation2.getExpectingPayload().getName());
assertEquals(1, spec.getProviders().size());
EndpointProvider provider = spec.getProviders().get(0);
assertEquals("CustomerManagementContextProvider", provider.getName());
assertEquals(1, provider.getEndpointOffers().size());
EndpointOffer contractOffered = provider.getEndpointOffers().get(0);
assertEquals("Customers", contractOffered.getOfferedEndpoint().getName());
assertEquals("http://localhost:8000", contractOffered.getLocation());
}
use of org.contextmapper.dsl.generator.mdsl.model.DataType in project context-mapper-dsl by ContextMapper.
the class MDSLDataTypeCreator method createAttributes4ReferencesList.
private List<DataTypeAttribute> createAttributes4ReferencesList(List<Reference> references) {
List<DataTypeAttribute> mdslAttributes = Lists.newArrayList();
for (Reference reference : references) {
DataType referencedType = createMDSLDataType(createComplexTypeForReference(reference));
mdslAttributes.add(createAttribute(reference.getName(), referencedType.getName(), isCollection(reference.getCollectionType()), reference.isNullable()));
}
return mdslAttributes;
}
use of org.contextmapper.dsl.generator.mdsl.model.DataType in project context-mapper-dsl by ContextMapper.
the class MDSLDataTypeCreator method createAttributes4ParameterList.
private List<DataTypeAttribute> createAttributes4ParameterList(List<Parameter> parameters) {
List<DataTypeAttribute> mdslAttributes = Lists.newArrayList();
for (Parameter parameter : parameters) {
DataType referencedType = createMDSLDataType(parameter.getParameterType());
mdslAttributes.add(createAttribute(parameter.getName(), referencedType.getName(), isCollection(parameter.getParameterType().getCollectionType()), false));
}
return mdslAttributes;
}
use of org.contextmapper.dsl.generator.mdsl.model.DataType in project context-mapper-dsl by ContextMapper.
the class MDSLModelCreator method createVoidReturnType.
private DataType createVoidReturnType() {
DataType voidType = new DataType();
voidType.setIsPrimitiveType(true);
voidType.setName(MDSL_VOID_RETURN_TYPE);
return voidType;
}
Aggregations