diff options
15 files changed, 35 insertions, 162 deletions
| diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUApplet.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUApplet.java index 96c0e7eb..97b5869f 100644 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUApplet.java +++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUApplet.java @@ -17,11 +17,10 @@  package at.gv.egiz.bku.online.applet;  import java.net.MalformedURLException; +import java.net.URL;  import java.util.Locale;  import java.util.ResourceBundle; -import java.util.logging.Level; -import java.util.logging.Logger;  import javax.net.ssl.HttpsURLConnection;  import javax.swing.JApplet; @@ -30,10 +29,6 @@ import org.apache.commons.logging.LogFactory;  import at.gv.egiz.bku.gui.BKUGUIFacade;  import at.gv.egiz.bku.gui.BKUGUIFactory; -import at.gv.egiz.bku.smccstal.AbstractSMCCSTAL; -import at.gv.egiz.stal.QuitRequest; - -import java.net.URL;  /**   * Note: all swing code is executed by the event dispatch thread (see @@ -66,7 +61,6 @@ public class BKUApplet extends JApplet {      public void init() {        log.info("Welcome to MOCCA\n");          log.debug("Called init()"); -        AbstractSMCCSTAL.addRequestHandler(QuitRequest.class, QuitHandler.getInstance());          HttpsURLConnection.setDefaultSSLSocketFactory(InternalSSLSocketFactory.getInstance());          String localeString = getMyAppletParameter(LOCALE_PARAM_KEY);          if (localeString != null) { diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java index 3f64de3d..f708826d 100644 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java +++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/BKUWorker.java @@ -37,16 +37,15 @@ import at.gv.egiz.smcc.util.SMCCHelper;  import at.gv.egiz.stal.QuitRequest;  import at.gv.egiz.stal.STALRequest;  import at.gv.egiz.stal.STALResponse; -import at.gv.egiz.stal.service.types.GetNextRequestResponseType; -import at.gv.egiz.stal.service.types.GetNextRequestType; -import at.gv.egiz.stal.service.types.ObjectFactory;  import at.gv.egiz.stal.service.STALPortType;  import at.gv.egiz.stal.service.STALService;  import at.gv.egiz.stal.service.types.ErrorResponseType; +import at.gv.egiz.stal.service.types.GetNextRequestResponseType; +import at.gv.egiz.stal.service.types.GetNextRequestType; +import at.gv.egiz.stal.service.types.ObjectFactory;  import at.gv.egiz.stal.service.types.RequestType;  import at.gv.egiz.stal.service.types.ResponseType;  import at.gv.egiz.stal.util.STALTranslator; -import java.applet.AppletContext;  public class BKUWorker extends AbstractSMCCSTAL implements Runnable,      ActionListener, SMCCSTALRequestHandler { @@ -74,7 +73,7 @@ public class BKUWorker extends AbstractSMCCSTAL implements Runnable,      this.gui = gui;      this.parent = parent;      this.errorMessages = errorMessageBundle; -    QuitHandler.getInstance().registerHandlerInstance(this); +    addRequestHandler(QuitRequest.class, this);      // register SignRequestHandler once we have a webservice port    } @@ -87,7 +86,7 @@ public class BKUWorker extends AbstractSMCCSTAL implements Runnable,    protected BKUWorker(BKUGUIFacade gui, ResourceBundle errorMessageBundle) {      this.gui = gui;      this.errorMessages = errorMessageBundle; -    QuitHandler.getInstance().registerHandlerInstance(this); +    addRequestHandler(QuitRequest.class, this);    }    private STALPortType getSTALPort() throws MalformedURLException { @@ -252,7 +251,6 @@ public class BKUWorker extends AbstractSMCCSTAL implements Runnable,      if (signatureCard != null) {        signatureCard.disconnect(false);      } -    QuitHandler.getInstance().unregisterHandlerInstance(this);      sendRedirect();    } @@ -383,11 +381,6 @@ public class BKUWorker extends AbstractSMCCSTAL implements Runnable,    }    @Override -  public SMCCSTALRequestHandler newInstance() { -    return this; -  } - -  @Override    public boolean requireCard() {      return false;    } diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java index a9bbc559..2ac1bc62 100644 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java +++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/ExternalDisplaySignRequestHandler.java @@ -5,15 +5,16 @@  package at.gv.egiz.bku.online.applet; -import at.gv.egiz.bku.smccstal.SMCCSTALRequestHandler; -import at.gv.egiz.bku.smccstal.SignRequestHandler; -import at.gv.egiz.stal.signedinfo.ReferenceType;  import java.applet.AppletContext;  import java.net.URL;  import java.util.List; +  import org.apache.commons.logging.Log;  import org.apache.commons.logging.LogFactory; +import at.gv.egiz.bku.smccstal.SignRequestHandler; +import at.gv.egiz.stal.signedinfo.ReferenceType; +  /**   *   * @author clemens @@ -31,11 +32,6 @@ public class ExternalDisplaySignRequestHandler extends SignRequestHandler {    }    @Override -  public SMCCSTALRequestHandler newInstance() { -    return new ExternalDisplaySignRequestHandler(ctx, hashDataURL); -  } - -  @Override    public void displayHashDataInputs(List<ReferenceType> signedReferences) throws Exception {      //TODO pass reference Id's to servlet (TODO servlet)      log.debug("displaying hashdata inputs at " + hashDataURL); diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/MultiInstanceHandler.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/MultiInstanceHandler.java deleted file mode 100644 index a07df559..00000000 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/MultiInstanceHandler.java +++ /dev/null @@ -1,49 +0,0 @@ -package at.gv.egiz.bku.online.applet;
 -
 -import java.util.ArrayList;
 -import java.util.List;
 -
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -
 -import at.gv.egiz.bku.gui.BKUGUIFacade;
 -import at.gv.egiz.bku.smccstal.SMCCSTALRequestHandler;
 -import at.gv.egiz.smcc.SignatureCard;
 -import at.gv.egiz.stal.QuitRequest;
 -import at.gv.egiz.stal.STALRequest;
 -import at.gv.egiz.stal.STALResponse;
 -
 -public abstract class MultiInstanceHandler implements SMCCSTALRequestHandler {
 -  
 -  private static Log log = LogFactory.getLog(MultiInstanceHandler.class);
 -  
 -  protected List<SMCCSTALRequestHandler> handlerList = new ArrayList<SMCCSTALRequestHandler>();
 -  
 -  
 -  
 -  protected MultiInstanceHandler() {  
 -  }
 -  
 -  public void registerHandlerInstance(SMCCSTALRequestHandler handler) {
 -    handlerList.add(handler);
 -  }
 -  
 -  public void unregisterHandlerInstance(SMCCSTALRequestHandler handler) {
 -    handlerList.remove(handler);
 -  }
 -  
 - 
 -  @Override
 -  public void init(SignatureCard sc, BKUGUIFacade gui) {
 -  }
 -
 -  @Override
 -  public SMCCSTALRequestHandler newInstance() {
 -    return this;
 -  }
 -
 -  @Override
 -  public boolean requireCard() {
 -    return false;
 -  }
 -}
 diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/QuitHandler.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/QuitHandler.java deleted file mode 100644 index ab07e1a8..00000000 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/QuitHandler.java +++ /dev/null @@ -1,37 +0,0 @@ -package at.gv.egiz.bku.online.applet;
 -
 -import org.apache.commons.logging.Log;
 -import org.apache.commons.logging.LogFactory;
 -
 -import at.gv.egiz.bku.smccstal.SMCCSTALRequestHandler;
 -import at.gv.egiz.stal.QuitRequest;
 -import at.gv.egiz.stal.STALRequest;
 -import at.gv.egiz.stal.STALResponse;
 -
 -public class QuitHandler extends MultiInstanceHandler {
 -  
 -  private static Log log = LogFactory.getLog(QuitHandler.class);
 -  
 -  private static QuitHandler instance = new QuitHandler();
 -  
 -  private QuitHandler() {
 -  }
 -  
 -  public static QuitHandler getInstance() {
 -    return instance;
 -  }
 -
 -  @Override
 -  public STALResponse handleRequest(STALRequest request) {
 -    if (request instanceof QuitRequest) {
 -      log.info("Received QuitCommand");
 -      for (SMCCSTALRequestHandler handler : handlerList) {
 -        handler.handleRequest(request);
 -      }
 -    } else {
 -      log.error("Unexpected request to handle: " + request);
 -    }
 -    return null;
 -  }
 -
 -}
 diff --git a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/WebServiceSignRequestHandler.java b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/WebServiceSignRequestHandler.java index 4a87b8b5..b417fd33 100644 --- a/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/WebServiceSignRequestHandler.java +++ b/BKUApplet/src/main/java/at/gv/egiz/bku/online/applet/WebServiceSignRequestHandler.java @@ -16,24 +16,25 @@   */  package at.gv.egiz.bku.online.applet; -import at.gv.egiz.bku.smccstal.SMCCSTALRequestHandler; -import at.gv.egiz.bku.smccstal.SignRequestHandler; -import at.gv.egiz.stal.HashDataInput; -import at.gv.egiz.stal.impl.ByteArrayHashDataInput; -import at.gv.egiz.stal.service.STALPortType; -import at.gv.egiz.stal.service.types.GetHashDataInputResponseType; -import at.gv.egiz.stal.service.types.GetHashDataInputType; -import at.gv.egiz.stal.signedinfo.DigestMethodType; -import at.gv.egiz.stal.signedinfo.ReferenceType;  import java.security.DigestException;  import java.security.MessageDigest;  import java.util.ArrayList;  import java.util.Arrays;  import java.util.HashMap;  import java.util.List; +  import org.apache.commons.logging.Log;  import org.apache.commons.logging.LogFactory; +import at.gv.egiz.bku.smccstal.SignRequestHandler; +import at.gv.egiz.stal.HashDataInput; +import at.gv.egiz.stal.impl.ByteArrayHashDataInput; +import at.gv.egiz.stal.service.STALPortType; +import at.gv.egiz.stal.service.types.GetHashDataInputResponseType; +import at.gv.egiz.stal.service.types.GetHashDataInputType; +import at.gv.egiz.stal.signedinfo.DigestMethodType; +import at.gv.egiz.stal.signedinfo.ReferenceType; +  /**   * @author clemens   */ @@ -159,9 +160,4 @@ public class WebServiceSignRequestHandler extends SignRequestHandler {      gui.showHashDataInputDialog(hashDataInputs, this, "ok");    } - -  @Override -  public SMCCSTALRequestHandler newInstance() { -    return new WebServiceSignRequestHandler(this.sessId, this.stalPort); -  }  } diff --git a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java index 4330f570..d5702e0e 100644 --- a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java +++ b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/LocalSignRequestHandler.java @@ -113,11 +113,6 @@ public class LocalSignRequestHandler extends SignRequestHandler {      gui.showHashDataInputDialog(selectedHashDataInputs, this, "ok");    } -  @Override -  public SMCCSTALRequestHandler newInstance() { -    return new LocalSignRequestHandler(); -  } -    private ByteArrayHashDataInput getByteArrayHashDataInput(HashDataInput hashDataInput) throws IOException {      InputStream hdIs = hashDataInput.getHashDataInput(); diff --git a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTAL.java b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTAL.java index 4bc921aa..1bbb2e3c 100644 --- a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTAL.java +++ b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTAL.java @@ -27,7 +27,7 @@ public class SMCCSTAL extends BKUWorker {    public List<STALResponse> handleRequest(List<STALRequest> requestList) {
      signatureCard = null;
      List<STALResponse> responses = super.handleRequest(requestList);
 -    //container.setVisible(false);
 +    // container.setVisible(false);
      return responses;
    }
 diff --git a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTALFactory.java b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTALFactory.java index c5736648..e1d434e3 100644 --- a/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTALFactory.java +++ b/BKULocal/src/main/java/at/gv/egiz/bku/local/stal/SMCCSTALFactory.java @@ -27,9 +27,6 @@ import javax.swing.WindowConstants;  import at.gv.egiz.bku.gui.BKUGUIFacade;  import at.gv.egiz.bku.gui.BKUGUIFactory;  import at.gv.egiz.bku.online.applet.BKUApplet; -import at.gv.egiz.bku.online.applet.QuitHandler; -import at.gv.egiz.bku.smccstal.AbstractSMCCSTAL; -import at.gv.egiz.stal.QuitRequest;  import at.gv.egiz.stal.STAL;  import at.gv.egiz.stal.STALFactory; @@ -39,7 +36,7 @@ public class SMCCSTALFactory implements STALFactory {    @Override    public STAL createSTAL() { -    AbstractSMCCSTAL.addRequestHandler(QuitRequest.class, QuitHandler.getInstance()); +          SMCCSTAL stal;      JDialog dialog;      ResourceBundle resourceBundle; diff --git a/BKULocalApp/src/main/java/at/gv/egiz/bku/local/app/BKULauncher.java b/BKULocalApp/src/main/java/at/gv/egiz/bku/local/app/BKULauncher.java index 54d595fa..23a893b4 100644 --- a/BKULocalApp/src/main/java/at/gv/egiz/bku/local/app/BKULauncher.java +++ b/BKULocalApp/src/main/java/at/gv/egiz/bku/local/app/BKULauncher.java @@ -181,9 +181,7 @@ public class BKULauncher implements BKUControllerInterface {     * @param args
     */
    public static void main(String[] args) {
 -
      try {
 -
        BKULauncher launcher = new BKULauncher();
        launcher.initStart();
        launcher.checkConfig(args);
 diff --git a/smcc/src/main/java/at/gv/egiz/smcc/AbstractSignatureCard.java b/smcc/src/main/java/at/gv/egiz/smcc/AbstractSignatureCard.java index 7f3a3b1c..77a3e2ea 100644 --- a/smcc/src/main/java/at/gv/egiz/smcc/AbstractSignatureCard.java +++ b/smcc/src/main/java/at/gv/egiz/smcc/AbstractSignatureCard.java @@ -267,7 +267,7 @@ public abstract class AbstractSignatureCard implements SignatureCard {      if (card_ != null) {        try {          card_.disconnect(reset); -      } catch (CardException e) { +      } catch (Exception e) {          log.info("Error while resetting card", e);        }      } diff --git a/smcc/src/main/java/at/gv/egiz/smcc/util/SMCCHelper.java b/smcc/src/main/java/at/gv/egiz/smcc/util/SMCCHelper.java index 3d1fd7c7..15971497 100644 --- a/smcc/src/main/java/at/gv/egiz/smcc/util/SMCCHelper.java +++ b/smcc/src/main/java/at/gv/egiz/smcc/util/SMCCHelper.java @@ -49,11 +49,11 @@ public class SMCCHelper {      update();
    }
 -  public void update() {
 +  public synchronized void update() {
      update(-1);
    }
 -  public void update(int sleep) {
 +  public synchronized void update(int sleep) {
      SignatureCardFactory factory = SignatureCardFactory.getInstance();
      if (useSWCard) {
        try {
 @@ -113,7 +113,7 @@ public class SMCCHelper {      }
    }
 -  public SignatureCard getSignatureCard(Locale locale) {
 +  public synchronized SignatureCard getSignatureCard(Locale locale) {
      if (signatureCard != null) {
        signatureCard.setLocale(locale);
      }
 diff --git a/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/AbstractSMCCSTAL.java b/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/AbstractSMCCSTAL.java index b48388db..cf524737 100644 --- a/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/AbstractSMCCSTAL.java +++ b/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/AbstractSMCCSTAL.java @@ -37,19 +37,17 @@ import at.gv.egiz.stal.SignRequest;  public abstract class AbstractSMCCSTAL implements STAL {    private static Log log = LogFactory.getLog(AbstractSMCCSTAL.class); -   +    public final static int DEFAULT_MAX_RETRIES = 3;    protected Locale locale = Locale.getDefault(); -  // protected SMCCHelper smccHelper = new SMCCHelper();    protected SignatureCard signatureCard = null; -  protected static Map<String, SMCCSTALRequestHandler> handlerMap = new HashMap<String, SMCCSTALRequestHandler>(); -   +  protected Map<String, SMCCSTALRequestHandler> handlerMap = new HashMap<String, SMCCSTALRequestHandler>(); +    protected int maxRetries = DEFAULT_MAX_RETRIES; -  static { +  protected AbstractSMCCSTAL() {      addRequestHandler(InfoboxReadRequest.class, new InfoBoxReadRequestHandler()); -    // addRequestHandler(SignRequest.class, new SignRequestHandler());    }    /** @@ -72,7 +70,7 @@ public abstract class AbstractSMCCSTAL implements STAL {        log.info("Processing: " + request.getClass());        int retryCounter = 0;        while (retryCounter < maxRetries) { -        log.info("Number of retries: "+retryCounter); +        log.info("Number of retries: " + retryCounter);          SMCCSTALRequestHandler handler = null;          handler = handlerMap.get(request.getClass().getSimpleName());          if (handler != null) { @@ -83,7 +81,6 @@ public abstract class AbstractSMCCSTAL implements STAL {              }            }            try { -            handler = handler.newInstance();              handler.init(signatureCard, getGUI());              STALResponse response = handler.handleRequest(request);              if (response != null) { @@ -91,7 +88,7 @@ public abstract class AbstractSMCCSTAL implements STAL {                  log.info("Got an error response");                  ErrorResponse err = (ErrorResponse) response;                  if (err.getErrorCode() == 6001) { -                  retryCounter = Integer.MAX_VALUE-1; +                  retryCounter = Integer.MAX_VALUE - 1;                  }                  if (++retryCounter < maxRetries) {                    log.info("Retrying"); @@ -128,13 +125,13 @@ public abstract class AbstractSMCCSTAL implements STAL {      return responseList;    } -  public static void addRequestHandler(Class<? extends STALRequest> id, +  public void addRequestHandler(Class<? extends STALRequest> id,        SMCCSTALRequestHandler handler) {      log.debug("Registering STAL request handler: " + id.getSimpleName());      handlerMap.put(id.getSimpleName(), handler);    } -  public static SMCCSTALRequestHandler getRequestHandler( +  public SMCCSTALRequestHandler getRequestHandler(        Class<? extends STALRequest> request) {      return handlerMap.get(request.getSimpleName());    } @@ -150,5 +147,5 @@ public abstract class AbstractSMCCSTAL implements STAL {    public void setMaxRetries(int maxRetries) {      this.maxRetries = maxRetries;    } -   +  } diff --git a/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/InfoBoxReadRequestHandler.java b/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/InfoBoxReadRequestHandler.java index 25085b16..b48d6d50 100644 --- a/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/InfoBoxReadRequestHandler.java +++ b/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/InfoBoxReadRequestHandler.java @@ -133,9 +133,4 @@ public class InfoBoxReadRequestHandler extends AbstractRequestHandler implements      }      return new String(gui.getPin());    } - -  @Override -  public SMCCSTALRequestHandler newInstance() { -    return new InfoBoxReadRequestHandler(); -  }  } diff --git a/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/SMCCSTALRequestHandler.java b/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/SMCCSTALRequestHandler.java index 6f303f76..94ab7a5b 100644 --- a/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/SMCCSTALRequestHandler.java +++ b/smccSTAL/src/main/java/at/gv/egiz/bku/smccstal/SMCCSTALRequestHandler.java @@ -30,6 +30,4 @@ public interface SMCCSTALRequestHandler {    public boolean requireCard(); -  public SMCCSTALRequestHandler newInstance(); -  } | 
