public EndpointsPage()

in servicemix/src/main/java/org/apache/karaf/webconsole/servicemix/internal/EndpointsPage.java [44:80]


    public EndpointsPage() {
        IColumn<Map<String, Object>, String>[] columns = new IColumn[] {
            new OrdinalColumn<Map<String, Object>>(),
            new PropertyColumnExt<Map<String, Object>>("Name", Endpoint.NAME),
            new PropertyColumnExt<Map<String, Object>>("Version", Endpoint.VERSION),
            new PropertyColumnExt<Map<String, Object>>("Endpoint Name", Endpoint.ENDPOINT_NAME),
            new PropertyColumnExt<Map<String, Object>>("Interface", Endpoint.INTERFACE_NAME),
            new PropertyColumnExt<Map<String, Object>>("Service name", Endpoint.SERVICE_NAME),
            new PropertyColumnExt<Map<String, Object>>("Sync?", Endpoint.CHANNEL_SYNC_DELIVERY),
            new PropertyColumnExt<Map<String, Object>>("Untargetable?", Endpoint.UNTARGETABLE),
            new PropertyColumnExt<Map<String, Object>>("Wsdl url", Endpoint.WSDL_URL)
        };

        AdvancedDataProvider<Map<String, Object>> provider = new BaseDataProvider<Map<String, Object>>() {

            public Iterator<? extends Map<String, Object>> iterator(long first, long count) {
                List<Map<String, Object>> props = new ArrayList<Map<String,Object>>();

                EndpointRegistry endpointRegistry = nmr.getEndpointRegistry();
                for (Endpoint endpoint : endpointRegistry.getServices()) {
                    props.add((Map<String, Object>) endpointRegistry.getProperties(endpoint));
                }

                return props.subList((int) first, (int) count).iterator();
            }

            public long size() {
                return nmr.getEndpointRegistry().getServices().size();
            }

            public IModel<Map<String, Object>> model(Map<String, Object> object) {
                return Model.ofMap(object);
            }
        };

        add(new BaseDataTable<Map<String, Object>>("endpoints", Arrays.asList(columns), provider, 20));
    }