Search in sources :

Example 26 with RoboBuilder

use of com.robo4j.RoboBuilder in project robo4j by Robo4J.

the class RoboDatagramPingPongTest method configurePingSystem.

private RoboContext configurePingSystem() throws Exception {
    RoboBuilder builder = new RoboBuilder();
    Configuration config = new ConfigurationBuilder().addString(PROPERTY_CODEC_PACKAGES, PACKAGE_CODECS).addString(PROPERTY_HOST, "localhost").addInteger(PROPERTY_SOCKET_PORT, RoboHttpUtils.DEFAULT_UDP_PORT).addString(PROPERTY_UNIT_PATHS_CONFIG, "[{\"roboUnit\":\"stringConsumer\",\"callbacks\": [\"stringConsumer\"]}]").build();
    builder.add(DatagramClientUnit.class, config, UDP_CLIENT);
    config = ConfigurationFactory.createEmptyConfiguration();
    builder.add(StringConsumer.class, config, StringConsumer.NAME);
    return builder.build();
}
Also used : ConfigurationBuilder(com.robo4j.configuration.ConfigurationBuilder) Configuration(com.robo4j.configuration.Configuration) RoboBuilder(com.robo4j.RoboBuilder)

Example 27 with RoboBuilder

use of com.robo4j.RoboBuilder in project robo4j by Robo4J.

the class RoboDatagramPingPongTest method configurePongSystem.

/**
 * create simple UDP server with consumer unit
 *
 * @return roboContext
 * @throws Exception
 *             exception
 */
private RoboContext configurePongSystem(int totalNumberOfMessage) throws Exception {
    RoboBuilder builder = new RoboBuilder();
    Configuration config = new ConfigurationBuilder().addString(PROPERTY_CODEC_PACKAGES, PACKAGE_CODECS).addString(PROPERTY_UNIT_PATHS_CONFIG, "[{\"roboUnit\":\"stringConsumer\",\"filters\":[]}]").build();
    builder.add(DatagramServerUnit.class, config, UDP_SERVER);
    config = new ConfigurationBuilder().addInteger(StringConsumer.PROP_TOTAL_NUMBER_MESSAGES, totalNumberOfMessage).build();
    builder.add(StringConsumer.class, config, StringConsumer.NAME);
    return builder.build();
}
Also used : ConfigurationBuilder(com.robo4j.configuration.ConfigurationBuilder) Configuration(com.robo4j.configuration.Configuration) RoboBuilder(com.robo4j.RoboBuilder)

Example 28 with RoboBuilder

use of com.robo4j.RoboBuilder 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;
}
Also used : ConfigurationBuilder(com.robo4j.configuration.ConfigurationBuilder) Configuration(com.robo4j.configuration.Configuration) RoboBuilder(com.robo4j.RoboBuilder) RoboContext(com.robo4j.RoboContext)

Example 29 with RoboBuilder

use of com.robo4j.RoboBuilder 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();
}
Also used : ConfigurationBuilder(com.robo4j.configuration.ConfigurationBuilder) Configuration(com.robo4j.configuration.Configuration) HttpPathConfigJsonBuilder(com.robo4j.socket.http.util.HttpPathConfigJsonBuilder) RoboBuilder(com.robo4j.RoboBuilder) RoboContext(com.robo4j.RoboContext)

Example 30 with RoboBuilder

use of com.robo4j.RoboBuilder in project robo4j by Robo4J.

the class HttpServerUnitTests method httpServerUnitNoCodecsPackageTest.

@Test
void httpServerUnitNoCodecsPackageTest() throws Exception {
    Throwable exception = assertThrows(RoboBuilderException.class, () -> {
        RoboBuilder builder = new RoboBuilder();
        Configuration config = new ConfigurationBuilder().addInteger(PROPERTY_SOCKET_PORT, PORT).build();
        builder.add(HttpServerUnit.class, config, ID_HTTP_SERVER);
        RoboContext system = builder.build();
        system.start();
        System.out.println("system: State after start:");
        System.out.println(SystemUtil.printStateReport(system));
        RoboReference<HttpServerUnit> systemReference = system.getReference(ID_HTTP_SERVER);
        system.shutdown();
        System.out.println("system: State after shutdown:");
        System.out.println(SystemUtil.printStateReport(system));
        assertEquals(LifecycleState.SHUTDOWN, systemReference.getState());
    });
    assertEquals("Error initializing RoboUnit", exception.getMessage());
}
Also used : ConfigurationBuilder(com.robo4j.configuration.ConfigurationBuilder) Configuration(com.robo4j.configuration.Configuration) RoboBuilder(com.robo4j.RoboBuilder) RoboContext(com.robo4j.RoboContext) Test(org.junit.jupiter.api.Test)

Aggregations

RoboBuilder (com.robo4j.RoboBuilder)45 RoboContext (com.robo4j.RoboContext)33 InputStream (java.io.InputStream)20 Configuration (com.robo4j.configuration.Configuration)18 ConfigurationBuilder (com.robo4j.configuration.ConfigurationBuilder)17 Test (org.junit.jupiter.api.Test)13 FileInputStream (java.io.FileInputStream)5 HttpPathConfigJsonBuilder (com.robo4j.socket.http.util.HttpPathConfigJsonBuilder)4 RoboBuilderException (com.robo4j.RoboBuilderException)3 IOException (java.io.IOException)3 ScheduledExecutorService (java.util.concurrent.ScheduledExecutorService)3 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)3 StringConsumer (com.robo4j.StringConsumer)2 BiColor (com.robo4j.hw.rpi.i2c.adafruitbackpack.BiColor)2 DataEvent3f (com.robo4j.hw.rpi.imu.bno.DataEvent3f)2 CameraMessage (com.robo4j.socket.http.codec.CameraMessage)2 BnoRequest (com.robo4j.units.rpi.imu.BnoRequest)2 FileNotFoundException (java.io.FileNotFoundException)2 Path (java.nio.file.Path)2 Scanner (java.util.Scanner)2