Package org.ejbca.core.model.hardtoken.profiles

Source Code of org.ejbca.core.model.hardtoken.profiles.HardTokenProfileWithAdressLabel

/*************************************************************************
*                                                                       *
*  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.model.hardtoken.profiles;


import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.io.StringReader;

import org.ejbca.core.model.ra.UserDataVO;





/**
* HardTokenProfileWithAdressLabel is a basic class that should be inherited by all types
* of hardtokenprofiles that should have adress label functionality.
*
* @version $Id: HardTokenProfileWithAdressLabel.java 10397 2010-11-08 14:18:57Z anatom $
*/
public abstract class HardTokenProfileWithAdressLabel extends HardTokenProfileWithReceipt implements IAdressLabelSettings{
   
 
  // Protected Constants
  protected static final String ADRESSLABELTYPE                = "adresslabeltype";
  protected static final String ADRESSLABELFILENAME            = "adresslabelfilename";
  protected static final String ADRESSLABELDATA                = "adresslabeldata";
  protected static final String ADRESSLABELCOPIES              = "adresslabelcopies";
 

  private SVGImageManipulator adresslabelsvgimagemanipulator = null;
     
    // Default Values
    public HardTokenProfileWithAdressLabel() {
      super();
     
      setAdressLabelType(IAdressLabelSettings.ADRESSLABELTYPE_GENERAL);
      setAdressLabelTemplateFilename("");
    setNumberOfAdressLabelCopies(1);
        
     
    }

    // Public Methods mostly used by PrimeCard
   
   
    public void upgrade(){
      // Perform upgrade functionality
     
      if(data.get(ADRESSLABELTYPE) == null){
        setAdressLabelType(IAdressLabelSettings.ADRESSLABELTYPE_GENERAL);
      }  
      if(data.get(ADRESSLABELFILENAME) == null){
        setAdressLabelTemplateFilename("");
      }       
      if(data.get(ADRESSLABELCOPIES) == null){
        setNumberOfAdressLabelCopies(1)
      }
     
      super.upgrade();
    }
   

   
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#getNumberOfAdressLabelCopies()
   */
  public int getNumberOfAdressLabelCopies() {
    return ((Integer) data.get(ADRESSLABELCOPIES)).intValue();
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#getAdressLabelData()
   */
  public String getAdressLabelData() {
    return (String) data.get(ADRESSLABELDATA);
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#getAdressLabelTemplateFilename()
   */
  public String getAdressLabelTemplateFilename() {
    return (String) data.get(ADRESSLABELFILENAME);
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#getAdressLabeltype()
   */
  public int getAdressLabelType() {
    return ((Integer) data.get(ADRESSLABELTYPE)).intValue();
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#printAdressLabel(org.ejbca.core.model.ra.UserDataVO, java.lang.String[], java.lang.String[], java.lang.String, java.lang.String)
   */
  public Printable printAdressLabel(UserDataVO userdata, String[] pincodes,
      String[] pukcodes, String hardtokensn, String copyoftokensn) throws IOException, PrinterException {
    Printable returnval = null;

    if(getAdressLabelData() != null){
      if(adresslabelsvgimagemanipulator == null) {
        adresslabelsvgimagemanipulator = new SVGImageManipulator(new StringReader(getAdressLabelData()),
            getVisualValidity(),
            getHardTokenSNPrefix());
      }
      returnval = adresslabelsvgimagemanipulator.print(userdata, pincodes, pukcodes, hardtokensn, copyoftokensn);                            
    }

    return returnval; 
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#setNumberOfAdressLabelCopies(int)
   */
  public void setNumberOfAdressLabelCopies(int copies) {
      data.put(ADRESSLABELCOPIES, Integer.valueOf(copies))
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#setAdressLabelData(java.lang.String)
   */
  public void setAdressLabelData(String templatedata) {
    data.put(ADRESSLABELDATA, templatedata)
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#setAdressLabelTemplateFilename(java.lang.String)
   */
  public void setAdressLabelTemplateFilename(String filename) {
      data.put(ADRESSLABELFILENAME, filename);   
  }
  /* (non-Javadoc)
   * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.IAdressLabelSettings#setAdressLabeltype(int)
   */
  public void setAdressLabelType(int type) {
    data.put(ADRESSLABELTYPE, Integer.valueOf(type));
  }
}
TOP

Related Classes of org.ejbca.core.model.hardtoken.profiles.HardTokenProfileWithAdressLabel

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.