package com.intuit.tank.filter; /* * #%L * JSF Support Beans * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * #L% */ import java.io.Serializable; import java.util.List; import javax.enterprise.event.Event; import javax.enterprise.event.Observes; import javax.inject.Inject; import javax.inject.Named; import com.intuit.tank.dao.FilterDao; import com.intuit.tank.project.ScriptFilter; @Named("filterService") public class FilterServiceBean implements Serializable { /** * */ private static final long serialVersionUID = 1L; private List<ScriptFilter> filters; @Inject private Event<InvalidScriptFilter> scriptFilterEvent; /** * initializes and fetches the filters from persistent storage. * * @return */ public List<ScriptFilter> getScriptFilters() { initialize(); return filters; } /** * Will implement the functionality for editing a filter * * @param event * */ public void edit(ScriptFilter filter) { } public void edit() { } /** * * @param filterEvent */ public void handleInvalidEvent(@Observes InvalidScriptFilter filterEvent) { filters = null; } /** * re-fetch filters from DB next time our model is called. * * @param */ public void handleModifyEvent(@Observes ScriptFilter filter) { filters = null; } /** * Delete the specified filter * * @param filter * the filter to delete */ public void delete(ScriptFilter filter) { // if (filters.remove(filter)) { new FilterDao().delete(filter); scriptFilterEvent.fire(new InvalidScriptFilter(filter.getId())); // } } private void initialize() { if (filters == null) { filters = new FilterDao().findAll(); } } public static class InvalidScriptFilter implements Serializable { private int invalidScriptFilterId; /** * @param invalidScriptFilterId */ private InvalidScriptFilter(int invalidScriptFilterId) { super(); this.invalidScriptFilterId = invalidScriptFilterId; } /** * @return the invalidScriptFilterId */ public int getInvalidScriptFilterId() { return invalidScriptFilterId; } } }