Example usage for org.apache.wicket.model LoadableDetachableModel isAttached

List of usage examples for org.apache.wicket.model LoadableDetachableModel isAttached

Introduction

In this page you can find the example usage for org.apache.wicket.model LoadableDetachableModel isAttached.

Prototype

public final boolean isAttached() 

Source Link

Document

Gets the attached status of this model instance

Usage

From source file:de.flapdoodle.wicket.detach.FieldInspectingDetachListener.java

License:Apache License

private void checkFields(String id, Map<Object, Boolean> hitMap, Object component, List<Field> fields) {
    for (Field f : fields) {
        if (isWorthALook(f)) {
            try {
                if (false)
                    log.debug("inspect {}", f);

                f.setAccessible(true);//from ww  w  .  j  ava2  s .  c o m
                Object value = f.get(component);
                if (!hitMap.containsKey(value)) {
                    hitMap.put(value, true);
                    if (value != null) {
                        if (value instanceof LoadableDetachableModel) {
                            LoadableDetachableModel ldm = (LoadableDetachableModel) value;
                            if (ldm.isAttached()) {
                                log.error(id + ": loadable model " + ldm + " in " + f + " is NOT detached ",
                                        new RuntimeException());
                            }
                        }

                        checkFields(id, hitMap, value, getAllFields(value.getClass()));
                    }
                }
            } catch (IllegalArgumentException e) {
                log.error("get value", e);
            } catch (IllegalAccessException e) {
                log.error("get value", e);
            }
        }
    }

    if (component instanceof Component) {
        Component c = (Component) component;
        IModel<?> model = c.getDefaultModel();
        if (model != null) {
            checkFields(id, hitMap, model, getAllFields(model.getClass()));
        }
    }
}

From source file:de.flapdoodle.wicket.serialize.java.checks.AttachedLoadableModelCheck.java

License:Apache License

@Override
public void inspect(Object obj, IStackTracePrinter printer) throws WicketRuntimeException {

    if (obj instanceof LoadableDetachableModel) {
        LoadableDetachableModel ldm = (LoadableDetachableModel) obj;
        if (ldm.isAttached()) {
            failed(printer, obj, "this " + LoadableDetachableModel.class.getSimpleName() + " is NOT detached");
        }//  w ww  .  j a  v a  2  s. co m
    }
}

From source file:org.wicketstuff.minis.model.LoadableDetachableDependentModelTest.java

License:Apache License

@Test
public void testDependentModelIsSameAndDetached() {

    LoadableDetachableModel<String> dependentModel = new LoadableDetachableModel<String>() {

        @Override/*from  w w  w. j av a  2 s.com*/
        protected String load() {
            return "test";
        }
    };

    LoadableDetachableDependentModel<String, String> model = new LoadableDetachableDependentModel<String, String>(
            dependentModel) {

        @Override
        protected String load() {
            return "test";
        }

    };
    Assert.assertSame(dependentModel, model.getDependentModel());
    tester.startComponentInPage(new Label(CID_LABEL, model), Markup.of(MARKUP));
    Assert.assertFalse(dependentModel.isAttached());

}