diff options
Diffstat (limited to 'spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java')
-rw-r--r-- | spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java deleted file mode 100644 index 774880d26..000000000 --- a/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java +++ /dev/null @@ -1,264 +0,0 @@ -package at.gv.egovernment.moa.spss.server.transaction; - -import iaik.ixsil.util.URI; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.security.cert.X509Certificate; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Vector; -import java.util.Map.Entry; - -import org.apache.axis.attachments.ManagedMemoryDataSource; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -/** - * Contains information about the current request. - * - * @author Stefan Knirsch - * @author Patrick Peck - */ -public class TransactionContext { - - /** The client certificate. */ - private X509Certificate[] clientCertificate = null; - /** The transaction ID. */ - private String transactionID = null; - /** The name of the request. */ - private String requestName = null; - /** The SOAP embedded request */ - private Element request; - /** The response which is to embed by SOAP */ - private Element response; - /** The map pointing to SOAP attachments needed by the request. */ - private HashMap attachments = null; - /** The configuration to use throughout the request. */ - private ConfigurationProvider configuration = null; - - /** - * Create a <code>TransactionContext</code> object. - * - * @param transactionID A unique ID for this <code>TransactionContext</code>. - * @param clientCertificate The client certificate chain. - * @param configuration The MOA configuration to use for this transaction. - */ - public TransactionContext( - String transactionID, - X509Certificate[] clientCertificate, - ConfigurationProvider configuration) { - - this.transactionID = transactionID; - this.clientCertificate = clientCertificate; - this.configuration = configuration; - } - - /** - * Create a <code>TransactionContext</code> object. - * - * @param transactionID A unique ID for this <code>TransactionContext</code>. - * @param clientCertificate The client certificate chain. - * @param configuration The MOA configuration to use for this transaction. - * @param attachments to use for this transaction. - */ - public TransactionContext( - String transactionID, - X509Certificate[] clientCertificate, - ConfigurationProvider configuration, - Element request, - HashMap attachments) { - - this.transactionID = transactionID; - this.clientCertificate = clientCertificate; - this.configuration = configuration; - this.request = request; - this.attachments = attachments; - } - - /** - * Returns the client certificate. - * - * @return The client certificate chain, if SSL client authentication has been - * configured in the web server and has been used by the client. The 0th - * element of the array contains the client certificate. <code>null</code> - * otherwise. - */ - public X509Certificate[] getClientCertificate() { - return clientCertificate; - } - - /** - * Returns the unique transaction ID. - * - * @return The transaction ID. - */ - public String getTransactionID() { - return transactionID; - } - - /** - * Returns the name of the request. - * - * @return The name of the request. - */ - public String getRequestName() { - return requestName; - } - - /** - * Sets the name of the request. - * - * @param requestName The request name to set. - */ - public void setRequestName(String requestName) { - this.requestName = requestName; - } - - /** - * Sets the the request. - * - * @param request The request to set. - */ - public void setRequest(Element request) { - this.request = request; - } - - /** - * Returns the request. - * - * @return The request. - */ - public Element getRequest() { - return request; - } - - /** - * Sets the the response. - * - * @param response The response to set. - */ - public void setResponse(Element response) { - this.response = response; - } - - /** - * Returns the response. - * - * @return The response. - */ - public Element getResponse() { - return response; - } - - /** - * Adds an attachment to the transactions list of SOAP attachments. - * - * @param referenceId Identification value for the SOAP attachment. - * @param contentType MIME type of the SOAP attachment. - * @param is Handle to the ManagedMemoryDataSource of the SOAP attachment. - */ - public void addAttachment(String referenceId, String contentType, ManagedMemoryDataSource is) { - if (this.attachments == null) this.attachments = new HashMap(); - Vector entry = new Vector(2); - entry.add(contentType); - entry.add(is); - this.attachments.put(referenceId, entry); - } - - /** - * Returns the ManagedMemoryDataSource to a specific SOAP attachment identified by referenceId. - * - * @param referenceId Identification value for the SOAP attachment. - */ - public ManagedMemoryDataSource getAttachment(String referenceId) { - if (attachments==null) { - return null; - } - Vector entry = (Vector) attachments.get(referenceId); - if (entry==null) { - return null; - } - //return (InputStream) ( ((ManagedMemoryDataSource)entry.get(1)).getInputStream()); - return (ManagedMemoryDataSource) entry.get(1); - } - - /** - * Returns the InputStream to a specific SOAP attachment identified by uri. - * - * @param uri Identification value for the SOAP attachment. - */ - public InputStream getAttachmentInputStream(URI uri) throws MOAApplicationException { - if (attachments==null) { - return null; - } - String referenceId = uri.getPath(); - Vector entry = (Vector) attachments.get(referenceId); - if (entry==null) { - return null; - } - - InputStream attachmentIs = null; - try { - attachmentIs = (InputStream) ( ((ManagedMemoryDataSource)entry.get(1)).getInputStream()); - } catch (IOException e) { - throw new MOAApplicationException("2208", new Object[] { uri }, e); - } - - return attachmentIs; - //If we would return the whole mmds: return (ManagedMemoryDataSource) entry.get(1); - } - - /** - * Returns the content type to a specific SOAP attachment identified by referenceId. - * - * @param referenceId Identification value for the SOAP attachment. - */ - public String getAttachmentContentType(String referenceId) { - Vector entry = (Vector) attachments.get(referenceId); - if (entry==null) { - return null; - } - return (String) entry.get(0); - } - - /** - * Delete the temporary attachment files. - */ -public void cleanAttachmentCache() { - if (null==attachments) { - return; - } - Iterator iterator = attachments.entrySet().iterator(); - while (iterator.hasNext()) { - Entry hmEntry = (Entry) iterator.next(); - Vector entry = (Vector)hmEntry.getValue(); - ManagedMemoryDataSource mmds = (ManagedMemoryDataSource)entry.get(1); - try { - if (mmds!=null) { - InputStream is = mmds.getInputStream(); - if (is!=null) is.close(); - File f = mmds.getDiskCacheFile(); - if (f!=null) f.delete(); - mmds.delete(); - } - } catch (IOException e) { - // ok to do nothing here - } - } - } - - /** - * Returns the <code>ConfigurationProvider</code> associated with this - * transaction. - * - * @return The ConfigurationProvider associated with this transaction. - */ - public ConfigurationProvider getConfiguration() { - return configuration; - } - -} |