/** * Assign configuration values by reading system properties. */ private static void readConfiguration() { String prop; for (OGlobalConfiguration config : values()) { prop = System.getProperty(config.key); if (prop != null) config.setValue(prop); } }
/** * Find the OGlobalConfiguration instance by the key. Key is case insensitive. * * @param iKey Key to find. It's case insensitive. * * @return OGlobalConfiguration instance if found, otherwise null */ public static OGlobalConfiguration findByKey(final String iKey) { for (OGlobalConfiguration v : values()) { if (v.getKey().equalsIgnoreCase(iKey)) return v; } return null; }
public static void dumpConfiguration(final PrintStream out) { out.print("OrientDB "); out.print(OConstants.getVersion()); out.println(" configuration dump:"); String lastSection = ""; for (OGlobalConfiguration v : values()) { final String section = v.key.substring(0, v.key.indexOf('.')); if (!lastSection.equals(section)) { out.print("- "); out.println(section.toUpperCase(Locale.ENGLISH)); lastSection = section; } out.print(" + "); out.print(v.key); out.print(" = "); out.println(v.isHidden() ? "<hidden>" : String.valueOf((Object) v.getValue())); } }
/** * Changes the configuration values in one shot by passing a Map of values. Keys can be the Java ENUM names or the string * representation of configuration values */ public static void setConfiguration(final Map<String, Object> iConfig) { for (Entry<String, Object> config : iConfig.entrySet()) { for (OGlobalConfiguration v : values()) { if (v.getKey().equals(config.getKey())) { v.setValue(config.getValue()); break; } else if (v.name().equals(config.getKey())) { v.setValue(config.getValue()); break; } } } }
@ConsoleCommand(description = "Return all the configuration values") public void config() throws IOException { if (orientDB != null && !OrientDBInternal.extract(orientDB).isEmbedded()) { final Map<String, String> values = ((OrientDBRemote) OrientDBInternal.extract(orientDB)) .getGlobalConfigurations(currentDatabaseUserName, currentDatabaseUserPassword); message("\nREMOTE SERVER CONFIGURATION"); final List<ODocument> resultSet = new ArrayList<ODocument>(); for (Entry<String, String> p : values.entrySet()) { final ODocument row = new ODocument(); resultSet.add(row); row.field("NAME", p.getKey()); row.field("VALUE", p.getValue()); } final OTableFormatter formatter = new OTableFormatter(this); formatter.writeRecords(resultSet, -1); } else { // LOCAL STORAGE message("\nLOCAL SERVER CONFIGURATION"); final List<ODocument> resultSet = new ArrayList<ODocument>(); for (OGlobalConfiguration cfg : OGlobalConfiguration.values()) { final ODocument row = new ODocument(); resultSet.add(row); row.field("NAME", cfg.getKey()); row.field("VALUE", (Object) cfg.getValue()); } final OTableFormatter formatter = new OTableFormatter(this); formatter.writeRecords(resultSet, -1); } message("\n"); }