List of usage examples for org.apache.wicket.feedback FencedFeedbackPanel FencedFeedbackPanel
public FencedFeedbackPanel(String id, IFeedbackMessageFilter filter)
From source file:org.wicketstuff.mbeanview.AttributeValuesPanel.java
License:Apache License
public AttributeValuesPanel(String id, final IModel<MBeanServer> server, final ObjectName objectName, MBeanAttributeInfo[] beanAttributeInfos) { super(id, server); add(modalOutput = new ModalWindow("modalOutput")); modalOutput.setCookieName("modalOutput"); Form<Void> form = new Form<Void>("form"); add(form);/*from w w w.j a v a2 s. c om*/ ListView<MBeanAttributeInfo> attributes = new ListView<MBeanAttributeInfo>("attributes", Arrays.asList(beanAttributeInfos)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<MBeanAttributeInfo> item) { final MBeanAttributeInfo info = item.getModelObject(); item.add(new Label("name", info.getName())); final AttributeModel model = new AttributeModel(server, objectName, info) { @Override protected void onError(Throwable throwable) { item.error(throwable.toString()); } }; AjaxLink<Void> link = new AjaxLink<Void>("value") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { modalOutput.setContent(new DataViewPanel(modalOutput.getContentId(), model)); modalOutput.setTitle(info.getName()); modalOutput.show(target); } @Override public boolean isEnabled() { return model.getObject() instanceof Collection || model.getObject() != null && model.getObject().getClass().isArray(); } @Override public boolean isVisible() { return !info.isWritable(); } }; item.add(link); link.add(new Label("label", model)); item.add(new TextField<Object>("editableValue", model, Object.class) { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return info.isWritable(); } @Override public <C> IConverter<C> getConverter(Class<C> type) { return new ValueConverter(item.getModelObject().getType()); } }); item.add(new FencedFeedbackPanel("feedback", item)); } }; attributes.setReuseItems(true); form.add(attributes); form.add(new Button("submit")); }
From source file:org.wicketstuff.mbeanview.OperationsPanel.java
License:Apache License
public OperationsPanel(String id, final IModel<MBeanServer> server, final ObjectName objectName, MBeanOperationInfo[] beanOperationInfos) { super(id);//from w ww . jav a 2s .c om this.objectName = objectName; add(modalOutput = new ModalWindow("modalOutput")); modalOutput.setTitle("Operation result view."); modalOutput.setCookieName("modalOutput"); Form<Void> form = new Form<Void>("form"); add(form); ListView<MBeanOperationInfo> operations = new ListView<MBeanOperationInfo>("operations", Arrays.asList(beanOperationInfos)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<MBeanOperationInfo> item) { final MBeanOperationInfo info = item.getModelObject(); String returnLbl = info.getReturnType(); try { Class<?> c = Class.forName(info.getReturnType()); if (c.isArray()) { returnLbl = c.getComponentType().getSimpleName() + "[]"; } else { returnLbl = c.getSimpleName(); } } catch (ClassNotFoundException e) { } item.add(new Label("return", returnLbl)); IModel<Object[]> values = Model.of(new Object[info.getSignature().length]); ParameterRepeater parameterRepeater = new ParameterRepeater("parameters", info.getSignature(), values); item.add(parameterRepeater); final FencedFeedbackPanel feedback = new FencedFeedbackPanel("feedback", item); feedback.setOutputMarkupId(true); item.add(feedback); item.add(new OperationButton("method", server, info, values) { private static final long serialVersionUID = 1L; @Override protected void onFailure(Exception e, AjaxRequestTarget target) { List<String> returnList = new ArrayList<String>(); returnList.add(e.getMessage()); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); returnList.add(sw.toString()); modalOutput.setTitle("Failure"); modalOutput.setContent( new DataViewPanel(modalOutput.getContentId(), Model.ofList(returnList))); modalOutput.show(target); } @Override protected void onSuccess(Object returnObj, AjaxRequestTarget target) { if (returnObj == null) { item.info("Success"); target.add(feedback); } else { modalOutput.setTitle("Success"); modalOutput.setContent(new DataViewPanel(modalOutput.getContentId(), Model.of((Serializable) returnObj))); modalOutput.show(target); } } }); } }; operations.setReuseItems(true); form.add(operations); }