if (schemaTable.getPrimaryKey().contains(colName)) PrimaryKey rowKey = schemaTable.createPrimaryKey(); NoSqlDBUtils.add(schemaTable.getField(colName), rowKey, colValue, colName); rowsIter = tableAPI.tableIterator(rowKey, null, null); Index index = schemaTable.getIndex(colName); IndexKey indexKey = index.createIndexKey(); NoSqlDBUtils.add(schemaTable.getField(colName), indexKey, colValue, colName); rowsIter = tableAPI.tableIterator(indexKey, null, null);
Row row = schemaTable.createRow(); NoSqlDBUtils.add(schemaTable.getField(joinColumnName), row, pk, joinColumnName); Set<Object> values = joinTableRecords.get(pk); for (Object childId : values) NoSqlDBUtils.add(schemaTable.getField(invJoinColumnName), row, childId, invJoinColumnName); NoSqlDBUtils.add(schemaTable.getField(JOIN_TABLE_PRIMARY_KEY_NAME), row, pk.toString() + SEPERATOR + childId.toString(), JOIN_TABLE_PRIMARY_KEY_NAME);
@Override public void deleteByColumn(String schemaName, String tableName, String columnName, Object columnValue) { Table schemaTable = tableAPI.getTable(tableName); List<String> primaryKeys = schemaTable.getPrimaryKey(); Object[] foundRecords = findIdsByColumn(schemaName, tableName, primaryKeys.get(0), columnName, columnValue, null); KunderaCoreUtils.printQuery("Delete columns by id from:" + tableName, showQuery); if (foundRecords != null) { for (Object key : foundRecords) { PrimaryKey primaryKey = schemaTable.createPrimaryKey(); NoSqlDBUtils.add(schemaTable.getField(primaryKeys.get(0)), primaryKey, key, primaryKeys.get(0)); KunderaCoreUtils.printQuery(" Delete for id:" + key, showQuery); tableAPI.delete(primaryKey, null, null); } } }
@Override public <E> List<E> getColumnsById(String schemaName, String tableName, String pKeyColumnName, String columnName, Object pKeyColumnValue, Class columnJavaType) { // search using index on pkey column List<E> foreignKeys = new ArrayList<E>(); Table schemaTable = tableAPI.getTable(tableName); Index index = schemaTable.getIndex(pKeyColumnName); IndexKey indexKey = index.createIndexKey(); // StringBuilder indexNamebuilder = new StringBuilder(); NoSqlDBUtils.add(schemaTable.getField(pKeyColumnName), indexKey, pKeyColumnValue, pKeyColumnName); KunderaCoreUtils.printQuery( "Get columns by id from:" + tableName + " for column:" + columnName + " where value:" + pKeyColumnValue, showQuery); Iterator<Row> rowsIter = tableAPI.tableIterator(indexKey, null, null); while (rowsIter.hasNext()) { Row row = rowsIter.next(); FieldDef fieldMetadata = schemaTable.getField(columnName); FieldValue value = row.get(columnName); foreignKeys.add((E) NoSqlDBUtils.get(fieldMetadata, value, null)); } return foreignKeys; }
Table schemaTable = tableAPI.getTable(entityMetadata.getTableName()); PrimaryKey rowKey = schemaTable.createPrimaryKey(); if (metamodel.isEmbeddable(entityMetadata.getIdAttribute().getBindableJavaType())) NoSqlDBUtils.add(schemaTable.getField(idColumnName), rowKey, key, idColumnName);
Iterator<Row> rowsIter = tableAPI.tableIterator(schemaTable.createPrimaryKey(), null, null);
NoSqlDBUtils.add(schemaTable.getField(relationName), row, valueObj, relationName); KunderaCoreUtils.printQuery( "Add relation: relation name:" + relationName + "relation value:" + valueObj,
List<String> fields = row.getTable().getFields(); FieldDef fieldMetadata = null; FieldValue value = null; fieldMetadata = schemaTable.getField(embeddedColumnName); value = row.get(embeddedColumnName); NoSqlDBUtils.get(fieldMetadata, value, embeddedObject, fieldMetadata = schemaTable.getField(jpaColumnName); value = row.get(jpaColumnName);
Row row = schemaTable.createRow();
PrimaryKey key = schemaTable.createPrimaryKey(); Object embeddedColumn = PropertyAccessorHelper.getObject(pKey, (Field) embeddedAttrib.getJavaMember()); NoSqlDBUtils.add(schemaTable.getField(columnName), key, embeddedColumn, columnName); NoSqlDBUtils.add(schemaTable.getField(idColumnName), key, pKey, idColumnName);
PrimaryKey key = myTable.createPrimaryKey();
/** * Process discriminator columns. * * @param row * kv row object. * @param entityType * metamodel attribute. * @param schemaTable * the schema table */ private void addDiscriminatorColumn(Row row, EntityType entityType, Table schemaTable) { String discrColumn = ((AbstractManagedType) entityType).getDiscriminatorColumn(); String discrValue = ((AbstractManagedType) entityType).getDiscriminatorValue(); // No need to check for empty or blank, as considering it as valid name // for nosql! if (discrColumn != null && discrValue != null) { // Key // Key key = Key.createKey(majorKeyComponent, discrColumn); byte[] valueInBytes = PropertyAccessorHelper.getBytes(discrValue); NoSqlDBUtils.add(schemaTable.getField(discrColumn), row, discrValue, discrColumn); } }
/** * setter field. * * @param row * the row * @param schemaTable * the schema table * @param embeddedObject * the embedded object * @param embeddedAttrib * the embedded attrib */ private void setField(Row row, Table schemaTable, Object embeddedObject, Attribute embeddedAttrib) { Field field = (Field) embeddedAttrib.getJavaMember(); FieldDef fieldDef = schemaTable.getField(((AbstractAttribute) embeddedAttrib).getJPAColumnName()); Object valueObj = PropertyAccessorHelper.getObject(embeddedObject, field); if (valueObj != null) NoSqlDBUtils.add(fieldDef, row, valueObj, ((AbstractAttribute) embeddedAttrib).getJPAColumnName()); }
/** * Populate id. * * @param entityMetadata * the entity metadata * @param schemaTable * the schema table * @param entity * the entity * @param row * the row */ private void populateId(EntityMetadata entityMetadata, Table schemaTable, Object entity, Row row) { FieldDef fieldMetadata; FieldValue value; String idColumnName = ((AbstractAttribute) entityMetadata.getIdAttribute()).getJPAColumnName(); fieldMetadata = schemaTable.getField(idColumnName); value = row.get(idColumnName); NoSqlDBUtils.get(fieldMetadata, value, entity, (Field) entityMetadata.getIdAttribute().getJavaMember()); }
NoSqlDBUtils.add(schemaTable.getField(columnName), value, embeddedColumn, columnName);
fieldMetadata = schemaTable.getField(columnName); value = row.get(columnName); NoSqlDBUtils.get(fieldMetadata, value, embeddedObject, (Field) attrib.getJavaMember());