Skip to content

Introduce JavaClient for GWC Rest endpoints#205

Draft
ahennr wants to merge 2 commits intoterrestris:mainfrom
ahennr:gwc-manager
Draft

Introduce JavaClient for GWC Rest endpoints#205
ahennr wants to merge 2 commits intoterrestris:mainfrom
ahennr:gwc-manager

Conversation

@ahennr
Copy link
Copy Markdown
Member

@ahennr ahennr commented Dec 17, 2020

Title says it all. Herewith, for example, re-seed of a certain layer can be triggered easily (only in a given bound) in given services that modify the geometry of the cached layer.

Usage:

String username = "admin"; // GeoServer admin user
String password = "<<YOUR_GEOSERVER_PASSWORD>>";
String baseUrl = "http://geoserver.endpoint/geoserver/gwc/rest";

try (
    ShogunGwcManager manager = (ShogunGwcManager) ShogunClientBuilder.builder()
        .password(password)
        .username(username)
        .shogunServiceBaseUrl(baseUrl)
        .managerType(ShogunManagerType.GWC)
        .build()
) {
    Envelope bounds = new Envelope(600000,6000000.0,601000,6001000.0);
    String qualifiedLayerName = "SHOGUN:GEWAESSER";

    GwcSeedRequest gwcSeedRequest = new GwcSeedRequest(
        qualifiedLayerName,
        bounds,
        25832,
        "GRIDSETNAME",
        9,
        9,
        "image/png",
        SeedingType.reseed,
        4
    );

    boolean success = manager.startSeeding(gwcSeedRequest);
    if (success) {
        long t = System.currentTimeMillis();
        long end = t + 60000; // wait 1 minute
        while(System.currentTimeMillis() < end) {
            // check if caching is still running

            System.out.println("\nCurrently running tasks:");
            List<SeedingTaskStatus> currentTasks = manager.getRunningTasksForLayer(qualifiedLayerName);
            currentTasks.forEach(System.out::println);

            // wait 5 sec and check again
            Thread.sleep( 5000 );
        }
    }
}  catch (Exception e) {
    System.err.println(e);
}

@dnlkoch dnlkoch changed the title Draft: Introduce JavaClient for GWC Rest endpoints Introduce JavaClient for GWC Rest endpoints Jul 27, 2021
@dnlkoch dnlkoch marked this pull request as draft July 27, 2021 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant