Search in sources :

Example 16 with CoreLocale

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);
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess)

Example 17 with CoreLocale

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);
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) CommitSuccess(io.github.ihongs.action.anno.CommitSuccess) Verify(io.github.ihongs.action.anno.Verify)

Example 18 with CoreLocale

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"));
    }
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) Comparator(java.util.Comparator) TreeSet(java.util.TreeSet) File(java.io.File) HashMap(java.util.HashMap) Map(java.util.Map) Action(io.github.ihongs.action.anno.Action) IAction(io.github.ihongs.dh.IAction)

Example 19 with CoreLocale

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("");
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) File(java.io.File) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) HongsException(io.github.ihongs.HongsException) Action(io.github.ihongs.action.anno.Action) IAction(io.github.ihongs.dh.IAction)

Example 20 with CoreLocale

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;
}
Also used : CoreLocale(io.github.ihongs.CoreLocale) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap)

Aggregations

CoreLocale (io.github.ihongs.CoreLocale)21 Map (java.util.Map)15 Action (io.github.ihongs.action.anno.Action)12 HashMap (java.util.HashMap)11 CommitSuccess (io.github.ihongs.action.anno.CommitSuccess)7 NaviMap (io.github.ihongs.action.NaviMap)5 IAction (io.github.ihongs.dh.IAction)4 File (java.io.File)4 LinkedHashMap (java.util.LinkedHashMap)4 HongsException (io.github.ihongs.HongsException)2 ActionRunner (io.github.ihongs.action.ActionRunner)2 Verify (io.github.ihongs.action.anno.Verify)2 FileNotFoundException (java.io.FileNotFoundException)2 IOException (java.io.IOException)2 Wrong (io.github.ihongs.util.verify.Wrong)1 Wrongs (io.github.ihongs.util.verify.Wrongs)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 ArrayList (java.util.ArrayList)1 Calendar (java.util.Calendar)1 Comparator (java.util.Comparator)1