diff options
| author | mcentner <mcentner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2010-05-05 15:29:01 +0000 | 
|---|---|---|
| committer | mcentner <mcentner@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2010-05-05 15:29:01 +0000 | 
| commit | b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd (patch) | |
| tree | 0883f08a408f89f758e9a1be629232e3dd055c3a /smccSTALExt | |
| parent | 83a9b613836910f7edc370c2fe60fa2268dc4461 (diff) | |
| download | mocca-b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd.tar.gz mocca-b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd.tar.bz2 mocca-b1c8641a63a67e3c64d948f9e8dce5c01e11e2dd.zip | |
Merged feature branch mocca-1.2.13-id@r724 back to trunk.
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@725 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'smccSTALExt')
6 files changed, 130 insertions, 180 deletions
| diff --git a/smccSTALExt/pom.xml b/smccSTALExt/pom.xml index fd47a79b..2411ba8e 100644 --- a/smccSTALExt/pom.xml +++ b/smccSTALExt/pom.xml @@ -1,13 +1,13 @@  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent> -    <artifactId>bku</artifactId> +    <artifactId>mocca</artifactId>      <groupId>at.gv.egiz</groupId> -    <version>1.2.14-SNAPSHOT</version> +    <version>1.3.0-SNAPSHOT</version>    </parent>    <groupId>at.gv.egiz</groupId>    <artifactId>smccSTALExt</artifactId> -  <version>1.2.14-SNAPSHOT</version> +  <version>${project.parent.version}</version>    <name>smcc STAL Extension</name>    <dependencies>      <dependency> @@ -16,6 +16,10 @@        <version>${project.parent.version}</version>      </dependency>      <dependency> +      <groupId>org.slf4j</groupId> +      <artifactId>slf4j-api</artifactId> +    </dependency> +    <dependency>        <groupId>at.gv.egiz</groupId>        <artifactId>BKUGuiExt</artifactId>        <version>${project.parent.version}</version> diff --git a/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINGUI.java b/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINGUI.java index 26a24609..eadecc11 100644 --- a/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINGUI.java +++ b/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINGUI.java @@ -20,14 +20,14 @@ import at.gv.egiz.bku.gui.BKUGUIFacade;  import at.gv.egiz.bku.gui.PINManagementGUIFacade;  import at.gv.egiz.bku.gui.PINManagementGUIFacade.DIALOG;  import at.gv.egiz.smcc.CancelledException; -import at.gv.egiz.smcc.PINSpec; +import at.gv.egiz.smcc.PinInfo;  import at.gv.egiz.smcc.pin.gui.ModifyPINGUI; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory;  public class ManagementPINGUI extends ManagementPINProvider implements ModifyPINGUI { -  protected static final Log log = LogFactory.getLog(ManagementPINGUI.class); +  protected static final Logger log = LoggerFactory.getLogger(ManagementPINGUI.class);    private boolean retry = false; @@ -36,7 +36,7 @@ public class ManagementPINGUI extends ManagementPINProvider implements ModifyPIN    }    @Override -  public void modifyPINDirect(PINSpec spec, int retries) +  public void modifyPINDirect(PinInfo spec, int retries)            throws CancelledException, InterruptedException {          gui.showModifyPINDirect(type, spec, (retry) ? retries : -1);      retry = true; @@ -48,19 +48,19 @@ public class ManagementPINGUI extends ManagementPINProvider implements ModifyPIN    }    @Override -  public void enterCurrentPIN(PINSpec spec, int retries) { +  public void enterCurrentPIN(PinInfo spec, int retries) {      gui.showEnterCurrentPIN(type, spec, (retry) ? retries : -1);      retry = true;    }    @Override -  public void enterNewPIN(PINSpec spec) { +  public void enterNewPIN(PinInfo spec) {      gui.showEnterNewPIN(type, spec);      retry = true;    }    @Override -  public void confirmNewPIN(PINSpec spec) { +  public void confirmNewPIN(PinInfo spec) {      gui.showConfirmNewPIN(type, spec);      retry = true;    } diff --git a/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINProvider.java b/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINProvider.java index 8d842d13..488ea754 100644 --- a/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINProvider.java +++ b/smccSTALExt/src/main/java/at/gv/egiz/bku/pin/gui/ManagementPINProvider.java @@ -19,14 +19,14 @@ package at.gv.egiz.bku.pin.gui;  import at.gv.egiz.bku.gui.BKUGUIFacade;  import at.gv.egiz.bku.gui.PINManagementGUIFacade;  import at.gv.egiz.smcc.CancelledException; -import at.gv.egiz.smcc.PINSpec; +import at.gv.egiz.smcc.PinInfo;  import at.gv.egiz.smcc.pin.gui.ModifyPINProvider; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory;  public class ManagementPINProvider extends AbstractPINProvider implements ModifyPINProvider { -  protected static final Log log = LogFactory.getLog(ManagementPINProvider.class); +  private final Logger log = LoggerFactory.getLogger(ManagementPINProvider.class);    protected PINManagementGUIFacade gui;    protected PINManagementGUIFacade.DIALOG type;    private boolean retry = false; @@ -37,16 +37,16 @@ public class ManagementPINProvider extends AbstractPINProvider implements Modify    }    @Override -  public char[] provideCurrentPIN(PINSpec spec, int retries) +  public char[] provideCurrentPIN(PinInfo spec, int retries)            throws CancelledException, InterruptedException {      gui.showPINDialog(type, spec, (retry) ? retries : -1,              this, "change",              this, "cancel"); -    log.trace("[" + Thread.currentThread().getName() + "] wait for action"); +    log.trace("[{}] wait for action.", Thread.currentThread().getName());      waitForAction(); -    log.trace("[" + Thread.currentThread().getName() + "] received action " + action); +    log.trace("[{}] received action {}.", Thread.currentThread().getName(), action);      gui.showMessageDialog(BKUGUIFacade.TITLE_WAIT,              BKUGUIFacade.MESSAGE_WAIT); @@ -60,7 +60,7 @@ public class ManagementPINProvider extends AbstractPINProvider implements Modify    }    @Override -  public char[] provideNewPIN(PINSpec spec) +  public char[] provideNewPIN(PinInfo spec)            throws CancelledException, InterruptedException {      char[] pin = gui.getPin(); @@ -73,9 +73,9 @@ public class ManagementPINProvider extends AbstractPINProvider implements Modify              this, "activate",              this, "cancel"); -    log.trace("[" + Thread.currentThread().getName() + "] wait for action"); +    log.trace("[{}] wait for action.", Thread.currentThread().getName());      waitForAction(); -    log.trace("[" + Thread.currentThread().getName() + "] received action " + action); +    log.trace("[{}] received action {}.", Thread.currentThread().getName(), action);      gui.showMessageDialog(BKUGUIFacade.TITLE_WAIT,                BKUGUIFacade.MESSAGE_WAIT); diff --git a/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/CardMgmtRequestHandler.java b/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/CardMgmtRequestHandler.java index 533206b3..b39a451a 100644 --- a/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/CardMgmtRequestHandler.java +++ b/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/CardMgmtRequestHandler.java @@ -30,10 +30,9 @@ import javax.smartcardio.CardException;  import javax.smartcardio.CommandAPDU;  import javax.smartcardio.ResponseAPDU; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -import at.gv.egiz.bku.smccstal.AbstractRequestHandler;  import at.gv.egiz.smcc.SignatureCardException;  import at.gv.egiz.stal.ErrorResponse;  import at.gv.egiz.stal.STALRequest; @@ -57,7 +56,7 @@ public class CardMgmtRequestHandler extends AbstractRequestHandler implements Ac    /**     * Logging facility.     */ -  private static Log log = LogFactory.getLog(CardMgmtRequestHandler.class); +  private final Logger log = LoggerFactory.getLogger(CardMgmtRequestHandler.class);    /**     * The sequence counter. @@ -77,12 +76,13 @@ public class CardMgmtRequestHandler extends AbstractRequestHandler implements Ac      if (request instanceof APDUScriptRequest) {        currentActivationScript++; -      log.debug("handling APDU script " + currentActivationScript); +      log.debug("Handling APDU script {}.", currentActivationScript);        Card icc = card.getCard();        if (icc == null) { -        log.error("SignatureCard instance '" + card.getClass().getName() + "' does not support card management requests."); +        log.error("SignatureCard instance '{}' does not support card management requests.", +            card.getClass().getName());          return new ErrorResponse(1000);        } @@ -92,22 +92,22 @@ public class CardMgmtRequestHandler extends AbstractRequestHandler implements Ac        ((ActivationGUIFacade) gui).showActivationProgressDialog(currentActivationScript, script.size(), this, "cancel");        try { -        log.trace("begin exclusive"); +        log.trace("Begin exclusive.");          icc.beginExclusive();          for (RequestScriptElement scriptElement : script) {            ((ActivationGUIFacade) gui).incrementProgress();            if (scriptElement instanceof Command) { -            log.trace("handling APDU script element COMMAND"); +            log.trace("Handling APDU script element COMMAND.");              Command command = (Command) scriptElement;              CommandAPDU commandAPDU = new CommandAPDU(command.getCommandAPDU()); -            log.trace("get basicchannel"); +            log.trace("Get basicchannel.");              CardChannel channel = icc.getBasicChannel();              sequenceNum = command.getSequence(); -            log.debug("Transmit APDU (sequence=" + sequenceNum + ")"); +            log.debug("Transmit APDU (sequence={}).", sequenceNum);              log.trace(commandAPDU.toString());              ResponseAPDU responseAPDU = channel.transmit(commandAPDU);              log.trace(responseAPDU.toString()); @@ -127,14 +127,14 @@ public class CardMgmtRequestHandler extends AbstractRequestHandler implements Ac            } else if (scriptElement instanceof Reset) { -            log.trace("handling APDU script element RESET"); +            log.trace("Handling APDU script element RESET.");              sequenceNum = 0;              card.reset();              javax.smartcardio.ATR atr = icc.getATR(); -            log.trace("got ATR: " + atr.toString()); +            log.trace("Got ATR: {}.", atr.toString());              responses.add(new ATR(atr.getBytes())); -            log.trace("regain exclusive access to card"); +            log.trace("Regain exclusive access to card.");              icc = card.getCard();              icc.beginExclusive();            } @@ -148,22 +148,23 @@ public class CardMgmtRequestHandler extends AbstractRequestHandler implements Ac          log.info("Failed to reset smart card.", e);          responses.add(new Response(sequenceNum, null, null, Response.RC_UNSPECIFIED));        } catch (RuntimeException e) { -        log.error(e); +        log.error(e.getMessage(), e);          throw e;        } finally {          try {            icc.endExclusive();          } catch (CardException e) { -          log.info(e); +          log.info(e.getMessage(), e);          }        } -      log.trace("done handling APDU script " + currentActivationScript + ", return response containing " + responses.size() + " elements"); +      log.trace("Done handling APDU script {}, return response containing {} elements.", +          currentActivationScript, responses.size());        ((ActivationGUIFacade) gui).showIdleDialog(this, "cancel");        return new APDUScriptResponse(responses);      } else { -      log.error("Got unexpected STAL request: " + request); +      log.error("Got unexpected STAL request: {}.", request);        return new ErrorResponse(1000);      } diff --git a/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/GetPINStatusException.java b/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/GetPINStatusException.java deleted file mode 100644 index 66b15887..00000000 --- a/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/GetPINStatusException.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2008 Federal Chancellery Austria and - * Graz University of Technology - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - *     http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package at.gv.egiz.bku.smccstal; - -import at.gv.egiz.smcc.SignatureCardException; - -/** - * - * @author Clemens Orthacker <clemens.orthacker@iaik.tugraz.at> - */ -public class GetPINStatusException extends SignatureCardException { - -    /** -     * Creates a new instance of <code>GetStatusException</code> without detail message. -     */ -    public GetPINStatusException() { -    } - - -    /** -     * Constructs an instance of <code>GetStatusException</code> with the specified detail message. -     * @param msg the detail message. -     */ -    public GetPINStatusException(String msg) { -        super(msg); -    } -} diff --git a/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/PINManagementRequestHandler.java b/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/PINManagementRequestHandler.java index f87f43f7..961e7f26 100644 --- a/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/PINManagementRequestHandler.java +++ b/smccSTALExt/src/main/java/at/gv/egiz/bku/smccstal/PINManagementRequestHandler.java @@ -16,16 +16,11 @@   */  package at.gv.egiz.bku.smccstal; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory;  import at.gv.egiz.bku.gui.BKUGUIFacade; -import at.gv.egiz.bku.gui.PINManagementGUI;  import at.gv.egiz.bku.gui.PINManagementGUIFacade; -import at.gv.egiz.bku.gui.PINManagementGUIFacade.STATUS;  import at.gv.egiz.bku.pin.gui.ManagementPINGUI;  import at.gv.egiz.bku.pin.gui.VerifyPINGUI;  import at.gv.egiz.smcc.CancelledException; @@ -35,11 +30,9 @@ import at.gv.egiz.smcc.PINConfirmationException;  import at.gv.egiz.smcc.PINFormatException;  import at.gv.egiz.smcc.PINMgmtSignatureCard;  import at.gv.egiz.smcc.PINOperationAbortedException; -import at.gv.egiz.smcc.PINSpec; +import at.gv.egiz.smcc.PinInfo;  import at.gv.egiz.smcc.SignatureCardException;  import at.gv.egiz.smcc.TimeoutException; -import at.gv.egiz.smcc.PINMgmtSignatureCard.PIN_STATE; -import at.gv.egiz.smcc.SignatureCard.KeyboxName;  import at.gv.egiz.stal.ErrorResponse;  import at.gv.egiz.stal.STALRequest;  import at.gv.egiz.stal.STALResponse; @@ -52,9 +45,7 @@ import at.gv.egiz.stal.ext.PINManagementResponse;   */  public class PINManagementRequestHandler extends AbstractRequestHandler { -  protected static final Log log = LogFactory.getLog(PINManagementRequestHandler.class); - -  protected Map<PINSpec, STATUS> pinStates = new HashMap<PINSpec, STATUS>(); +  private final Logger log = LoggerFactory.getLogger(PINManagementRequestHandler.class);    @Override    public STALResponse handleRequest(STALRequest request) throws InterruptedException { @@ -62,27 +53,21 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {      PINManagementGUIFacade gui = (PINManagementGUIFacade) this.gui; -    PINSpec selectedPIN = null; +    PinInfo selectedPIN = null;      try { +      PinInfo[] pinInfos = null; +              if (card instanceof PINMgmtSignatureCard) {          try { -          // check if activated -          card.getCertificate(KeyboxName.SECURE_SIGNATURE_KEYPAIR); - -          // update all PIN states -          for (PINSpec pinSpec : ((PINMgmtSignatureCard) card).getPINSpecs()) { -            updatePINState(pinSpec, STATUS.UNKNOWN); -          } - -          gui.showPINManagementDialog(pinStates, this, "activate_enterpin", -                "change_enterpin", "unblock_enterpuk", "verify_enterpin", this, -                "cancel"); - -        } catch (NotActivatedException ex) { -          log.error("pin management not allowed, card not activated"); +          pinInfos = ((PINMgmtSignatureCard) card).getPinInfos(); +          gui.showPINManagementDialog(pinInfos,  this, "activate_enterpin", +                  "change_enterpin", "unblock_enterpuk", "verify_enterpin", +                  this, "cancel"); +        } catch (SignatureCardException ex) { +          log.error("Card not activated, pin management not available (STARCOS G3).");            gui.showErrorDialog(PINManagementGUIFacade.ERR_CARD_NOTACTIVATED,                null, this, "cancel");          } @@ -99,13 +84,16 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {          waitForAction();          if ("cancel".equals(actionCommand)) { -          log.debug("pin management cancel"); +          log.debug("Pin management cancel.");            return new PINManagementResponse();          } else { -          selectedPIN = gui.getSelectedPINSpec(); +          selectedPIN = gui.getSelectedPinInfo();            if (selectedPIN == null) { -            throw new NullPointerException("no PIN selected for activation/change"); +            log.error("No PIN selected for activation/change."); +            gui.showErrorDialog(PINManagementGUIFacade.ERR_UNKNOWN_WITH_PARAM, +                    new Object[] {"no pin selected"}, this, "cancel"); +            continue;             }            try { @@ -119,24 +107,24 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {                verifyPIN(selectedPIN);              }            } catch (CancelledException ex) { -            log.trace("cancelled"); +            log.trace("Cancelled.");            } catch (TimeoutException ex) { -            log.error("Timeout during pin entry"); +            log.error("Timeout during pin entry.");              gui.showMessageDialog(BKUGUIFacade.TITLE_ENTRY_TIMEOUT,                      BKUGUIFacade.ERR_PIN_TIMEOUT,                       new Object[] {selectedPIN.getLocalizedName()},                      BKUGUIFacade.BUTTON_OK, this, null);              waitForAction();            } catch (LockedException ex) { -            log.error(selectedPIN.getLocalizedName() + " locked"); -            updatePINState(selectedPIN, STATUS.BLOCKED); +            log.error("{} locked.", selectedPIN.getLocalizedName()); +//            updatePINState(selectedPIN, STATUS.BLOCKED);              gui.showErrorDialog(PINManagementGUIFacade.ERR_LOCKED,                      new Object[] {selectedPIN.getLocalizedName()},                      this, null);              waitForAction();            } catch (NotActivatedException ex) { -            log.error(selectedPIN.getLocalizedName() + " not active"); -            updatePINState(selectedPIN, STATUS.NOT_ACTIV); +            log.error("{} not active.", selectedPIN.getLocalizedName()); +//            updatePINState(selectedPIN, STATUS.NOT_ACTIV);              gui.showErrorDialog(PINManagementGUIFacade.ERR_NOT_ACTIVE,                      new Object[] {selectedPIN.getLocalizedName()},                      this, null); @@ -147,7 +135,7 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {  //          } catch (PINFormatException ex) {            } catch (PINOperationAbortedException ex) { -            log.error("pin operation aborted without further details"); +            log.error("Pin operation aborted without further details.");              gui.showErrorDialog(PINManagementGUIFacade.ERR_PIN_OPERATION_ABORTED,                      new Object[] {selectedPIN.getLocalizedName()},                      this, null); @@ -156,18 +144,18 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {          } // end if          selectedPIN = null; -        gui.showPINManagementDialog(pinStates, +        gui.showPINManagementDialog(pinInfos,                  this, "activate_enterpin", "change_enterpin", "unblock_enterpuk", "verify_enterpin",                  this, "cancel");        } // end while -      } catch (GetPINStatusException ex) { -        String pin = (selectedPIN != null) ? selectedPIN.getLocalizedName() : "pin"; -        log.error("failed to get " +  pin + " status: " + ex.getMessage()); -        gui.showErrorDialog(PINManagementGUIFacade.ERR_STATUS, null, -                this, "ok"); -        waitForAction(); -        return new ErrorResponse(1000); +//      } catch (GetPINStatusException ex) { +//        String pin = (selectedPIN != null) ? selectedPIN.getLocalizedName() : "pin"; +//        log.error("failed to get " +  pin + " status: " + ex.getMessage()); +//        gui.showErrorDialog(PINManagementGUIFacade.ERR_STATUS, null, +//                this, "ok"); +//        waitForAction(); +//        return new ErrorResponse(1000);        } catch (SignatureCardException ex) {          log.error(ex.getMessage(), ex);          gui.showErrorDialog(PINManagementGUIFacade.ERR_UNKNOWN, null, @@ -176,33 +164,33 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {          return new ErrorResponse(1000);        }      } else { -      log.error("Got unexpected STAL request: " + request); +      log.error("Got unexpected STAL request: {}.", request);        return new ErrorResponse(1000);      }    } -  private void activatePIN(PINSpec selectedPIN) -          throws InterruptedException, SignatureCardException, GetPINStatusException { +  private void activatePIN(PinInfo selectedPIN) +          throws InterruptedException, SignatureCardException { -    log.info("activate " + selectedPIN.getLocalizedName()); +    log.info("Activate {}.", selectedPIN.getLocalizedName());      ManagementPINGUI pinGUI = new ManagementPINGUI((PINManagementGUIFacade) gui,              PINManagementGUIFacade.DIALOG.ACTIVATE); -    boolean reentry; +    boolean reentry = false;      do {        try { -        reentry = false;          ((PINMgmtSignatureCard) card).activatePIN(selectedPIN, pinGUI);        } catch (PINConfirmationException ex) {          reentry = true; -        log.error("confirmation pin does not match new " + selectedPIN.getLocalizedName()); +        log.error("Confirmation pin does not match new {}.", selectedPIN +            .getLocalizedName());          gui.showErrorDialog(PINManagementGUIFacade.ERR_PIN_CONFIRMATION,                  new Object[] {selectedPIN.getLocalizedName()},                  this, null);          waitForAction();        } catch (PINFormatException ex) {          reentry = true; -        log.error("wrong format of new " + selectedPIN.getLocalizedName()); +        log.error("Wrong format of new {}.", selectedPIN.getLocalizedName());          String pinSize = String.valueOf(selectedPIN.getMinLength());          if (selectedPIN.getMinLength() != selectedPIN.getMaxLength()) {              pinSize += "-" + selectedPIN.getMaxLength(); @@ -214,7 +202,7 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {        }      } while (reentry); -    updatePINState(selectedPIN, STATUS.ACTIV); +//    updatePINState(selectedPIN, STATUS.ACTIV);      gui.showMessageDialog(PINManagementGUIFacade.TITLE_ACTIVATE_SUCCESS,              PINManagementGUIFacade.MESSAGE_ACTIVATE_SUCCESS,              new Object[]{selectedPIN.getLocalizedName()}, @@ -222,20 +210,19 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {      waitForAction();    } -  private void verifyPIN(PINSpec selectedPIN) -          throws InterruptedException, SignatureCardException, GetPINStatusException { +  private void verifyPIN(PinInfo selectedPIN) +          throws InterruptedException, SignatureCardException { -    log.info("verify " + selectedPIN.getLocalizedName()); +    log.info("Verify {}.", selectedPIN.getLocalizedName());      VerifyPINGUI pinGUI = new VerifyPINGUI(gui); -    boolean reentry; +    boolean reentry = false;      do {        try { -        reentry = false;          ((PINMgmtSignatureCard) card).verifyPIN(selectedPIN, pinGUI);        } catch (PINFormatException ex) {          reentry = true; -        log.error("wrong format of new " + selectedPIN.getLocalizedName()); +        log.error("Wrong format of new {}.", selectedPIN.getLocalizedName());          String pinSize = String.valueOf(selectedPIN.getMinLength());          if (selectedPIN.getMinLength() != selectedPIN.getMaxLength()) {              pinSize += "-" + selectedPIN.getMaxLength(); @@ -247,31 +234,30 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {        }      } while (reentry); -    updatePINState(selectedPIN, STATUS.ACTIV); +//    updatePINState(selectedPIN, STATUS.ACTIV);    } -  private void changePIN(PINSpec selectedPIN) -          throws SignatureCardException, GetPINStatusException, InterruptedException { +  private void changePIN(PinInfo selectedPIN) +          throws SignatureCardException, InterruptedException { -    log.info("change " + selectedPIN.getLocalizedName()); +    log.info("Change {}.", selectedPIN.getLocalizedName());      ManagementPINGUI pinGUI = new ManagementPINGUI((PINManagementGUIFacade) gui,              PINManagementGUIFacade.DIALOG.CHANGE); -    boolean reentry; +    boolean reentry = false;      do {        try { -        reentry = false;          ((PINMgmtSignatureCard) card).changePIN(selectedPIN, pinGUI);        } catch (PINConfirmationException ex) {          reentry = true; -        log.error("confirmation pin does not match new " + selectedPIN.getLocalizedName()); +        log.error("Confirmation pin does not match new {}.", selectedPIN.getLocalizedName());          gui.showErrorDialog(PINManagementGUIFacade.ERR_PIN_CONFIRMATION,                  new Object[] {selectedPIN.getLocalizedName()},                  this, null);          waitForAction();        } catch (PINFormatException ex) {          reentry = true; -        log.error("wrong format of new " + selectedPIN.getLocalizedName()); +        log.error("Wrong format of new {}.", selectedPIN.getLocalizedName());          String pinSize = String.valueOf(selectedPIN.getMinLength());          if (selectedPIN.getMinLength() != selectedPIN.getMaxLength()) {              pinSize += "-" + selectedPIN.getMaxLength(); @@ -283,7 +269,7 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {        }      } while (reentry); -    updatePINState(selectedPIN, STATUS.ACTIV); +//    updatePINState(selectedPIN, STATUS.ACTIV);      gui.showMessageDialog(PINManagementGUIFacade.TITLE_CHANGE_SUCCESS,              PINManagementGUIFacade.MESSAGE_CHANGE_SUCCESS,              new Object[]{selectedPIN.getLocalizedName()}, @@ -291,28 +277,28 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {      waitForAction();    } -  private void unblockPIN(PINSpec selectedPIN) -          throws SignatureCardException, GetPINStatusException, InterruptedException { +  private void unblockPIN(PinInfo selectedPIN) +          throws SignatureCardException, InterruptedException { -    log.info("unblock " + selectedPIN.getLocalizedName()); +    log.info("Unblock {}.", selectedPIN.getLocalizedName());      ManagementPINGUI pinGUI = new ManagementPINGUI((PINManagementGUIFacade) gui,              PINManagementGUIFacade.DIALOG.UNBLOCK); -    boolean reentry; +    boolean reentry = false;      do {        try { -        reentry = false;          ((PINMgmtSignatureCard) card).unblockPIN(selectedPIN, pinGUI);        } catch (PINConfirmationException ex) {          reentry = true; -        log.error("confirmation pin does not match new " + selectedPIN.getLocalizedName()); +        log.error("Confirmation pin does not match new {}.", selectedPIN +            .getLocalizedName());          gui.showErrorDialog(PINManagementGUIFacade.ERR_PIN_CONFIRMATION,                  new Object[] {selectedPIN.getLocalizedName()},                  this, null);          waitForAction();        } catch (PINFormatException ex) {          reentry = true; -        log.error("wrong format of new " + selectedPIN.getLocalizedName()); +        log.error("Wrong format of new {}.", selectedPIN.getLocalizedName());          String pinSize = String.valueOf(selectedPIN.getMinLength());          if (selectedPIN.getMinLength() != selectedPIN.getMaxLength()) {              pinSize += "-" + selectedPIN.getMaxLength(); @@ -324,7 +310,7 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {        }      } while (reentry); -    updatePINState(selectedPIN, STATUS.ACTIV); +//    updatePINState(selectedPIN, STATUS.ACTIV);      gui.showMessageDialog(PINManagementGUIFacade.TITLE_UNBLOCK_SUCCESS,              PINManagementGUIFacade.MESSAGE_UNBLOCK_SUCCESS,              new Object[]{selectedPIN.getLocalizedName()}, @@ -344,28 +330,28 @@ public class PINManagementRequestHandler extends AbstractRequestHandler {     * @param status     * @throws at.gv.egiz.smcc.SignatureCardException if query status fails     */ -  private void updatePINState(PINSpec pinSpec, STATUS status) -      throws GetPINStatusException { - -    PINMgmtSignatureCard pmCard = ((PINMgmtSignatureCard) card); -    PIN_STATE pinState; -    try { -      pinState = pmCard.getPINState(pinSpec); -    } catch (SignatureCardException e) { -      String msg = "Failed to get PIN status for pin '" -          + pinSpec.getLocalizedName() + "'."; -      log.info(msg, e); -      throw new GetPINStatusException(msg); -    } -    if (pinState == PIN_STATE.ACTIV) { -      pinStates.put(pinSpec, STATUS.ACTIV); -    } else if (pinState == PIN_STATE.NOT_ACTIV) { -      pinStates.put(pinSpec, STATUS.NOT_ACTIV); -    } else if (pinState == PIN_STATE.BLOCKED) { -      pinStates.put(pinSpec, STATUS.BLOCKED); -    } else { -      pinStates.put(pinSpec, status); -    } -  } +//  private void updatePINState(PINSpec pinSpec, STATUS status) +//      throws GetPINStatusException { +// +//    PINMgmtSignatureCard pmCard = ((PINMgmtSignatureCard) card); +//    PIN_STATE pinState; +//    try { +//      pinState = pmCard.getPINState(pinSpec); +//    } catch (SignatureCardException e) { +//      String msg = "Failed to get PIN status for pin '" +//          + pinSpec.getLocalizedName() + "'."; +//      log.info(msg, e); +//      throw new GetPINStatusException(msg); +//    } +//    if (pinState == PIN_STATE.ACTIV) { +//      pinStates.put(pinSpec, STATUS.ACTIV); +//    } else if (pinState == PIN_STATE.NOT_ACTIV) { +//      pinStates.put(pinSpec, STATUS.NOT_ACTIV); +//    } else if (pinState == PIN_STATE.BLOCKED) { +//      pinStates.put(pinSpec, STATUS.BLOCKED); +//    } else { +//      pinStates.put(pinSpec, status); +//    } +//  }  } | 
