Example usage for org.apache.wicket.extensions.markup.html.form.palette Palette getChoices

List of usage examples for org.apache.wicket.extensions.markup.html.form.palette Palette getChoices

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.markup.html.form.palette Palette getChoices.

Prototype

public Collection<? extends T> getChoices() 

Source Link

Usage

From source file:org.geoserver.web.admin.JAIPageTest.java

License:Open Source License

@Test
public void testNativeWarp() {
    if (!ImageUtilities.isMediaLibAvailable()) {
        // If medialib acceleration is not available, the test is not needed
        Assert.assertTrue(true);/*from  ww w  .  j  a  v a 2s  . c o m*/
        return;
    }
    GeoServer geoServer = getGeoServerApplication().getGeoServer();
    GeoServerInfo global = geoServer.getGlobal();
    JAIInfo info = (JAIInfo) global.getJAI();

    // Ensure that by default Warp acceleration is set to false
    Assert.assertFalse(info.isAllowNativeWarp());

    // Register Warp as JAI operation
    JAIExt.registerJAIDescriptor("Warp");
    JAIEXTInfo jeinfo = info.getJAIEXTInfo();
    Set<String> jeOps = jeinfo.getJAIEXTOperations();
    jeOps.remove("Warp");
    jeinfo.setJAIEXTOperations(jeOps);
    jeinfo.getJAIOperations().add("Warp");
    info.setJAIEXTInfo(jeinfo);
    global.setJAI(info);
    geoServer.save(global);

    login();
    // Ensure the page is rendered
    tester.startPage(JAIPage.class);
    tester.assertRenderedPage(JAIPage.class);

    // Ensure the JAI Page is present if enabled
    Palette p;
    Collection jaiext;
    Object factory;
    boolean isJAIExtEnabled = ImageWorker.isJaiExtEnabled();

    if (isJAIExtEnabled) {
        tester.assertComponent("form:jaiext", JAIEXTPanel.class);
        tester.assertComponent("form:jaiext:jaiextOps", Palette.class);
        p = (Palette) tester.getComponentFromLastRenderedPage("form:jaiext:jaiextOps");
        jaiext = p.getChoices();
        assertNotNull(jaiext);
        // JAI choices
        assertTrue(!jaiext.contains("Warp"));
    } else {
        tester.assertInvisible("form:jaiext");
    }
    // Set Native Warp enabled
    FormTester form = tester.newFormTester("form");
    form.setValue("allowNativeWarp", true);
    form.submit("submit");

    // Ensure no exception has been thrown
    tester.assertNoErrorMessage();

    info = (JAIInfo) global.getJAI();

    // Check that Warp is enabled
    if (isJAIExtEnabled) {
        Assert.assertTrue(info.isAllowNativeWarp());
        // Ensure the factory is correctly registered
        factory = info.getJAI().getOperationRegistry().getFactory(RenderedRegistryMode.MODE_NAME, "Warp");
        Assert.assertTrue(factory instanceof MlibWarpRIF);
    } else {
        Assert.assertFalse(info.isAllowNativeWarp());
        factory = info.getJAI().getOperationRegistry().getFactory(RenderedRegistryMode.MODE_NAME, "Warp");
        Assert.assertTrue(factory instanceof WarpRIF);
    }

    // Unset Native Warp enabled

    // Render the page again
    tester.startPage(JAIPage.class);
    tester.assertRenderedPage(JAIPage.class);

    if (isJAIExtEnabled) {
        tester.assertComponent("form:jaiext", JAIEXTPanel.class);
        tester.assertComponent("form:jaiext:jaiextOps", Palette.class);
        p = (Palette) tester.getComponentFromLastRenderedPage("form:jaiext:jaiextOps");
        jaiext = p.getChoices();
        assertNotNull(jaiext);
        // JAI choices
        assertTrue(!jaiext.contains("Warp"));
    }
    form = tester.newFormTester("form");
    form.setValue("allowNativeWarp", false);
    form.submit("submit");

    // Ensure no exception has been thrown
    tester.assertNoErrorMessage();

    info = (JAIInfo) global.getJAI();

    // Check that Warp is disabled
    Assert.assertFalse(info.isAllowNativeWarp());

    // Ensure the factory is correctly registered
    factory = info.getJAI().getOperationRegistry().getFactory(RenderedRegistryMode.MODE_NAME, "Warp");
    Assert.assertTrue(factory instanceof WarpRIF);
}