[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"/>&#0160;</td>
+          <td align="right" valign="top" class="contentfield"><i18n:message key="realmid"/>&#0160;</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"/>:&#0160;</td>
+          <td align="right" valign="top" class="contentfield"><i18n:message key="realmname"/>:&#0160;</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"/>:&#0160;</td>
+          <td align="right" valign="top" class="contentfield"><i18n:message key="url"/>:&#0160;</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"/>:&#0160;</td>
+          <td align="right" valign="top" class="contentfield"><i18n:message key="crawldepth"/>:&#0160;</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"/>:&#0160;</td>
+          <td align="right" valign="top" class="contentfield"><i18n:message key="maxpages"/>:&#0160;</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"/>:&#0160;</font>
-            </xsl:if>
-            <xsl:if test="not(starts-with($error, 'email'))">
-              <i18n:message key="email"/>:&#0160;
-            </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"/>:&#0160;</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"/>:&#0160;</td>
-        <td><xsl:value-of select="$company"/></td>
+        <td align="right" valign="top" class="contentfield"><i18n:message key="realmid"/>:&#0160;</td>
+        <td><xsl:value-of select="$realmid"/></td>
         <td></td>
       </tr>
       <tr>
-        <td align="right" valign="top" class="contentfield"><i18n:message key="firstName"/>:&#0160;</td>
-        <td><xsl:value-of select="$firstName"/></td>
+        <td align="right" valign="top" class="contentfield"><i18n:message key="realmname"/>:&#0160;</td>
+        <td><xsl:value-of select="$realmname"/></td>
         <td></td>
       </tr>
       <tr>
-        <td align="right" valign="top" class="contentfield"><i18n:message key="lastName"/>:&#0160;</td>
-        <td><xsl:value-of select="$lastName"/></td>
+        <td align="right" valign="top" class="contentfield"><i18n:message key="url"/>:&#0160;</td>
+        <td><xsl:value-of select="$url"/></td>
         <td></td>
       </tr>
       <tr>
-        <td align="right" valign="top" class="contentfield"><i18n:message key="address"/>:&#0160;</td>
-        <td><xsl:value-of select="$address"/></td>
+        <td align="right" valign="top" class="contentfield"><i18n:message key="crawldepth"/>:&#0160;</td>
+        <td><xsl:value-of select="$crawldepth"/></td>
         <td></td>
       </tr>
       <tr>
-        <td align="right" valign="top" class="contentfield"><i18n:message key="zipCity"/>:&#0160;</td>
-        <td><xsl:value-of select="$zipCity"/></td>
+        <td align="right" valign="top" class="contentfield"><i18n:message key="maxpages"/>:&#0160;</td>
+        <td><xsl:value-of select="$maxpages"/></td>
         <td></td>
       </tr>
       <tr>




More information about the Yanel-commits mailing list