use of org.eclipse.vorto.plugin.generator.IGenerationResult in project vorto by eclipse.
the class GeneratorExecutionHandler method handleRequest.
@Override
public void handleRequest(InputStream input, OutputStream output, Context context) throws IOException {
ObjectMapper mapper = ObjectMapperFactory.getInstance();
ApiGatewayRequest request = ApiGatewayRequest.createFromJson(input);
Optional<ICodeGenerator> generator = generators.stream().filter(gen -> gen.getMeta().getKey().equals(request.getPathParam(PLUGINKEY))).findAny();
if (!generator.isPresent()) {
objectMapper.writeValue(output, createHttpReponse(404));
}
ModelContent modelContent = mapper.readValue(request.getInput(), ModelContent.class);
ModelContentToEcoreConverter converter = new ModelContentToEcoreConverter();
Model converted = converter.convert(modelContent, Optional.empty());
InvocationContext invocationContext = InvocationContext.simpleInvocationContext(request.getQueryParams());
InformationModel infomodel = org.eclipse.vorto.plugin.utils.Utils.toInformationModel(converted);
try {
IGenerationResult generatorResult = generator.get().generate(infomodel, invocationContext);
ApiGatewayResponse validResponse = createResponse(generatorResult);
OutputStreamWriter writer = new OutputStreamWriter(output, "UTF-8");
writer.write(objectMapper.writeValueAsString(validResponse));
writer.close();
} catch (GeneratorException e) {
ApiGatewayResponse response = createHttpReponse(500);
objectMapper.writeValue(output, response);
}
}
use of org.eclipse.vorto.plugin.generator.IGenerationResult in project vorto by eclipse.
the class EclipseHonoJavaGeneratorTest method testConnectorGeneratedMQTTClient.
/*
* -----Below test cases are specific to Connector related files-------
*/
/*
* Test case for checking whether the MQTT client generated contains the models which are listed
* in the information model
*
*/
@Test
public void testConnectorGeneratedMQTTClient() throws GeneratorException, IOException, URISyntaxException {
IGenerationResult generationResult = eclipseHonoJavaGenerator.generate(modelProvider(), InvocationContext.simpleInvocationContext());
File defaultFileHonoDataService = new File(getClass().getClassLoader().getResource("defaultFileFormat/HonoDataService_MQTT.java").toURI());
File defaultFileHonoMqttClient = new File(getClass().getClassLoader().getResource("defaultFileFormat/HonoMqttClient.java").toURI());
Generated generatedFileHonoDataService = zipFileReader(generationResult, "HonoDataService", ".java");
Generated generatedFileHonoMqttClient = zipFileReader(generationResult, "HonoMqttClient", ".java");
// assertEquals(IOUtils.toString(FileUtils.openInputStream(defaultFileHonoDataService)),
// new String(generatedFileHonoDataService.getContent(), "utf-8"));
assertEquals(IOUtils.toString(FileUtils.openInputStream(defaultFileHonoMqttClient)), new String(generatedFileHonoMqttClient.getContent(), "utf-8"));
}
use of org.eclipse.vorto.plugin.generator.IGenerationResult in project vorto by eclipse.
the class EclipseHonoJavaGeneratorTest method checkAPIGenerationOfEnumModel.
/*
* Test case for checking whether the datatype related java file has the enum values specified in
* the input datatype file.
*
*/
@Test
public void checkAPIGenerationOfEnumModel() throws Exception {
IGenerationResult generationResult = eclipseHonoJavaGenerator.generate(modelProvider(), InvocationContext.simpleInvocationContext());
Generated generatedfile = zipFileReader(generationResult, "UnitEnum", ".java");
File defaultFile = new File(getClass().getClassLoader().getResource("defaultFileFormat/ValidEnum.java").toURI());
assertEquals(IOUtils.toString(FileUtils.openInputStream(defaultFile)), new String(generatedfile.getContent(), "utf-8"));
}
use of org.eclipse.vorto.plugin.generator.IGenerationResult in project vorto by eclipse.
the class EclipseHonoJavaGeneratorTest method checkAPIGenerationOfEntityModel.
/*
* Test case for checking whether the datatype related java file has the entity values specified
* in the input datatype file.
*
*/
@Test
public void checkAPIGenerationOfEntityModel() throws Exception {
IGenerationResult generationResult = eclipseHonoJavaGenerator.generate(modelProvider(), InvocationContext.simpleInvocationContext());
Generated generatedfile = zipFileReader(generationResult, "UnitEntity", ".java");
File defaultFile = new File(getClass().getClassLoader().getResource("defaultFileFormat/ValidEntity.java").toURI());
assertEquals(IOUtils.toString(FileUtils.openInputStream(defaultFile)), new String(generatedfile.getContent(), "utf-8"));
}
use of org.eclipse.vorto.plugin.generator.IGenerationResult in project vorto by eclipse.
the class EclipseHonoJavaGeneratorTest method testClientAppGeneratedModels.
/*
* -----Below test cases are specific to Client App related files-------
*/
/*
* Test case for checking whether the client App generated contains the models which are listed in
* the information model
*
*/
@Test
public void testClientAppGeneratedModels() throws GeneratorException, IOException, URISyntaxException {
IGenerationResult generationResult = eclipseHonoJavaGenerator.generate(modelProvider(), InvocationContext.simpleInvocationContext());
Generated generatedfile = zipFileReader(generationResult, "MySensorApp", ".java");
File defaultFile = new File(getClass().getClassLoader().getResource("defaultFileFormat/MainApp.java").toURI());
assertEquals(IOUtils.toString(FileUtils.openInputStream(defaultFile)), new String(generatedfile.getContent(), "utf-8"));
}
Aggregations