Package org.ejbca.core.ejb.hardtoken

Source Code of org.ejbca.core.ejb.hardtoken.HardTokenIssuerData

/*************************************************************************
*                                                                       *
*  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.core.ejb.hardtoken;

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

import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.apache.log4j.Logger;
import org.ejbca.core.ejb.JBossUnmarshaller;
import org.ejbca.core.ejb.QueryResultWrapper;
import org.ejbca.core.model.hardtoken.HardTokenIssuer;

// TODO: This class might need additional merging with org.ejbca.core.model.hardtoken.HardTokenIssuerData, org.ejbca.core.model.hardtoken.HardTokenIssuer

/**
* Representation of a hard token issuer.
*
* @version $Id: HardTokenIssuerData.java 11559 2011-03-18 15:02:07Z jeklund $
*/
@Entity
@Table(name="HardTokenIssuerData")
public class HardTokenIssuerData implements Serializable {

  private static final long serialVersionUID = 1L;
  private static final Logger log = Logger.getLogger(HardTokenIssuerData.class);

  private int id;
  private String alias;
  private int adminGroupId;
  private Serializable data;
  private int rowVersion = 0;
  private String rowProtection;

  /**
   * Entity holding data of a hard token issuer.
   */
  public HardTokenIssuerData(int id, String alias, int admingroupid,  HardTokenIssuer issuerdata) {
    setId(id);
    setAlias(alias);
    setAdminGroupId(admingroupid);
    setHardTokenIssuer(issuerdata);
    log.debug("Created Hard Token Issuer "+ alias );
  }
 
  public HardTokenIssuerData() { }
     
  //@Id @Column
  public int getId() { return id; }
  public void setId(int id) { this.id = id; }

  //@Column
  public String getAlias() { return alias; }
  public void setAlias(String alias) { this.alias = alias; }

  //@Column
  public int getAdminGroupId() { return adminGroupId; }
  public void setAdminGroupId(int adminGroupId) { this.adminGroupId = adminGroupId; }

  //@Column @Lob
  public Serializable getDataUnsafe() { return data; }
  /** DO NOT USE! Stick with setData(HashMap data) instead. */
  public void setDataUnsafe(Serializable data) { this.data = data; }

  //@Version @Column
  public int getRowVersion() { return rowVersion; }
  public void setRowVersion(int rowVersion) { this.rowVersion = rowVersion; }

  //@Column @Lob
  public String getRowProtection() { return rowProtection; }
  public void setRowProtection(String rowProtection) { this.rowProtection = rowProtection; }

  @Transient
  private HashMap getData() { return JBossUnmarshaller.extractObject(HashMap.class, getDataUnsafe()); }
  private void setData(HashMap data) { setDataUnsafe(JBossUnmarshaller.serializeObject(data)); }

  /**
   * Method that returns the hard token issuer data and updates it if nessesary.
   */
  @Transient
  public HardTokenIssuer getHardTokenIssuer(){
    HardTokenIssuer returnval = new HardTokenIssuer();
    returnval.loadData(getData());
    return returnval;
  }

  /**
   * Method that saves the hard token issuer data to database.
   */
  public void setHardTokenIssuer(HardTokenIssuer hardtokenissuer){
    setData((HashMap) hardtokenissuer.saveData());
  }

  //
  // Search functions.
  //

  /** @return the found entity instance or null if the entity does not exist */
  public static HardTokenIssuerData findByPK(EntityManager entityManager, Integer pk) {
    return entityManager.find(HardTokenIssuerData.class, pk);
  }

  /**
   * @throws javax.persistence.NonUniqueResultException if more than one entity with the name exists
   * @return the found entity instance or null if the entity does not exist
   */
  public static HardTokenIssuerData findByAlias(EntityManager entityManager, String alias) {
    final Query query = entityManager.createQuery("SELECT a FROM HardTokenIssuerData a WHERE a.alias=:alias");
    query.setParameter("alias", alias);
    return (HardTokenIssuerData) QueryResultWrapper.getSingleResult(query);
  }

  /** @return return the query results as a List. */
  public static List<HardTokenIssuerData> findAll(EntityManager entityManager) {
    final Query query = entityManager.createQuery("SELECT a FROM HardTokenIssuerData a");
    return query.getResultList();
  }
}
TOP

Related Classes of org.ejbca.core.ejb.hardtoken.HardTokenIssuerData

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.