@SuppressWarnings("unchecked") Component editParentRoleLink(String id, IModel itemModel, Property<GeoServerRole> property) { return new SimpleAjaxLink(id, itemModel, property.getModel(itemModel)) { @Override protected void onClick(AjaxRequestTarget target) { GeoServerRole role = (GeoServerRole) getDefaultModelObject(); GeoServerRole parentRole; try { parentRole = GeoServerApplication.get().getSecurityManager() .loadRoleService(roleServiceName).getParentRole(role); } catch (IOException e) { throw new RuntimeException(e); } setResponsePage(new EditRolePage(roleServiceName, parentRole).setReturnPage(getPage())); } }; }
@Override protected Component getComponentForProperty( String id, IModel<WorkspaceInfo> itemModel, Property<WorkspaceInfo> property) { if (property == NAME) { return workspaceLink(id, itemModel); } else if (property == DEFAULT) { if (getCatalog() .getDefaultWorkspace() .equals(itemModel.getObject())) return new Icon(id, CatalogIconFactory.ENABLED_ICON); else return new Label(id, ""); } else if (property == ISOLATED) { if (itemModel.getObject().isIsolated()) return new Icon(id, CatalogIconFactory.ENABLED_ICON); else return new Label(id, ""); } throw new IllegalArgumentException( "No such property " + property.getName()); }
String id, IModel<LayerInfo> value, Property<LayerInfo> property) { final LayerInfo layer = (LayerInfo) value.getObject(); final String text = property.getPropertyValue(layer).toString();
String id, IModel<LayerInfo> value, Property<LayerInfo> property) { final LayerInfo layer = (LayerInfo) value.getObject(); String text = property.getPropertyValue(layer).toString(); if (property == layerProvider.defaultStyle) { IModel<Boolean> model =
IModel<CoverageDimensionInfo> itemModel, Property<CoverageDimensionInfo> property) { if ("band".equals(property.getName())) { Fragment f = new Fragment( new TextField<>( "bandtext", (IModel<String>) property.getModel(itemModel)); f.add(text); return f; if ("nullValues".equals(property.getName())) { Fragment f = new Fragment( new DecimalListTextField( "nulltext", (IModel<List>) property.getModel(itemModel)); f.add(text); return f; if ("unit".equals(property.getName())) { Fragment f = new Fragment(id, "text", CoverageBandsConfigurationPanel.this); Component text = buildUnitField("text", property.getModel(itemModel)); f.add(text); return f;
String id, IModel<Resource> itemModel, Property<Resource> property) { if (property == NewLayerPageProvider.NAME) { return new Label(id, property.getModel(itemModel)); } else if (property == NewLayerPageProvider.PUBLISHED) { final Resource resource = itemModel.getObject(); "Don't know of property " + property.getName());
@Override protected Component getComponentForProperty( String id, final IModel<DataAttribute> itemModel, Property<DataAttribute> property) { if (DataAttributesProvider.COMPUTE_STATS.equals(property.getName())) { Fragment f = new Fragment(id, "computeStatsFragment", DataPanel.this); f.add( new AjaxLink<Void>("computeStats") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { DataAttribute attribute = (DataAttribute) itemModel.getObject(); try { updateAttributeStats(attribute); } catch (IOException e) { error( "Failed to compute stats for the attribute: " + e.getMessage()); } target.add(attsContainer); } }); return f; } return null; } };
@Override protected Component getComponentForProperty(String id, IModel itemModel, Property<LayerInfo> property) { if(property == TYPE) { Fragment f = new Fragment(id, "iconFragment", LayerPage.this); f.add(new Image("layerIcon", icons.getSpecificLayerIcon((LayerInfo) itemModel.getObject()))); return f; } else if(property == WORKSPACE) { return workspaceLink(id, itemModel); } else if(property == STORE) { return storeLink(id, itemModel); } else if(property == NAME) { return layerLink(id, itemModel); } else if(property == ENABLED) { LayerInfo layerInfo = (LayerInfo) itemModel.getObject(); // ask for enabled() instead of isEnabled() to account for disabled resource/store boolean enabled = layerInfo.enabled(); ResourceReference icon = enabled? icons.getEnabledIcon() : icons.getDisabledIcon(); Fragment f = new Fragment(id, "iconFragment", LayerPage.this); f.add(new Image("layerIcon", icon)); return f; } else if(property == SRS) { return new Label(id, SRS.getModel(itemModel)); } throw new IllegalArgumentException("Don't know a property named " + property.getName()); }
@Override protected void populateItem(ListItem<Property<T>> item) { Property<T> property = item.getModelObject(); Component component = getComponentForProperty("component", itemModel, property); if (component == null) { // show a plain label if the the subclass did not create any component component = new Label("component", property.getModel(itemModel)); } else if (!"component".equals(component.getId())) { // add some checks for the id, the error message // that wicket returns in case of mismatch is not // that helpful throw new IllegalArgumentException( "getComponentForProperty asked " + "to build a component " + "with id = 'component' " + "for property '" + property.getName() + "', but got '" + component.getId() + "' instead"); } item.add(component); onPopulateItem(property, item); } };
@Override protected Component getComponentForProperty(String id, IModel itemModel, Property<Resource> property) { if (property == NewLayerPageProvider.NAME) { return new Label(id, property.getModel(itemModel)); } else if (property == NewLayerPageProvider.PUBLISHED) { final Resource resource = (Resource) itemModel.getObject(); final CatalogIconFactory icons = CatalogIconFactory.get(); if(resource.isPublished()) { ResourceReference icon = icons.getEnabledIcon(); Fragment f = new Fragment(id, "iconFragment", NewLayerPage.this); f.add(new Image("layerIcon", icon)); return f; } else { return new Label(id); } } else if(property == NewLayerPageProvider.ACTION) { final Resource resource = (Resource) itemModel.getObject(); if(resource.isPublished()) { return resourceChooserLink(id, itemModel, new ParamResourceModel("publishAgain", this)); } else { return resourceChooserLink(id, itemModel, new ParamResourceModel("publish", this)); } } else { throw new IllegalArgumentException( "Don't know of property " + property.getName()); } }
/** * Returns a comparator given the sort property. * * @param sort * @return */ protected Comparator<T> getComparator(SortParam sort) { if (sort == null || sort.getProperty() == null) return null; for (Property<T> property : getProperties()) { if (sort.getProperty().equals(property.getName())) { Comparator<T> comparator = property.getComparator(); if (comparator != null) { if (!sort.isAscending()) return new ReverseComparator<T>(comparator); else return comparator; } } } LOGGER.log(Level.WARNING, "Could not find any comparator " + "for sort property " + sort.getProperty()); return null; }
private List<T> filterByKeywords(List<T> items) { List<T> result = new ArrayList<T>(); final Matcher[] matchers = getMatchers(); List<Property<T>> properties = getProperties(); for (T item : items) { ITEM: // find any match of any pattern over any property for (Property<T> property : properties) { if(property.isSearchable()) { Object value = property.getPropertyValue(item); if (value != null) { // brute force check for keywords for (Matcher matcher : matchers) { matcher.reset(String.valueOf(value)); if (matcher.matches()) { result.add(item); break ITEM; } } } } } } return result; }
private List<T> filterByKeywords(List<T> items) { List<T> result = new ArrayList<T>(); final Matcher[] matchers = getMatchers(); List<Property<T>> properties = getProperties(); for (T item : items) { ITEM: // find any match of any pattern over any property for (Property<T> property : properties) { if (property.isSearchable()) { Object value = property.getPropertyValue(item); if (value != null) { // brute force check for keywords for (Matcher matcher : matchers) { matcher.reset(String.valueOf(value)); if (matcher.matches()) { result.add(item); break ITEM; } } } } } } return result; }
@Override protected Component getComponentForProperty( final String id, @SuppressWarnings("rawtypes") IModel<LogEvent> itemModel, Property<LogEvent> property) { LogEvent item = (LogEvent) itemModel.getObject(); if (property == LogEventProvider.SEVERITY) { Severity severity = item.getSeverity(); PackageResourceReference iconRef = SEVERITY_ICONS.get(severity); return new Icon(id, iconRef); } if (property == LogEventProvider.REPOSITORY) { return repositoryLink(id, item); } if (property == LogEventProvider.TIMESTAMP) { return new Label(id, DateUtil.serializeDateTime(item.getTimestamp())); } if (property == LogEventProvider.MESSAGE) { return messageLink(id, item); } return new Label(id, String.valueOf(property.getPropertyValue(item))); }
/** * Returns a comparator given the sort property. * * @param sort */ protected Comparator<T> getComparator(SortParam<?> sort) { if (sort == null) { return null; } Property<T> property = getProperty(sort); if (property != null) { Comparator<T> comparator = property.getComparator(); if (comparator != null) { if (!sort.isAscending()) return new ReverseComparator<T>(comparator); else return comparator; } } LOGGER.log(Level.WARNING, "Could not find any comparator " + "for sort property " + sort); return null; }
@Override protected Component getComponentForProperty( String id, IModel<Parameter> itemModel, Property<Parameter> property) { Fragment f = new Fragment(id, "text", SQLViewAbstractPage.this); @SuppressWarnings("unchecked") TextField<String> text = new TextField<String>( "text", (IModel<String>) property.getModel(itemModel)); text.setLabel( new ParamResourceModel( "th." + property.getName(), SQLViewAbstractPage.this)); if (property == SQLViewParamProvider.NAME) { text.setRequired(true); } else if (property == SQLViewParamProvider.REGEXP) { text.add(new RegexpValidator()); } f.add(text); return f; } };
/** * Creates a link for an epsgCode. * * <p>Subclasses may override to perform an action when an epsg code has been selected. This * default implementation returns a link that does nothing. * * @param linkId The id of the link component to be created. * @param itemModel The epsg code (integer). */ @SuppressWarnings("unchecked") protected Component createLinkForCode(String linkId, IModel<SRS> itemModel) { return new SimpleAjaxLink<Object>( linkId, (IModel<Object>) SRSProvider.CODE.getModel(itemModel)) { private static final long serialVersionUID = -1330723116026268069L; @Override protected void onClick(AjaxRequestTarget target) { onCodeClicked(target, getDefaultModelObjectAsString()); } }; }