package info.ozkan.vipera.business.administrator; import info.ozkan.vipera.entities.Administrator; import javax.inject.Inject; import javax.inject.Named; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * {@link AdministratorFacade} arayüzü implementasyonu * * @author Ömer Özkan * */ @Named("administratorFacade") public class AdministratorFacadeImpl implements AdministratorFacade { /** * LOGGER */ private static final Logger LOGGER = LoggerFactory .getLogger(AdministratorFacadeImpl.class); /** * Manager */ @Inject private AdministratorManager administratorManager; public AdministratorManagerResult getAll() { return administratorManager.getAll(); } public AdministratorManagerResult update(final Administrator administrator) { AdministratorManagerResult result; try { result = administratorManager.update(administrator); } catch (final Exception e) { LOGGER.error("administrator {} cannot be updated", administrator, e); result = createNonUniqueResult(); } return result; } private AdministratorManagerResult createNonUniqueResult() { AdministratorManagerResult result; result = new AdministratorManagerResult(); result.setStatus(AdministratorManagerStatus.NON_UNIQUE); return result; } public AdministratorManagerResult add(final Administrator administrator) { AdministratorManagerResult result; try { result = administratorManager.add(administrator); } catch (final Exception e) { LOGGER.error("The new admin {} cannot be added to system", administrator, e); result = createNonUniqueResult(); } return result; } public AdministratorManagerResult delete(final Administrator administrator) { return administratorManager.delete(administrator); } }