aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
diff options
context:
space:
mode:
authorknowcenter <knowcenter@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2007-07-16 15:28:00 +0000
committerknowcenter <knowcenter@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2007-07-16 15:28:00 +0000
commit784b2b91ee43310810dd7893f6f0ac404adba185 (patch)
tree1bf8b2f987fdbcd0f28a084681adfd587dc36874 /src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
parent57e6d642bd6d1ab7bece6e9710c82d03e211084d (diff)
downloadpdf-as-3-784b2b91ee43310810dd7893f6f0ac404adba185.tar.gz
pdf-as-3-784b2b91ee43310810dd7893f6f0ac404adba185.tar.bz2
pdf-as-3-784b2b91ee43310810dd7893f6f0ac404adba185.zip
BKU and MOA signing templates versioning implemented.
See config.paramter file for changes/options git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@127 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java47
1 files changed, 37 insertions, 10 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
index 4dcd1b5..4c63ebf 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
@@ -7,7 +7,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import at.knowcenter.wag.egov.egiz.PdfASID;
+import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException;
+import at.knowcenter.wag.egov.egiz.exceptions.SettingNotFoundException;
+import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
import at.knowcenter.wag.egov.egiz.framework.SignatorFactory;
import at.knowcenter.wag.egov.egiz.sig.connectors.bku.EnvelopedBase64BKUConnector;
import at.knowcenter.wag.egov.egiz.sig.connectors.bku.LocRefDetachedBKUConnector;
@@ -28,15 +31,19 @@ public final class ConnectorChooser
/**
* The log.
*/
- private static Log log = LogFactory.getLog(ConnectorChooser.class);
+ private static Log log = LogFactory.getLog(ConnectorChooser.class);
+ private static final String MOA_CMD_LINE_SUPPORTED_KEY = "moa.sign.cmd.detached";
+ /*
+ * Called when we try to connect BKU over Web interface
+ */
public static LocalConnector chooseLocalConnectorForSign(String connector,
String profile, String loc_ref_url) throws ConnectorException
{
log.debug("Choosing LocalConnector for signation...");
log.debug("connector type = " + connector);
-
+
if (!connector.equals("bku"))
{
log.error("Currently only the BKU connector is fully implemented.");
@@ -63,23 +70,43 @@ public final class ConnectorChooser
}
public static Connector chooseCommandlineConnectorForSign(String connector,
- String profile) throws ConnectorException
+ String profile) throws ConnectorException, SettingNotFoundException
{
log.debug("Choosing Connector for commandline signation...");
log.debug("connector type = " + connector);
if (connector.equals(BKU))
- {
- log.debug("sig_app is BKU ==> MultipartDetachedBKUConnector"); //$NON-NLS-1$
-
+ {
+ log.debug("sig_app is BKU ==> MultipartDetachedBKUConnector"); //$NON-NLS-1
+
return new MultipartDetachedBKUConnector(profile);
}
+
if (connector.equals(MOA))
- {
- // TODO MOA detached signing is not allowed at the commandline
- log.warn("Detached MOA is not supported on the commandline. -> choosing Base64 temporarily.");
- return new EnvelopingBase64MOAConnector(profile);
+ {
+ try {
+ String cmd_supported = SettingsReader.getInstance().getValueFromKey(MOA_CMD_LINE_SUPPORTED_KEY);
+
+ if(cmd_supported.equals("true"))
+ {
+ //TODO: replace hardcoded constants!!!
+ return new DetachedLocRefMOAConnector(profile, "formdata:fileupload");
+ }
+ else
+ {
+ // TODO MOA detached signing is not allowed at the commandline
+ log.warn("Detached MOA is not supported on the commandline. -> choosing Base64 temporarily.");
+
+ return new EnvelopingBase64MOAConnector(profile);
+ }
+
+ } catch (SettingsException e) {
+ e.printStackTrace();
+ }
+ //if()
+ //return new DetachedLocRefMOAConnector(profile, "formdata:fileupload");
+ //return new EnvelopingBase64MOAConnector(profile);
}
throw new ConnectorException(300, "Unknown connector type '" + connector + "' specified.");