Package com.netflix.paas.cassandra.entity

Examples of com.netflix.paas.cassandra.entity.MapStringToObject


//        // Iterate found keyspaces
        try {
            for (KeyspaceDefinition keyspace : cluster.describeKeyspaces()) {
                // Extract data from the KeyspaceDefinition
                String ksName = keyspace.getName();
                MapStringToObject keyspaceOptions = getKeyspaceOptions(keyspace);
               
                if (existingKeyspaces.containsKey(ksName)) {
                    MapStringToObject previousOptions = JsonSerializer.fromString(existingKeyspaces.get(ksName), MapStringToObject.class);
                    MapDifference keyspaceDiff = Maps.difference(keyspaceOptions, previousOptions);
                    if (keyspaceDiff.areEqual()) {
                        LOG.info("Keyspace '{}' didn't change", new Object[]{ksName});
                    }
                    else {
                        changed = true;
                        LOG.info("CF Changed: " + keyspaceDiff.entriesDiffering());
                    }
                }
                else {
                    changed = true;
                }
                String strKeyspaceOptions = JsonSerializer.toString(keyspaceOptions);
               
//                // Keep track of keyspace
                foundKeyspaces.add(keyspace.getName());
                existingKeyspaces.put(ksName, strKeyspaceOptions);
               
                LOG.info("Found keyspace '{}|{}' : {}", new Object[]{entity.getClusterName(), ksName, keyspaceOptions});
               
//                // Iterate found column families
                for (ColumnFamilyDefinition cf : keyspace.getColumnFamilyList()) {
                    // Extract data from the ColumnFamilyDefinition
                    String cfName = String.format("%s|%s", keyspace.getName(), cf.getName());
                    MapStringToObject cfOptions = getColumnFamilyOptions(cf);
                    String strCfOptions = JsonSerializer.toString(cfOptions);
//                   
//                    // Check for changes
                    if (existingColumnFamilies.containsKey(cfName)) {
                        MapStringToObject previousOptions = JsonSerializer.fromString(existingColumnFamilies.get(cfName), MapStringToObject.class);
                       
                        LOG.info("Old options: " + previousOptions);
                       
                        MapDifference cfDiff = Maps.difference(cfOptions, previousOptions);
                        if (cfDiff.areEqual()) {
View Full Code Here


       
        clusterDao.write(entity);
    }
   
    private MapStringToObject getKeyspaceOptions(KeyspaceDefinition keyspace) {
        MapStringToObject result = new MapStringToObject();
        for (FieldMetadata field : keyspace.getFieldsMetadata()) {
            result.put(field.getName(), keyspace.getFieldValue(field.getName()));
        }

        result.remove("CF_DEFS");
        return result;
    }
View Full Code Here

        result.remove("CF_DEFS");
        return result;
    }

    private MapStringToObject getColumnFamilyOptions(ColumnFamilyDefinition cf) {
        MapStringToObject result = new MapStringToObject();
        for (FieldMetadata field : cf.getFieldsMetadata()) {
            if (field.getName().equals("COLUMN_METADATA")) {
//                // This will get handled below
            }
            else {
                Object value = cf.getFieldValue(field.getName());
                if (value instanceof ByteBuffer) {
                    result.put(field.getName()((ByteBuffer)value).array());
                }
                else {
                    result.put(field.getName(), value);
                }
            }
        }
//        // Hack to get the column metadata
        List<MapStringToObject> columns = Lists.newArrayList();
        for (ColumnDefinition column : cf.getColumnDefinitionList()) {
            MapStringToObject map = new MapStringToObject();
            for (FieldMetadata field : column.getFieldsMetadata()) {
                Object value = column.getFieldValue(field.getName());
                if (value instanceof ByteBuffer) {
                    result.put(field.getName()((ByteBuffer)value).array());
                }
                else {
                    map.put(field.getName(), value);
                }
            }
            columns.add(map);
        }
        result.put("COLUMN_METADATA", columns);
View Full Code Here

TOP

Related Classes of com.netflix.paas.cassandra.entity.MapStringToObject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.