use of com.robo4j.RoboContext in project robo4j by Robo4J.
the class RoboHttpDynamicTests method getClientRoboSystem.
private RoboContext getClientRoboSystem() throws Exception {
/* system which is testing main system */
RoboBuilder builder = getHttpClientRobotBuilder(HOST_SYSTEM, PORT);
Configuration config = new ConfigurationBuilder().addString(PROPERTY_TARGET, ID_CLIENT_UNIT).addString(PROPERTY_UNIT_PATHS_CONFIG, "[{\"roboUnit\":\"" + ID_TARGET_UNIT + "\",\"method\":\"POST\"}]").addString("message", JSON_STRING).build();
builder.add(SocketMessageDecoratedProducerUnit.class, config, DECORATED_PRODUCER);
RoboContext result = builder.build();
result.start();
return result;
}
use of com.robo4j.RoboContext in project robo4j by Robo4J.
the class RoboHttpUnitGetTestApp method twoKnownAttributesTest.
/**
* Run the system with known attributes
*
* @throws Exception
* exception
*/
public void twoKnownAttributesTest() throws Exception {
RoboContext systemGetProvider = twoAttributesSystem();
RoboContext systemGetAccessor = attributeRequestSystem();
systemGetProvider.start();
System.out.println("systemGetProvider: State after start:");
System.out.println(SystemUtil.printStateReport(systemGetProvider));
systemGetAccessor.start();
System.out.println("systemGetAccessor: State after start:");
System.out.println(SystemUtil.printStateReport(systemGetAccessor));
RoboReference<HttpDecoratedRequest> httpClient = systemGetAccessor.getReference(UNIT_ID_HTTP_CLIENT);
HttpRequestDenominator denominator = new HttpRequestDenominator(HttpMethod.GET, "/units/controller?attributes=number", HttpVersion.HTTP_1_1);
HttpDecoratedRequest request = new HttpDecoratedRequest(denominator);
request.addCallback(StringConsumer.NAME);
httpClient.sendMessage(request);
System.out.println("Press <Enter>...");
System.in.read();
systemGetProvider.shutdown();
}
use of com.robo4j.RoboContext in project robo4j by Robo4J.
the class RoboHttpUnitGetTestApp method oneKnownAttributeTest.
/**
* Run the system with known attributes
*
* @throws Exception
* exception
*/
public void oneKnownAttributeTest() throws Exception {
final HttpPathConfigJsonBuilder pathBuilder = HttpPathConfigJsonBuilder.Builder().addPath("controller", HttpMethod.GET);
// @formatter:off
Configuration systemConfiguration = new ConfigurationBuilder().addInteger("poolSizeScheduler", 4).addInteger("poolSizeWorker", 2).addInteger("poolSizeBlocking", 3).build();
RoboBuilder builder = new RoboBuilder("roboSystem1", systemConfiguration);
// @formatter:on
// @formatter:off
Configuration config = new ConfigurationBuilder().addInteger(PROPERTY_SOCKET_PORT, SERVER_PORT).addString("packages", PACKAGE_CODECS).addString(PROPERTY_UNIT_PATHS_CONFIG, pathBuilder.build()).build();
// @formatter:on
builder.add(HttpServerUnit.class, config, "http_server");
config = new ConfigurationBuilder().addInteger(StringConsumer.PROP_TOTAL_NUMBER_MESSAGES, 1).build();
builder.add(StringConsumer.class, config, "request_consumer");
config = new ConfigurationBuilder().addString("target", "request_consumer").build();
builder.add(HttpOneAttributeGetController.class, config, "controller");
RoboContext system = builder.build();
system.start();
System.out.println("systemPong: State after start:");
System.out.println(SystemUtil.printStateReport(system));
System.out.println("Press <Enter>...");
System.in.read();
system.shutdown();
}
use of com.robo4j.RoboContext in project robo4j by Robo4J.
the class DatagramPathUtils method updateDatagramServerContextPaths.
public static void updateDatagramServerContextPaths(final RoboContext context, final ServerContext serverContext, final Collection<HttpPathMethodDTO> paths) {
final Map<PathHttpMethod, ServerPathConfig> resultPaths = paths.stream().map(e -> {
RoboReference<Object> reference = context.getReference(e.getRoboUnit());
return new ServerPathConfig(toPath(SystemPath.UNITS.getPath(), e.getRoboUnit()), reference, e.getMethod(), e.getCallbacks());
}).collect(Collectors.toMap(e -> new PathHttpMethod(e.getPath(), null), e -> e));
serverContext.addPaths(resultPaths);
}
use of com.robo4j.RoboContext in project robo4j by Robo4J.
the class HttpPathUtils method updateHttpServerContextPaths.
public static void updateHttpServerContextPaths(final RoboContext context, final ServerContext serverContext, final Collection<HttpPathMethodDTO> paths) {
final Map<PathHttpMethod, ServerPathConfig> resultPaths = paths.stream().map(e -> {
RoboReference<Object> reference = context.getReference(e.getRoboUnit());
return HttpPathUtils.toHttpPathConfig(e, reference);
}).collect(Collectors.toMap(e -> new PathHttpMethod(e.getPath(), e.getMethod()), e -> e));
resultPaths.put(new PathHttpMethod(Utf8Constant.UTF8_SOLIDUS, HttpMethod.GET), new ServerPathConfig(Utf8Constant.UTF8_SOLIDUS, null, HttpMethod.GET));
serverContext.addPaths(resultPaths);
}
Aggregations