Search in sources :

Example 31 with Action

use of app.hongs.action.anno.Action in project HongsCORE by ihongs.

the class FileAction method delete.

@Override
@Action("delete")
public void delete(ActionHelper helper) throws HongsException {
    CoreLocale lang = CoreLocale.getInstance("manage");
    Set<String> list = Synt.asSet(helper.getRequestData().get("path"));
    if (list == null || list.isEmpty()) {
        helper.fault(lang.translate("core.manage.file.path.required"));
        return;
    }
    for (String path : list) {
        File file;
        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;
        }
        if (isDenyDire(file)) {
            helper.fault(lang.translate("core.manage.file.path.is.not.empty"));
            return;
        }
        if (isDenyFile(file)) {
            helper.fault(lang.translate("core.manage.file.interdicted"));
            return;
        }
        if (!file.delete()) {
            helper.fault(lang.translate("core.manage.file.delete.failed"));
            return;
        }
    }
    helper.reply("");
}
Also used : CoreLocale(app.hongs.CoreLocale) File(java.io.File) IAction(app.hongs.dh.IAction) Action(app.hongs.action.anno.Action)

Example 32 with Action

use of app.hongs.action.anno.Action in project HongsCORE by ihongs.

the class InfoAction method search.

@Action("search")
public void search(ActionHelper helper) throws HongsException {
    Map rsp = new HashMap();
    Map req = helper.getRequestData();
    long now = System.currentTimeMillis();
    Set rb = Synt.toTerms(req.get("rb"));
    // 当前时间
    rsp.put("now_msec", now);
    // 应用信息
    if (rb == null || rb.contains("app_info")) {
        Map app = new HashMap();
        rsp.put("app_info", app);
        long tim = Core.STARTS_TIME;
        app.put("server_id", Core.SERVER_ID);
        app.put("base_href", Core.BASE_HREF);
        app.put("base_path", Core.BASE_PATH);
        app.put("open_time", tim);
        app.put("live_time", Tool.humanTime(now - tim));
    }
    // 系统信息
    if (rb == null || rb.contains("sys_info")) {
        Map inf = new HashMap();
        rsp.put("sys_info", inf);
        Properties pps = System.getProperties();
        inf.put("name", pps.getProperty("os.name"));
        inf.put("arch", pps.getProperty("os.arch"));
        inf.put("vers", pps.getProperty("os.version"));
        inf.put("user", pps.getProperty("user.name"));
        inf.put("java", pps.getProperty("java.version"));
        try {
            InetAddress hst = InetAddress.getLocalHost();
            inf.put("addr", hst.getHostAddress());
            inf.put("host", hst.getHostName());
        } catch (UnknownHostException e) {
        // Nothing todo.
        }
    }
    // 运行信息
    if (rb == null || rb.contains("run_info")) {
        OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
        MemoryMXBean mm = ManagementFactory.getMemoryMXBean();
        MemoryUsage nm = mm.getNonHeapMemoryUsage();
        MemoryUsage hm = mm.getHeapMemoryUsage();
        Runtime rt = Runtime.getRuntime();
        double avg = os.getSystemLoadAverage();
        long siz = rt.totalMemory();
        long fre = rt.freeMemory();
        long max = rt.maxMemory();
        long stk = nm.getUsed();
        long use = hm.getUsed();
        Map inf = new HashMap();
        rsp.put("run_info", inf);
        inf.put("load", new Object[] { avg, String.valueOf(avg), "负载" });
        inf.put("size", new Object[] { siz, Tool.humanSize(max), "全部" });
        inf.put("free", new Object[] { fre, Tool.humanSize(fre), "空闲" });
        inf.put("dist", new Object[] { max, Tool.humanSize(fre), "可用" });
        inf.put("used", new Object[] { use, Tool.humanSize(use), "已用" });
        inf.put("uses", new Object[] { stk, Tool.humanSize(stk), "非堆" });
    }
    // 磁盘情况
    if (rb == null || rb.contains("dir_info")) {
        rsp.put("base_dir", getAllSize(new File(Core.BASE_PATH)));
        rsp.put("data_dir", getAllSize(new File(Core.DATA_PATH)));
        rsp.put("conf_dir", getAllSize(new File(Core.CONF_PATH)));
        rsp.put("core_dir", getAllSize(new File(Core.CORE_PATH)));
    }
    /**
     * 公共核心情况和锁情况
     */
    if (rb != null && rb.contains("core_info")) {
        rsp.put("core_set", Core.GLOBAL_CORE.keySet());
    }
    if (rb != null && rb.contains("lock_info")) {
        rsp.put("lock_map", app.hongs.util.Block.counts());
    }
    helper.reply("", rsp);
}
Also used : Set(java.util.Set) UnknownHostException(java.net.UnknownHostException) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Properties(java.util.Properties) MemoryUsage(java.lang.management.MemoryUsage) MemoryMXBean(java.lang.management.MemoryMXBean) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) InetAddress(java.net.InetAddress) File(java.io.File) OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean) Action(app.hongs.action.anno.Action)

Example 33 with Action

use of app.hongs.action.anno.Action in project HongsCORE by ihongs.

the class CaptAction method create.

@Action("create")
public void create(ActionHelper helper) throws HongsException, IOException {
    int h = Synt.declare(helper.getParameter("h"), 40);
    String b = Synt.declare(helper.getParameter("b"), "");
    String f = Synt.declare(helper.getParameter("f"), "");
    String e = Synt.declare(helper.getParameter("e"), "png");
    Capts vc = Capts.captcha(h, b, f, e);
    // 设置会话
    String ss = CoreConfig.getInstance().getProperty("core.capt.session", "capt");
    helper.setSessibute(ss + "_code", /**/
    vc.getCode());
    helper.setSessibute(ss + "_time", System.currentTimeMillis());
    // 禁止缓存
    helper.getResponse().setContentType("image/" + e);
    helper.getResponse().setDateHeader("Expires", 0);
    helper.getResponse().setHeader("Pragma", "no-cache");
    helper.getResponse().setHeader("Cache-Control", "no-cache");
    vc.write(e, helper.getResponse().getOutputStream());
}
Also used : Capts(app.hongs.util.sketch.Capts) Action(app.hongs.action.anno.Action)

Example 34 with Action

use of app.hongs.action.anno.Action in project HongsCORE by ihongs.

the class MineAction method mineUpdate.

@Action("update")
@Verify(conf = "master", form = "mine", type = 1, trim = 1)
public void mineUpdate(ActionHelper ah) throws HongsException {
    Map rd = ah.getRequestData();
    String id = (String) ah.getSessibute(Cnst.UID_SES);
    // 禁止危险修改
    rd.put("id", id);
    rd.remove("roles");
    rd.remove("rtime");
    rd.remove("mtime");
    rd.remove("ctime");
    rd.remove("state");
    // 验证原始密码
    String pw = (String) rd.get("password");
    String po = (String) rd.get("passolde");
    if (pw != null && !"".equals(pw)) {
        Map xd = new HashMap();
        Map ed = new HashMap();
        xd.put("errs", ed);
        xd.put("ok", false);
        xd.put("msg", CoreLocale.getInstance().translate("fore.form.invalid"));
        if (po != null && !"".equals(po)) {
            Map row = DB.getInstance("master").getTable("user").fetchCase().filter("id = ?", id).select("password").one();
            po = AuthKit.getCrypt(po);
            if (!po.equals(row.get("password"))) {
                ed.put("passolde", "旧密码不正确");
                ah.reply(xd);
                return;
            }
        } else {
            ed.put("passolde", "请填写旧密码");
            ah.reply(xd);
            return;
        }
    }
    UserAction ua = new UserAction();
    ua.doSave(ah);
}
Also used : UserAction(app.hongs.serv.master.UserAction) HashMap(java.util.HashMap) Map(java.util.Map) HashMap(java.util.HashMap) Action(app.hongs.action.anno.Action) UserAction(app.hongs.serv.master.UserAction) Verify(app.hongs.action.anno.Verify)

Example 35 with Action

use of app.hongs.action.anno.Action in project HongsCORE by ihongs.

the class SignAction method signDelete.

/**
 * 登出
 * 此动作可以清除会话数据
 * @param ah
 * @throws HongsException
 */
@Action("delete")
public void signDelete(ActionHelper ah) throws HongsException {
    HttpSession ss = ah.getRequest().getSession(false);
    if (null == ss) {
        ah.reply(AuthKit.getWrong(null, "core.sign.phase.invalid"));
        return;
    }
    AuthKit.signOut(ss);
    ah.reply("");
}
Also used : HttpSession(javax.servlet.http.HttpSession) Action(app.hongs.action.anno.Action)

Aggregations

Action (app.hongs.action.anno.Action)63 Map (java.util.Map)52 HashMap (java.util.HashMap)38 NaviMap (app.hongs.action.NaviMap)16 CommitSuccess (app.hongs.action.anno.CommitSuccess)14 CoreLocale (app.hongs.CoreLocale)12 Preset (app.hongs.action.anno.Preset)12 IAction (app.hongs.dh.IAction)10 RoleMap (app.hongs.serv.auth.RoleMap)10 Verify (app.hongs.action.anno.Verify)9 FetchCase (app.hongs.db.util.FetchCase)8 CoreConfig (app.hongs.CoreConfig)7 Select (app.hongs.action.anno.Select)7 Set (java.util.Set)6 File (java.io.File)5 List (java.util.List)5 HongsException (app.hongs.HongsException)4 ActionRunner (app.hongs.action.ActionRunner)4 LuceneAction (app.hongs.dh.lucene.LuceneAction)3 SearchAction (app.hongs.dh.search.SearchAction)3