add download/upload for elevateword & badword functions
This commit is contained in:
parent
42091b4588
commit
fafacb82c4
19 changed files with 841 additions and 0 deletions
|
@ -16,10 +16,14 @@
|
|||
|
||||
package jp.sf.fess.action.admin;
|
||||
|
||||
import java.io.*;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import jp.sf.fess.Constants;
|
||||
import jp.sf.fess.FessSystemException;
|
||||
import jp.sf.fess.crud.CommonConstants;
|
||||
import jp.sf.fess.crud.CrudMessageException;
|
||||
import jp.sf.fess.crud.action.admin.BsSuggestBadWordAction;
|
||||
|
@ -29,12 +33,16 @@ import jp.sf.fess.helper.SuggestHelper;
|
|||
import jp.sf.fess.helper.SystemHelper;
|
||||
import jp.sf.fess.util.FessBeans;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.codelibs.core.util.DynamicProperties;
|
||||
import org.codelibs.robot.util.StreamUtil;
|
||||
import org.codelibs.sastruts.core.annotation.Token;
|
||||
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
|
||||
import org.seasar.struts.annotation.Execute;
|
||||
import org.seasar.struts.exception.ActionMessagesException;
|
||||
import org.seasar.struts.util.ResponseUtil;
|
||||
|
||||
public class SuggestBadWordAction extends BsSuggestBadWordAction {
|
||||
|
||||
|
@ -49,6 +57,9 @@ public class SuggestBadWordAction extends BsSuggestBadWordAction {
|
|||
@Resource
|
||||
protected SuggestHelper suggestHelper;
|
||||
|
||||
@Resource
|
||||
protected DynamicProperties crawlerProperties;
|
||||
|
||||
public String getHelpLink() {
|
||||
return systemHelper.getHelpLink("suggestBadWord");
|
||||
}
|
||||
|
@ -191,4 +202,123 @@ public class SuggestBadWordAction extends BsSuggestBadWordAction {
|
|||
}
|
||||
}
|
||||
|
||||
@Token(save = true, validate = false)
|
||||
@Execute(validator = false, input = "downloadpage")
|
||||
public String downloadpage() {
|
||||
return "download.jsp";
|
||||
}
|
||||
|
||||
@Token(save = false, validate = true)
|
||||
@Execute(validator = false, input = "downloadpage")
|
||||
public String download() {
|
||||
|
||||
final HttpServletResponse response = ResponseUtil.getResponse();
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment; filename=\""
|
||||
+ "suggestbadword.csv" + "\"");
|
||||
|
||||
Writer writer = null;
|
||||
try {
|
||||
writer = new BufferedWriter(new OutputStreamWriter(
|
||||
response.getOutputStream(), crawlerProperties.getProperty(
|
||||
Constants.CSV_FILE_ENCODING_PROPERTY,
|
||||
Constants.UTF_8)));
|
||||
suggestBadWordService.exportCsv(writer);
|
||||
writer.flush();
|
||||
return null;
|
||||
} catch (final Exception e) {
|
||||
log.error("Failed to export data.", e);
|
||||
throw new SSCActionMessagesException(e,
|
||||
"errors.failed_to_export_data");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(writer);
|
||||
}
|
||||
}
|
||||
|
||||
@Token(save = true, validate = false)
|
||||
@Execute(validator = false, input = "uploadpage")
|
||||
public String uploadpage() {
|
||||
return "upload.jsp";
|
||||
}
|
||||
|
||||
@Token(save = false, validate = true)
|
||||
@Execute(validator = true, input = "uploadpage")
|
||||
public String upload() {
|
||||
BufferedInputStream is = null;
|
||||
File tempFile = null;
|
||||
FileOutputStream fos = null;
|
||||
final byte[] b = new byte[20];
|
||||
try {
|
||||
tempFile = File.createTempFile("suggestbadword-import-", ".csv");
|
||||
is = new BufferedInputStream(suggestBadWordForm.suggestBadWordFile.getInputStream());
|
||||
is.mark(20);
|
||||
if (is.read(b, 0, 20) <= 0) {
|
||||
throw new FessSystemException("no import data.");
|
||||
}
|
||||
is.reset();
|
||||
fos = new FileOutputStream(tempFile);
|
||||
StreamUtil.drain(is, fos);
|
||||
} catch (final Exception e) {
|
||||
if (tempFile != null && !tempFile.delete()) {
|
||||
log.warn("Could not delete "
|
||||
+ tempFile.getAbsolutePath());
|
||||
}
|
||||
log.error("Failed to import data.", e);
|
||||
throw new SSCActionMessagesException(e,
|
||||
"errors.failed_to_import_data");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(is);
|
||||
IOUtils.closeQuietly(fos);
|
||||
}
|
||||
|
||||
final File oFile = tempFile;
|
||||
try {
|
||||
final String head = new String(b, Constants.UTF_8);
|
||||
if (!head.startsWith("\"SuggestWord\",")) {
|
||||
log.error("Unknown file: " + suggestBadWordForm.suggestBadWordFile);
|
||||
throw new SSCActionMessagesException(
|
||||
"errors.unknown_import_file");
|
||||
}
|
||||
final String enc = crawlerProperties.getProperty(
|
||||
Constants.CSV_FILE_ENCODING_PROPERTY, Constants.UTF_8);
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Reader reader = null;
|
||||
try {
|
||||
reader = new BufferedReader(new InputStreamReader(
|
||||
new FileInputStream(oFile), enc));
|
||||
suggestBadWordService.importCsv(reader);
|
||||
} catch (final Exception e) {
|
||||
log.error("Failed to import data.", e);
|
||||
throw new FessSystemException(
|
||||
"Failed to import data.", e);
|
||||
} finally {
|
||||
if (!oFile.delete()) {
|
||||
log.warn("Could not delete "
|
||||
+ oFile.getAbsolutePath());
|
||||
}
|
||||
IOUtils.closeQuietly(reader);
|
||||
suggestHelper.deleteAllBadWord();
|
||||
suggestHelper.updateSolrBadwordFile();
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
} catch (final ActionMessagesException e) {
|
||||
if (!oFile.delete()) {
|
||||
log.warn("Could not delete " + oFile.getAbsolutePath());
|
||||
}
|
||||
throw e;
|
||||
} catch (final Exception e) {
|
||||
if (!oFile.delete()) {
|
||||
log.warn("Could not delete " + oFile.getAbsolutePath());
|
||||
}
|
||||
log.error("Failed to import data.", e);
|
||||
throw new SSCActionMessagesException(e,
|
||||
"errors.failed_to_import_data");
|
||||
}
|
||||
SAStrutsUtil.addSessionMessage("success.upload_suggest_bad_word");
|
||||
|
||||
return "uploadpage?redirect=true";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,10 +16,14 @@
|
|||
|
||||
package jp.sf.fess.action.admin;
|
||||
|
||||
import java.io.*;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import jp.sf.fess.Constants;
|
||||
import jp.sf.fess.FessSystemException;
|
||||
import jp.sf.fess.crud.CommonConstants;
|
||||
import jp.sf.fess.crud.CrudMessageException;
|
||||
import jp.sf.fess.crud.action.admin.BsSuggestElevateWordAction;
|
||||
|
@ -29,12 +33,16 @@ import jp.sf.fess.helper.SuggestHelper;
|
|||
import jp.sf.fess.helper.SystemHelper;
|
||||
import jp.sf.fess.util.FessBeans;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.codelibs.core.util.DynamicProperties;
|
||||
import org.codelibs.robot.util.StreamUtil;
|
||||
import org.codelibs.sastruts.core.annotation.Token;
|
||||
import org.codelibs.sastruts.core.exception.SSCActionMessagesException;
|
||||
import org.seasar.struts.annotation.Execute;
|
||||
import org.seasar.struts.exception.ActionMessagesException;
|
||||
import org.seasar.struts.util.ResponseUtil;
|
||||
|
||||
public class SuggestElevateWordAction extends BsSuggestElevateWordAction {
|
||||
|
||||
|
@ -49,6 +57,9 @@ public class SuggestElevateWordAction extends BsSuggestElevateWordAction {
|
|||
@Resource
|
||||
protected SuggestHelper suggestHelper;
|
||||
|
||||
@Resource
|
||||
protected DynamicProperties crawlerProperties;
|
||||
|
||||
public String getHelpLink() {
|
||||
return systemHelper.getHelpLink("suggestElevateWord");
|
||||
}
|
||||
|
@ -187,4 +198,123 @@ public class SuggestElevateWordAction extends BsSuggestElevateWordAction {
|
|||
"errors.crud_failed_to_delete_crud_table");
|
||||
}
|
||||
}
|
||||
|
||||
@Token(save = true, validate = false)
|
||||
@Execute(validator = false, input = "downloadpage")
|
||||
public String downloadpage() {
|
||||
return "download.jsp";
|
||||
}
|
||||
|
||||
@Token(save = false, validate = true)
|
||||
@Execute(validator = false, input = "downloadpage")
|
||||
public String download() {
|
||||
|
||||
final HttpServletResponse response = ResponseUtil.getResponse();
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment; filename=\""
|
||||
+ "suggestelevateword.csv" + "\"");
|
||||
|
||||
Writer writer = null;
|
||||
try {
|
||||
writer = new BufferedWriter(new OutputStreamWriter(
|
||||
response.getOutputStream(), crawlerProperties.getProperty(
|
||||
Constants.CSV_FILE_ENCODING_PROPERTY,
|
||||
Constants.UTF_8)));
|
||||
suggestElevateWordService.exportCsv(writer);
|
||||
writer.flush();
|
||||
return null;
|
||||
} catch (final Exception e) {
|
||||
log.error("Failed to export data.", e);
|
||||
throw new SSCActionMessagesException(e,
|
||||
"errors.failed_to_export_data");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(writer);
|
||||
}
|
||||
}
|
||||
|
||||
@Token(save = true, validate = false)
|
||||
@Execute(validator = false, input = "uploadpage")
|
||||
public String uploadpage() {
|
||||
return "upload.jsp";
|
||||
}
|
||||
|
||||
@Token(save = false, validate = true)
|
||||
@Execute(validator = true, input = "uploadpage")
|
||||
public String upload() {
|
||||
BufferedInputStream is = null;
|
||||
File tempFile = null;
|
||||
FileOutputStream fos = null;
|
||||
final byte[] b = new byte[20];
|
||||
try {
|
||||
tempFile = File.createTempFile("suggestelevateword-import-", ".csv");
|
||||
is = new BufferedInputStream(suggestElevateWordForm.suggestElevateWordFile.getInputStream());
|
||||
is.mark(20);
|
||||
if (is.read(b, 0, 20) <= 0) {
|
||||
throw new FessSystemException("no import data.");
|
||||
}
|
||||
is.reset();
|
||||
fos = new FileOutputStream(tempFile);
|
||||
StreamUtil.drain(is, fos);
|
||||
} catch (final Exception e) {
|
||||
if (tempFile != null && !tempFile.delete()) {
|
||||
log.warn("Could not delete "
|
||||
+ tempFile.getAbsolutePath());
|
||||
}
|
||||
log.error("Failed to import data.", e);
|
||||
throw new SSCActionMessagesException(e,
|
||||
"errors.failed_to_import_data");
|
||||
} finally {
|
||||
IOUtils.closeQuietly(is);
|
||||
IOUtils.closeQuietly(fos);
|
||||
}
|
||||
|
||||
final File oFile = tempFile;
|
||||
try {
|
||||
final String head = new String(b, Constants.UTF_8);
|
||||
if (!head.startsWith("\"SuggestWord\",")) {
|
||||
log.error("Unknown file: " + suggestElevateWordForm.suggestElevateWordFile);
|
||||
throw new SSCActionMessagesException(
|
||||
"errors.unknown_import_file");
|
||||
}
|
||||
final String enc = crawlerProperties.getProperty(
|
||||
Constants.CSV_FILE_ENCODING_PROPERTY, Constants.UTF_8);
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Reader reader = null;
|
||||
try {
|
||||
reader = new BufferedReader(new InputStreamReader(
|
||||
new FileInputStream(oFile), enc));
|
||||
suggestElevateWordService.importCsv(reader);
|
||||
} catch (final Exception e) {
|
||||
log.error("Failed to import data.", e);
|
||||
throw new FessSystemException(
|
||||
"Failed to import data.", e);
|
||||
} finally {
|
||||
if (!oFile.delete()) {
|
||||
log.warn("Could not delete "
|
||||
+ oFile.getAbsolutePath());
|
||||
}
|
||||
IOUtils.closeQuietly(reader);
|
||||
suggestHelper.storeAllElevateWords();
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
} catch (final ActionMessagesException e) {
|
||||
if (!oFile.delete()) {
|
||||
log.warn("Could not delete " + oFile.getAbsolutePath());
|
||||
}
|
||||
throw e;
|
||||
} catch (final Exception e) {
|
||||
if (!oFile.delete()) {
|
||||
log.warn("Could not delete " + oFile.getAbsolutePath());
|
||||
}
|
||||
log.error("Failed to import data.", e);
|
||||
throw new SSCActionMessagesException(e,
|
||||
"errors.failed_to_import_data");
|
||||
}
|
||||
SAStrutsUtil.addSessionMessage("success.upload_suggest_elevate_word");
|
||||
|
||||
return "uploadpage?redirect=true";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
package jp.sf.fess.db.exentity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import jp.sf.fess.db.bsentity.BsSuggestElevateWord;
|
||||
|
||||
/**
|
||||
|
@ -30,4 +32,25 @@ public class SuggestElevateWord extends BsSuggestElevateWord {
|
|||
|
||||
/** Serial version UID. (Default) */
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public SuggestElevateWord() {
|
||||
super();
|
||||
setBoost(BigDecimal.ONE);
|
||||
}
|
||||
|
||||
public String getBoostValue() {
|
||||
if (_boost != null) {
|
||||
return Integer.toString(_boost.intValue());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setBoostValue(final String value) {
|
||||
if (value != null) {
|
||||
try {
|
||||
_boost = new BigDecimal(value);
|
||||
} catch (final Exception e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,12 +19,17 @@ package jp.sf.fess.form.admin;
|
|||
import java.io.Serializable;
|
||||
|
||||
import jp.sf.fess.crud.form.admin.BsSuggestBadWordForm;
|
||||
import org.apache.struts.upload.FormFile;
|
||||
import org.seasar.struts.annotation.Required;
|
||||
|
||||
public class SuggestBadWordForm extends BsSuggestBadWordForm implements
|
||||
Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Required(target = "upload")
|
||||
public FormFile suggestBadWordFile;
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
super.initialize();
|
||||
|
|
|
@ -19,12 +19,17 @@ package jp.sf.fess.form.admin;
|
|||
import java.io.Serializable;
|
||||
|
||||
import jp.sf.fess.crud.form.admin.BsSuggestElevateWordForm;
|
||||
import org.apache.struts.upload.FormFile;
|
||||
import org.seasar.struts.annotation.Required;
|
||||
|
||||
public class SuggestElevateWordForm extends BsSuggestElevateWordForm implements
|
||||
Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Required(target = "upload")
|
||||
public FormFile suggestElevateWordFile;
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
super.initialize();
|
||||
|
|
|
@ -16,19 +16,36 @@
|
|||
|
||||
package jp.sf.fess.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
import java.io.Serializable;
|
||||
import java.io.Writer;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jp.sf.fess.action.admin.SuggestBadWordAction;
|
||||
import jp.sf.fess.crud.service.BsSuggestBadWordService;
|
||||
import jp.sf.fess.db.cbean.SuggestBadWordCB;
|
||||
import jp.sf.fess.db.exentity.SuggestBadWord;
|
||||
import jp.sf.fess.pager.SuggestBadWordPager;
|
||||
import jp.sf.orangesignal.csv.CsvConfig;
|
||||
import jp.sf.orangesignal.csv.CsvReader;
|
||||
import jp.sf.orangesignal.csv.CsvWriter;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.codelibs.core.util.StringUtil;
|
||||
import org.seasar.dbflute.cbean.EntityRowHandler;
|
||||
|
||||
public class SuggestBadWordService extends BsSuggestBadWordService implements
|
||||
Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final Log log = LogFactory
|
||||
.getLog(SuggestBadWordService.class);
|
||||
|
||||
@Override
|
||||
protected void setupListCondition(final SuggestBadWordCB cb,
|
||||
final SuggestBadWordPager suggestBadWordPager) {
|
||||
|
@ -67,4 +84,94 @@ public class SuggestBadWordService extends BsSuggestBadWordService implements
|
|||
|
||||
}
|
||||
|
||||
public void importCsv(final Reader reader) {
|
||||
final CsvReader csvReader = new CsvReader(reader, new CsvConfig());
|
||||
try {
|
||||
List<String> list;
|
||||
csvReader.readValues(); // ignore header
|
||||
while ((list = csvReader.readValues()) != null) {
|
||||
try {
|
||||
final SuggestBadWordCB cb = new SuggestBadWordCB();
|
||||
cb.query().setSuggestWord_Equal(strip(list.get(0)));
|
||||
SuggestBadWord suggestBadWord = suggestBadWordBhv
|
||||
.selectEntity(cb);
|
||||
if (suggestBadWord == null) {
|
||||
suggestBadWord = new SuggestBadWord();
|
||||
suggestBadWord.setSuggestWord(strip(list.get(0)));
|
||||
suggestBadWord.setTargetRole(strip(list.get(1)));
|
||||
suggestBadWord.setTargetLabel(strip(list.get(2)));
|
||||
suggestBadWord.setCreatedBy("system");
|
||||
suggestBadWord.setCreatedTime(new Timestamp(System.currentTimeMillis()));
|
||||
suggestBadWordBhv.insert(suggestBadWord);
|
||||
} else if (list.get(1).equals("\"\"") &&
|
||||
list.get(2).equals("\"\"")) {
|
||||
suggestBadWord.setDeletedBy("system");
|
||||
suggestBadWord.setDeletedTime(new Timestamp(System.currentTimeMillis()));
|
||||
suggestBadWordBhv.update(suggestBadWord);
|
||||
} else {
|
||||
suggestBadWord.setTargetRole(strip(list.get(1)));
|
||||
suggestBadWord.setTargetLabel(strip(list.get(2)));
|
||||
suggestBadWord.setUpdatedBy("system");
|
||||
suggestBadWord.setUpdatedTime(new Timestamp(System.currentTimeMillis()));
|
||||
suggestBadWordBhv.update(suggestBadWord);
|
||||
}
|
||||
} catch (final Exception e) {
|
||||
log.warn("Failed to read a sugget elevate word: " + list, e);
|
||||
}
|
||||
}
|
||||
} catch (final IOException e) {
|
||||
log.warn("Failed to read a sugget elevate word.", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void exportCsv(final Writer writer) {
|
||||
final CsvConfig cfg = new CsvConfig(',', '"', '"');
|
||||
cfg.setEscapeDisabled(false);
|
||||
cfg.setQuoteDisabled(false);
|
||||
@SuppressWarnings("resource")
|
||||
final CsvWriter csvWriter = new CsvWriter(writer, cfg);
|
||||
final SuggestBadWordCB cb = new SuggestBadWordCB();
|
||||
cb.query().setDeletedBy_IsNull();
|
||||
try {
|
||||
final List<String> list = new ArrayList<String>();
|
||||
list.add("SuggestWord");
|
||||
list.add("Role");
|
||||
list.add("Label");
|
||||
csvWriter.writeValues(list);
|
||||
suggestBadWordBhv.selectCursor(cb,
|
||||
new EntityRowHandler<SuggestBadWord>() {
|
||||
@Override
|
||||
public void handle(final SuggestBadWord entity) {
|
||||
final List<String> list = new ArrayList<String>();
|
||||
addToList(list, entity.getSuggestWord());
|
||||
addToList(list, entity.getTargetRole());
|
||||
addToList(list, entity.getTargetLabel());
|
||||
try {
|
||||
csvWriter.writeValues(list);
|
||||
} catch (final IOException e) {
|
||||
log.warn(
|
||||
"Failed to write a sugget bad word: "
|
||||
+ entity, e);
|
||||
}
|
||||
}
|
||||
|
||||
private void addToList(final List<String> list,
|
||||
final Object value) {
|
||||
if (value == null) {
|
||||
list.add(StringUtil.EMPTY);
|
||||
} else {
|
||||
list.add(value.toString());
|
||||
}
|
||||
}
|
||||
});
|
||||
csvWriter.flush();
|
||||
} catch (final IOException e) {
|
||||
log.warn("Failed to write a sugget bad word.", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static String strip(String item) {
|
||||
return item.substring(1, item.length() - 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,19 +16,36 @@
|
|||
|
||||
package jp.sf.fess.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
import java.io.Serializable;
|
||||
import java.io.Writer;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import jp.sf.fess.crud.service.BsSuggestElevateWordService;
|
||||
import jp.sf.fess.db.cbean.SuggestElevateWordCB;
|
||||
import jp.sf.fess.db.exentity.SuggestElevateWord;
|
||||
import jp.sf.fess.pager.SuggestElevateWordPager;
|
||||
import jp.sf.orangesignal.csv.CsvConfig;
|
||||
import jp.sf.orangesignal.csv.CsvReader;
|
||||
import jp.sf.orangesignal.csv.CsvWriter;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.codelibs.core.util.StringUtil;
|
||||
import org.seasar.dbflute.cbean.EntityRowHandler;
|
||||
|
||||
public class SuggestElevateWordService extends BsSuggestElevateWordService
|
||||
implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static final Log log = LogFactory
|
||||
.getLog(SuggestElevateWordService.class);
|
||||
|
||||
@Override
|
||||
protected void setupListCondition(final SuggestElevateWordCB cb,
|
||||
final SuggestElevateWordPager suggestElevateWordPager) {
|
||||
|
@ -69,4 +86,102 @@ public class SuggestElevateWordService extends BsSuggestElevateWordService
|
|||
|
||||
}
|
||||
|
||||
public void importCsv(final Reader reader) {
|
||||
final CsvReader csvReader = new CsvReader(reader, new CsvConfig());
|
||||
try {
|
||||
List<String> list;
|
||||
csvReader.readValues(); // ignore header
|
||||
while ((list = csvReader.readValues()) != null) {
|
||||
try {
|
||||
final SuggestElevateWordCB cb = new SuggestElevateWordCB();
|
||||
cb.query().setSuggestWord_Equal(strip(list.get(0)));
|
||||
SuggestElevateWord suggestElevateWord = suggestElevateWordBhv
|
||||
.selectEntity(cb);
|
||||
if (suggestElevateWord == null) {
|
||||
suggestElevateWord = new SuggestElevateWord();
|
||||
suggestElevateWord.setSuggestWord(strip(list.get(0)));
|
||||
suggestElevateWord.setReading(strip(list.get(1)));
|
||||
suggestElevateWord.setTargetRole(strip(list.get(2)));
|
||||
suggestElevateWord.setTargetLabel(strip(list.get(3)));
|
||||
suggestElevateWord.setBoost(new BigDecimal(strip(list.get(4))));
|
||||
suggestElevateWord.setCreatedBy("system");
|
||||
suggestElevateWord.setCreatedTime(new Timestamp(System.currentTimeMillis()));
|
||||
suggestElevateWordBhv.insert(suggestElevateWord);
|
||||
} else if (list.get(1).equals("\"\"") &&
|
||||
list.get(2).equals("\"\"") &&
|
||||
list.get(3).equals("\"\"")) {
|
||||
suggestElevateWord.setDeletedBy("system");
|
||||
suggestElevateWord.setDeletedTime(new Timestamp(System.currentTimeMillis()));
|
||||
suggestElevateWordBhv.update(suggestElevateWord);
|
||||
} else {
|
||||
suggestElevateWord.setReading(strip(list.get(1)));
|
||||
suggestElevateWord.setTargetRole(strip(list.get(2)));
|
||||
suggestElevateWord.setTargetLabel(strip(list.get(3)));
|
||||
suggestElevateWord.setBoost(new BigDecimal(strip(list.get(4))));
|
||||
suggestElevateWord.setUpdatedBy("system");
|
||||
suggestElevateWord.setUpdatedTime(new Timestamp(System.currentTimeMillis()));
|
||||
suggestElevateWordBhv.update(suggestElevateWord);
|
||||
}
|
||||
} catch (final Exception e) {
|
||||
log.warn("Failed to read a sugget elevate word: " + list, e);
|
||||
}
|
||||
}
|
||||
} catch (final IOException e) {
|
||||
log.warn("Failed to read a sugget elevate word.", e);
|
||||
}
|
||||
}
|
||||
|
||||
public void exportCsv(final Writer writer) {
|
||||
final CsvConfig cfg = new CsvConfig(',', '"', '"');
|
||||
cfg.setEscapeDisabled(false);
|
||||
cfg.setQuoteDisabled(false);
|
||||
@SuppressWarnings("resource")
|
||||
final CsvWriter csvWriter = new CsvWriter(writer, cfg);
|
||||
final SuggestElevateWordCB cb = new SuggestElevateWordCB();
|
||||
cb.query().setDeletedBy_IsNull();
|
||||
try {
|
||||
final List<String> list = new ArrayList<String>();
|
||||
list.add("SuggestWord");
|
||||
list.add("Reading");
|
||||
list.add("Role");
|
||||
list.add("Label");
|
||||
list.add("Boost");
|
||||
csvWriter.writeValues(list);
|
||||
suggestElevateWordBhv.selectCursor(cb,
|
||||
new EntityRowHandler<SuggestElevateWord>() {
|
||||
@Override
|
||||
public void handle(final SuggestElevateWord entity) {
|
||||
final List<String> list = new ArrayList<String>();
|
||||
addToList(list, entity.getSuggestWord());
|
||||
addToList(list, entity.getReading());
|
||||
addToList(list, entity.getTargetRole());
|
||||
addToList(list, entity.getTargetLabel());
|
||||
addToList(list, entity.getBoost());
|
||||
try {
|
||||
csvWriter.writeValues(list);
|
||||
} catch (final IOException e) {
|
||||
log.warn(
|
||||
"Failed to write a sugget elevate word: "
|
||||
+ entity, e);
|
||||
}
|
||||
}
|
||||
|
||||
private void addToList(final List<String> list,
|
||||
final Object value) {
|
||||
if (value == null) {
|
||||
list.add(StringUtil.EMPTY);
|
||||
} else {
|
||||
list.add(value.toString());
|
||||
}
|
||||
}
|
||||
});
|
||||
csvWriter.flush();
|
||||
} catch (final IOException e) {
|
||||
log.warn("Failed to write a sugget elevate word.", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static String strip(String item) {
|
||||
return item.substring(1, item.length() - 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -115,6 +115,8 @@ success.job_stopped=Stopped job {0}.
|
|||
success.joblog_delete_all=Deleted job logs.
|
||||
success.upload_synonym_file=Uploaded Synonym file.
|
||||
success.upload_userdict_file=Uploaded UserDict file.
|
||||
success.upload_suggest_elevate_word=Uploaded Additional Word file.
|
||||
success.upload_suggest_bad_word=Uploaded Bad Word file.
|
||||
|
||||
# labels
|
||||
labels.authRealm=Realm
|
||||
|
@ -284,6 +286,8 @@ labels.token=Token
|
|||
labels.useAclAsRole=Use ACL as Role
|
||||
labels.synonymFile=Synonym File
|
||||
labels.userDictFile=UserDict File
|
||||
labels.suggestElevateWordFile=Additional Word File
|
||||
labels.suggestBadWordFile=Bad Word File
|
||||
|
||||
# view/common/common.jsp
|
||||
|
||||
|
@ -1390,18 +1394,23 @@ labels.suggest_elevate_word_link_create=Create
|
|||
labels.suggest_elevate_word_link_update=Edit
|
||||
labels.suggest_elevate_word_link_delete=Delete
|
||||
labels.suggest_elevate_word_link_confirm=Details
|
||||
labels.suggest_elevate_word_link_download=Download
|
||||
labels.suggest_elevate_word_link_upload=Upload
|
||||
labels.suggest_elevate_word_button_create=Create
|
||||
labels.suggest_elevate_word_button_back=Back
|
||||
labels.suggest_elevate_word_button_confirm=Confirm
|
||||
labels.suggest_elevate_word_button_update=Update
|
||||
labels.suggest_elevate_word_button_delete=Delete
|
||||
labels.suggest_elevate_word_button_edit=Edit
|
||||
labels.suggest_elevate_word_button_download=Download
|
||||
labels.suggest_elevate_word_button_upload=Upload
|
||||
labels.suggest_elevate_word_list_suggest_word=Word
|
||||
labels.suggest_elevate_word_suggest_word=Word
|
||||
labels.suggest_elevate_word_reading=Reading
|
||||
labels.suggest_elevate_word_target_role=Role
|
||||
labels.suggest_elevate_word_target_label=Label
|
||||
labels.suggest_elevate_word_boost=Boost
|
||||
labels.suggest_elevate_word_file=Additional Word File
|
||||
|
||||
# suggest bad word
|
||||
labels.suggest_bad_word_configuration=Bad Word
|
||||
|
@ -1419,16 +1428,21 @@ labels.suggest_bad_word_link_create=Create
|
|||
labels.suggest_bad_word_link_update=Edit
|
||||
labels.suggest_bad_word_link_delete=Delete
|
||||
labels.suggest_bad_word_link_confirm=Details
|
||||
labels.suggest_bad_word_link_download=Download
|
||||
labels.suggest_bad_word_link_upload=Upload
|
||||
labels.suggest_bad_word_button_create=Create
|
||||
labels.suggest_bad_word_button_back=Back
|
||||
labels.suggest_bad_word_button_confirm=Confirm
|
||||
labels.suggest_bad_word_button_update=Update
|
||||
labels.suggest_bad_word_button_delete=Delete
|
||||
labels.suggest_bad_word_button_edit=Edit
|
||||
labels.suggest_bad_word_button_download=Download
|
||||
labels.suggest_bad_word_button_upload=Upload
|
||||
labels.suggest_bad_word_list_suggest_word=Bad Word
|
||||
labels.suggest_bad_word_suggest_word=Bad Word
|
||||
labels.suggest_bad_word_target_role=Role
|
||||
labels.suggest_bad_word_target_label=Label
|
||||
labels.suggest_bad_word_file=Bad Word File
|
||||
|
||||
# CRUD PROPERTIES: BEGIN
|
||||
errors.crud_invalid_mode=Invalid mode(expected value is {0}, but it's {1}).
|
||||
|
|
|
@ -115,6 +115,8 @@ success.job_stopped=\u30b8\u30e7\u30d6 {0} \u3092\u505c\u6b62\u3057\u307e\u3057\
|
|||
success.joblog_delete_all=\u30b8\u30e7\u30d6\u30ed\u30b0\u3092\u524a\u9664\u3057\u307e\u3057\u305f\u3002
|
||||
success.upload_synonym_file=\u540c\u7fa9\u8a9e\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002
|
||||
success.upload_userdict_file=\u30e6\u30fc\u30b6\u30fc\u8f9e\u66f8\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002
|
||||
success.upload_suggest_elevate_word=\u8ffd\u52a0\u5019\u88dc\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002
|
||||
success.upload_suggest_bad_word=NG\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002
|
||||
|
||||
# labels
|
||||
labels.authRealm=\u8a8d\u8a3c\u30ec\u30eb\u30e0
|
||||
|
@ -284,6 +286,8 @@ labels.token=\u30c8\u30fc\u30af\u30f3
|
|||
labels.useAclAsRole=ACL\u3092\u30ed\u30fc\u30eb\u306b\u5229\u7528
|
||||
labels.synonymFile=\u540c\u7fa9\u8a9e\u30d5\u30a1\u30a4\u30eb
|
||||
labels.userDictFile=\u30e6\u30fc\u30b6\u30fc\u8f9e\u66f8\u30d5\u30a1\u30a4\u30eb
|
||||
labels.suggestElevateWordFile=\u8ffd\u52a0\u5019\u88dc\u30d5\u30a1\u30a4\u30eb
|
||||
labels.suggestBadWordFile=NG\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb
|
||||
|
||||
# view/common/common.jsp
|
||||
|
||||
|
@ -1390,18 +1394,23 @@ labels.suggest_elevate_word_link_create=\u65b0\u898f\u4f5c\u6210
|
|||
labels.suggest_elevate_word_link_update=\u7de8\u96c6
|
||||
labels.suggest_elevate_word_link_delete=\u524a\u9664
|
||||
labels.suggest_elevate_word_link_confirm=\u8a73\u7d30
|
||||
labels.suggest_elevate_word_link_download=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
|
||||
labels.suggest_elevate_word_link_upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
|
||||
labels.suggest_elevate_word_button_create=\u4f5c\u6210
|
||||
labels.suggest_elevate_word_button_back=\u623b\u308b
|
||||
labels.suggest_elevate_word_button_confirm=\u78ba\u8a8d
|
||||
labels.suggest_elevate_word_button_update=\u66f4\u65b0
|
||||
labels.suggest_elevate_word_button_delete=\u524a\u9664
|
||||
labels.suggest_elevate_word_button_edit=\u7de8\u96c6
|
||||
labels.suggest_elevate_word_button_download=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
|
||||
labels.suggest_elevate_word_button_upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
|
||||
labels.suggest_elevate_word_list_suggest_word=\u30b5\u30b8\u30a7\u30b9\u30c8\u5019\u88dc
|
||||
labels.suggest_elevate_word_suggest_word=\u30b5\u30b8\u30a7\u30b9\u30c8\u5019\u88dc
|
||||
labels.suggest_elevate_word_reading=\u8aad\u307f
|
||||
labels.suggest_elevate_word_target_role=\u30ed\u30fc\u30eb\u540d
|
||||
labels.suggest_elevate_word_target_label=\u30e9\u30d9\u30eb\u540d
|
||||
labels.suggest_elevate_word_boost=\u30d6\u30fc\u30b9\u30c8\u5024
|
||||
labels.suggest_elevate_word_file=\u8ffd\u52a0\u5019\u88dc\u30d5\u30a1\u30a4\u30eb
|
||||
|
||||
# suggest bad word
|
||||
labels.suggest_bad_word_configuration=NG\u30ef\u30fc\u30c9
|
||||
|
@ -1419,16 +1428,21 @@ labels.suggest_bad_word_link_create=\u65b0\u898f\u4f5c\u6210
|
|||
labels.suggest_bad_word_link_update=\u7de8\u96c6
|
||||
labels.suggest_bad_word_link_delete=\u524a\u9664
|
||||
labels.suggest_bad_word_link_confirm=\u8a73\u7d30
|
||||
labels.suggest_bad_word_link_download=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
|
||||
labels.suggest_bad_word_link_upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
|
||||
labels.suggest_bad_word_button_create=\u4f5c\u6210
|
||||
labels.suggest_bad_word_button_back=\u623b\u308b
|
||||
labels.suggest_bad_word_button_confirm=\u78ba\u8a8d
|
||||
labels.suggest_bad_word_button_update=\u66f4\u65b0
|
||||
labels.suggest_bad_word_button_delete=\u524a\u9664
|
||||
labels.suggest_bad_word_button_edit=\u7de8\u96c6
|
||||
labels.suggest_bad_word_button_download=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
|
||||
labels.suggest_bad_word_button_upload=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
|
||||
labels.suggest_bad_word_list_suggest_word=\u30b5\u30b8\u30a7\u30b9\u30c8\u5019\u88dc
|
||||
labels.suggest_bad_word_suggest_word=\u30b5\u30b8\u30a7\u30b9\u30c8\u5019\u88dc
|
||||
labels.suggest_bad_word_target_role=\u30ed\u30fc\u30eb\u540d
|
||||
labels.suggest_bad_word_target_label=\u30e9\u30d9\u30eb\u540d
|
||||
labels.suggest_bad_word_file=NG\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb
|
||||
|
||||
# CRUD PROPERTIES: BEGIN
|
||||
errors.crud_invalid_mode=\u30e2\u30fc\u30c9\u304c\u9055\u3044\u307e\u3059\u3002(\u6b63\u3057\u3044\u5024\u306f {0} \u3067\u3059\u304c\u3001\u5165\u529b\u3055\u308c\u305f\u5024\u306f {1} \u306b\u306a\u3063\u3066\u3044\u307e\u3059)
|
||||
|
|
|
@ -44,6 +44,12 @@
|
|||
<li class="active"><a href="#"><bean:message
|
||||
key="labels.suggest_bad_word_link_confirm" /></a></li>
|
||||
</c:if>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_download" />
|
||||
</s:link></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><tiles:insert template="/WEB-INF/view/common/admin/layout.jsp"
|
||||
flush="true">
|
||||
<tiles:put name="title">
|
||||
<bean:message key="labels.suggest_bad_word_configuration" />
|
||||
</tiles:put>
|
||||
<tiles:put name="header" value="/WEB-INF/view/common/admin/header.jsp" />
|
||||
<tiles:put name="footer" value="/WEB-INF/view/common/admin/footer.jsp" />
|
||||
<tiles:put name="menu" value="/WEB-INF/view/common/admin/menu.jsp" />
|
||||
<tiles:put name="menuType" value="suggestBadWord" />
|
||||
<tiles:put name="headerScript" type="string"></tiles:put>
|
||||
<tiles:put name="body" type="string">
|
||||
|
||||
<h3>
|
||||
<bean:message key="labels.suggest_bad_word_title_list" />
|
||||
</h3>
|
||||
|
||||
<%-- Message: BEGIN --%>
|
||||
<div>
|
||||
<html:messages id="msg" message="true">
|
||||
<div class="alert-message info"><bean:write name="msg" ignore="true" /></div>
|
||||
</html:messages>
|
||||
<html:errors />
|
||||
</div>
|
||||
<%-- Message: END --%>
|
||||
|
||||
<div>
|
||||
<ul class="pills">
|
||||
<li><s:link href="index">
|
||||
<bean:message key="labels.suggest_bad_word_link_list" />
|
||||
</s:link></li>
|
||||
<li><s:link href="createpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_create_new" />
|
||||
</s:link></li>
|
||||
<li class="active"><a href="#">
|
||||
<bean:message key="labels.suggest_bad_word_link_download" />
|
||||
</a></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
<s:form>
|
||||
<div>
|
||||
<table class="bordered-table zebra-striped" style="width: 500px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="vertical-align: middle;"><bean:message
|
||||
key="labels.suggest_bad_word_file" /></th>
|
||||
<td style="width: 150px;text-align: center;"><input type="submit"
|
||||
class="btn small" name="download"
|
||||
value="<bean:message key="labels.suggest_bad_word_button_download"/>" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</s:form>
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
|
||||
</tiles:put>
|
||||
</tiles:insert>
|
|
@ -44,6 +44,12 @@
|
|||
<li class="active"><a href="#"><bean:message
|
||||
key="labels.suggest_bad_word_link_confirm" /></a></li>
|
||||
</c:if>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_download" />
|
||||
</s:link></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -32,6 +32,12 @@
|
|||
<li><s:link href="createpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_create_new" />
|
||||
</s:link></li>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_download" />
|
||||
</s:link></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
<c:if test="${suggestBadWordPager.allRecordCount == 0}">
|
||||
|
|
69
src/main/webapp/WEB-INF/view/admin/suggestBadWord/upload.jsp
Normal file
69
src/main/webapp/WEB-INF/view/admin/suggestBadWord/upload.jsp
Normal file
|
@ -0,0 +1,69 @@
|
|||
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><tiles:insert template="/WEB-INF/view/common/admin/layout.jsp"
|
||||
flush="true">
|
||||
<tiles:put name="title">
|
||||
<bean:message key="labels.suggest_bad_word_configuration" />
|
||||
</tiles:put>
|
||||
<tiles:put name="header" value="/WEB-INF/view/common/admin/header.jsp" />
|
||||
<tiles:put name="footer" value="/WEB-INF/view/common/admin/footer.jsp" />
|
||||
<tiles:put name="menu" value="/WEB-INF/view/common/admin/menu.jsp" />
|
||||
<tiles:put name="menuType" value="suggestBadWord" />
|
||||
<tiles:put name="headerScript" type="string"></tiles:put>
|
||||
<tiles:put name="body" type="string">
|
||||
|
||||
<h3>
|
||||
<bean:message key="labels.suggest_bad_word_title_list" />
|
||||
</h3>
|
||||
|
||||
<%-- Message: BEGIN --%>
|
||||
<div>
|
||||
<html:messages id="msg" message="true">
|
||||
<div class="alert-message info"><bean:write name="msg" ignore="true" /></div>
|
||||
</html:messages>
|
||||
<html:errors />
|
||||
</div>
|
||||
<%-- Message: END --%>
|
||||
|
||||
<div>
|
||||
<ul class="pills">
|
||||
<li><s:link href="index">
|
||||
<bean:message key="labels.suggest_bad_word_link_list" />
|
||||
</s:link></li>
|
||||
<li><s:link href="createpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_create_new" />
|
||||
</s:link></li>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_bad_word_link_download" />
|
||||
</s:link></li>
|
||||
<li class="active"><a href="#">
|
||||
<bean:message key="labels.suggest_bad_word_link_upload" />
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
<s:form action="upload" enctype="multipart/form-data">
|
||||
<div>
|
||||
<table class="bordered-table zebra-striped" style="width: 500px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="width: 150px; vertical-align: middle;"><bean:message
|
||||
key="labels.suggest_bad_word_file" /></th>
|
||||
<td><input type="file"
|
||||
name="suggestBadWordFile" style="width: 98%;" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" class="btn small" name="upload"
|
||||
value="<bean:message key="labels.suggest_bad_word_button_upload"/>" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</s:form>
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
|
||||
</tiles:put>
|
||||
</tiles:insert>
|
|
@ -44,6 +44,12 @@
|
|||
<li class="active"><a href="#"><bean:message
|
||||
key="labels.suggest_elevate_word_link_confirm" /></a></li>
|
||||
</c:if>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_download" />
|
||||
</s:link></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><tiles:insert template="/WEB-INF/view/common/admin/layout.jsp"
|
||||
flush="true">
|
||||
<tiles:put name="title">
|
||||
<bean:message key="labels.suggest_elevate_word_configuration" />
|
||||
</tiles:put>
|
||||
<tiles:put name="header" value="/WEB-INF/view/common/admin/header.jsp" />
|
||||
<tiles:put name="footer" value="/WEB-INF/view/common/admin/footer.jsp" />
|
||||
<tiles:put name="menu" value="/WEB-INF/view/common/admin/menu.jsp" />
|
||||
<tiles:put name="menuType" value="suggestElevateWord" />
|
||||
<tiles:put name="headerScript" type="string"></tiles:put>
|
||||
<tiles:put name="body" type="string">
|
||||
|
||||
<h3>
|
||||
<bean:message key="labels.suggest_elevate_word_title_list" />
|
||||
</h3>
|
||||
|
||||
<%-- Message: BEGIN --%>
|
||||
<div>
|
||||
<html:messages id="msg" message="true">
|
||||
<div class="alert-message info"><bean:write name="msg" ignore="true" /></div>
|
||||
</html:messages>
|
||||
<html:errors />
|
||||
</div>
|
||||
<%-- Message: END --%>
|
||||
|
||||
<div>
|
||||
<ul class="pills">
|
||||
<li><s:link href="index">
|
||||
<bean:message key="labels.suggest_elevate_word_link_list" />
|
||||
</s:link></li>
|
||||
<li><s:link href="createpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_create_new" />
|
||||
</s:link></li>
|
||||
<li class="active"><a href="#">
|
||||
<bean:message key="labels.suggest_elevate_word_link_download" />
|
||||
</a></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
<s:form>
|
||||
<div>
|
||||
<table class="bordered-table zebra-striped" style="width: 500px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="vertical-align: middle;"><bean:message
|
||||
key="labels.suggest_elevate_word_file" /></th>
|
||||
<td style="width: 150px;text-align: center;"><input type="submit"
|
||||
class="btn small" name="download"
|
||||
value="<bean:message key="labels.suggest_elevate_word_button_download"/>" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</s:form>
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
</tiles:put>
|
||||
</tiles:insert>
|
|
@ -44,6 +44,12 @@
|
|||
<li class="active"><a href="#"><bean:message
|
||||
key="labels.suggest_elevate_word_link_confirm" /></a></li>
|
||||
</c:if>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_download" />
|
||||
</s:link></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -32,6 +32,12 @@
|
|||
<li><s:link href="createpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_create_new" />
|
||||
</s:link></li>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_download" />
|
||||
</s:link></li>
|
||||
<li><s:link href="uploadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_upload" />
|
||||
</s:link></li>
|
||||
</ul>
|
||||
</div>
|
||||
<c:if test="${suggestElevateWordPager.allRecordCount == 0}">
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%><tiles:insert template="/WEB-INF/view/common/admin/layout.jsp"
|
||||
flush="true">
|
||||
<tiles:put name="title">
|
||||
<bean:message key="labels.suggest_elevate_word_configuration" />
|
||||
</tiles:put>
|
||||
<tiles:put name="header" value="/WEB-INF/view/common/admin/header.jsp" />
|
||||
<tiles:put name="footer" value="/WEB-INF/view/common/admin/footer.jsp" />
|
||||
<tiles:put name="menu" value="/WEB-INF/view/common/admin/menu.jsp" />
|
||||
<tiles:put name="menuType" value="suggestElevateWord" />
|
||||
<tiles:put name="headerScript" type="string"></tiles:put>
|
||||
<tiles:put name="body" type="string">
|
||||
|
||||
<h3>
|
||||
<bean:message key="labels.suggest_elevate_word_title_list" />
|
||||
</h3>
|
||||
|
||||
<%-- Message: BEGIN --%>
|
||||
<div>
|
||||
<html:messages id="msg" message="true">
|
||||
<div class="alert-message info"><bean:write name="msg" ignore="true" /></div>
|
||||
</html:messages>
|
||||
<html:errors />
|
||||
</div>
|
||||
<%-- Message: END --%>
|
||||
|
||||
<div>
|
||||
<ul class="pills">
|
||||
<li><s:link href="index">
|
||||
<bean:message key="labels.suggest_elevate_word_link_list" />
|
||||
</s:link></li>
|
||||
<li><s:link href="createpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_create_new" />
|
||||
</s:link></li>
|
||||
<li><s:link href="downloadpage">
|
||||
<bean:message key="labels.suggest_elevate_word_link_download" />
|
||||
</s:link></li>
|
||||
<li class="active"><a href="#">
|
||||
<bean:message key="labels.suggest_elevate_word_link_upload" />
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
<s:form action="upload" enctype="multipart/form-data">
|
||||
<div>
|
||||
<table class="bordered-table zebra-striped" style="width: 500px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="width: 150px; vertical-align: middle;"><bean:message
|
||||
key="labels.suggest_elevate_word_file" /></th>
|
||||
<td><input type="file"
|
||||
name="suggestElevateWordFile" style="width: 98%;" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="submit" class="btn small" name="upload"
|
||||
value="<bean:message key="labels.suggest_elevate_word_button_upload"/>" />
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</s:form>
|
||||
<%-- Edit Form: BEGIN --%>
|
||||
</tiles:put>
|
||||
</tiles:insert>
|
Loading…
Add table
Reference in a new issue