aboutsummaryrefslogtreecommitdiff
path: root/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java
diff options
context:
space:
mode:
Diffstat (limited to 'spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java')
-rw-r--r--spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java26
1 files changed, 20 insertions, 6 deletions
diff --git a/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java b/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java
index 94e3dac22..76b06605b 100644
--- a/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java
+++ b/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/beans/DataInfoBean.java
@@ -25,7 +25,6 @@ import java.util.Set;
import java.util.StringTokenizer;
import javax.servlet.ServletContext;
-import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
@@ -40,6 +39,7 @@ import org.xml.sax.InputSource;
import at.gv.egovernment.moa.spss.slinterface.Constants;
import at.gv.egovernment.moa.spss.slinterface.DOMUtils;
+import at.gv.egovernment.moa.spss.slinterface.URLRewriter;
import at.gv.egovernment.moa.spss.slinterface.XPathUtils;
import at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker;
@@ -79,8 +79,10 @@ public class DataInfoBean implements HttpSessionBindingListener
private static final String SLMANIFEST_TYPE_ =
"http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest";
-
ServletContext context_;
+ String contextPath_;
+ String sessionId_;
+
Properties initProps_;
/**
@@ -92,10 +94,12 @@ public class DataInfoBean implements HttpSessionBindingListener
/* ---------------------------------------------------------------------------------------------------- */
- public DataInfoBean(Document moaRequestDoc, Document moaResponseDoc, ServletContext context,
- HttpSession session) throws Exception
+ public DataInfoBean(Document moaRequestDoc, Document moaResponseDoc, String contextPath, String sessionId,
+ ServletContext context) throws Exception
{
context_ = context;
+ contextPath_ = contextPath;
+ sessionId_ = sessionId;
initProps_ = (Properties) context_.getAttribute(Constants.WSCP_INIT_PROPS_);
hashInputDataInfos_ = new ArrayList();
@@ -116,7 +120,7 @@ public class DataInfoBean implements HttpSessionBindingListener
for (int i = 0; i < hidElems.size(); i++)
{
// Open file for current hash input data
- String currHidFileNameStr = tempDir + session.getId() + "_" + System.currentTimeMillis() + "_" +
+ String currHidFileNameStr = tempDir + sessionId_ + "_" + System.currentTimeMillis() + "_" +
random.nextLong();
currHidFileNameStr = context_.getRealPath(currHidFileNameStr);
FileOutputStream currHidFOS;
@@ -162,6 +166,7 @@ public class DataInfoBean implements HttpSessionBindingListener
hashInputDataInfos_.add(new HashInputDataInfo(currHidFileNameStr));
}
+ logger_.debug("Finnished writing hash input data to files.");
// Check if hids are slxhtml documents; mark them appropriately
try
@@ -180,6 +185,7 @@ public class DataInfoBean implements HttpSessionBindingListener
logger_.error(message, e);
throw new Exception(message, e);
}
+ logger_.debug("Finnished checking hash input data for slxhtml conformity.");
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -320,9 +326,17 @@ public class DataInfoBean implements HttpSessionBindingListener
Attr srcAttr = currImgElem.getAttributeNode(SRC_ATTR_);
int slashPos = currHidi.filename_.lastIndexOf('\\');
+
+// Properties initProps = (Properties) context_.getAttribute(Constants.WSCP_INIT_PROPS_);
+// String tempDir = initProps.getProperty(Constants.IP_TEMP_DIR_);
+// String newSrcAttrValue = "." + tempDir + currHidi.filename_.substring(slashPos + 1);
+
Properties initProps = (Properties) context_.getAttribute(Constants.WSCP_INIT_PROPS_);
String tempDir = initProps.getProperty(Constants.IP_TEMP_DIR_);
- String newSrcAttrValue = "." + tempDir + currHidi.filename_.substring(slashPos + 1);
+ URLRewriter urlRewriter = (URLRewriter) context_.getAttribute(Constants.WSCP_URL_REWRITER_);
+ String newSrcAttrValue = urlRewriter.rewrite(
+ contextPath_ + tempDir + currHidi.filename_.substring(slashPos + 1), sessionId_);
+
srcAttr.setNodeValue(newSrcAttrValue);
}