/* * Copyright 2009 mcalderoni. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * under the License. */ package com.sensage.mngt.collector.webclient.adapters; import com.google.inject.Inject; import com.google.inject.name.Named; import com.sensage.mngt.collector.clientbeans.Adapter; import com.sensage.mngt.collector.corelogic.clientDAO.Dao; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.ListView; import org.apache.wicket.model.Model; /** * * @author mcalderoni */ public final class AdaptersListPage extends WebPage { private Dao dao; @Inject @Named("adapters.name") private String adaptersName; @Inject public AdaptersListPage(Dao d) { super(); dao = d; add(new Label("adapters", adaptersName)); // this.dao = d; // add(new ListView("adapterList", new PropertyModel(this, "adapter")) { // // @Override // protected void populateItem(ListItem item) { // Adapter adapter = (Adapter) item.getModelObject(); // item.add(new Link("edit", item.getModel()) { // // @Override // public void onClick() { // Adapter selected = (Adapter) getModelObject(); // //do something // } // }); // item.add(new Label("name", adapter.getName())); // item.add(new Label("vendor", "" + adapter.getVendor())); // item.add(new Label("lastModified", "" + adapter.getLastModified())); // // } // }); // ServiceLoader modules = ServiceLoader.load(Module.class); // Injector injector = Guice.createInjector(modules); // Dao dao = injector.getInstance(Dao.class); Collection adapters = dao.getAdapters(); // List asList = Collections.EMPTY_LIST;//Arrays.asList(adapters.toArray(new Adapter[0])); List asList = Arrays.asList(adapters.toArray(new Adapter[0])); add(new ListView("adapterList", asList) { @Override protected void populateItem(ListItem item) { Adapter adapter = (Adapter) item.getModelObject(); item.add(new Link("edit", item.getModel()) { @Override public void onClick() { Adapter selected = (Adapter) getModelObject(); Map parametersMap = new HashMap(); parametersMap.put("adapter", selected); PageParameters pageParameters = new PageParameters(parametersMap); setResponsePage(new AdapterPage(pageParameters));//PageParameters } }); item.add(new Label("name", adapter.getName())); item.add(new Label("vendor", "" + adapter.getVendor())); item.add(new Label("inUse", "" + adapter.isInUse())); SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy"); String time = format.format(new Date(adapter.getLastModified())); Model lastModified = new Model(time); item.add(new Label("lastModified", lastModified)); } }); } }