package net.techreadiness.customer.action.task.org.create; import javax.inject.Inject; import net.techreadiness.service.OrganizationService; import net.techreadiness.service.object.Org; import net.techreadiness.ui.action.filters.FilterSelectionHandler; import net.techreadiness.ui.action.task.org.OrgTaskFlowAction; import net.techreadiness.ui.util.ConversationAware; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import com.opensymphony.xwork2.Preparable; public class BaseOrgAction extends OrgTaskFlowAction implements Preparable, ApplicationContextAware { private static final long serialVersionUID = 1L; @Inject protected OrganizationService organizationService; protected Org organization; protected Long parentOrganizationId; private ApplicationContext applicationContext; @Override public void prepare() throws Exception { organization = new Org(); } public void setOrganization(Org org) { organization = org; } public Org getOrganization() { return organization; } public void setParentOrganizationId(Long parentOrganizationId) { this.parentOrganizationId = parentOrganizationId; } public Long getParentOrganizationId() { return parentOrganizationId; } protected FilterSelectionHandler<Org> getOrgSelectionHandler() { String beanName = conversation.get(String.class, "orgFilterSelectionHandler"); FilterSelectionHandler<Org> selectionHandler = applicationContext.getBean(beanName, FilterSelectionHandler.class); if (selectionHandler instanceof ConversationAware) { ((ConversationAware) selectionHandler).setConversation(conversation); } return selectionHandler; } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } }