Java源码示例:org.apache.camel.model.FromDefinition
示例1
@Test
public void integrationRouteLoaderTest() throws Exception {
IntegrationRouteLoader irl = new IntegrationRouteLoader();
TestRuntime runtime = new TestRuntime();
irl.load(runtime,
Sources.fromURI("classpath:/syndesis/integration/integration.syndesis?language=syndesis"));
assertThat(runtime.builders).hasSize(1);
final RoutesBuilder routeBuilder = runtime.builders.get(0);
assertThat(routeBuilder).isInstanceOf(RouteBuilder.class);
RouteBuilder rb = (RouteBuilder) routeBuilder;
// initialize routes
rb.configure();
final RoutesDefinition routeCollection = rb.getRouteCollection();
final List<RouteDefinition> routes = routeCollection.getRoutes();
assertThat(routes).hasSize(1);
final RouteDefinition route = routes.get(0);
final FromDefinition input = route.getInput();
assertThat(input).isNotNull();
assertThat(input.getEndpointUri()).isEqualTo("direct:expression");
}
示例2
@Test
public void testLoadRoutes() throws Exception {
TestRuntime runtime = new TestRuntime();
Source source = Sources.fromURI("classpath:route.yaml");
SourceLoader loader = RoutesConfigurer.load(runtime, source);
assertThat(loader).isInstanceOf(YamlSourceLoader.class);
assertThat(runtime.builders).hasSize(1);
runtime.camelContext.addRoutes(runtime.builders.get(0));
List<RouteDefinition> routes = runtime.camelContext.getRouteDefinitions();
assertThat(routes).hasSize(1);
// definition
assertThat(routes)
.first()
.extracting(RouteDefinition::getId)
.isEqualTo("knative");
assertThat(routes)
.first()
.extracting(RouteDefinition::getGroup)
.isEqualTo("flows");
// input
assertThat(routes)
.first()
.extracting(RouteDefinition::getInput)
.isInstanceOfSatisfying(FromDefinition.class, t-> {
assertThat(t.getEndpointUri()).isEqualTo("knative:endpoint/from");
});
// outputs
assertThat(routes)
.first()
.satisfies(KnativeConverterTest::validateSteps);
}
示例3
@Test
public void testRestDSL() {
configureRoutes(
"classpath:routes-with-rest-dsl.js"
);
ModelCamelContext mcc = context.adapt(ModelCamelContext.class);
List<RestDefinition> rests = mcc.getRestDefinitions();
List<RouteDefinition> routes = mcc.getRouteDefinitions();
assertThat(rests).hasSize(1);
assertThat(rests).first().hasFieldOrPropertyWithValue("produces", "text/plain");
assertThat(rests).first().satisfies(definition -> {
assertThat(definition.getVerbs()).hasSize(1);
assertThat(definition.getVerbs()).first().isInstanceOfSatisfying(GetVerbDefinition.class, get -> {
assertThat(get).hasFieldOrPropertyWithValue("uri", "/say/hello");
});
});
assertThat(routes).hasSize(1);
assertThat(routes).first().satisfies(definition -> {
assertThat(definition.getInput()).isInstanceOf(FromDefinition.class);
assertThat(definition.getOutputs()).hasSize(1);
assertThat(definition.getOutputs()).first().satisfies(output -> {
assertThat(output).isInstanceOf(TransformDefinition.class);
});
});
}
示例4
public static String getUri(FromDefinition input) {
String key = input.getUri();
if (Strings2.isEmpty(key)) {
String ref = input.getRef();
if (!Strings2.isEmpty(ref)) {
return "ref:" + ref;
}
}
return key;
}
示例5
protected static void addInputs(CamelCatalog camelCatalog, NodeDto owner, List<FromDefinition> inputs) {
Map<String, Integer> nodeCounts = new HashMap<>();
for (FromDefinition input : inputs) {
addChild(camelCatalog, owner, input, nodeCounts);
}
}