public void put (String name, String value) { put (name, value, null, null); } public void put (String name, String value, String readPerm, String writePerm) {
private void registerKey(String k, String v) throws Exception { DB.execWithTransaction(db -> { SysConfigManager mgr = new SysConfigManager(db, "key."); mgr.put(k, v, "security.read", "security.write"); return true; }); LogEvent evt = getLog().createLogEvent("security"); evt.addMessage("<id>" + k + "</id>"); evt.addMessage(System.lineSeparator() + v); Logger.log(evt); }
@Override public void exec(CLIContext cli, String[] args) throws Exception { if (args.length < 3) { cli.println("Usage: add <id> <value>"); return; } try (DB db = new DB()) { db.open(); db.beginTransaction(); SysConfigManager mgr = new SysConfigManager(db); if (cli.getUserData().containsKey(SYSCONFIG.PREFIX)) mgr.setPrefix((String) cli.getUserData().get(SYSCONFIG.PREFIX)); boolean added = false; if (mgr.get(args[1], null) == null) { mgr.put(args[1], args[2], READPERM, WRITEPERM); added = true; } db.commit(); cli.println ("sysconfig " + (added ? "created" : "already exists")); } catch (Exception e) { cli.println (e.getMessage()); } } }
@Override public boolean saveEntity (Binder binder) throws BLException { SysConfig entity = (SysConfig) getOriginalEntity(); if (binder.writeBeanIfValid(getOriginalEntity())) { String id = entity.getId(); id = prefix != null ? prefix + id : id; if (getSysConfig(id) == null) { final String finalId = id; try { return (boolean) DB.execWithTransaction((db) -> { SysConfigManager mgr = new SysConfigManager(db, prefix); mgr.put(entity.getId(), entity.getValue()); addRevisionCreated(db, "SYSCONFIG", finalId); return true; }); } catch (Exception e) { QI.getQI().getLog().error(e); return false; } } else { throw new BLException("SysConfig " + id + " already exists."); } } else { throw new BLException("Invalid SysConfig"); } }