[Yanel-commits] rev 21129 - in
public/yanel/trunk/src/resources/importsite:
src/java/org/wyona/yanel/impl/resources xml xslt
michi at wyona.com
michi at wyona.com
Fri Dec 22 23:28:47 CET 2006
Author: michi
Date: 2006-12-22 23:28:45 +0100 (Fri, 22 Dec 2006)
New Revision: 21129
Modified:
public/yanel/trunk/src/resources/importsite/src/java/org/wyona/yanel/impl/resources/ImportSiteResource.java
public/yanel/trunk/src/resources/importsite/xml/input-screen.xml
public/yanel/trunk/src/resources/importsite/xml/status-screen.xml
public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl
Log:
ViewableV2 implemented
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 2006-12-22 22:26:58 UTC (rev 21128)
+++ public/yanel/trunk/src/resources/importsite/src/java/org/wyona/yanel/impl/resources/ImportSiteResource.java 2006-12-22 22:28:45 UTC (rev 21129)
@@ -5,17 +5,18 @@
package org.wyona.yanel.impl.resources;
import java.io.BufferedReader;
-import java.io.File;
-import java.io.StringReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
+//import java.io.UnsupportedEncodingException;
+//import java.io.StringReader;
import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
+//import java.util.HashMap;
+//import java.util.Map;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
+
import javax.servlet.http.HttpServletRequest;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
@@ -30,14 +31,19 @@
import org.apache.log4j.Category;
import org.wyona.yanel.core.Path;
import org.wyona.yanel.core.Resource;
-import org.wyona.yanel.core.api.attributes.ViewableV1;
+import org.wyona.yanel.core.ResourceTypeDefinition;
+import org.wyona.yanel.core.ResourceTypeRegistry;
+import org.wyona.yanel.core.api.attributes.ViewableV2;
import org.wyona.yanel.core.attributes.viewable.View;
import org.wyona.yanel.core.attributes.viewable.ViewDescriptor;
+import org.wyona.yanel.core.map.Realm;
+import org.wyona.yanel.core.util.ResourceAttributeHelper;
import org.wyona.yarep.core.NoSuchNodeException;
import org.wyona.yarep.core.Repository;
import org.wyona.yarep.core.RepositoryException;
import org.wyona.yarep.core.RepositoryFactory;
import org.wyona.yanel.core.transformation.I18nTransformer;
+import org.wyona.yanel.core.Yanel;
import org.wyona.yarep.util.RepoPath;
import org.wyona.yarep.util.YarepUtil;
import org.wyona.yanel.core.util.HttpServletRequestHelper;
@@ -45,7 +51,7 @@
/**
*
*/
-public class ImportSiteResource extends Resource implements ViewableV1 {
+public class ImportSiteResource extends Resource implements ViewableV2 {
private static Category log = Category.getInstance(ImportSiteResource.class);
private Repository repository = null;
@@ -77,12 +83,14 @@
/**
*
*/
- public View getView(HttpServletRequest request, String viewId) throws Exception {
- // Get repository
+ public View getView(String viewId) throws Exception {
+
+ /*
path = new Path(request.getServletPath());
rp = new org.wyona.yarep.util.YarepUtil().getRepositoryPath(new org.wyona.yarep.core.Path(path.toString()), getRepositoryFactory());
repository = rp.getRepo();
-
+ */
+
// Get language
try {
language = request.getParameter("yanel.meta.language");
@@ -113,7 +121,8 @@
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 + "input-screen.xml");
transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(statusXSLTFile));
- transformer.setParameter("realm", HttpServletRequestHelper.getParameter(request, "realm"));
+ transformer.setParameter("realmid", HttpServletRequestHelper.getParameter(request, "realmid"));
+ transformer.setParameter("realmname", HttpServletRequestHelper.getParameter(request, "realmname"));
transformer.setParameter("url", HttpServletRequestHelper.getParameter(request, "url"));
transformer.setParameter("crawldepth", HttpServletRequestHelper.getParameter(request, "crawldepth"));
transformer.setParameter("maxpages", HttpServletRequestHelper.getParameter(request, "maxpages"));
@@ -179,6 +188,34 @@
/**
*
* @param path
+ * @return
+ */
+ private String getMimeType(String viewId) {
+ String mimeType = null;
+ try {
+ java.io.BufferedReader br = new java.io.BufferedReader(rp
+ .getRepo().getReader(
+ new org.wyona.yarep.core.Path(new Path(rp
+ .getPath().toString()).getRTIPath()
+ .toString())));
+
+ while ((mimeType = br.readLine()) != null) {
+ if (mimeType.indexOf("mime-type:") == 0) {
+ mimeType = mimeType.substring(11);
+ log.info("*" + mimeType + "*");
+ return mimeType;
+ }
+ }
+ } catch (Exception e) {
+ log.warn(e);
+ }
+ // NOTE: Assuming fallback re importsite.xsl ...
+ return "application/xhtml+xml";
+ }
+
+ /**
+ *
+ * @param path
* @param repo
* @return
* @throws NoSuchNodeException
@@ -247,34 +284,6 @@
}
return null;
}
-
- /**
- *
- * @param path
- * @return
- */
- private String getMimeType(Path path) {
- String mimeType = null;
- try {
- java.io.BufferedReader br = new java.io.BufferedReader(rp
- .getRepo().getReader(
- new org.wyona.yarep.core.Path(new Path(rp
- .getPath().toString()).getRTIPath()
- .toString())));
-
- while ((mimeType = br.readLine()) != null) {
- if (mimeType.indexOf("mime-type:") == 0) {
- mimeType = mimeType.substring(11);
- log.info("*" + mimeType + "*");
- return mimeType;
- }
- }
- } catch (Exception e) {
- log.warn(e);
- }
- // NOTE: Assuming fallback re importsite.xsl ...
- return "application/xhtml+xml";
- }
/**
*
@@ -284,29 +293,17 @@
return yanel.getRepositoryFactory("DefaultRepositoryFactory");
}
- /**
- *
- * @param path
- * @param backToRoot
- * @return
- */
- private String backToRoot(Path path, String backToRoot) {
- org.wyona.commons.io.Path parent = path.getParent();
- if (parent != null && !isRoot(parent)) {
- return backToRoot(new Path(parent.toString()), backToRoot + "../");
- }
- return backToRoot;
+ public boolean exists() throws Exception {
+ log.warn("Not implemented yet!");
+ return true;
}
/**
*
- * @param path
- * @return
*/
- private boolean isRoot(org.wyona.commons.io.Path path) {
- if (path.toString().equals(File.separator)) return true;
- return false;
- }
+ public long getSize() throws Exception {
+ return getRealm().getRepository().getSize(getPath());
+ }
}
Modified: public/yanel/trunk/src/resources/importsite/xml/input-screen.xml
===================================================================
--- public/yanel/trunk/src/resources/importsite/xml/input-screen.xml 2006-12-22 22:26:58 UTC (rev 21128)
+++ public/yanel/trunk/src/resources/importsite/xml/input-screen.xml 2006-12-22 22:28:45 UTC (rev 21129)
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<form name="importsite-input">
<inputfields>
- <input required="true">realm</input>
+ <input required="true">realmid</input>
+ <input required="true">realmname</input>
<input required="true">url</input>
<input required="true">crawldepth</input>
<input required="true">maxpages</input>
Modified: public/yanel/trunk/src/resources/importsite/xml/status-screen.xml
===================================================================
--- public/yanel/trunk/src/resources/importsite/xml/status-screen.xml 2006-12-22 22:26:58 UTC (rev 21128)
+++ public/yanel/trunk/src/resources/importsite/xml/status-screen.xml 2006-12-22 22:28:45 UTC (rev 21129)
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<form name="importsite-status">
<inputfields>
- <input required="true">realm</input>
+ <input required="true">realmid</input>
+ <input required="true">realmname</input>
<input required="true">url</input>
<input required="true">crawldepth</input>
<input required="true">maxpages</input>
Modified: public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl
===================================================================
--- public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl 2006-12-22 22:26:58 UTC (rev 21128)
+++ public/yanel/trunk/src/resources/importsite/xslt/importsite.xsl 2006-12-22 22:28:45 UTC (rev 21129)
@@ -9,12 +9,11 @@
<xsl:output method="xhtml" encoding="UTF-8"/>
- <xsl:param name="company" select="''"/>
- <xsl:param name="firstName" select="''"/>
- <xsl:param name="lastName" select="''"/>
- <xsl:param name="email" select="''"/>
- <xsl:param name="address" select="''"/>
- <xsl:param name="zipCity" select="''"/>
+ <xsl:param name="realmid" select="''"/>
+ <xsl:param name="realmname" select="''"/>
+ <xsl:param name="url" select="''"/>
+ <xsl:param name="crawldepth" select="''"/>
+ <xsl:param name="maxpages" select="''"/>
<xsl:param name="message" select="''"/>
<xsl:param name="error" select="''"/>
@@ -23,15 +22,14 @@
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title><i18n:message key="contact"/></title>
+ <title><i18n:message key="importsite"/></title>
</head>
<body>
- <h3><i18n:message key="contact"/></h3>
- <p><i18n:message key="generalInquiriesPleaseContact"/><a href="mailto:contact at wyona.com">contact at wyona.com</a>.</p>
- <p><i18n:message key="mailingAddressCanBeFound"/><a href="http://www.wyona.com/contact.html"><i18n:message key="corporateContactPage"/></a>.</p>
- <div id="contenBody">
+ <h3><i18n:message key="importsite"/></h3>
+ <div id="contentBody">
+
<xsl:choose>
<xsl:when test="$error != ''">
<xsl:apply-templates select="form" mode="error"/>
@@ -50,7 +48,7 @@
</xsl:template>
<xsl:template match="form" mode="init">
- <form name="contact-form" method="post" action="#">
+ <form name="importsite-form" method="post" action="#">
<table cellpadding="0" cellspacing="0" border="0">
<xsl:for-each select="inputfields/input">
<xsl:variable name="inputName"><xsl:value-of select="."/></xsl:variable>
@@ -95,55 +93,41 @@
<td colspan="3" align="left" valign="top" class="contentfield"><font color="red"><i18n:message key="{$error}"/></font></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="company"/> </td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="realmid"/> </td>
<td>
- <input type="text" name="company" class="box" size="40" value="{$company}"/>
+ <input type="text" name="realmid" class="box" size="40" value="{$realmid}"/>
</td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="firstName"/>: </td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="realmname"/>: </td>
<td>
- <input type="text" name="firstName" class="box" size="40" value="{$firstName}"/>
+ <input type="text" name="realmname" class="box" size="40" value="{$realmname}"/>
</td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="lastName"/>: </td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="url"/>: </td>
<td>
- <input type="text" name="lastName" class="box" size="40" value="{$lastName}"/>
+ <input type="text" name="url" class="box" size="40" value="{$url}"/>
</td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="address"/>: </td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="crawldepth"/>: </td>
<td>
- <input type="text" name="address" class="box" size="40" value="{$address}"/>
+ <input type="text" name="crawldepth" class="box" size="40" value="{$crawldepth}"/>
</td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="zipCity"/>: </td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="maxpages"/>: </td>
<td>
- <input type="text" name="zipCity" class="box" size="40" value="{$zipCity}"/>
+ <input type="text" name="maxpages" class="box" size="40" value="{$maxpages}"/>
</td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield">
- <xsl:if test="starts-with($error, 'email')">
- <font color="#FF0000"><i18n:message key="email"/>: </font>
- </xsl:if>
- <xsl:if test="not(starts-with($error, 'email'))">
- <i18n:message key="email"/>: 
- </xsl:if>
- </td>
- <td>
- <input type="text" name="email" class="box" size="40" value="{$email}"/>
- </td>
- <td>*</td>
- </tr>
- <tr>
<td align="right" valign="top" class="contentfield"><i18n:message key="message"/>: </td>
<td>
<textarea rows="8" name="message" cols="30" class="box"><xsl:value-of select="$message"/></textarea>
@@ -174,28 +158,28 @@
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="company"/>: </td>
- <td><xsl:value-of select="$company"/></td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="realmid"/>: </td>
+ <td><xsl:value-of select="$realmid"/></td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="firstName"/>: </td>
- <td><xsl:value-of select="$firstName"/></td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="realmname"/>: </td>
+ <td><xsl:value-of select="$realmname"/></td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="lastName"/>: </td>
- <td><xsl:value-of select="$lastName"/></td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="url"/>: </td>
+ <td><xsl:value-of select="$url"/></td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="address"/>: </td>
- <td><xsl:value-of select="$address"/></td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="crawldepth"/>: </td>
+ <td><xsl:value-of select="$crawldepth"/></td>
<td></td>
</tr>
<tr>
- <td align="right" valign="top" class="contentfield"><i18n:message key="zipCity"/>: </td>
- <td><xsl:value-of select="$zipCity"/></td>
+ <td align="right" valign="top" class="contentfield"><i18n:message key="maxpages"/>: </td>
+ <td><xsl:value-of select="$maxpages"/></td>
<td></td>
</tr>
<tr>
More information about the Yanel-commits
mailing list