@Override public Stream getAll(int offset, int limit, Map<String, Boolean> orders) throws Exception { return ((List<SysConfig>) DB.exec(db -> { SysConfigManager mgr = new SysConfigManager(db,prefix); return mgr.getAll(offset,limit,orders); })).stream(); }
public String get (String name) { return get (name, ""); } public int getInt (String name) {
public void put (String name, String value) { put (name, value, null, null); } public void put (String name, String value, String readPerm, String writePerm) {
@Override public int getItemCount() throws Exception { return (int) DB.exec(db -> { SysConfigManager mgr = new SysConfigManager(db,prefix); return mgr.getItemCount(); }); }
@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 void exec(CLIContext cli, String[] args) throws Exception { try (DB db = new DB()) { db.open(); SysConfigManager mgr = new SysConfigManager(db); if (cli.getUserData().containsKey(SYSCONFIG.PREFIX)) mgr.setPrefix((String) cli.getUserData().get(SYSCONFIG.PREFIX)); else if (args.length > 1) mgr.setPrefix(args[1]); String format = "%" + mgr.getMaxIdLength() + "s: %s"; for (SysConfig sc : mgr.getAll()) { cli.println (String.format (format, sc.getId(), sc.getValue())); } } catch (Exception e) { cli.println (e.getMessage()); } } }
private SecretKey getKey (UUID keyId, char[] passPhrase) throws Exception { if (passPhrase == null && unlock == null) throw new SecurityException("Passphrase not available"); passPhrase = passPhrase != null ? passPhrase : unlock.get().toCharArray(); String v = DB.execWithTransaction(db -> { SysConfigManager mgr = new SysConfigManager(db, "key."); return mgr.get(keyId.toString(), null); }); if (v == null) { throw new SecurityException("Invalid key"); } byte[] key = PGPHelper.decrypt( v.getBytes(), privKeyRing, passPhrase ); return new SecretKeySpec(key, 0, key.length, "AES"); }
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 < 2) { cli.println("Usage: rm <id> "); 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 deleted = mgr.delete(args[1]); db.commit(); cli.println ("sysconfig " + (deleted ? "deleted" : "not found")); } catch (Exception e) { cli.println (e.getMessage()); } } }
public SysConfig getSysConfig (String param) { try { return (SysConfig) DB.exec((db) -> { SysConfigManager mgr = new SysConfigManager(db, prefix); return mgr.getItemByParam("id", param, false); } ); } catch (NoResultException nr) { return null; } catch (Exception e) { QI.getQI().getLog().error(e); return null; } }
private void ensureOpen() { if (db == null) { db = new DB(); db.open(); mgr = new SysConfigManager(db); } } private void close() {
public List<SysConfig> getAll () { HashMap<String,Boolean> orders = new HashMap<>(); orders.put("id",true); return getAll(0,-1,orders); }
private String getDefaultJournalName() { try { return DB.exec(db -> { SysConfigManager syscMgr= new SysConfigManager(db); return syscMgr.get(MiniGLConstants.DEFAULT_GL_JOURNAL.toString(), "jcard"); }); } catch (Exception e) { QI.getQI().getLog().error(e); return null; } } }
@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"); } }
public List<SysConfig> getPermissions () { try { return (List<SysConfig>) DB.exec( (db) -> { SysConfigManager mgr = new SysConfigManager(db, "perm."); return mgr.getAll(); }); } catch (Exception e) { getApp().getLog().error(e); return null; } }
public double getDouble (String name, double defaultValue) { String value = get (name, null); return value != null ? Double.parseDouble(value.trim()) : defaultValue; } public boolean getBoolean (String name) {
public int getInt (String name, int defaultValue) { String value = get (name, null); return value != null ? Integer.parseInt(value.trim()) : defaultValue; } public long getLong (String name) {
public long getLong (String name, long defaultValue) { String value = get (name, null); return value != null ? Long.parseLong(value.trim()) : defaultValue; } public double getDouble (String name) {
public long getLong (String name) { return Long.parseLong(get (name, "0").trim()); } public long getLong (String name, long defaultValue) {
public int getInt (String name) { return Integer.parseInt(get (name, "0").trim()); } public int getInt (String name, int defaultValue) {