use of io.syndesis.qe.bdd.entities.DataMapperStepDefinition in project syndesis-qe by syndesisio.
the class DataMapperStep method combineDataMapperStep.
@Then("COMBINE using Step (\\d+) and strategy \"([^\"]*)\" into \"([^\"]*)\" and sources$")
public void combineDataMapperStep(int fromStep, String strategy, String targetField, DataTable sourceMappingData) {
DataMapperStepDefinition newDmStep = new DataMapperStepDefinition();
newDmStep.setFromStep(fromStep);
newDmStep.setInputFields(sourceMappingData.asList(String.class));
newDmStep.setOutputFields(Arrays.asList(targetField));
newDmStep.setMappingType(MappingType.COMBINE);
newDmStep.setStrategy(SeparatorType.valueOf(strategy));
steps.getLastStepDefinition().getDataMapperDefinition().get().getDataMapperStepDefinition().add(newDmStep);
}
use of io.syndesis.qe.bdd.entities.DataMapperStepDefinition in project syndesis-qe by syndesisio.
the class AtlasMapperGenerator method generateSeparateMapping.
private Mapping generateSeparateMapping(DataMapperStepDefinition mappingDef, List<StepDefinition> precedingSteps, StepDefinition followingStep) {
StepDefinition fromStep = precedingSteps.get(mappingDef.getFromStep() - 1);
Mapping generatedMapping = new Mapping();
generatedMapping.setId(UUID.randomUUID().toString());
generatedMapping.setMappingType(MappingType.SEPARATE);
generatedMapping.setDelimiter(mappingDef.getStrategy().name());
List<Field> out = new ArrayList<>();
for (int i = 0; i < mappingDef.getOutputFields().size(); i++) {
String def = mappingDef.getOutputFields().get(i);
Field outField = followingStep.getInspectionResponseFields().get().stream().filter(f -> f.getPath().matches(def)).findFirst().get();
outField.setIndex(i);
out.add(outField);
}
Field in = fromStep.getInspectionResponseFields().get().stream().filter(f -> f.getPath().matches(mappingDef.getInputFields().get(0))).findFirst().get();
out.forEach(f -> f.setDocId(followingStep.getStep().getId().get()));
in.setDocId(fromStep.getStep().getId().get());
generatedMapping.getOutputField().addAll(out);
generatedMapping.getInputField().add(in);
return generatedMapping;
}
use of io.syndesis.qe.bdd.entities.DataMapperStepDefinition in project syndesis-qe by syndesisio.
the class AtlasMapperGenerator method generateMapMapping.
private Mapping generateMapMapping(DataMapperStepDefinition mappingDef, List<StepDefinition> precedingSteps, StepDefinition followingStep) {
StepDefinition fromStep = precedingSteps.get(mappingDef.getFromStep() - 1);
Mapping generatedMapping = new Mapping();
generatedMapping.setId(UUID.randomUUID().toString());
generatedMapping.setMappingType(MappingType.MAP);
Field in = fromStep.getInspectionResponseFields().get().stream().filter(f -> f.getPath().matches(mappingDef.getInputFields().get(0))).findFirst().get();
Field out = followingStep.getInspectionResponseFields().get().stream().filter(f -> f.getPath().matches(mappingDef.getOutputFields().get(0))).findFirst().get();
in.setDocId(fromStep.getStep().getId().get());
out.setDocId(followingStep.getStep().getId().get());
generatedMapping.getInputField().add(in);
generatedMapping.getOutputField().add(out);
return generatedMapping;
}
use of io.syndesis.qe.bdd.entities.DataMapperStepDefinition in project syndesis-qe by syndesisio.
the class AtlasMapperGenerator method getAtlasMappingStep.
public Step getAtlasMappingStep(StepDefinition mapping, List<StepDefinition> precedingSteps, StepDefinition followingStep) {
processPrecedingSteps(precedingSteps);
processFolowingStep(followingStep);
List<DataMapperStepDefinition> mappings = mapping.getDataMapperDefinition().get().getDataMapperStepDefinition();
AtlasMapping atlasMapping = new AtlasMapping();
atlasMapping.setMappings(new Mappings());
for (DataSource s : processSources(precedingSteps)) {
atlasMapping.getDataSource().add(s);
}
atlasMapping.setName("REST." + UUID.randomUUID().toString());
atlasMapping.setLookupTables(new LookupTables());
atlasMapping.setProperties(new Properties());
atlasMapping.getDataSource().add(processTarget(followingStep));
atlasMapping.getMappings().getMapping().addAll(generateBaseMappings(mappings, precedingSteps, followingStep));
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.WRAP_ROOT_VALUE);
String mapperString = null;
try {
mapperString = mapper.writeValueAsString(atlasMapping);
log.debug(mapperString);
} catch (JsonProcessingException e) {
log.error("error: {}" + e);
}
final Step mapperStep = new Step.Builder().stepKind(StepKind.mapper).configuredProperties(TestUtils.map("atlasmapping", mapperString)).action(getMapperStepAction(followingStep.getConnectorDescriptor().get())).id(UUID.randomUUID().toString()).build();
return mapperStep;
}
use of io.syndesis.qe.bdd.entities.DataMapperStepDefinition in project syndesis-qe by syndesisio.
the class DataMapperStep method mapDataMapperStep.
@Then("MAP using Step (\\d+) and field \"([^\"]*)\" to \"([^\"]*)\"")
public void mapDataMapperStep(int fromStep, String fromField, String toField) {
DataMapperStepDefinition newDmStep = new DataMapperStepDefinition();
newDmStep.setFromStep(fromStep);
newDmStep.setInputFields(Arrays.asList(fromField));
newDmStep.setOutputFields(Arrays.asList(toField));
newDmStep.setMappingType(MappingType.MAP);
newDmStep.setStrategy(null);
steps.getLastStepDefinition().getDataMapperDefinition().get().getDataMapperStepDefinition().add(newDmStep);
}
Aggregations