// ======================================================================== // Copyright (C) zeroth Project Team. All rights reserved. // GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 // http://www.gnu.org/licenses/agpl-3.0.txt // ======================================================================== package zeroth.actor.screen.iface.jsf.conversation.master; import java.math.BigDecimal; import java.text.MessageFormat; import javax.enterprise.context.ConversationScoped; import javax.faces.application.FacesMessage; import javax.inject.Inject; import javax.inject.Named; import zeroth.actor.service.app.ApplicationAnnotation.OrganApplicationCDI; import zeroth.actor.service.app.actor.OrganApplication; import zeroth.actor.service.domain.Organ; import zeroth.framework.enterprise.app.SimpleRepositoryApplication; import zeroth.framework.screen.iface.jsf.AbstractActionImpl; import zeroth.framework.screen.iface.jsf.FacesHelper; import zeroth.framework.standard.shared.FilterFactory; import zeroth.framework.standard.shared.SimpleFilter; /** * 組織アクション * @author nilcy */ @Named(value = "organAction") @ConversationScoped public class OrganAction extends AbstractActionImpl<Organ, BigDecimal, SimpleFilter> { /** 製品番号 */ private static final long serialVersionUID = 7243039551620767571L; /** 組織アプリケーションI/F */ @Inject @OrganApplicationCDI private OrganApplication organApplication; /** コンストラクタ */ public OrganAction() { } /** {@inheritDoc} */ @Override public SimpleRepositoryApplication<Organ, BigDecimal, SimpleFilter> getApplication() { return organApplication; } /** {@inheritDoc} false if parent >= target. */ @Override protected boolean beforeSave() { final Organ target = getSelected(); final Organ parent = target.getParent(); if ((parent != null) && (parent.getLevel().longValue() >= target.getLevel().longValue())) { FacesHelper.addFacesMessage( FacesMessage.SEVERITY_ERROR, MessageFormat.format(FacesHelper.getBundleMessage("Organ_ERR_parent"), parent.getLevel())); return false; } return super.beforeSave(); } /** {@inheritDoc} */ @Override protected SimpleFilter createFilter() { return FilterFactory.createSimpleFilter(); } }