This page worked in Wicket 1.3.6, but for some reason it's not working
in 1.4RC6 - I'm getting a NoSuchMethodError with the following output:

java.lang.NoSuchMethodError:
org.liberatio.pages.FileTransferPage.add([Lorg/apache/wicket/Component;)Lorg/apache/wicket/MarkupContainer;
     at org.liberatio.pages.FileTransferPage.<init>(FileTransferPage.java:103)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)



package org.liberatio.pages;

import org.liberatio.objects.SortableWorkstationProvider;
import org.liberatio.objects.Workstation;
import 
org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
import 
org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import 
org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
import org.apache.wicket.markup.*;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * This class is used for the View All Assets page. A datatable
 * is filled with the org.liberatio.objects.SortableWorkstationProvider
 *
 * An AjaxFallbackLink in an AbstractColumn allows the user to view
 * details about a particular item in the table.
 */
public class AssetsPage extends BasePage {
        
        public AssetsPage () {

                
                // ModalWindow functions as a pop up window with the item's 
details
        final ModalWindow modalWindowDetail;
        add(modalWindowDetail = new ModalWindow("modalWindowDetail"));

        // Action for close button callback
        modalWindowDetail.setCloseButtonCallback(new
ModalWindow.CloseButtonCallback()
        {
            public boolean onCloseButtonClicked(AjaxRequestTarget target)
            {
                return true;
            }
        });

        // Action for window close
        modalWindowDetail.setWindowClosedCallback(new
ModalWindow.WindowClosedCallback()
        {
            public void onClose(AjaxRequestTarget target)
            {
                // Do Nothing
            }
        });

                // List for columns
                List<IColumn> columns = new ArrayList<IColumn>();
                
                // Abstract column for showing a pop up window with details
        columns.add(new AbstractColumn(new Model("")) {
                
                public void populateItem(Item cellItem, String componentId,
IModel rowModel) {
                        
                        final Workstation item = 
(Workstation)rowModel.getObject();
                        
                        // HashMap for all the item's values - will be sent to 
window
                        final HashMap<String, String> map = new HashMap<String, 
String>();
                        map.put("AGENTIDENTIFIER", item.getAgentIdentifier());
                        map.put("HOSTNAME", item.getHostname());
                        map.put("DOMAIN", item.getDomainname());
                        map.put("FQDN", item.getFqdn());
                        map.put("IP","The IP Address");
                        map.put("NETMASK", "The Netmask");
                        map.put("GATEWAY", item.getGateway());
                        map.put("DNS1", item.getDns1());
                        map.put("DNS2", item.getDns2());
        
                // AjaxFallbackLink to display some text ("View Details")
and to show the detail window
                AjaxFallbackLink link = new AjaxFallbackLink(componentId) {
                                        
                                @Override
                                        public void onClick(AjaxRequestTarget 
target) {
                                                System.out.println("Viewed 
Details for " + item.getAgentIdentifier());
                                modalWindowDetail.setTitle("Detail: " + 
item.getHostname());
                                
modalWindowDetail.setCookieName("modal-window-detail");
                                                modalWindowDetail.setContent(new
ModalPanel1(modalWindowDetail.getContentId(), map));
                                                modalWindowDetail.show(target);
                                        }
                                
                                public void onComponentTagBody(MarkupStream 
markupStream,
ComponentTag openTag) {
                                        String linkText = "<a href=\"#\">View 
Details</a>";
                                        replaceComponentTagBody(markupStream, 
openTag, linkText);
                                }
                        };
                        
                        cellItem.add(link);
                        }
                
                });
                
        // Property columns
                columns.add(new PropertyColumn(new Model("Agent Identifier"),
"agentIdentifier", "agentIdentifier"));
                columns.add(new PropertyColumn(new Model("Hostname"), 
"hostname",
"hostname"));
                columns.add(new PropertyColumn(new Model("FQDN"), "fqdn", 
"fqdn"));
                
                // Add the datatable to the page
                add(new DefaultDataTable("datatable", columns, new
SortableWorkstationProvider(), 8));
        }
}


-- 
_________________________________

Joshua S. Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to