This commit is contained in:
Shinsuke Sugaya 2015-03-12 10:03:25 +09:00
commit 30a3afaa56
36 changed files with 572 additions and 897 deletions

View file

@ -17,4 +17,19 @@ Fess is Solr based search server, but knowledge/experience about Solr is NOT nee
Please file an [issue](https://github.com/codelibs/fess/issues "issue").
(Japanese forum is [here](https://github.com/codelibs/codelibs-ja-forum "here").)
### Development
First of all, clone Fess's repositories:
$ cd ~/workspace
$ git clone https://github.com/codelibs/fess.git
$ git clone https://github.com/codelibs/fess-db.git
$ git clone https://github.com/codelibs/fess-suggest.git
$ git clone https://github.com/codelibs/fess-solr-plugin.git
and then imports them as Maven project.
If you want to re-create H2 database for Fess, runs:
$ cd fess-db/fess-db-h2
$ mvn dbflute:download
$ mvn dbflute:replace-schema

71
pom.xml
View file

@ -44,11 +44,6 @@
<databaseGroupId>com.h2database</databaseGroupId>
<databaseArtifactId>h2</databaseArtifactId>
<databaseVersion>1.4.181</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>
<databaseUsername>sa</databaseUsername>
<databasePassword />
</properties>
</profile>
<profile>
@ -58,11 +53,6 @@
<databaseGroupId>mysql</databaseGroupId>
<databaseArtifactId>mysql-connector-java</databaseArtifactId>
<databaseVersion>5.1.32</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>
<databaseUsername>fess_user</databaseUsername>
<databasePassword>fess_pass</databasePassword>
</properties>
</profile>
</profiles>
@ -90,6 +80,7 @@
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
@ -98,6 +89,7 @@
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>source-jar</id>
@ -109,8 +101,8 @@
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<webResources>
<resource>
@ -126,7 +118,7 @@
<plugin>
<groupId>com.mycila.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<version>1.5.0</version>
<version>1.10.b1</version>
<executions>
<execution>
<goals>
@ -157,16 +149,9 @@
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>en,ja</locales>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
@ -182,50 +167,11 @@
<link>http://s2robot.sandbox.seasar.org/apidocs/</link>
</links>
</configuration>
<executions>
<execution>
<phase>site</phase>
<goals>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>${databaseGroupId}</groupId>
<artifactId>${databaseArtifactId}</artifactId>
<version>${databaseVersion}</version>
</dependency>
</dependencies>
<configuration>
<driver>${databaseDriver}</driver>
<url>${databaseTestUrl}</url>
<username>${databaseUsername}</username>
<password>${databasePassword}</password>
</configuration>
<executions>
<execution>
<phase>test-compile</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<srcFiles>
<srcFile>${basedir}/src/main/config/${database}/fess.ddl</srcFile>
</srcFiles>
<autocommit>true</autocommit>
<onError>continue</onError>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<phase>compile</phase>
@ -316,11 +262,6 @@
<artifactId>fess-suggest</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>jp.sf.fess</groupId>
<artifactId>fess-launcher</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>

View file

@ -30,6 +30,8 @@ public class Constants extends CoreLibConstants {
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static final int DEFAULT_ADMIN_PAGE_NUMBER = 1;
public static final int DEFAULT_ADMIN_PAGE_SIZE = 25;
public static final String WEB_API_VERSION = FESS_VERSION;
@ -155,8 +157,6 @@ public class Constants extends CoreLibConstants {
public static final String SEARCH_DESKTOP_PROPERTY = "search.desktop";
public static final String SEARCH_FILE_LAUNCHER_PROPERTY = "search.file.launcher";
public static final String SEARCH_RESULT_MAX_PAGE_SIZE = "search.result.max_page_size";
public static final String NOTIFICATION_TO_PROPERTY = "notification.to";

View file

@ -1,96 +0,0 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.action;
import java.io.IOException;
import javax.annotation.Resource;
import org.apache.commons.lang.StringEscapeUtils;
import org.codelibs.core.util.StringUtil;
import org.codelibs.fess.Constants;
import org.codelibs.fess.form.AppletForm;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.RequestUtil;
import org.seasar.struts.util.ResponseUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class AppletAction {
private static final Logger logger = LoggerFactory.getLogger(AppletAction.class);
@ActionForm
@Resource
protected AppletForm appletForm;
@Resource
protected SystemHelper systemHelper;
public String path;
public String referrer;
public String launcherJarFile;
public String launcherJnlpFile;
@Execute(validator = true, input = "../index")
public String index() {
try {
ResponseUtil.getResponse().sendRedirect(appletForm.uri);
} catch (final IOException e) {
if (logger.isDebugEnabled()) {
logger.debug(e.getMessage(), e);
}
throw new SSCActionMessagesException(e, "errors.failed_to_redirect", appletForm.uri);
}
return null;
}
@Execute(validator = true, input = "../index")
public String launcher() {
launcherJarFile = systemHelper.getLauncherJarPath();
if (StringUtil.isBlank(launcherJarFile)) {
throw new SSCActionMessagesException("errors.no_launcher_applet_jar");
}
launcherJnlpFile = systemHelper.getLauncherJnlpPath();
if (StringUtil.isBlank(launcherJnlpFile)) {
throw new SSCActionMessagesException("errors.no_launcher_applet_jar");
}
String encoding = appletForm.encoding;
if (StringUtil.isBlank(encoding)) {
encoding = Constants.UTF_8;
}
path = StringEscapeUtils.escapeJavaScript(appletForm.uri);
final String url = RequestUtil.getRequest().getHeader("REFERER");
if (StringUtil.isBlank(url)) {
referrer = StringUtil.EMPTY;
} else {
referrer = StringEscapeUtils.escapeJavaScript(url);
}
return "launcher.jsp";
}
}

View file

@ -460,9 +460,6 @@ public class IndexAction {
ResponseUtil.getResponse().setStatus(HttpServletResponse.SC_NO_CONTENT);
return null;
} else if (Constants.TRUE.equals(crawlerProperties.getProperty(Constants.SEARCH_FILE_LAUNCHER_PROPERTY, Constants.TRUE))) {
ResponseUtil.getResponse().sendRedirect(
RequestUtil.getRequest().getContextPath() + "/applet/launcher?uri=" + S2Functions.u(url));
} else {
ResponseUtil.getResponse().sendRedirect(url + hash);
}

View file

@ -17,27 +17,51 @@
package org.codelibs.fess.action.admin;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelibs.fess.action.base.FessAdminAction;
import org.codelibs.fess.beans.FessBeans;
import org.codelibs.fess.crud.CommonConstants;
import org.codelibs.fess.crud.CrudMessageException;
import org.codelibs.fess.crud.action.admin.BsBoostDocumentRuleAction;
import org.codelibs.fess.crud.util.SAStrutsUtil;
import org.codelibs.fess.db.exentity.BoostDocumentRule;
import org.codelibs.fess.form.admin.BoostDocumentRuleForm;
import org.codelibs.fess.helper.SystemHelper;
import org.codelibs.fess.pager.BoostDocumentRulePager;
import org.codelibs.fess.service.BoostDocumentRuleService;
import org.codelibs.sastruts.core.annotation.Token;
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
import org.seasar.framework.beans.util.Beans;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.exception.ActionMessagesException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class BoostDocumentRuleAction extends BsBoostDocumentRuleAction {
public class BoostDocumentRuleAction extends FessAdminAction {
private static final long serialVersionUID = 1L;
private static final Logger logger = LoggerFactory.getLogger(BoostDocumentRuleAction.class);
private static final Log log = LogFactory.getLog(BoostDocumentRuleAction.class);
// for list
public List<BoostDocumentRule> boostDocumentRuleItems;
// for edit/confirm/delete
@ActionForm
@Resource
protected BoostDocumentRuleForm boostDocumentRuleForm;
@Resource
protected BoostDocumentRuleService boostDocumentRuleService;
@Resource
protected BoostDocumentRulePager boostDocumentRulePager;
@Resource
protected SystemHelper systemHelper;
@ -46,7 +70,198 @@ public class BoostDocumentRuleAction extends BsBoostDocumentRuleAction {
return systemHelper.getHelpLink("boostDocumentRule");
}
@Override
protected String displayList(final boolean redirect) {
// page navi
boostDocumentRuleItems = boostDocumentRuleService.getBoostDocumentRuleList(boostDocumentRulePager);
// restore from pager
Beans.copy(boostDocumentRulePager, boostDocumentRuleForm.searchParams).excludes(CommonConstants.PAGER_CONVERSION_RULE)
.execute();
if (redirect) {
return "index?redirect=true";
} else {
return "index.jsp";
}
}
@Execute(validator = false, input = "error.jsp")
public String index() {
return displayList(false);
}
@Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}")
public String list() {
// page navi
if (StringUtil.isNotBlank(boostDocumentRuleForm.pageNumber)) {
try {
boostDocumentRulePager.setCurrentPageNumber(Integer.parseInt(boostDocumentRuleForm.pageNumber));
} catch (final NumberFormatException e) {
if (logger.isDebugEnabled()) {
logger.debug("Invalid value: " + boostDocumentRuleForm.pageNumber, e);
}
}
}
return displayList(false);
}
@Execute(validator = false, input = "error.jsp")
public String search() {
Beans.copy(boostDocumentRuleForm.searchParams, boostDocumentRulePager).excludes(CommonConstants.PAGER_CONVERSION_RULE).execute();
return displayList(false);
}
@Execute(validator = false, input = "error.jsp")
public String reset() {
boostDocumentRulePager.clear();
return displayList(false);
}
@Execute(validator = false, input = "error.jsp")
public String back() {
return displayList(false);
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String editagain() {
return "edit.jsp";
}
@Execute(validator = false, input = "error.jsp", urlPattern = "confirmpage/{crudMode}/{id}")
public String confirmpage() {
if (boostDocumentRuleForm.crudMode != CommonConstants.CONFIRM_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.CONFIRM_MODE,
boostDocumentRuleForm.crudMode });
}
loadBoostDocumentRule();
return "confirm.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String createpage() {
// page navi
boostDocumentRuleForm.initialize();
boostDocumentRuleForm.crudMode = CommonConstants.CREATE_MODE;
return "edit.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp", urlPattern = "editpage/{crudMode}/{id}")
public String editpage() {
if (boostDocumentRuleForm.crudMode != CommonConstants.EDIT_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.EDIT_MODE,
boostDocumentRuleForm.crudMode });
}
loadBoostDocumentRule();
return "edit.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String editfromconfirm() {
boostDocumentRuleForm.crudMode = CommonConstants.EDIT_MODE;
loadBoostDocumentRule();
return "edit.jsp";
}
@Token(save = false, validate = true, keep = true)
@Execute(validator = true, input = "edit.jsp")
public String confirmfromcreate() {
return "confirm.jsp";
}
@Token(save = false, validate = true, keep = true)
@Execute(validator = true, input = "edit.jsp")
public String confirmfromupdate() {
return "confirm.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp", urlPattern = "deletepage/{crudMode}/{id}")
public String deletepage() {
if (boostDocumentRuleForm.crudMode != CommonConstants.DELETE_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.DELETE_MODE,
boostDocumentRuleForm.crudMode });
}
loadBoostDocumentRule();
return "confirm.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String deletefromconfirm() {
boostDocumentRuleForm.crudMode = CommonConstants.DELETE_MODE;
loadBoostDocumentRule();
return "confirm.jsp";
}
@Token(save = false, validate = true)
@Execute(validator = true, input = "edit.jsp")
public String create() {
try {
final BoostDocumentRule boostDocumentRule = createBoostDocumentRule();
boostDocumentRuleService.store(boostDocumentRule);
SAStrutsUtil.addSessionMessage("success.crud_create_crud_table");
return displayList(true);
} catch (final ActionMessagesException e) {
logger.error(e.getMessage(), e);
throw e;
} catch (final CrudMessageException e) {
logger.error(e.getMessage(), e);
throw new ActionMessagesException(e.getMessageId(), e.getArgs());
} catch (final Exception e) {
logger.error(e.getMessage(), e);
throw new ActionMessagesException("errors.crud_failed_to_create_crud_table");
}
}
@Token(save = false, validate = true)
@Execute(validator = true, input = "edit.jsp")
public String update() {
try {
final BoostDocumentRule boostDocumentRule = createBoostDocumentRule();
boostDocumentRuleService.store(boostDocumentRule);
SAStrutsUtil.addSessionMessage("success.crud_update_crud_table");
return displayList(true);
} catch (final ActionMessagesException e) {
logger.error(e.getMessage(), e);
throw e;
} catch (final CrudMessageException e) {
logger.error(e.getMessage(), e);
throw new ActionMessagesException(e.getMessageId(), e.getArgs());
} catch (final Exception e) {
logger.error(e.getMessage(), e);
throw new ActionMessagesException("errors.crud_failed_to_update_crud_table");
}
}
protected Map<String, String> createKeyMap() {
final Map<String, String> keys = new HashMap<String, String>();
keys.put("id", boostDocumentRuleForm.id);
return keys;
}
protected void loadBoostDocumentRule() {
final BoostDocumentRule boostDocumentRule = boostDocumentRuleService.getBoostDocumentRule(createKeyMap());
@ -58,7 +273,6 @@ public class BoostDocumentRuleAction extends BsBoostDocumentRuleAction {
FessBeans.copy(boostDocumentRule, boostDocumentRuleForm).commonColumnDateConverter().excludes("searchParams", "mode").execute();
}
@Override
protected BoostDocumentRule createBoostDocumentRule() {
BoostDocumentRule boostDocumentRule;
final String username = systemHelper.getUsername();
@ -81,7 +295,6 @@ public class BoostDocumentRuleAction extends BsBoostDocumentRuleAction {
return boostDocumentRule;
}
@Override
@Execute(validator = false, input = "error.jsp")
public String delete() {
if (boostDocumentRuleForm.crudMode != CommonConstants.DELETE_MODE) {
@ -96,7 +309,6 @@ public class BoostDocumentRuleAction extends BsBoostDocumentRuleAction {
throw new SSCActionMessagesException("errors.crud_could_not_find_crud_table", new Object[] { boostDocumentRuleForm.id });
}
// boostDocumentRuleService.delete(boostDocumentRule);
final String username = systemHelper.getUsername();
final LocalDateTime currentTime = systemHelper.getCurrentTime();
boostDocumentRule.setDeletedBy(username);
@ -106,13 +318,13 @@ public class BoostDocumentRuleAction extends BsBoostDocumentRuleAction {
return displayList(true);
} catch (final ActionMessagesException e) {
log.error(e.getMessage(), e);
logger.error(e.getMessage(), e);
throw e;
} catch (final CrudMessageException e) {
log.error(e.getMessage(), e);
logger.error(e.getMessage(), e);
throw new SSCActionMessagesException(e, e.getMessageId(), e.getArgs());
} catch (final Exception e) {
log.error(e.getMessage(), e);
logger.error(e.getMessage(), e);
throw new SSCActionMessagesException(e, "errors.crud_failed_to_delete_crud_table");
}
}

View file

@ -0,0 +1,20 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.action.base;
public abstract class FessAdminAction extends FessBaseAction {
}

View file

@ -1,3 +1,18 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
/*
* Copyright 2014-2015 the original author or authors.

View file

@ -0,0 +1,20 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.action.base;
public abstract class FessSearchAction extends FessBaseAction {
}

View file

@ -1,3 +1,18 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.beans.converter;
import java.time.LocalDateTime;

View file

@ -1,328 +0,0 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.crud.action.admin;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelibs.fess.crud.CommonConstants;
import org.codelibs.fess.crud.CrudMessageException;
import org.codelibs.fess.crud.util.SAStrutsUtil;
import org.codelibs.fess.db.exentity.BoostDocumentRule;
import org.codelibs.fess.form.admin.BoostDocumentRuleForm;
import org.codelibs.fess.pager.BoostDocumentRulePager;
import org.codelibs.fess.service.BoostDocumentRuleService;
import org.codelibs.sastruts.core.annotation.Token;
import org.seasar.framework.beans.util.Beans;
import org.seasar.framework.util.StringUtil;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.exception.ActionMessagesException;
public class BsBoostDocumentRuleAction implements Serializable {
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(BsBoostDocumentRuleAction.class);
// for list
public List<BoostDocumentRule> boostDocumentRuleItems;
// for edit/confirm/delete
@ActionForm
@Resource
protected BoostDocumentRuleForm boostDocumentRuleForm;
@Resource
protected BoostDocumentRuleService boostDocumentRuleService;
@Resource
protected BoostDocumentRulePager boostDocumentRulePager;
protected String displayList(final boolean redirect) {
// page navi
boostDocumentRuleItems = boostDocumentRuleService.getBoostDocumentRuleList(boostDocumentRulePager);
// restore from pager
Beans.copy(boostDocumentRulePager, boostDocumentRuleForm.searchParams).excludes(CommonConstants.PAGER_CONVERSION_RULE)
.execute();
if (redirect) {
return "index?redirect=true";
} else {
return "index.jsp";
}
}
@Execute(validator = false, input = "error.jsp")
public String index() {
return displayList(false);
}
@Execute(validator = false, input = "error.jsp", urlPattern = "list/{pageNumber}")
public String list() {
// page navi
if (StringUtil.isNotBlank(boostDocumentRuleForm.pageNumber)) {
try {
boostDocumentRulePager.setCurrentPageNumber(Integer.parseInt(boostDocumentRuleForm.pageNumber));
} catch (final NumberFormatException e) {
if (log.isDebugEnabled()) {
log.debug("Invalid value: " + boostDocumentRuleForm.pageNumber, e);
}
}
}
return displayList(false);
}
@Execute(validator = false, input = "error.jsp")
public String search() {
Beans.copy(boostDocumentRuleForm.searchParams, boostDocumentRulePager).excludes(CommonConstants.PAGER_CONVERSION_RULE)
.execute();
return displayList(false);
}
@Execute(validator = false, input = "error.jsp")
public String reset() {
boostDocumentRulePager.clear();
return displayList(false);
}
@Execute(validator = false, input = "error.jsp")
public String back() {
return displayList(false);
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String editagain() {
return "edit.jsp";
}
@Execute(validator = false, input = "error.jsp", urlPattern = "confirmpage/{crudMode}/{id}")
public String confirmpage() {
if (boostDocumentRuleForm.crudMode != CommonConstants.CONFIRM_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.CONFIRM_MODE,
boostDocumentRuleForm.crudMode });
}
loadBoostDocumentRule();
return "confirm.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String createpage() {
// page navi
boostDocumentRuleForm.initialize();
boostDocumentRuleForm.crudMode = CommonConstants.CREATE_MODE;
return "edit.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp", urlPattern = "editpage/{crudMode}/{id}")
public String editpage() {
if (boostDocumentRuleForm.crudMode != CommonConstants.EDIT_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.EDIT_MODE,
boostDocumentRuleForm.crudMode });
}
loadBoostDocumentRule();
return "edit.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String editfromconfirm() {
boostDocumentRuleForm.crudMode = CommonConstants.EDIT_MODE;
loadBoostDocumentRule();
return "edit.jsp";
}
@Token(save = false, validate = true, keep = true)
@Execute(validator = true, input = "edit.jsp")
public String confirmfromcreate() {
return "confirm.jsp";
}
@Token(save = false, validate = true, keep = true)
@Execute(validator = true, input = "edit.jsp")
public String confirmfromupdate() {
return "confirm.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp", urlPattern = "deletepage/{crudMode}/{id}")
public String deletepage() {
if (boostDocumentRuleForm.crudMode != CommonConstants.DELETE_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.DELETE_MODE,
boostDocumentRuleForm.crudMode });
}
loadBoostDocumentRule();
return "confirm.jsp";
}
@Token(save = true, validate = false)
@Execute(validator = false, input = "error.jsp")
public String deletefromconfirm() {
boostDocumentRuleForm.crudMode = CommonConstants.DELETE_MODE;
loadBoostDocumentRule();
return "confirm.jsp";
}
@Token(save = false, validate = true)
@Execute(validator = true, input = "edit.jsp")
public String create() {
try {
final BoostDocumentRule boostDocumentRule = createBoostDocumentRule();
boostDocumentRuleService.store(boostDocumentRule);
SAStrutsUtil.addSessionMessage("success.crud_create_crud_table");
return displayList(true);
} catch (final ActionMessagesException e) {
log.error(e.getMessage(), e);
throw e;
} catch (final CrudMessageException e) {
log.error(e.getMessage(), e);
throw new ActionMessagesException(e.getMessageId(), e.getArgs());
} catch (final Exception e) {
log.error(e.getMessage(), e);
throw new ActionMessagesException("errors.crud_failed_to_create_crud_table");
}
}
@Token(save = false, validate = true)
@Execute(validator = true, input = "edit.jsp")
public String update() {
try {
final BoostDocumentRule boostDocumentRule = createBoostDocumentRule();
boostDocumentRuleService.store(boostDocumentRule);
SAStrutsUtil.addSessionMessage("success.crud_update_crud_table");
return displayList(true);
} catch (final ActionMessagesException e) {
log.error(e.getMessage(), e);
throw e;
} catch (final CrudMessageException e) {
log.error(e.getMessage(), e);
throw new ActionMessagesException(e.getMessageId(), e.getArgs());
} catch (final Exception e) {
log.error(e.getMessage(), e);
throw new ActionMessagesException("errors.crud_failed_to_update_crud_table");
}
}
@Token(save = false, validate = true)
@Execute(validator = false, input = "error.jsp")
public String delete() {
if (boostDocumentRuleForm.crudMode != CommonConstants.DELETE_MODE) {
throw new ActionMessagesException("errors.crud_invalid_mode", new Object[] { CommonConstants.DELETE_MODE,
boostDocumentRuleForm.crudMode });
}
try {
final BoostDocumentRule boostDocumentRule = boostDocumentRuleService.getBoostDocumentRule(createKeyMap());
if (boostDocumentRule == null) {
// throw an exception
throw new ActionMessagesException("errors.crud_could_not_find_crud_table",
new Object[] { boostDocumentRuleForm.id });
}
boostDocumentRuleService.delete(boostDocumentRule);
SAStrutsUtil.addSessionMessage("success.crud_delete_crud_table");
return displayList(true);
} catch (final ActionMessagesException e) {
log.error(e.getMessage(), e);
throw e;
} catch (final CrudMessageException e) {
log.error(e.getMessage(), e);
throw new ActionMessagesException(e.getMessageId(), e.getArgs());
} catch (final Exception e) {
log.error(e.getMessage(), e);
throw new ActionMessagesException("errors.crud_failed_to_delete_crud_table");
}
}
protected void loadBoostDocumentRule() {
final BoostDocumentRule boostDocumentRule = boostDocumentRuleService.getBoostDocumentRule(createKeyMap());
if (boostDocumentRule == null) {
// throw an exception
throw new ActionMessagesException("errors.crud_could_not_find_crud_table",
new Object[] { boostDocumentRuleForm.id });
}
Beans.copy(boostDocumentRule, boostDocumentRuleForm).excludes("searchParams", "mode")
.execute();
}
protected BoostDocumentRule createBoostDocumentRule() {
BoostDocumentRule boostDocumentRule;
if (boostDocumentRuleForm.crudMode == CommonConstants.EDIT_MODE) {
boostDocumentRule = boostDocumentRuleService.getBoostDocumentRule(createKeyMap());
if (boostDocumentRule == null) {
// throw an exception
throw new ActionMessagesException("errors.crud_could_not_find_crud_table",
new Object[] { boostDocumentRuleForm.id });
}
} else {
boostDocumentRule = new BoostDocumentRule();
}
Beans.copy(boostDocumentRuleForm, boostDocumentRule).excludes("searchParams", "mode")
.execute();
return boostDocumentRule;
}
protected Map<String, String> createKeyMap() {
final Map<String, String> keys = new HashMap<String, String>();
keys.put("id", boostDocumentRuleForm.id);
return keys;
}
}

View file

@ -1,99 +0,0 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.crud.form.admin;
import java.util.HashMap;
import java.util.Map;
import org.codelibs.fess.Constants;
import org.seasar.struts.annotation.DateType;
import org.seasar.struts.annotation.IntRange;
import org.seasar.struts.annotation.IntegerType;
import org.seasar.struts.annotation.LongType;
import org.seasar.struts.annotation.Maxbytelength;
import org.seasar.struts.annotation.Required;
public abstract class BsBoostDocumentRuleForm {
@IntegerType
public String pageNumber;
public Map<String, String> searchParams = new HashMap<String, String>();
@IntegerType
public int crudMode;
public String getCurrentPageNumber() {
return pageNumber;
}
@Required(target = "confirmfromupdate,update,delete")
@LongType
public String id;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@Maxbytelength(maxbytelength = 4000)
public String urlExpr;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@Maxbytelength(maxbytelength = 4000)
public String boostExpr;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@IntegerType
@IntRange(min = 0, max = 2147483647)
public String sortOrder;
@Required(target = "confirmfromupdate,update,delete")
@Maxbytelength(maxbytelength = 255)
public String createdBy;
@Required(target = "confirmfromupdate,update,delete")
@DateType(datePattern = Constants.DEFAULT_DATETIME_FORMAT)
public String createdTime;
@Maxbytelength(maxbytelength = 255)
public String updatedBy;
@DateType
public String updatedTime;
public String deletedBy;
@DateType(datePattern = Constants.DEFAULT_DATETIME_FORMAT)
public String deletedTime;
@Required(target = "confirmfromupdate,update,delete")
@IntegerType
public String versionNo;
public void initialize() {
id = null;
urlExpr = null;
boostExpr = null;
sortOrder = null;
createdBy = null;
createdTime = null;
updatedBy = null;
updatedTime = null;
deletedBy = null;
deletedTime = null;
versionNo = null;
}
}

View file

@ -1,140 +0,0 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.crud.pager;
import java.io.Serializable;
import java.util.List;
public abstract class BsBoostDocumentRulePager implements Serializable {
private static final long serialVersionUID = 1L;
public static final int DEFAULT_PAGE_SIZE = 20;
public static final int DEFAULT_CURRENT_PAGE_NUMBER = 1;
private int allRecordCount;
private int allPageCount;
private boolean existPrePage;
private boolean existNextPage;
private List<Integer> pageNumberList;
private int pageSize;
private int currentPageNumber;
public String id;
public String urlExpr;
public String boostExpr;
public String sortOrder;
public String createdBy;
public String createdTime;
public String versionNo;
public void clear() {
pageSize = getDefaultPageSize();
currentPageNumber = getDefaultCurrentPageNumber();
id = null;
urlExpr = null;
boostExpr = null;
sortOrder = null;
createdBy = null;
createdTime = null;
versionNo = null;
}
protected int getDefaultPageSize() {
return DEFAULT_PAGE_SIZE;
}
protected int getDefaultCurrentPageNumber() {
return DEFAULT_CURRENT_PAGE_NUMBER;
}
public int getAllRecordCount() {
return allRecordCount;
}
public void setAllRecordCount(final int allRecordCount) {
this.allRecordCount = allRecordCount;
}
public int getAllPageCount() {
return allPageCount;
}
public void setAllPageCount(final int allPageCount) {
this.allPageCount = allPageCount;
}
public boolean isExistPrePage() {
return existPrePage;
}
public void setExistPrePage(final boolean existPrePage) {
this.existPrePage = existPrePage;
}
public boolean isExistNextPage() {
return existNextPage;
}
public void setExistNextPage(final boolean existNextPage) {
this.existNextPage = existNextPage;
}
public int getPageSize() {
if (pageSize <= 0) {
pageSize = getDefaultPageSize();
}
return pageSize;
}
public void setPageSize(final int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPageNumber() {
if (currentPageNumber <= 0) {
currentPageNumber = getDefaultCurrentPageNumber();
}
return currentPageNumber;
}
public void setCurrentPageNumber(final int currentPageNumber) {
this.currentPageNumber = currentPageNumber;
}
public List<Integer> getPageNumberList() {
return pageNumberList;
}
public void setPageNumberList(final List<Integer> pageNumberList) {
this.pageNumberList = pageNumberList;
}
}

View file

@ -16,17 +16,85 @@
package org.codelibs.fess.form.admin;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.codelibs.fess.crud.form.admin.BsBoostDocumentRuleForm;
import org.codelibs.fess.Constants;
import org.seasar.struts.annotation.DateType;
import org.seasar.struts.annotation.IntRange;
import org.seasar.struts.annotation.IntegerType;
import org.seasar.struts.annotation.LongType;
import org.seasar.struts.annotation.Maxbytelength;
import org.seasar.struts.annotation.Required;
public class BoostDocumentRuleForm extends BsBoostDocumentRuleForm implements Serializable {
public class BoostDocumentRuleForm {
@IntegerType
public String pageNumber;
private static final long serialVersionUID = 1L;
public Map<String, String> searchParams = new HashMap<String, String>();
@IntegerType
public int crudMode;
public String getCurrentPageNumber() {
return pageNumber;
}
@Required(target = "confirmfromupdate,update,delete")
@LongType
public String id;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@Maxbytelength(maxbytelength = 4000)
public String urlExpr;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@Maxbytelength(maxbytelength = 4000)
public String boostExpr;
@Required(target = "confirmfromcreate,create,confirmfromupdate,update,delete")
@IntegerType
@IntRange(min = 0, max = 2147483647)
public String sortOrder;
@Required(target = "confirmfromupdate,update,delete")
@Maxbytelength(maxbytelength = 255)
public String createdBy;
@Required(target = "confirmfromupdate,update,delete")
@DateType(datePattern = Constants.DEFAULT_DATETIME_FORMAT)
public String createdTime;
@Maxbytelength(maxbytelength = 255)
public String updatedBy;
@DateType
public String updatedTime;
public String deletedBy;
@DateType(datePattern = Constants.DEFAULT_DATETIME_FORMAT)
public String deletedTime;
@Required(target = "confirmfromupdate,update,delete")
@IntegerType
public String versionNo;
@Override
public void initialize() {
super.initialize();
id = null;
urlExpr = null;
boostExpr = null;
sortOrder = null;
createdBy = null;
createdTime = null;
updatedBy = null;
updatedTime = null;
deletedBy = null;
deletedTime = null;
versionNo = null;
sortOrder = "0";
}
}

View file

@ -1,3 +1,18 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.lasta.core.direction;
import org.codelibs.fess.lasta.core.direction.FessEnv;

View file

@ -1,3 +1,18 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.lasta.core.direction;
import org.dbflute.saflute.core.direction.ObjectiveConfig;

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,3 +1,18 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.lasta.web.action;
/**
@ -339,9 +354,6 @@ public interface FessJspPath {
/** The path of the JSP: /admin/wizard/startCrawling.jsp */
String path_AdminWizard_StartCrawlingJsp = "/admin/wizard/startCrawling.jsp";
/** The path of the JSP: /applet/launcher.jsp */
String path_Applet_LauncherJsp = "/applet/launcher.jsp";
/** The path of the JSP: /error/badRequest.jsp */
String path_Error_BadRequestJsp = "/error/badRequest.jsp";

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,3 +1,18 @@
/*
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.lasta.web.action;
import org.apache.struts.action.ActionMessages;

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -1,5 +1,5 @@
/*
* Copyright 2014-2015 the original author or authors.
* Copyright 2009-2015 the CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View file

@ -16,23 +16,124 @@
package org.codelibs.fess.pager;
import java.io.Serializable;
import java.util.List;
import org.codelibs.fess.Constants;
import org.codelibs.fess.crud.pager.BsBoostDocumentRulePager;
public class BoostDocumentRulePager extends BsBoostDocumentRulePager {
public class BoostDocumentRulePager implements Serializable {
private static final long serialVersionUID = 1L;
public BoostDocumentRulePager() {
super();
}
public static final int DEFAULT_CURRENT_PAGE_NUMBER = 1;
private int allRecordCount;
private int allPageCount;
private boolean existPrePage;
private boolean existNextPage;
private List<Integer> pageNumberList;
private int pageSize;
private int currentPageNumber;
public String id;
public String urlExpr;
public String boostExpr;
public String sortOrder;
public String createdBy;
public String createdTime;
public String versionNo;
@Override
public void clear() {
super.clear();
pageSize = getDefaultPageSize();
currentPageNumber = getDefaultCurrentPageNumber();
id = null;
urlExpr = null;
boostExpr = null;
sortOrder = null;
createdBy = null;
createdTime = null;
versionNo = null;
}
public int getAllRecordCount() {
return allRecordCount;
}
public void setAllRecordCount(final int allRecordCount) {
this.allRecordCount = allRecordCount;
}
public int getAllPageCount() {
return allPageCount;
}
public void setAllPageCount(final int allPageCount) {
this.allPageCount = allPageCount;
}
public boolean isExistPrePage() {
return existPrePage;
}
public void setExistPrePage(final boolean existPrePage) {
this.existPrePage = existPrePage;
}
public boolean isExistNextPage() {
return existNextPage;
}
public void setExistNextPage(final boolean existNextPage) {
this.existNextPage = existNextPage;
}
public int getPageSize() {
if (pageSize <= 0) {
pageSize = getDefaultPageSize();
}
return pageSize;
}
public void setPageSize(final int pageSize) {
this.pageSize = pageSize;
}
public int getCurrentPageNumber() {
if (currentPageNumber <= 0) {
currentPageNumber = getDefaultCurrentPageNumber();
}
return currentPageNumber;
}
public void setCurrentPageNumber(final int currentPageNumber) {
this.currentPageNumber = currentPageNumber;
}
public List<Integer> getPageNumberList() {
return pageNumberList;
}
public void setPageNumberList(final List<Integer> pageNumberList) {
this.pageNumberList = pageNumberList;
}
protected int getDefaultCurrentPageNumber() {
return Constants.DEFAULT_ADMIN_PAGE_NUMBER;
}
@Override
protected int getDefaultPageSize() {
return Constants.DEFAULT_ADMIN_PAGE_SIZE;
}

View file

@ -65,7 +65,6 @@ errors.target_file_does_not_exist={0} file does not exist.
errors.failed_to_download_file=Failed to download {0} file.
errors.failed_to_delete_file=Failed to delete {0} file.
errors.failed_to_redirect=Failed to redirect {0}.
errors.no_launcher_applet_jar=No launcher file.
errors.unsupported_encoding={0} is not supported as encoding.
errors.docid_not_found=Not found Doc ID:{0}
errors.document_not_found=Not found URL of Doc ID:{0}
@ -467,9 +466,6 @@ labels.footer_back_to_top=Back to top
labels.header_brand_name=Fess
labels.header_form_option_btn=Options
# view/applet/launcher.jsp
labels.open_uri=Accessing {0}<br>At a first time starting, it might take a little more time to open the file.
# view/admin/fileCrawlingConfig/edit.jsp
labels.file_crawling_configuration=File Crawling Configuration
labels.file_crawling_title_details=File Crawling Configuration
@ -960,7 +956,6 @@ labels.design_file_help=Help Page (Content)
labels.design_file_header=Header
labels.design_file_error=Search Error Page
labels.design_file_cache=Cache Page
labels.design_file_appletLauncher=File Launcher Page
labels.design_file_errorHeader=Error Page (Header)
labels.design_file_errorFooter=Error Page (Footer)
labels.design_file_errorNotFound=Error Page (Not Found)

View file

@ -65,7 +65,6 @@ errors.target_file_does_not_exist=\u30d5\u30a1\u30a4\u30eb {0} \u304c\u5b58\u572
errors.failed_to_download_file={0} \u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
errors.failed_to_delete_file=\u30d5\u30a1\u30a4\u30eb {0} \u306e\u524a\u9664\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
errors.failed_to_redirect={0}\u3078\u306e\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
errors.no_launcher_applet_jar=\u8d77\u52d5\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
errors.unsupported_encoding={0}\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059\u3002
errors.docid_not_found=ID:{0}\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
errors.document_not_found=ID:{0}\u306eURL\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
@ -467,9 +466,6 @@ labels.footer_back_to_top=\u4e0a\u90e8\u3078\u79fb\u52d5
labels.header_brand_name=Fess
labels.header_form_option_btn=\u30aa\u30d7\u30b7\u30e7\u30f3
# view/applet/launcher.jsp
labels.open_uri=\u30a2\u30af\u30bb\u30b9\u4e2d: {0}<br>\u521d\u56de\u8d77\u52d5\u6642\u306b\u306f\u6642\u9593\u304c\u304b\u304b\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002
# view/admin/fileCrawlingConfig/edit.jsp
labels.file_crawling_configuration=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30fc\u30eb\u306e\u8a2d\u5b9a
labels.file_crawling_title_details=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u30af\u30ed\u30fc\u30eb\u306e\u8a2d\u5b9a
@ -960,7 +956,6 @@ labels.design_file_error=\u691c\u7d22\u30a8\u30e9\u30fc\u30da\u30fc\u30b8
labels.design_file_cache=\u30ad\u30e3\u30c3\u30b7\u30e5\u30da\u30fc\u30b8
labels.design_file_help=\u30d8\u30eb\u30d7\u30da\u30fc\u30b8 (\u30d5\u30ec\u30fc\u30e0)
labels.design_file_header=\u30d8\u30c3\u30c0\u30fc
labels.design_file_appletLauncher=\u30d5\u30a1\u30a4\u30eb\u8d77\u52d5\u30da\u30fc\u30b8
labels.design_file_errorHeader=\u30a8\u30e9\u30fc\u30da\u30fc\u30b8 (\u30d8\u30c3\u30c0\u30fc)
labels.design_file_errorFooter=\u30a8\u30e9\u30fc\u30da\u30fc\u30b8 (\u30d5\u30c3\u30bf\u30fc)
labels.design_file_errorNotFound=\u30a8\u30e9\u30fc\u30da\u30fc\u30b8 (\u30da\u30fc\u30b8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093)

View file

@ -8,7 +8,6 @@
<component class="org.seasar.framework.container.creator.ActionCreator"/>
<component class="org.seasar.struts.creator.FormCreator"/>
<component class="org.seasar.framework.container.creator.ServiceCreator"/>
<component class="org.seasar.framework.container.creator.DtoCreator"/>
<component class="org.seasar.framework.container.creator.InterceptorCreator"/>
<component class="org.codelibs.fess.crud.creator.PagerCreator"/>
</components>

View file

@ -40,29 +40,6 @@
</initMethod>
</component>
<component name="taskSupportAspectCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
<initMethod name="addInterceptorName">
<arg>"aop.traceInterceptor"</arg>
</initMethod>
<property name="pointcut">"do.*, initialize, destroy"</property>
</component>
<component name="taskCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
<initMethod name="addCustomizer">
<arg>taskSupportAspectCustomizer</arg>
</initMethod>
</component>
<component name="triggerSupportAspectCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
<initMethod name="addInterceptorName">
<arg>"aop.traceInterceptor"</arg>
</initMethod>
<property name="pointcut">".*"</property>
</component>
<component name="triggerCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
<initMethod name="addCustomizer">
<arg>triggerSupportAspectCustomizer</arg>
</initMethod>
</component>
<component name="pagerCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
</component>

View file

@ -110,10 +110,6 @@ new String[] {
<arg>"error"</arg>
<arg>"error.jsp"</arg>
</initMethod>
<initMethod name="addDesignJspFileName">
<arg>"appletLauncher"</arg>
<arg>"applet/launcher.jsp"</arg>
</initMethod>
<initMethod name="addDesignJspFileName">
<arg>"errorHeader"</arg>
<arg>"error/header.jsp"</arg>

View file

@ -1,43 +0,0 @@
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<title>${f:h(displayQuery)} - <bean:message
key="labels.search_title" /></title>
<link href="${f:url('/css/style-base.css')}" rel="stylesheet"
type="text/css" />
<link href="${f:url('/css/style.css')}" rel="stylesheet"
type="text/css" />
<script type="text/javascript" src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
</head>
<body>
<jsp:include page="/WEB-INF/view/header.jsp" />
<div class="container">
<div class="content">
<div class="span8">
<div>
<bean:message key="labels.open_uri" arg0="${f:h(uri)}" />
</div>
<script src="${f:url('/js/applet/deploy.min.js')}"></script>
<script>
var attributes = {
code:'FileLauncher.class',
archive:'${f:url(launcherJarFile)}',
width:'100%',
height:40};
var parameters = {
jnlp_href:'${f:url(launcherJnlpFile)}',
uri:'${path}'
<c:if test="${referrer != ''}">,referrer: '${referrer}'</c:if>
};
deployJava.runApplet(attributes, parameters, '1.6');
</script>
</div>
</div>
<jsp:include page="/WEB-INF/view/footer.jsp" />
</div>
</body>
</html>

View file

@ -1,43 +0,0 @@
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-script-type" content="text/javascript" />
<title>${f:h(displayQuery)} - <bean:message
key="labels.search_title" /></title>
<link href="${f:url('/css/style-base.css')}" rel="stylesheet"
type="text/css" />
<link href="${f:url('/css/style.css')}" rel="stylesheet"
type="text/css" />
<script type="text/javascript" src="${f:url('/js/jquery-1.11.0.min.js')}"></script>
</head>
<body>
<jsp:include page="/WEB-INF/view/header.jsp" />
<div class="container">
<div class="content">
<div class="span8">
<div>
<bean:message key="labels.open_uri" arg0="${f:h(uri)}" />
</div>
<script src="${f:url('/js/applet/deploy.min.js')}"></script>
<script>
var attributes = {
code:'FileLauncher.class',
archive:'${f:url(launcherJarFile)}',
width:'100%',
height:40};
var parameters = {
jnlp_href:'${f:url(launcherJnlpFile)}',
uri:'${path}'
<c:if test="${referrer != ''}">,referrer: '${referrer}'</c:if>
};
deployJava.runApplet(attributes, parameters, '1.6');
</script>
</div>
</div>
<jsp:include page="/WEB-INF/view/footer.jsp" />
</div>
</body>
</html>

View file

@ -30,7 +30,7 @@
<property name="URL">
"jdbc:h2:file:"
+ @org.seasar.framework.util.ResourceUtil@getBuildDir(@org.codelibs.fess.FessClass@class).getCanonicalPath()
+ "/db/fess;DB_CLOSE_ON_EXIT=FALSE;LOG=2;MVCC=true"
+ "../../../src/main/h2/webapp/WEB-INF/db/fess;DB_CLOSE_ON_EXIT=FALSE;LOG=2;MVCC=true"
</property>
<property name="user">"sa"</property>
<property name="password"></property>

View file

@ -3,6 +3,7 @@
"http://www.seasar.org/dtd/components24.dtd">
<components>
<include path="aop.dicon"/>
<include path="saflute.dicon"/>
<include path="dbflute.dicon"/>
<component name="overlappingHostHelper" class="org.codelibs.fess.helper.OverlappingHostHelper">
<initMethod name="add">