Package org.ejbca.ui.web.admin.configuration

Source Code of org.ejbca.ui.web.admin.configuration.AdminPreferenceDataHandler

/*************************************************************************
*                                                                       *
*  EJBCA: The OpenSource Certificate Authority                          *
*                                                                       *
*  This software is free software; you can redistribute it and/or       *
*  modify it under the terms of the GNU Lesser General Public           *
*  License as published by the Free Software Foundation; either         *
*  version 2.1 of the License, or any later version.                    *
*                                                                       *
*  See terms of license at gnu.org.                                     *
*                                                                       *
*************************************************************************/

package org.ejbca.ui.web.admin.configuration;

import org.ejbca.core.ejb.ra.raadmin.RaAdminSession;
import org.ejbca.core.model.log.Admin;
import org.ejbca.core.model.ra.raadmin.AdminPreference;
import org.ejbca.core.model.util.EjbLocalHelper;

/**
* A class handling the storage of a admins preferences. Currently all admin preferences are
* saved to a database.
*
* @author  Philip Vendil
* @version $Id: AdminPreferenceDataHandler.java 11274 2011-01-27 16:12:21Z jeklund $
*/
public class AdminPreferenceDataHandler implements java.io.Serializable {

  private static final long serialVersionUID = 1L;

  private RaAdminSession raadminsession;
  private Admin administrator;

  /** Creates a new instance of AdminPreferences */
  public AdminPreferenceDataHandler(Admin administrator) {
    raadminsession = new EjbLocalHelper().getRaAdminSession();
    this.administrator = administrator;
  }

  /** Retrieves the admin from the database or null if the admin doesn't exists. */
  public AdminPreference getAdminPreference(String certificatefingerprint) {
    AdminPreference returnvalue=null;
    try {
      returnvalue = raadminsession.getAdminPreference(administrator, certificatefingerprint);
    } catch(Exception e) {
    }
    return returnvalue;
  }

  /** Adds a admin preference to the database */
  public void addAdminPreference(String certificatefingerprint, AdminPreference adminpreference) throws AdminExistsException {
    if (!raadminsession.addAdminPreference(administrator, certificatefingerprint, adminpreference)) {
      throw new AdminExistsException("Admin already exists in the database.");
    }
  }

  /** Changes the admin preference for the given admin. */
  public void changeAdminPreference(String certificatefingerprint, AdminPreference adminpreference) throws AdminDoesntExistException {
    if (!raadminsession.changeAdminPreference(administrator, certificatefingerprint, adminpreference)) {
      throw new AdminDoesntExistException("Admin does not exist in the database.");
    }
  }

  /** Changes the admin preference for the given admin, without performing any logging. */
  public void changeAdminPreferenceNoLog(String certificatefingerprint, AdminPreference adminpreference) throws AdminDoesntExistException {
    if (!raadminsession.changeAdminPreferenceNoLog(administrator, certificatefingerprint, adminpreference)) {
      throw new AdminDoesntExistException("Admin does not exist in the database.");
    }
  }   

  /** Checks if admin preference exists in database. */
  public boolean existsAdminPreference(String certificatefingerprint) {
    return raadminsession.existsAdminPreference(administrator, certificatefingerprint);
  }

  /** Returns the default administrator preference. */
  public AdminPreference getDefaultAdminPreference() {
    return raadminsession.getDefaultAdminPreference(administrator)
  }

  /** Saves the default administrator preference. */
  public void saveDefaultAdminPreference(AdminPreference adminpreference) {
    raadminsession.saveDefaultAdminPreference(administrator, adminpreference)
  }
}
TOP

Related Classes of org.ejbca.ui.web.admin.configuration.AdminPreferenceDataHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.