Hi, I 've a list of filter components to make the user experience more confortable when he is looking at a list of issues in my app. I use Tapestry radiogroup component technique to enclose those filtters in a FilterGroup component, It works ..! but it's not stateless. when I login to my application as another user with a new instance of another web browser (to avoid browser session ) it keeps all filters applyed from a previous user.
Environment services are not stateless ...? How can I avoid this behaviour ..? public class FilterGroup { private FilterContainer container = new FilterContainer() ; @Inject private Environment environment ; void setupRender() { environment.push(FilterContainer.class, container) ; } void afterRender() { environment.pop(FilterContainer.class) ; } public void onAction(Object[] ctx) { if (container.getActiveFilters().contains((String) ctx[0])) container.getActiveFilters().remove(ctx[0]) ; else { container.getActiveFilters().clear() ; container.getActiveFilters().add((String) ctx[0]) ; } } public Collection<Filter<BacklogItem>> getFilters() { List<Filter<BacklogItem>> filters = new ArrayList<Filter<BacklogItem>>() ; for (String activeFilter : container.getActiveFilters()) filters.add(container.getAvailableFilters().get(activeFilter)) ; return filters ; } } ********************************************************************************** public abstract class AbstractFilter { @Inject private ComponentResources resources ; @Parameter(defaultPrefix = TapestryConstants.LITERAL_BINDING_PREFIX, required=true) private String label ; @Environmental private FilterContainer container ; protected abstract String getFilterName() ; protected abstract Filter<BacklogItem> getFilter() ; @SetupRender void setupRender() { container.getAvailableFilters().put(getFilterName(), getFilter()) ; } void beginRender(MarkupWriter writer) { Link link = resources.createActionLink(TapestryConstants.ACTION_EVENT, false, getFilterName()) ; writer.writeRaw("<li>") ; writer.element("a", "href", link.toURI()) ; writer.write( container.getFilterState(getFilterName()) ) ; writer.write(label) ; writer.end() ; writer.writeRaw("</li>") ; } -- View this message in context: http://www.nabble.com/Environment-services-are-not-stateless-...---tp16733862p16733862.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]