All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.giavacms.faq.producer.FaqProducer Maven / Gradle / Ivy

package org.giavacms.faq.producer;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.enterprise.inject.Produces;
import javax.faces.model.SelectItem;
import javax.inject.Inject;
import javax.inject.Named;

import org.giavacms.common.model.Search;
import org.giavacms.common.util.JSFUtils;
import org.giavacms.faq.model.FaqCategory;
import org.giavacms.faq.repository.FaqCategoryRepository;
import org.jboss.logging.Logger;

@SessionScoped
@Named
public class FaqProducer implements Serializable {

	Logger logger = Logger.getLogger(getClass());
	private static final long serialVersionUID = 1L;

	@Inject
	private FaqCategoryRepository faqCategoryRepository;

	@SuppressWarnings("rawtypes")
	private Map items = null;

	public FaqProducer() {
		// TODO Auto-generated constructor stub
	}

	@Produces
	@Named
	public SelectItem[] getFaqCategoryItems() {
		if (items.get(FaqCategory.class) == null) {
			Search search = new Search(
					FaqCategory.class);
			items.put(FaqCategory.class, JSFUtils.setupItems(
					new Search(FaqCategory.class),
					faqCategoryRepository, "id", "name", "nessuna categoria",
					"seleziona categoria..."));
		}
		return items.get(FaqCategory.class);
	}

	public void resetItemsForClass(Class clazz) {
		if (items.containsKey(clazz)) {
			items.remove(clazz);
		}
	}

	// ==============================================================================

	@PostConstruct
	public void reset() {
		items = new HashMap();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy