protected Entity createNode()

in software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java [303:329]


    protected Entity createNode(@Nullable Location loc, Map<?,?> flags) {
        Map<Object, Object> allflags = MutableMap.copyOf(flags);

        if (flags.containsKey("token") || flags.containsKey("cassandra.token")) {
            // TODO Delete in future version; was deprecated in 0.7.0; deleted config key in 0.9.0
            log.warn("Cassandra token no longer supported - use 'tokens' in "+CassandraDatacenterImpl.this);
        }
        if (flags.containsKey(CassandraNode.TOKENS) || flags.containsKey("tokens") || flags.containsKey("cassandra.tokens")) {
            // leave token config as-is
        } else if (!useVnodes()) {
            BigInteger token = getTokenGenerator().newToken();
            if (token != null) {
                allflags.put(CassandraNode.TOKENS, ImmutableSet.of(token));
            }
        }

        if ((flags.containsKey(CassandraNode.NUM_TOKENS_PER_NODE) || flags.containsKey("numTokensPerNode"))) {
            // leave num_tokens as-is
        } else if (useVnodes()) {
            Integer numTokensPerNode = getConfig(NUM_TOKENS_PER_NODE);
            allflags.put(CassandraNode.NUM_TOKENS_PER_NODE, numTokensPerNode);
        } else {
            allflags.put(CassandraNode.NUM_TOKENS_PER_NODE, 1);
        }
        
        return super.createNode(loc, allflags);
    }