From 1ff431a3514ef4115fbbfb3e9b8742ca8bfc7e9c Mon Sep 17 00:00:00 2001
From: Shinsuke Sugaya <shinsuke@yahoo.co.jp>
Date: Sun, 13 Jul 2014 20:41:38 +0900
Subject: [PATCH] #181

---
 pom.xml                                       |  28 ++++++-------
 src/main/config/h2/fess.ddl                   |   2 +-
 src/main/h2/webapp/WEB-INF/db/fess.mv.db      | Bin 0 -> 65536 bytes
 src/main/h2/webapp/WEB-INF/db/robot.mv.db     | Bin 0 -> 16384 bytes
 .../fess/ds/impl/FileListDataStoreImpl.java   |   5 ++-
 .../sf/fess/helper/CrawlingConfigHelper.java  |   4 +-
 .../jp/sf/fess/robot/FessS2RobotThread.java   |  22 +++++++----
 .../transformer/FessXpathTransformer.java     |  32 ++++++++-------
 src/main/webapp/WEB-INF/db/fess.h2.db         | Bin 1067008 -> 0 bytes
 src/main/webapp/WEB-INF/db/robot.h2.db        | Bin 59392 -> 0 bytes
 .../transformer/FessXpathTransformerTest.java |  37 +++++++++++-------
 11 files changed, 76 insertions(+), 54 deletions(-)
 create mode 100644 src/main/h2/webapp/WEB-INF/db/fess.mv.db
 create mode 100644 src/main/h2/webapp/WEB-INF/db/robot.mv.db
 delete mode 100644 src/main/webapp/WEB-INF/db/fess.h2.db
 delete mode 100644 src/main/webapp/WEB-INF/db/robot.h2.db

diff --git a/pom.xml b/pom.xml
index aa018d88e..009b4653f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,7 +69,7 @@
         <database>h2</database>
         <databaseGroupId>com.h2database</databaseGroupId>
         <databaseArtifactId>h2</databaseArtifactId>
-        <databaseVersion>1.3.172</databaseVersion>
+        <databaseVersion>1.4.178</databaseVersion>
         <databaseDriver>org.h2.Driver</databaseDriver>
         <databaseUrl>jdbc:h2:file:${basedir}/src/main/webapp/WEB-INF/db/fess</databaseUrl>
         <databaseTestUrl>jdbc:h2:file:${basedir}/target/test-classes/db/fess</databaseTestUrl>
@@ -83,7 +83,7 @@
         <database>mysql</database>
         <databaseGroupId>mysql</databaseGroupId>
         <databaseArtifactId>mysql-connector-java</databaseArtifactId>
-        <databaseVersion>5.1.30</databaseVersion>
+        <databaseVersion>5.1.31</databaseVersion>
         <databaseDriver>com.mysql.jdbc.Driver</databaseDriver>
         <databaseUrl>jdbc:mysql://localhost:3306/fess_db?noDatetimeStringSync=true&amp;zeroDateTimeBehavior=convertToNull&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true</databaseUrl>
         <databaseTestUrl>jdbc:mysql://localhost:3306/fess_testdb?noDatetimeStringSync=true&amp;zeroDateTimeBehavior=convertToNull&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true</databaseTestUrl>
@@ -108,7 +108,7 @@
   </profiles>
   <properties>
     <dbflute.version>1.0.4K</dbflute.version>
-    <s2robot.version>0.7.2</s2robot.version>
+    <s2robot.version>0.8.0-SNAPSHOT</s2robot.version>
     <solr.version>4.8.1</solr.version>
     <slf4j.version>1.7.7</slf4j.version>
     <poi.version>3.10-FINAL</poi.version>
@@ -601,15 +601,15 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-        <groupId>javax.servlet.jsp</groupId>
-        <artifactId>jsp-api</artifactId>
-        <version>2.2</version>
-        <scope>provided</scope>
+      <groupId>javax.servlet.jsp</groupId>
+      <artifactId>jsp-api</artifactId>
+      <version>2.2</version>
+      <scope>provided</scope>
     </dependency>
     <dependency>
       <groupId>javax.mail</groupId>
       <artifactId>javax.mail-api</artifactId>
-      <version>1.5.1</version>
+      <version>1.5.2</version>
     </dependency>
     <dependency>
       <groupId>javax.activation</groupId>
@@ -658,7 +658,7 @@
     <dependency>
       <groupId>args4j</groupId>
       <artifactId>args4j</artifactId>
-      <version>2.0.26</version>
+      <version>2.0.29</version>
     </dependency>
     <dependency>
       <groupId>org.apache.tika</groupId>
@@ -688,7 +688,7 @@
     <dependency>
       <groupId>org.apache.pdfbox</groupId>
       <artifactId>pdfbox</artifactId>
-      <version>1.8.4</version>
+      <version>1.8.6</version>
     </dependency>
     <dependency>
       <groupId>org.apache.poi</groupId>
@@ -714,22 +714,22 @@
     <dependency>
       <groupId>org.javassist</groupId>
       <artifactId>javassist</artifactId>
-      <version>3.18.1-GA</version>
+      <version>3.18.2-GA</version>
     </dependency>
     <dependency>
       <groupId>net.arnx</groupId>
       <artifactId>jsonic</artifactId>
-      <version>1.3.3</version>
+      <version>1.3.5</version>
     </dependency>
     <dependency>
       <groupId>com.github.jknack</groupId>
       <artifactId>handlebars</artifactId>
-      <version>1.3.0</version>
+      <version>1.3.1</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.groovy</groupId>
       <artifactId>groovy-all</artifactId>
-      <version>2.2.2</version>
+      <version>2.3.3</version>
     </dependency>
     <dependency>
       <groupId>com.github.detro</groupId>
diff --git a/src/main/config/h2/fess.ddl b/src/main/config/h2/fess.ddl
index 3ab4d5a82..0702f5d1f 100644
--- a/src/main/config/h2/fess.ddl
+++ b/src/main/config/h2/fess.ddl
@@ -6,7 +6,7 @@ DROP TABLE IF EXISTS CLICK_LOG;
 DROP TABLE IF EXISTS LABEL_TYPE_TO_ROLE_TYPE_MAPPING;
 DROP TABLE IF EXISTS SEARCH_LOG;
 DROP TABLE IF EXISTS USER_INFO;
-DROP TABLE IF EXISTS DATA_CONFIG_TO_BROWSER_TYPE_MAPPING
+DROP TABLE IF EXISTS DATA_CONFIG_TO_BROWSER_TYPE_MAPPING;
 DROP TABLE IF EXISTS DATA_CONFIG_TO_LABEL_TYPE_MAPPING;
 DROP TABLE IF EXISTS DATA_CONFIG_TO_ROLE_TYPE_MAPPING;
 DROP TABLE IF EXISTS DATA_CRAWLING_CONFIG;
diff --git a/src/main/h2/webapp/WEB-INF/db/fess.mv.db b/src/main/h2/webapp/WEB-INF/db/fess.mv.db
new file mode 100644
index 0000000000000000000000000000000000000000..c3c2f19efd3ff820fb2dc7edb3e80a5e0cedfd70
GIT binary patch
literal 65536
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

literal 0
HcmV?d00001

diff --git a/src/main/h2/webapp/WEB-INF/db/robot.mv.db b/src/main/h2/webapp/WEB-INF/db/robot.mv.db
new file mode 100644
index 0000000000000000000000000000000000000000..46277a00ad8d5c3e01233ab56c0dc69ad76401c3
GIT binary patch
literal 16384
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

literal 0
HcmV?d00001

diff --git a/src/main/java/jp/sf/fess/ds/impl/FileListDataStoreImpl.java b/src/main/java/jp/sf/fess/ds/impl/FileListDataStoreImpl.java
index b51ecf277..2b20498e3 100644
--- a/src/main/java/jp/sf/fess/ds/impl/FileListDataStoreImpl.java
+++ b/src/main/java/jp/sf/fess/ds/impl/FileListDataStoreImpl.java
@@ -34,6 +34,7 @@ import org.codelibs.solr.lib.SolrGroup;
 import org.seasar.framework.container.SingletonS2Container;
 import org.seasar.framework.util.SerializeUtil;
 import org.seasar.robot.RobotSystemException;
+import org.seasar.robot.builder.RequestDataBuilder;
 import org.seasar.robot.client.S2RobotClient;
 import org.seasar.robot.client.S2RobotClientFactory;
 import org.seasar.robot.entity.ResponseData;
@@ -196,7 +197,9 @@ public class FileListDataStoreImpl extends CsvDataStoreImpl {
                     }
 
                     final long startTime = System.currentTimeMillis();
-                    final ResponseData responseData = client.doGet(url);
+                    final ResponseData responseData = client
+                            .execute(RequestDataBuilder.newRequestData().get()
+                                    .url(url).build());
                     responseData.setExecutionTime(System.currentTimeMillis()
                             - startTime);
                     responseData.setSessionId((String) dataMap
diff --git a/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java b/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java
index e31be865a..7baf05cb8 100644
--- a/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java
+++ b/src/main/java/jp/sf/fess/helper/CrawlingConfigHelper.java
@@ -42,6 +42,7 @@ import jp.sf.fess.util.ComponentUtil;
 import org.apache.commons.io.IOUtils;
 import org.seasar.framework.container.SingletonS2Container;
 import org.seasar.framework.util.Base64Util;
+import org.seasar.robot.builder.RequestDataBuilder;
 import org.seasar.robot.client.S2RobotClient;
 import org.seasar.robot.client.S2RobotClientFactory;
 import org.seasar.robot.entity.ResponseData;
@@ -179,7 +180,8 @@ public class CrawlingConfigHelper implements Serializable {
             throw new FessSystemException("No S2RobotClient: " + configIdObj
                     + ", url: " + url);
         }
-        final ResponseData responseData = client.doGet(url);
+        final ResponseData responseData = client.execute(RequestDataBuilder
+                .newRequestData().get().url(url).build());
         final HttpServletResponse response = ResponseUtil.getResponse();
         writeFileName(response, responseData);
         writeContentType(response, responseData);
diff --git a/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java b/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java
index 449d6708d..724e7dd05 100644
--- a/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java
+++ b/src/main/java/jp/sf/fess/robot/FessS2RobotThread.java
@@ -47,8 +47,10 @@ import org.codelibs.solr.lib.SolrGroup;
 import org.codelibs.solr.lib.SolrGroupManager;
 import org.codelibs.solr.lib.policy.QueryType;
 import org.seasar.robot.S2RobotThread;
+import org.seasar.robot.builder.RequestDataBuilder;
 import org.seasar.robot.client.S2RobotClient;
 import org.seasar.robot.client.smb.SmbClient;
+import org.seasar.robot.entity.RequestData;
 import org.seasar.robot.entity.ResponseData;
 import org.seasar.robot.entity.UrlQueue;
 import org.seasar.robot.log.LogType;
@@ -88,7 +90,9 @@ public class FessS2RobotThread extends S2RobotThread {
             ResponseData responseData = null;
             try {
                 //  head method
-                responseData = client.doHead(urlQueue.getUrl());
+                responseData = client
+                        .execute(RequestDataBuilder.newRequestData().head()
+                                .url(urlQueue.getUrl()).build());
                 if (responseData == null) {
                     return true;
                 }
@@ -217,7 +221,7 @@ public class FessS2RobotThread extends S2RobotThread {
     }
 
     protected void storeChildUrlsToQueue(final UrlQueue urlQueue,
-            final Set<String> childUrlSet) {
+            final Set<RequestData> childUrlSet) {
         if (childUrlSet != null) {
             synchronized (robotContext.getAccessCountLock()) {
                 //  add an url
@@ -229,7 +233,7 @@ public class FessS2RobotThread extends S2RobotThread {
     }
 
     @SuppressWarnings("unchecked")
-    protected Set<String> getAnchorSet(final Object obj) {
+    protected Set<RequestData> getAnchorSet(final Object obj) {
         List<String> anchorList;
         if (obj instanceof String) {
             anchorList = new ArrayList<String>();
@@ -244,9 +248,10 @@ public class FessS2RobotThread extends S2RobotThread {
             return null;
         }
 
-        final Set<String> childUrlSet = new LinkedHashSet<String>();
+        final Set<RequestData> childUrlSet = new LinkedHashSet<>();
         for (final String anchor : anchorList) {
-            childUrlSet.add(anchor);
+            childUrlSet.add(RequestDataBuilder.newRequestData().get()
+                    .url(anchor).build());
         }
         return childUrlSet;
     }
@@ -294,7 +299,7 @@ public class FessS2RobotThread extends S2RobotThread {
         return null;
     }
 
-    protected Set<String> getChildUrlSet(final String id) {
+    protected Set<RequestData> getChildUrlSet(final String id) {
         final SolrGroupManager solrGroupManager = ComponentUtil
                 .getSolrGroupManager();
         final SolrGroup solrGroup = solrGroupManager
@@ -313,11 +318,12 @@ public class FessS2RobotThread extends S2RobotThread {
                 if (logger.isDebugEnabled()) {
                     logger.debug("Found solr documents: " + docList);
                 }
-                final Set<String> urlSet = new HashSet<String>(docList.size());
+                final Set<RequestData> urlSet = new HashSet<>(docList.size());
                 for (final SolrDocument doc : docList) {
                     final Object obj = doc.get("url");
                     if (obj != null) {
-                        urlSet.add(obj.toString());
+                        urlSet.add(RequestDataBuilder.newRequestData().get()
+                                .url(obj.toString()).build());
                     }
                 }
                 return urlSet;
diff --git a/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java b/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java
index 8fcccb15d..59d3a94ce 100644
--- a/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java
+++ b/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java
@@ -54,8 +54,10 @@ import org.seasar.framework.util.InputStreamUtil;
 import org.seasar.framework.util.SerializeUtil;
 import org.seasar.robot.RobotCrawlAccessException;
 import org.seasar.robot.RobotSystemException;
+import org.seasar.robot.builder.RequestDataBuilder;
 import org.seasar.robot.client.fs.ChildUrlsException;
 import org.seasar.robot.entity.AccessResultData;
+import org.seasar.robot.entity.RequestData;
 import org.seasar.robot.entity.ResponseData;
 import org.seasar.robot.entity.ResultData;
 import org.seasar.robot.entity.UrlQueue;
@@ -66,7 +68,6 @@ import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import org.w3c.dom.traversal.NodeIterator;
 import org.xml.sax.InputSource;
 
 public class FessXpathTransformer extends AbstractFessXpathTransformer {
@@ -201,8 +202,9 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer {
             final String canonicalUrl = getCanonicalUrl(responseData, document);
             if (canonicalUrl != null
                     && !canonicalUrl.equals(responseData.getUrl())) {
-                final Set<String> childUrlSet = new HashSet<String>();
-                childUrlSet.add(canonicalUrl);
+                final Set<RequestData> childUrlSet = new HashSet<>();
+                childUrlSet.add(RequestDataBuilder.newRequestData().get()
+                        .url(canonicalUrl).build());
                 throw new ChildUrlsException(childUrlSet);
             }
         }
@@ -498,18 +500,21 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer {
         }
     }
 
-    protected List<String> getAnchorList(final Document document,
+    protected List<RequestData> getAnchorList(final Document document,
             final ResponseData responseData) {
-        List<String> anchorList = new ArrayList<String>();
+        List<RequestData> anchorList = new ArrayList<>();
         final String baseHref = getBaseHref(document);
         try {
             final URL url = new URL(baseHref != null ? baseHref
                     : responseData.getUrl());
             for (final Map.Entry<String, String> entry : childUrlRuleMap
                     .entrySet()) {
-                anchorList.addAll(getUrlFromTagAttribute(url, document,
+                for (String u : getUrlFromTagAttribute(url, document,
                         entry.getKey(), entry.getValue(),
-                        responseData.getCharSet()));
+                        responseData.getCharSet())) {
+                    anchorList.add(RequestDataBuilder.newRequestData().get()
+                            .url(u).build());
+                }
             }
             anchorList = convertChildUrlList(anchorList);
         } catch (final Exception e) {
@@ -521,20 +526,19 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer {
     }
 
     @Override
-    protected List<String> convertChildUrlList(final List<String> urlList) {
-
-        final List<String> newUrlList = new ArrayList<String>();
+    protected List<RequestData> convertChildUrlList(
+            final List<RequestData> urlList) {
         if (urlList != null) {
-            for (String url : urlList) {
+            for (RequestData requestData : urlList) {
+                String url = requestData.getUrl();
                 for (final Map.Entry<String, String> entry : convertUrlMap
                         .entrySet()) {
                     url = url.replaceAll(entry.getKey(), entry.getValue());
                 }
-
-                newUrlList.add(replaceOverlappingHost(url));
+                requestData.setUrl(replaceOverlappingHost(url));
             }
         }
-        return newUrlList;
+        return urlList;
     }
 
     public void addPrunedTag(final String tagName) {
diff --git a/src/main/webapp/WEB-INF/db/fess.h2.db b/src/main/webapp/WEB-INF/db/fess.h2.db
deleted file mode 100644
index 40d8d2327f5d19d2cd84ad12a258162ab201190c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1067008
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
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{
z1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009IL
zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~
z0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**
z5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0
z009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKmY**P9uTM
zn_ke%&G$E5B>y)e|GWJx`MASgap+w6I5;IA2QHM4S6wV0H*b}X8@J2HzB&0=PRU2J
zARmou<YTcSAJv+Cm`(XGZj_H}Z<UW%-Yy@-d*vg0Og^r7gM3{6uqL0g@3cR+KVg4v
z{fPZ}$&>cyMPIZ(&wI}P<PQP}Ab<b@2%I>9*m;NS#5RXcT#}@O00IagfB*ugxxm!9
zc0GJk_%zQZ*+T#U1Q0*~ffFbYn{w*^5q<!iKva@K009ILK;SeNm^#m?|3^>rY?3_$
z5I_I{1Q0lZ0#h$?p8wA~fk~1S0tg_000Ib{<^r(`ocRCQ^#41}PZZfh009ILK;Q%l
F{C|;8q<{bb

diff --git a/src/main/webapp/WEB-INF/db/robot.h2.db b/src/main/webapp/WEB-INF/db/robot.h2.db
deleted file mode 100644
index 2241baa8855b4031c658d86b7949ad30b7ae903f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 59392
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

diff --git a/src/test/java/jp/sf/fess/transformer/FessXpathTransformerTest.java b/src/test/java/jp/sf/fess/transformer/FessXpathTransformerTest.java
index 9e073eebe..1a66b843a 100644
--- a/src/test/java/jp/sf/fess/transformer/FessXpathTransformerTest.java
+++ b/src/test/java/jp/sf/fess/transformer/FessXpathTransformerTest.java
@@ -33,7 +33,9 @@ import javax.xml.transform.stream.StreamResult;
 import org.cyberneko.html.parsers.DOMParser;
 import org.seasar.extension.unit.S2TestCase;
 import org.seasar.framework.container.ComponentNotFoundRuntimeException;
+import org.seasar.robot.builder.RequestDataBuilder;
 import org.seasar.robot.client.fs.ChildUrlsException;
+import org.seasar.robot.entity.RequestData;
 import org.seasar.robot.entity.ResponseData;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -178,32 +180,37 @@ public class FessXpathTransformerTest extends S2TestCase {
     }
 
     public void test_convertChildUrlList() {
-        List<String> urlList = new ArrayList<String>();
+        List<RequestData> urlList = new ArrayList<>();
 
         urlList = fessXpathTransformer.convertChildUrlList(urlList);
         assertEquals(0, urlList.size());
 
         urlList.clear();
-        urlList.add("http://www.example.com");
+        urlList.add(RequestDataBuilder.newRequestData().get()
+                .url("http://www.example.com").build());
         urlList = fessXpathTransformer.convertChildUrlList(urlList);
         assertEquals(1, urlList.size());
-        assertEquals("http://www.example.com", urlList.get(0));
+        assertEquals("http://www.example.com", urlList.get(0).getUrl());
 
         urlList.clear();
-        urlList.add("http://www.example.com");
-        urlList.add("http://www.test.com");
+        urlList.add(RequestDataBuilder.newRequestData().get()
+                .url("http://www.example.com").build());
+        urlList.add(RequestDataBuilder.newRequestData().get()
+                .url("http://www.test.com").build());
         urlList = fessXpathTransformer.convertChildUrlList(urlList);
         assertEquals(2, urlList.size());
-        assertEquals("http://www.example.com", urlList.get(0));
-        assertEquals("http://www.test.com", urlList.get(1));
+        assertEquals("http://www.example.com", urlList.get(0).getUrl());
+        assertEquals("http://www.test.com", urlList.get(1).getUrl());
 
         urlList.clear();
-        urlList.add("feed://www.example.com");
-        urlList.add("http://www.test.com");
+        urlList.add(RequestDataBuilder.newRequestData().get()
+                .url("feed://www.example.com").build());
+        urlList.add(RequestDataBuilder.newRequestData().get()
+                .url("http://www.test.com").build());
         urlList = fessXpathTransformer.convertChildUrlList(urlList);
         assertEquals(2, urlList.size());
-        assertEquals("http://www.example.com", urlList.get(0));
-        assertEquals("http://www.test.com", urlList.get(1));
+        assertEquals("http://www.example.com", urlList.get(0).getUrl());
+        assertEquals("http://www.test.com", urlList.get(1).getUrl());
 
     }
 
@@ -277,10 +284,10 @@ public class FessXpathTransformerTest extends S2TestCase {
             transformer.putAdditionalData(dataMap, responseData, document);
             fail();
         } catch (final ChildUrlsException e) {
-            final Set<String> childUrlList = e.getChildUrlList();
+            final Set<RequestData> childUrlList = e.getChildUrlList();
             assertEquals(1, childUrlList.size());
             assertEquals("http://example.com/hoge", childUrlList.iterator()
-                    .next());
+                    .next().getUrl());
         }
 
         data = "<html><link rel=\"canonical\" href=\"http://example.com/hoge\"><body>aaa</body></html>";
@@ -289,10 +296,10 @@ public class FessXpathTransformerTest extends S2TestCase {
             transformer.putAdditionalData(dataMap, responseData, document);
             fail();
         } catch (final ChildUrlsException e) {
-            final Set<String> childUrlList = e.getChildUrlList();
+            final Set<RequestData> childUrlList = e.getChildUrlList();
             assertEquals(1, childUrlList.size());
             assertEquals("http://example.com/hoge", childUrlList.iterator()
-                    .next());
+                    .next().getUrl());
         }
     }
 
-- 
GitLab