use of io.github.ihongs.CoreLocale in project HongsCORE by ihongs.
the class UnitAction method doDelete.
@Action("delete")
@CommitSuccess
public void doDelete(ActionHelper helper) throws HongsException {
Map rd = helper.getRequestData();
int rn = model.delete(rd);
CoreLocale ln = CoreLocale.getInstance().clone();
ln.load("matrix");
String ms = ln.translate("core.delete.unit.success", null, Integer.toString(rn));
helper.reply(ms, rn);
}
use of io.github.ihongs.CoreLocale in project HongsCORE by ihongs.
the class UnitAction method doSave.
@Action("save")
@Verify(conf = "matrix", form = "unit")
@CommitSuccess
public void doSave(ActionHelper helper) throws HongsException {
Map rd = helper.getRequestData();
String id = model.set(rd);
CoreLocale lang = CoreLocale.getInstance().clone();
lang.load("matrix");
String ms = lang.translate("core.save.unit.success");
helper.reply(ms, id);
}
use of io.github.ihongs.CoreLocale in project HongsCORE by ihongs.
the class FileAction method search.
@Override
@Action("search")
public void search(ActionHelper helper) throws HongsException {
CoreLocale lang = CoreLocale.getInstance("manage");
String type = helper.getParameter("type");
String path = helper.getParameter("path");
String pxth = path;
File file;
// 根目录
if ("".equals(path) || "/".equals(path)) {
if ("file".equals(type)) {
helper.reply(Synt.mapOf("list", new ArrayList(), "page", Synt.mapOf("count", 0, "pages", 0, "state", 1)));
} else {
helper.reply(Synt.mapOf("list", ROOT_LIST, "page", Synt.mapOf("count", ROOT_LIST.size(), "pages", 1, "state", 0)));
}
return;
}
if (path == null) {
helper.fault(lang.translate("core.manage.file.path.required"));
return;
}
path = realPath(path);
if (path == null) {
helper.fault(lang.translate("core.manage.file.path.is.error"));
return;
}
file = new File(path);
if (!file.exists()) {
helper.fault(lang.translate("core.manage.file.path.is.not.exist"));
return;
}
byte t = 0;
if ("dir".equals(type)) {
t = 1;
} else if ("file".equals(type)) {
t = 2;
}
if (file.isDirectory()) {
File[] files = file.listFiles();
Set<Map> filez;
// 排序规则, 默认按名称排序
final boolean ds;
String ob = helper.getParameter("ob");
if (ob != null && ob.startsWith("-")) {
ob = ob.substring(1);
ds = true;
} else {
ds = false;
}
if ("type".equals(ob)) {
filez = new TreeSet(new Comparator<Map>() {
@Override
public int compare(Map f1, Map f2) {
String t1 = (String) f1.get("type");
String t2 = (String) f2.get("type");
byte s1 = Synt.declare(TYPE_SORT.get(t1), (byte) 0);
byte s2 = Synt.declare(TYPE_SORT.get(t2), (byte) 0);
if (s1 != s2)
if (ds)
return s1 < s2 ? 1 : -1;
else
return s1 > s2 ? 1 : -1;
String n1 = (String) f1.get("name");
String n2 = (String) f2.get("name");
if (ds)
return n2.compareTo(n1);
else
return n1.compareTo(n2);
}
});
} else if ("size".equals(ob)) {
filez = new TreeSet(new Comparator<Map>() {
@Override
public int compare(Map f1, Map f2) {
long s1 = Synt.declare(f1.get("size"), 0L);
long s2 = Synt.declare(f2.get("size"), 0L);
if (s1 != s2)
if (ds)
return s1 < s2 ? 1 : -1;
else
return s1 > s2 ? 1 : -1;
String n1 = (String) f1.get("name");
String n2 = (String) f2.get("name");
if (ds)
return n2.compareTo(n1);
else
return n1.compareTo(n2);
}
});
} else {
filez = new TreeSet(new Comparator<Map>() {
@Override
public int compare(Map f1, Map f2) {
String n1 = (String) f1.get("name");
String n2 = (String) f2.get("name");
if (ds)
return n2.compareTo(n1);
else
return n1.compareTo(n2);
}
});
}
for (File item : files) {
if (t == 1) {
if (!item.isDirectory()) {
continue;
}
} else if (t == 2) {
if (!item.isFile()) {
continue;
}
}
String name = item.getName();
// 跳过隐藏和备份的文件
if (name.startsWith(".") || name.endsWith("~")) {
continue;
}
Map xxxx = new HashMap();
xxxx.put("name", name);
xxxx.put("path", pxth + "/" + name);
xxxx.put("type", item.isDirectory() ? "dir" : (isTextFile(item) ? "txt" : "bin"));
xxxx.put("size", item.isDirectory() ? item.list().length : item.length());
xxxx.put("mtime", item.lastModified());
filez.add(xxxx);
}
Map rsp = new HashMap();
rsp.put("list", filez);
rsp.put("page", Synt.mapOf("pages", 1, "count", filez.size(), "state", filez.size() > 0 ? 0 : 1));
helper.reply(rsp);
} else if (isTextFile(file)) {
String name = file.getName();
Map rsp = new HashMap();
Map inf = new HashMap();
rsp.put("info", inf);
inf.put("name", name);
inf.put("path", pxth);
inf.put("type", "txt");
inf.put("text", readFile(file));
inf.put("size", file.length());
inf.put("mtime", file.lastModified());
helper.reply(rsp);
} else {
helper.fault(lang.translate("core.manage.file.unsupported"));
}
}
use of io.github.ihongs.CoreLocale in project HongsCORE by ihongs.
the class FileAction method create.
@Override
@Action("create")
public void create(ActionHelper helper) throws HongsException {
CoreLocale lang = CoreLocale.getInstance("manage");
String path = helper.getParameter("path");
String type = helper.getParameter("type");
String text = helper.getParameter("text");
String real;
File file;
if (path == null) {
helper.fault(lang.translate("core.manage.file.path.required"));
return;
}
real = realPath(path);
if (real == null) {
helper.fault(lang.translate("core.manage.file.path.is.error"));
return;
}
file = new File(real);
if (file.exists()) {
helper.fault(lang.translate("core.manage.file.path.is.exist"));
return;
}
if (isDenyFile(file)) {
helper.fault(lang.translate("core.manage.file.interdicted"));
return;
}
// 创建目录
if ("dir".equals(type)) {
file.mkdirs();
helper.reply("");
return;
}
// 写入文件
try {
saveFile(file, text);
} catch (Exception ex) {
CoreLogger.error(ex);
helper.fault(lang.translate("core.manage.file.create.failed"));
return;
}
helper.reply("");
}
use of io.github.ihongs.CoreLocale in project HongsCORE by ihongs.
the class FormSet method getEnumTranslated.
public Map getEnumTranslated(String namc) throws HongsException {
Map items = getEnum(namc);
Map itemz = new LinkedHashMap();
CoreLocale lang = getCurrTranslator();
itemz.putAll(items);
for (Object o : itemz.entrySet()) {
Map.Entry e = (Map.Entry) o;
// String k = (String) e.getKey( );
String n = (String) e.getValue();
e.setValue(lang.translate(n));
}
return itemz;
}
Aggregations