protected T getOrCreatePersistent(T persistent) throws Exception { if(persistent != null) { return persistent; } return dataStore.newPersistent(); }
protected T getOrCreatePersistent(T persistent) throws Exception { if(persistent != null) { return persistent; } return dataStore.newPersistent(); }
/** * Creates an object if it does not exists * @param persistent Object to be created if it does not exist * @return * @throws Exception * @throws IOException */ protected T getOrCreatePersistent(T persistent) throws Exception { if(persistent != null) { return persistent; } return dataStore.newPersistent(); } }
/** * Creates an object if it does not exists * @param persistent Object to be created if it does not exist * @return * @throws Exception * @throws IOException */ protected T getOrCreatePersistent(T persistent) throws Exception { if(persistent != null) { return persistent; } return dataStore.newPersistent(); } }
/** * Select the families that contain at least one column mapped to a query field. * @param query indicates the columns to select * @return a map which keys are the family names and values the * corresponding column names required to get all the query fields. */ public Map<String, List<String>> getFamilyMap(Query<K, T> query) { Map<String, List<String>> map = new HashMap<String, List<String>>(); Schema persistentSchema = query.getDataStore().newPersistent().getSchema(); for (String field: query.getFields()) { String family = this.getMappingFamily(field); String column = this.getMappingColumn(field); // check if the family value was already initialized List<String> list = map.get(family); if (list == null) { list = new ArrayList<String>(); map.put(family, list); } if (persistentSchema.getField(field).schema().getType() == Type.UNION) list.add(field + CassandraStore.UNION_COL_SUFIX); if (column != null) { list.add(column); } } return map; }
/** * Select the field names according to the column names, which format * if fully qualified: "family:column" * @param query * @return a map which keys are the fully qualified column * names and values the query fields */ public Map<String, String> getReverseMap(Query<K, T> query) { Map<String, String> map = new HashMap<String, String>(); Schema persistentSchema = query.getDataStore().newPersistent().getSchema(); for (String field: query.getFields()) { String family = this.getMappingFamily(field); String column = this.getMappingColumn(field); if (persistentSchema.getField(field).schema().getType() == Type.UNION) map.put(family + ":" + field + CassandraStore.UNION_COL_SUFIX, field + CassandraStore.UNION_COL_SUFIX); map.put(family + ":" + column, field); } return map; }
/** * {@inheritDoc} * * @param key * @return */ @Override public Persistent get(Object key) { ArrayList<String> cassandraKeys = new ArrayList<>(); ArrayList<Object> cassandraValues = new ArrayList<>(); AvroCassandraUtils.processKeys(mapping, key, cassandraKeys, cassandraValues); String cqlQuery = CassandraQueryFactory.getSelectObjectQuery(mapping, cassandraKeys); SimpleStatement statement = new SimpleStatement(cqlQuery, cassandraValues.toArray()); if (readConsistencyLevel != null) { statement.setConsistencyLevel(ConsistencyLevel.valueOf(readConsistencyLevel)); } ResultSet resultSet = client.getSession().execute(statement); Iterator<Row> iterator = resultSet.iterator(); ColumnDefinitions definitions = resultSet.getColumnDefinitions(); T obj = null; if (iterator.hasNext()) { obj = cassandraDataStore.newPersistent(); AbstractGettableData row = (AbstractGettableData) iterator.next(); populateValuesToPersistent(row, definitions, obj, mapping.getFieldNames()); } return obj; }
public static <K, T extends Persistent> void testNewPersistent( DataStore<K,T> dataStore) throws Exception { T obj1 = dataStore.newPersistent(); T obj2 = dataStore.newPersistent(); assertEquals(dataStore.getPersistentClass(), obj1.getClass()); assertNotNull(obj1); assertNotNull(obj2); assertFalse( obj1 == obj2 ); }
T obj = null; if (iterator.hasNext()) { obj = cassandraDataStore.newPersistent(); AbstractGettableData row = (AbstractGettableData) iterator.next(); populateValuesToPersistent(row, definitions, obj, fields);
T obj = null; if (iterator.hasNext()) { obj = cassandraDataStore.newPersistent(); AbstractGettableData row = (AbstractGettableData) iterator.next(); populateValuesToPersistent(row, definitions, obj, mapping.getFieldNames());
T obj = null; if (iterator.hasNext()) { obj = cassandraDataStore.newPersistent(); AbstractGettableData row = (AbstractGettableData) iterator.next(); populateValuesToPersistent(row, definitions, obj, fields);
public static void testEmptyUpdateEmployee(DataStore<String, Employee> dataStore) throws Exception { dataStore.createSchema(); long ssn = 1234567890L; String ssnStr = Long.toString(ssn); long now = System.currentTimeMillis(); Employee employee = dataStore.newPersistent(); employee.setName(new Utf8("John Doe")); employee.setDateOfBirth(now - 20L * YEAR_IN_MS); employee.setSalary(100000); employee.setSsn(new Utf8(ssnStr)); dataStore.put(employee.getSsn().toString(), employee); dataStore.flush(); employee = dataStore.get(ssnStr); dataStore.put(ssnStr, employee); dataStore.flush(); employee = dataStore.newPersistent(); dataStore.put(Long.toString(ssn + 1), employee); dataStore.flush(); employee = dataStore.get(Long.toString(ssn + 1)); assertNull(employee); }
while (iterator.hasNext()) { AbstractGettableData row = (AbstractGettableData) iterator.next(); obj = cassandraDataStore.newPersistent(); keyObject = cassandraDataStore.newKey(); populateValuesToPersistent(row, definitions, obj, fields);
while (iterator.hasNext()) { AbstractGettableData row = (AbstractGettableData) iterator.next(); obj = cassandraDataStore.newPersistent(); keyObject = cassandraDataStore.newKey(); populateValuesToPersistent(row, definitions, obj, fields);