Example usage for org.apache.wicket.feedback FencedFeedbackPanel FencedFeedbackPanel

List of usage examples for org.apache.wicket.feedback FencedFeedbackPanel FencedFeedbackPanel

Introduction

In this page you can find the example usage for org.apache.wicket.feedback FencedFeedbackPanel FencedFeedbackPanel.

Prototype

public FencedFeedbackPanel(String id, IFeedbackMessageFilter filter) 

Source Link

Document

Creates a catch-all instance with a filter.

Usage

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);
}