From c2ae3db1bc6dcb8ba3eb3461c05e293917c004ca Mon Sep 17 00:00:00 2001 From: mcentner Date: Thu, 30 Oct 2008 10:33:29 +0000 Subject: Updated SMCC to use exclusive access and to throw exceptions upon locked or not activated cards. Improved locale support in the security layer request and response processing. Fixed issue in STAL which prevented the use of RSA-SHA1 signatures. Added additional parameters to the applet test pages. git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@128 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- .../gv/egiz/bku/binding/HTTPBindingProcessor.java | 3 +- .../gv/egiz/bku/slcommands/SLCommandContext.java | 17 +++++++-- .../impl/CreateXMLSignatureCommandImpl.java | 4 +-- .../egiz/bku/slcommands/impl/ErrorResultImpl.java | 42 ++++++++++++++-------- .../slcommands/impl/InfoboxReadCommandImpl.java | 2 +- .../gv/egiz/bku/slcommands/impl/SLResultImpl.java | 8 ++++- 6 files changed, 55 insertions(+), 21 deletions(-) (limited to 'bkucommon/src/main/java/at/gv/egiz') diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/binding/HTTPBindingProcessor.java b/bkucommon/src/main/java/at/gv/egiz/bku/binding/HTTPBindingProcessor.java index 5e44e82b..4a22874c 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/binding/HTTPBindingProcessor.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/binding/HTTPBindingProcessor.java @@ -564,6 +564,7 @@ public class HTTPBindingProcessor extends AbstractBindingProcessor implements SLCommandContext commandCtx = new SLCommandContext(); commandCtx.setSTAL(getSTAL()); commandCtx.setURLDereferencerContext(new SimpleFormDataContextImpl(this)); + commandCtx.setLocale(locale); slCommand = SLCommandFactory.getInstance().createSLCommand(source, commandCtx); log.debug("Created new command: " + slCommand); @@ -731,7 +732,7 @@ public class HTTPBindingProcessor extends AbstractBindingProcessor implements protected void handleBindingProcessorError(OutputStream os, String encoding, Templates templates) throws IOException { log.debug("Writing error as result"); - ErrorResultImpl error = new ErrorResultImpl(bindingProcessorError); + ErrorResultImpl error = new ErrorResultImpl(bindingProcessorError, locale); error.writeTo(new StreamResult(new OutputStreamWriter(os, encoding)), templates); } diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/SLCommandContext.java b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/SLCommandContext.java index c95736bd..5af2afac 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/SLCommandContext.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/SLCommandContext.java @@ -16,13 +16,17 @@ */ package at.gv.egiz.bku.slcommands; +import java.util.Locale; + import at.gv.egiz.bku.utils.urldereferencer.URLDereferencerContext; import at.gv.egiz.stal.STAL; public class SLCommandContext { private STAL stal; - private URLDereferencerContext urlDerefCtx; + private URLDereferencerContext urlDerefCtx; + + private Locale locale; public void setSTAL(STAL aStal) { this.stal = aStal; @@ -38,5 +42,14 @@ public class SLCommandContext { public URLDereferencerContext getURLDereferencerContext() { return urlDerefCtx; - } + } + + public Locale getLocale() { + return locale; + } + + public void setLocale(Locale locale) { + this.locale = locale; + } + } \ No newline at end of file diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/CreateXMLSignatureCommandImpl.java b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/CreateXMLSignatureCommandImpl.java index 628326cf..6462bcf6 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/CreateXMLSignatureCommandImpl.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/CreateXMLSignatureCommandImpl.java @@ -216,8 +216,8 @@ public class CreateXMLSignatureCommandImpl extends SLCommandImplErrorResponse. */ - protected SLException slException; - - /** - * Creates a new instance of this ErrorResultImpl with the given - * slException containing information provided in the - * ErrorResponse. - * - * @param slException the exception - */ - public ErrorResultImpl(SLException slException) { - this.slException = slException; - } - + protected SLException slException; + + /** + * The locale to be used for rendering an ErrorResponse. + */ + protected Locale locale; + + /** + * Creates a new instance of this ErrorResultImpl with the given + * slException containing information provided in the + * ErrorResponse and the locale for rendering + * the ErrorResponse. + * + * @param slException the exception + * @param locale the locale + */ + public ErrorResultImpl(SLException slException, Locale locale) { + this.slException = slException; + this.locale = locale; + } + @Override public void writeTo(Result result, Templates templates) { - writeErrorTo(slException, result, templates); + if (locale == null) { + writeErrorTo(slException, result, templates); + } else { + writeErrorTo(slException, result, templates, locale); + } } } \ No newline at end of file diff --git a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/InfoboxReadCommandImpl.java b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/InfoboxReadCommandImpl.java index d23c0598..c7bb5205 100644 --- a/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/InfoboxReadCommandImpl.java +++ b/bkucommon/src/main/java/at/gv/egiz/bku/slcommands/impl/InfoboxReadCommandImpl.java @@ -279,7 +279,7 @@ public class InfoboxReadCommandImpl extends SLCommandImpl response = factory.createErrorResponse(responseType); Marshaller marshaller = getMarshaller(); -- cgit v1.2.3