/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.importer.web;
import java.util.Date;
import org.apache.wicket.Component;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.geoserver.importer.ImportContext;
import org.geoserver.web.wicket.GeoServerDataProvider.Property;
import org.geoserver.web.wicket.GeoServerTablePanel;
import org.geoserver.web.wicket.SimpleBookmarkableLink;
import org.ocpsoft.pretty.time.PrettyTime;
public class ImportContextTable extends GeoServerTablePanel<ImportContext> {
static PrettyTime PRETTY_TIME = new PrettyTime();
public ImportContextTable(String id, ImportContextProvider dataProvider) {
super(id, dataProvider);
}
public ImportContextTable(String id, ImportContextProvider dataProvider, boolean selectable) {
super(id, dataProvider, selectable);
}
@Override
protected Component getComponentForProperty(String id, IModel itemModel, Property property) {
if (ImportContextProvider.ID == property) {
PageParameters pp = new PageParameters();
pp.add("id", property.getModel(itemModel).getObject());
return new SimpleBookmarkableLink(id, ImportPage.class, property.getModel(itemModel), pp);
}
else if (ImportContextProvider.CREATED == property || ImportContextProvider.UPDATED == property) {
Date date = (Date) property.getModel(itemModel).getObject();
String pretty = PRETTY_TIME.format(date);
return new Label(id, pretty);
}
return new Label(id, property.getModel(itemModel));
}
}