List of usage examples for org.apache.wicket Component getDefaultModel
public final IModel<?> getDefaultModel()
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 w w w . j av a2 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.micromata.genome.junittools.wicket.TpsbWicketTools.java
License:Apache License
/** * Find components for property model property. * //from w w w. j a v a 2 s .c o m * @param <X> the generic type * @param tester the tester * @param startComponent the start component * @param componentClass the component class * @param property the property * @return the list * @deprecated use TpsbWicketMatchSelector */ @Deprecated public static <X extends Component> List<X> _findComponentsForPropertyModelProperty(WicketTester tester, final MarkupContainer startComponent, final Class<X> componentClass, final String property) { final List<X> results = new LinkedList<X>(); Page lastRenderedPage = tester.getLastRenderedPage(); if (lastRenderedPage == null) { throw new IllegalStateException("You must call #goToPage before you can find components."); } if (componentClass == null || property == null) { throw new IllegalArgumentException("You must provide not null arguments."); } IVisitor<Component, Object> visitor = new IVisitor<Component, Object>() { @Override public void component(Component object, IVisit<Object> visit) { if (LOG.isDebugEnabled() == true) { LOG.debug("candite for wicket internalFinder: " + object.getClass().getSimpleName() + "|" + object.getId() + "|" + object.getPath()); } if (componentClass.isAssignableFrom(object.getClass()) == true) { IModel<?> defaultModel = object.getDefaultModel(); if (defaultModel instanceof AbstractPropertyModel == true) { AbstractPropertyModel propertyModel = (AbstractPropertyModel) defaultModel; if (StringUtils.equals(property, propertyModel.getPropertyExpression()) == true) { results.add((X) object); } } } } }; if (startComponent == null) { lastRenderedPage.visitChildren(visitor); } else { startComponent.visitChildren(visitor); } return results; }
From source file:de.micromata.genome.junittools.wicket.WicketTestBuilder.java
License:Apache License
protected T _doFillModels(MarkupContainer startComponent, WicketTestBuilderModelWrapper modelWrapper) { for (WicketTestBuilderModelWrapper.ModelWrapper wrapper : modelWrapper.getWrappedList()) { List<? extends Component> componentsForSuffixInPath = TpsbWicketTools ._findComponentsForPropertyModelProperty(tester, startComponent, wrapper.getTargetClass(), wrapper.getTargetWicketPath()); if (componentsForSuffixInPath.size() == 1) { Component component = componentsForSuffixInPath.get(0); if (component.getDefaultModel() != null) { component.setDefaultModelObject(wrapper.getModelValue()); } else { LOG.warn("Found component has no model attached, aborting. class=" + wrapper.getTargetClass() + " and wicket:path=" + wrapper.getTargetWicketPath()); }// ww w .ja va 2 s.co m } else { LOG.warn("Unable to find (or found more then one) component with class=" + wrapper.getTargetClass() + " and wicket:path=" + wrapper.getTargetWicketPath()); } } return (T) this; }
From source file:fr.openwide.core.wicket.more.markup.html.form.CollectionResetter.java
License:Apache License
@Override public void reset(Component component) { @SuppressWarnings("unchecked") IModel<C> model = (IModel<C>) component.getDefaultModel(); if (model != null && model.getObject() != null) { model.setObject(newCollectionSupplier.get()); }/*from w w w. j av a 2s .c o m*/ }
From source file:gr.interamerican.wicket.utils.WicketUtils.java
License:Open Source License
/** * Sets the default model object without checking the new model * object equality to the old one.//from w w w. j av a 2 s.c o m * @param cmp * @param t */ public static <T> void setDefaultModelObject(Component cmp, T t) { cmp.modelChanging(); @SuppressWarnings("unchecked") IModel<T> model = (IModel<T>) cmp.getDefaultModel(); model.setObject(t); cmp.modelChanged(); }
From source file:net.databinder.components.hib.DataForm.java
License:Open Source License
/** * @return the effective compound model for this form, which may be * attached to a parent component//from w w w . j av a 2s. c om */ protected CompoundPropertyModel getCompoundModel() { IModel model = getModel(); Component cur = this; while (cur != null) { model = cur.getDefaultModel(); if (model != null && model instanceof CompoundPropertyModel) return (CompoundPropertyModel) model; cur = cur.getParent(); } throw new WicketRuntimeException("DataForm has no parent compound model"); }
From source file:ontopoly.components.FieldsEditorExistingPanel.java
License:Apache License
public FieldsEditorExistingPanel(String id, final TopicTypeModel topicTypeModel, final FieldAssignmentModel fieldAssignmentModel, boolean readonly) { super(id);/* ww w. ja v a2 s . co m*/ this.readonly = readonly; FieldAssignment fieldAssignment = fieldAssignmentModel.getFieldAssignment(); WebMarkupContainer container = new WebMarkupContainer("field", fieldAssignmentModel); add(container); OntopolyImage icon = new OntopolyImage("icon", "dnd.gif", new ResourceModel("icon.dnd.reorder")); icon.setVisible(!readonly); container.add(icon); FieldDefinition fieldDefinition = fieldAssignment.getFieldDefinition(); final FieldDefinitionModel fieldDefinitionModel = new FieldDefinitionModel(fieldDefinition); container.add(new FieldDefinitionLabel("fieldLabel", fieldDefinitionModel) { @Override protected boolean isFieldDefinitionLinkEnabled(Topic topic) { return true; } @Override protected boolean isOntologyTypeLinkEnabled(Topic topic) { return true; } }); Component fieldType = getFieldType("valueType", fieldAssignmentModel.getFieldAssignment().getFieldDefinition()); fieldType.setRenderBodyOnly(true); container.add(fieldType); Component cardinalityComponent = getCardinality("cardinality", fieldAssignmentModel); cardinalityComponent.setEnabled(!readonly); container.add(cardinalityComponent); // drag and drop if (!readonly) { String dndId = "fields_" + topicTypeModel.getTopicType().getId(); container.add(new DraggableBehavior(dndId)); container.add(new DroppableBehavior(dndId) { @Override protected MarkupContainer getDropContainer() { return FieldsEditorExistingPanel.this.getParent().getParent(); } @Override protected void onDrop(Component component, AjaxRequestTarget target) { FieldAssignmentModel fam_dg = (FieldAssignmentModel) component.getDefaultModel(); FieldAssignmentModel fam_do = (FieldAssignmentModel) getComponent().getDefaultModel(); FieldAssignment fa_dg = fam_dg.getFieldAssignment(); FieldAssignment fa_do = fam_do.getFieldAssignment(); fa_do.moveAfter(fa_dg); FieldsEditorExistingPanel.this.onMoveAfter(fam_dg, fam_do, target); } }); } TopicType topicType = topicTypeModel.getTopicType(); TopicType declaredTopicType = fieldAssignmentModel.getFieldAssignment().getDeclaredTopicType(); if (ObjectUtils.equals(topicType, declaredTopicType)) { OntopolyImageLink button = new OntopolyImageLink("button", "remove-value.gif", new ResourceModel("icon.remove.field")) { @Override public void onClick(AjaxRequestTarget target) { FieldsEditorExistingPanel.this.onRemove(fieldAssignmentModel, target); } @Override public boolean isVisible() { return !FieldsEditorExistingPanel.this.readonly; //! || (fieldDefinitionModel.getFieldDefinition().isSystemTopic() && ((OntopolySession)Session.get()).isAdministrationEnabled()); } }; container.add(button); } else { OntopolyImageLink button = new OntopolyImageLink("button", "goto.gif", new ResourceModel("icon.goto.assigning-type")) { @Override public void onClick(AjaxRequestTarget target) { TopicType declaredTopicType = fieldAssignmentModel.getFieldAssignment().getDeclaredTopicType(); Map<String, String> pageParametersMap = new HashMap<String, String>(3); pageParametersMap.put("topicMapId", declaredTopicType.getTopicMap().getId()); pageParametersMap.put("topicId", declaredTopicType.getId()); pageParametersMap.put("ontology", "true"); setResponsePage(InstancePage.class, new PageParameters(pageParametersMap)); } }; container.add(button); } }
From source file:org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.FormComponentPanelAbstract.java
License:Apache License
private UiHintContainer hintContainerOf(Component component) { if (component == null) { return null; }/*from ww w . j a v a 2s . c o m*/ IModel<?> model = component.getDefaultModel(); if (model instanceof UiHintContainer) { return (UiHintContainer) model; } // otherwise, go up the UI component hierarchy return hintContainerOf(getParent()); }
From source file:org.apache.isis.viewer.wicket.ui.panels.FormExecutorDefault.java
License:Apache License
private void addComponentsToRedraw(final AjaxRequestTarget target) { final List<Component> componentsToRedraw = Lists.newArrayList(); final List<Component> componentsNotToRedraw = Lists.newArrayList(); final Page page = target.getPage(); page.visitChildren(new IVisitor<Component, Object>() { @Override// ww w . j a va 2 s . co m public void component(final Component component, final IVisit<Object> visit) { if (component.getOutputMarkupId() && !(component instanceof Page)) { List<Component> listToAddTo = shouldRedraw(component) ? componentsToRedraw : componentsNotToRedraw; listToAddTo.add(component); } } private boolean shouldRedraw(final Component component) { // hmm... this doesn't work, because I think that the components // get removed after they've been added to target. // so.. still getting WARN log messages from XmlPartialPageUpdate // final Page page = component.findParent(Page.class); // if(page == null) { // // as per logic in XmlPartialPageUpdate, this has already been // // removed from page so don't attempt to redraw it // return false; // } final Object defaultModel = component.getDefaultModel(); if (!(defaultModel instanceof ScalarModel)) { return true; } final ScalarModel scalarModel = (ScalarModel) defaultModel; final UnchangingFacet unchangingFacet = scalarModel.getFacet(UnchangingFacet.class); return unchangingFacet == null || !unchangingFacet.value(); } }); for (Component componentNotToRedraw : componentsNotToRedraw) { MarkupContainer parent = componentNotToRedraw.getParent(); while (parent != null) { parent = parent.getParent(); } componentNotToRedraw.visitParents(MarkupContainer.class, new IVisitor<MarkupContainer, Object>() { @Override public void component(final MarkupContainer parent, final IVisit<Object> visit) { componentsToRedraw.remove(parent); // no-op if not in that list } }); if (componentNotToRedraw instanceof MarkupContainer) { final MarkupContainer containerNotToRedraw = (MarkupContainer) componentNotToRedraw; containerNotToRedraw.visitChildren(new IVisitor<Component, Object>() { @Override public void component(final Component parent, final IVisit<Object> visit) { componentsToRedraw.remove(parent); // no-op if not in that list } }); } } if (LOG.isDebugEnabled()) { debug(componentsToRedraw, componentsNotToRedraw); } for (Component component : componentsToRedraw) { target.add(component); } }
From source file:org.brixcms.web.picker.common.NodePickerTreeGridPanel.java
License:Apache License
protected void initComponents() { grid = new TreeGrid<NodePickerTreeModel, JcrTreeNode>("grid", (IModel<NodePickerTreeModel>) newTreeModel(), newGridColumns()) {/*from w w w . j a v a 2 s .c om*/ @Override protected void onItemSelectionChanged(IModel<JcrTreeNode> rowModel, boolean newValue) { BrixNode node = getNode(rowModel); if (isNodeEnabled(rowModel.getObject()) && node != null) { if (isItemSelected(rowModel)) { onNodeSelected(node); } else { onNodeDeselected(node); } update(); } super.onItemSelectionChanged(rowModel, newValue); } @Override protected void onRowClicked(AjaxRequestTarget target, IModel<JcrTreeNode> rowModel) { BrixNode node = getNode(rowModel); if (isNodeEnabled(rowModel.getObject()) && node != null) { super.onRowClicked(target, rowModel); } } @Override protected void onRowPopulated(WebMarkupContainer rowComponent) { super.onRowPopulated(rowComponent); rowComponent.add(new AbstractBehavior() { @Override public void onComponentTag(Component component, ComponentTag tag) { BrixNode node = getNode(component.getDefaultModel()); if (!isNodeEnabled((JcrTreeNode) component.getDefaultModelObject()) || node == null) { tag.put("class", "disabled"); } } }); } }; configureGrid(grid); add(grid); }