public void setStorageEngineParams(Map<String, String> storageEngineParams) { if (storageEngineParams instanceof CaseInsensitiveMap) { data.storageEngineParams = (CaseInsensitiveMap<String>) storageEngineParams; } else { data.storageEngineParams = new CaseInsensitiveMap<>(); data.storageEngineParams.putAll(storageEngineParams); } }
@Override public void putAll(Map<? extends String, ? extends V> m) { for (Map.Entry<? extends String, ? extends V> e : m.entrySet()) { put(e.getKey(), e.getValue()); } }
@Override public V get(Object key) { return super.get(toUpper(key)); }
public CreateDatabase(ServerSession session, String dbName, boolean ifNotExists, RunMode runMode, Map<String, String> replicationProperties, Map<String, String> endpointAssignmentProperties, Map<String, String> parameters) { super(session); this.dbName = dbName; this.ifNotExists = ifNotExists; this.runMode = runMode; this.replicationProperties = replicationProperties; this.endpointAssignmentProperties = endpointAssignmentProperties; if (parameters == null) { parameters = new CaseInsensitiveMap<>(); } this.parameters = parameters; // this.resourceQuota = resourceQuota; }
public CaseInsensitiveMap(Map<? extends String, ? extends V> m) { this(m.size()); putAll(m); }
/** * Create a new hash map. Depending on the configuration, the key is case * sensitive or case insensitive. * * @param <V> the value type * @return the hash map */ public <V> HashMap<String, V> newStringMap() { return dbSettings.databaseToUpper ? new HashMap<String, V>() : new CaseInsensitiveMap<V>(); }
public CaseInsensitiveMap(Properties prop) { this(prop.size()); putAll(prop); }
public void setStorageEngineParams(Map<String, String> storageEngineParams) { if (storageEngineParams instanceof CaseInsensitiveMap) { data.storageEngineParams = (CaseInsensitiveMap<String>) storageEngineParams; } else { data.storageEngineParams = new CaseInsensitiveMap<>(); data.storageEngineParams.putAll(storageEngineParams); } }
private Map<String, String> parseParameters(boolean toLowerCase) { read("("); // HashMap<String, String> parameters = toLowerCase ? new HashMap<>() : new CaseInsensitiveMap<>(); // 参数名都是大小写不敏感的 HashMap<String, String> parameters = new CaseInsensitiveMap<>(); if (readIf(")")) return parameters; String k, v; do { k = readUniqueIdentifier(); if (toLowerCase) k = k.toLowerCase(); if (readIf("=") || readIf(":")) v = readString(); else v = "1"; parameters.put(k, v); } while (readIf(",")); read(")"); return parameters; }
@Override public boolean containsKey(Object key) { return super.containsKey(toUpper(key)); }
@SuppressWarnings("unchecked") public void putAll(Properties prop) { for (Entry<Object, Object> e : prop.entrySet()) { put(e.getKey().toString(), (V) e.getValue().toString()); } }
@SuppressWarnings("unchecked") private <M extends StorageMap<K, V>, K, V> M openMap(String name, StorageMapBuilder<M, K, V> builder, Map<String, String> parameters) { M map = (M) maps.get(name); if (map == null) { synchronized (this) { map = (M) maps.get(name); if (map == null) { CaseInsensitiveMap<Object> c = new CaseInsensitiveMap<>(config); if (parameters != null) c.putAll(parameters); builder.name(name).config(c).aoStorage(this); map = builder.openMap(); maps.put(name, map); } } } return map; }
parameters = data.storageEngineParams; } else { parameters = new CaseInsensitiveMap<>();
@Override public V put(String key, V value) { return super.put(toUpper(key), value); }
private Transfer initTransfer(ConnectionInfo ci, NetEndpoint endpoint) throws Exception { NetFactory factory = NetFactoryManager.getFactory(ci.getNetFactoryName()); CaseInsensitiveMap<String> config = new CaseInsensitiveMap<>(ci.getProperties()); AsyncConnection conn = factory.getNetClient().createConnection(config, endpoint); if (!(conn instanceof TcpClientConnection)) { throw DbException.throwInternalError("not tcp client connection: " + conn.getClass().getName()); } tcpConnection = (TcpClientConnection) conn; sessionId = getNextId(); transfer = tcpConnection.createTransfer(this); tcpConnection.writeInitPacket(this, transfer, ci); if (isValid()) { tcpConnection.addSession(sessionId, this); } return transfer; }
@Override public V remove(Object key) { return super.remove(toUpper(key)); }
CaseInsensitiveMap<String> parameters = new CaseInsensitiveMap<>(def.getParameters()); def.setParameters(parameters);