[Yanel-commits] rev 21673 - in
public/yanel/trunk/src/resources/importsite:
src/java/org/wyona/yanel/impl/resources xslt
michi at wyona.com
michi at wyona.com
Fri Jan 12 10:10:15 CET 2007
Author: michi
Date: 2007-01-12 10:10:10 +0100 (Fri, 12 Jan 2007)
New Revision: 21673
Modified:
public/yanel/trunk/src/resources/importsite/src/java/org/wyona/yanel/impl/resources/ImportSiteResource.java
public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl
Log:
error screen and status screen fixed
Modified: public/yanel/trunk/src/resources/importsite/src/java/org/wyona/yanel/impl/resources/ImportSiteResource.java
===================================================================
--- public/yanel/trunk/src/resources/importsite/src/java/org/wyona/yanel/impl/resources/ImportSiteResource.java 2007-01-12 09:07:55 UTC (rev 21672)
+++ public/yanel/trunk/src/resources/importsite/src/java/org/wyona/yanel/impl/resources/ImportSiteResource.java 2007-01-12 09:10:10 UTC (rev 21673)
@@ -4,6 +4,7 @@
package org.wyona.yanel.impl.resources;
+import org.wyona.yanel.core.Path;
import org.wyona.yanel.core.Resource;
import org.wyona.yanel.core.api.attributes.ViewableV2;
import org.wyona.yanel.core.attributes.viewable.View;
@@ -59,6 +60,9 @@
*/
public View getView(String viewId) throws Exception {
+ Path path = getPath();
+ HttpServletRequest request = getRequest();
+
// Get language
try {
language = request.getParameter("yanel.meta.language");
@@ -70,6 +74,13 @@
log.debug("language param is empty or null : " + language);
language = defaultLanguage;
}
+
+ /* create tmp status file
+ if (!new File(request.getSession().getServletContext().getRealPath("tmp")).exists()) {
+ if (!new File(request.getSession().getServletContext().getRealPath("tmp")).mkdir()) {
+ errorMessage = errorMessage + "\n Creation of tmp directory faild.";
+ }
+ }*/
Transformer transformer = null;
I18nTransformer i18nTransformer = new I18nTransformer("importsite", language);
@@ -89,14 +100,30 @@
File statusXSLTFile = org.wyona.commons.io.FileUtil.file(rtd.getConfigFile().getParentFile().getAbsolutePath(), "xslt" + File.separator + "importsite.xsl");
File statusXMLFile = org.wyona.commons.io.FileUtil.file(rtd.getConfigFile().getParentFile().getAbsolutePath(), "xml" + File.separator + "status-screen.xml");
transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(statusXSLTFile));
- transformer.setParameter("realmid", HttpServletRequestHelper.getParameter(request, "realmid"));
- transformer.setParameter("realmname", HttpServletRequestHelper.getParameter(request, "realmname"));
- transformer.setParameter("url", HttpServletRequestHelper.getParameter(request, "url"));
- String crawldepth = null;
- if ((crawldepth = request.getParameter("crawldepth")) != null) {
- transformer.setParameter("crawldepth", crawldepth);
+
+ String parameterName = "";
+ String parameter = "";
+ String parameterErrorName = "";
+ String parameterError = "";
+ String[] parameters = { "realmid", "realmname", "url", "fs-location", "crawldepth", "maxpages" };
+ for (int i=0; i<parameters.length; i++){
+ parameterName = parameters[i];
+ parameter = HttpServletRequestHelper.getParameter(request, parameterName);
+ transformer.setParameter(parameterName, parameter);
+
+ if (parameter == null || ("").equals(parameter)) {
+ parameterErrorName = "error-" + parameterName;
+ parameterError = "Please enter correct value for '" + parameterName + "'";
+ transformer.setParameter(parameterErrorName, parameterError);
+ }
}
- transformer.setParameter("maxpages", HttpServletRequestHelper.getParameter(request, "maxpages"));
+
+ if (parameterError == null || ("").equals(parameterError)) {
+ transformer.setParameter("submitted", "true");
+ }
+
+ transformer.transform(new javax.xml.transform.stream.StreamSource(statusXMLFile), new StreamResult(byteArrayOutputStream));
+
} else {
File inputXSLTFile = org.wyona.commons.io.FileUtil.file(rtd.getConfigFile().getParentFile().getAbsolutePath(), "xslt" + File.separator + "importsite.xsl");
File inputXMLFile = org.wyona.commons.io.FileUtil.file(rtd.getConfigFile().getParentFile().getAbsolutePath(), "xml" + File.separator + "input-screen.xml");
@@ -104,8 +131,6 @@
transformer.transform(new javax.xml.transform.stream.StreamSource(inputXMLFile), new StreamResult(byteArrayOutputStream));
}
-
- defaultView.setMimeType("application/xhtml+xml");
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
saxParser.parse(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()), i18nTransformer);
@@ -113,7 +138,8 @@
} catch (Exception e) {
log.error(e.getMessage(), e);
}
-
+
+ defaultView.setMimeType("application/xhtml+xml");
defaultView.setInputStream(i18nTransformer.getInputStream());
return defaultView;
}
Modified: public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl
===================================================================
--- public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl 2007-01-12 09:07:55 UTC (rev 21672)
+++ public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl 2007-01-12 09:10:10 UTC (rev 21673)
@@ -9,8 +9,22 @@
<xsl:output method="xhtml" encoding="UTF-8"/>
- <xsl:param name="error" select="''"/>
+ <xsl:param name="realmid" select="''" />
+ <xsl:param name="realmname" select="''" />
+ <xsl:param name="url" select="''" />
+ <xsl:param name="fs-location" select="''" />
+ <xsl:param name="crawldepth" select="''" />
+ <xsl:param name="maxpages" select="''" />
+
+ <xsl:param name="error-realmid" select="''" />
+ <xsl:param name="error-realmname" select="''" />
+ <xsl:param name="error-url" select="''" />
+ <xsl:param name="error-fs-location" select="''" />
+ <xsl:param name="error-crawldepth" select="''" />
+ <xsl:param name="error-maxpages" select="''" />
+ <xsl:param name="submitted" select="'false'" />
+
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@@ -26,45 +40,121 @@
<h3><i18n:message key="importsite"/></h3>
<div id="contentBody">
+ <xsl:choose>
+ <xsl:when test="$submitted != 'false'">
+ <p>[X] pages have been imported.</p>
+ <p>[X]% complete.</p>
+ </xsl:when>
+ <xsl:otherwise>
+
+ <form method="post">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <xsl:for-each select="form/inputfields/input">
+ <tr>
+ <td align="right" valign="top" class="contentfield" width="150">
+ <i18n:message key="{.}"/>: 
+ </td>
+ <td>
+ <xsl:choose>
+ <xsl:when test="$error-realmid != '' or $error-realmname != ''
+ or $error-url != '' or $error-fs-location != ''
+ or $error-crawldepth != '' or $error-maxpages != ''">
+ <xsl:choose>
+ <xsl:when test="position()='1'">
+ <input type="text" name="{.}" class="box" size="30" value="{$realmid}" />
+ </xsl:when>
+ <xsl:when test="position()='2'">
+ <input type="text" name="{.}" class="box" size="30" value="{$realmname}" />
+ </xsl:when>
+ <xsl:when test="position()='3'">
+ <input type="text" name="{.}" class="box" size="30" value="{$url}" />
+ </xsl:when>
+ <xsl:when test="position()='4'">
+ <input type="text" name="{.}" class="box" size="30" value="{$fs-location}" />
+ </xsl:when>
+ <xsl:when test="position()='5'">
+ <input type="text" name="{.}" class="box" size="30" value="{$crawldepth}" />
+ </xsl:when>
+ <xsl:when test="position()='6'">
+ <input type="text" name="{.}" class="box" size="30" value="{$maxpages}" />
+ </xsl:when>
+ <xsl:otherwise/>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <input type="text" name="{.}" class="box" size="30" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td><xsl:if test="@required = 'true'">*</xsl:if></td>
+ <xsl:choose>
+ <xsl:when test="position()='1' and $error-realmid != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error-realmid}"/></font>
+ </td>
+ </xsl:when>
+ <xsl:when test="position()='2' and $error-realmname != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error-realmname}"/></font>
+ </td>
+ </xsl:when>
+ <xsl:when test="position()='3' and $error-url != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error-url}"/></font>
+ </td>
+ </xsl:when>
+ <xsl:when test="position()='4' and $error-fs-location != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error-fs-location}"/></font>
+ </td>
+ </xsl:when>
+ <xsl:when test="position()='5' and $error-crawldepth != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error-crawldepth}"/></font>
+ </td>
+ </xsl:when>
+ <xsl:when test="position()='6' and $error-maxpages != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error-maxpages}"/></font>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td>
+  
+ </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ <!--<xsl:if test="$error != ''">
+ <td>
+  <font color="red"><i18n:message key="{$error}"/></font>
+ </td>
+ </xsl:if>-->
+ </tr>
+ <tr>
+ <td> </td>
+ <td class="samplevalue">
+ (i.e. <xsl:value-of select="@samplevalue"/>)
+ </td>
+ <td> </td>
+ </tr>
+ </xsl:for-each>
+
+ <tr>
+ <td> 
+ </td>
+ <td align="right">
+ <input type="submit" name="submit" value="i18n:attr key=importsite"/>
+ </td>
+ </tr>
+
+ <tr>
+ <td align="right" valign="top" class="contentfield" colspan="2"><br/><i18n:message key="requiredFields"/></td>
+ </tr>
+ </table>
+ </form>
- <form method="post">
- <table cellpadding="0" cellspacing="0" border="0">
- <xsl:for-each select="form/inputfields/input">
- <tr>
- <td align="right" valign="top" class="contentfield" width="150">
- <xsl:choose>
- <xsl:when test="$error != ''"><font color="red"><i18n:message key="{$error}"/></font></xsl:when>
- <xsl:otherwise><i18n:message key="{.}"/>: </xsl:otherwise>
- </xsl:choose>
- </td>
- <td>
- <input type="text" name="{.}" class="box" size="30"/>
- </td>
- <td><xsl:if test="@required = 'true'">*</xsl:if></td>
- </tr>
- <tr>
- <td> </td>
- <td class="samplevalue">
- (i.e. <xsl:value-of select="@samplevalue"/>)
- </td>
- <td> </td>
- </tr>
- </xsl:for-each>
-
- <tr>
- <td> 
- </td>
- <td align="right">
- <input type="submit" name="submit" value="i18n:attr key=importsite"/>
- </td>
- </tr>
-
- <tr>
- <td align="right" valign="top" class="contentfield" colspan="2"><br/><i18n:message key="requiredFields"/></td>
- </tr>
- </table>
- </form>
-
+ </xsl:otherwise>
+ </xsl:choose>
</div>
</body>
</html>
More information about the Yanel-commits
mailing list