List of usage examples for org.apache.wicket.model LoadableDetachableModel isAttached
public final boolean isAttached()
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()); }