@Override public void validateFieldAnnotation(Annotation annotation, Field field, ManagedType managedType) { List<String> tables = ((DefaultEntityAnnotationProcessor) ((AbstractManagedType) managedType) .getEntityAnnotation()).getSecondaryTablesName(); Annotation primaryTableannotation = ((AbstractManagedType) managedType).getEntityAnnotation().getAnnotation( Table.class.getName()); String primaryTableName = ""; if (primaryTableannotation != null) { primaryTableName = ((Table) primaryTableannotation).name(); } String tableNameOfColumn = getTableNameOfColumn(); if (tableNameOfColumn != null && !tables.contains(tableNameOfColumn) && !primaryTableName.isEmpty() && !primaryTableName.equals(tableNameOfColumn)) { throw new InvalidEntityDefinitionException("Inavalid table " + tableNameOfColumn + " for field " + field); } }
@Override public void delete(Object entity, Object pKey) { EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(m.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(m.getEntityClazz()); // For secondary tables. List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()).getSecondaryTablesName(); secondaryTables.add(m.getTableName()); for (String tableName : secondaryTables) { this.execute(onDeleteQuery(m, tableName, metaModel, pKey), null); } }
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) ent.getEntityAnnotation()) .getSecondaryTablesName(); for (String secTable : secondaryTables)
@Override public List readAll(final String tableName, Class clazz, EntityMetadata m, final List<Object> rowKey, List<String> relationNames, String... columns) throws IOException { List output = null; Object entity = null; HTableInterface hTable = null; hTable = gethTable(tableName); // Load raw data from HBase MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( m.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(m.getEntityClazz()); // For secondary tables. List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName()); List<HBaseData> results = new ArrayList<HBaseData>(); for (String colTableName : secondaryTables) { List table = ((HBaseReader) hbaseReader).loadAll(hTable, rowKey, colTableName, columns); // null check for 'table'. addAll method throws exception if table // is null if (table != null) { results.addAll(table); } } output = onRead(tableName, clazz, m, output, hTable, entity, relationNames, results); return output; }
/** * Populates data form secondary tables of entity for given row key. * * @param rowId * the row id * @param entity * the entity * @param metaModel * the meta model * @param metadata * the metadata */ private void populateSecondaryTableData(Object rowId, Object entity, MetamodelImpl metaModel, EntityMetadata metadata) { AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(metadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()).getSecondaryTablesName(); for (String tableName : secondaryTables) { StringBuilder builder = createSelectQuery(rowId, metadata, tableName); ResultSet rSet = this.execute(builder.toString(), null); Iterator<Row> rowIter = rSet.iterator(); Row row = rowIter.next(); ColumnDefinitions columnDefs = row.getColumnDefinitions(); Iterator<Definition> columnDefIter = columnDefs.iterator(); entity = iteratorColumns(metadata, metaModel, metaModel.entity(metadata.getEntityClazz()), new HashMap<String, Object>(), entity, row, columnDefIter); } }
(AbstractManagedType) metaModel.entity(entityMetadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()).getSecondaryTablesName();
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName());
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName());
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName());
@Override public void delete(Object entity, Object pKey) { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( metadata.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(metadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(metadata.getTableName()); if (metaModel.isEmbeddable(metadata.getIdAttribute().getBindableJavaType())) { pKey = KunderaCoreUtils.prepareCompositeKey(metadata, pKey); } for (String colTableName : secondaryTables) { deleteByColumn(metadata.getSchema(), colTableName, ((AbstractAttribute) metadata.getIdAttribute()).getJPAColumnName(), pKey); } }
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(entityMetadata.getTableName());
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(entityMetadata.getTableName());
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(metadata.getTableName());
AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(metadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(metadata.getTableName());
@Override public List readAll(final String tableName, Class clazz, EntityMetadata m, final List<Object> rowKey, List<String> relationNames, String... columns) throws IOException { List output = null; Object entity = null; HTableInterface hTable = null; hTable = gethTable(tableName); // Load raw data from HBase MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( m.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(m.getEntityClazz()); // For secondary tables. List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName()); List<HBaseData> results = new ArrayList<HBaseData>(); for (String colTableName : secondaryTables) { List table = ((HBaseReader) hbaseReader).loadAll(hTable, rowKey, colTableName, columns); // null check for 'table'. addAll method throws exception if table // is null if (table != null) { results.addAll(table); } } output = onRead(tableName, clazz, m, output, hTable, entity, relationNames, results); return output; }
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName());
@Override public void delete(Object entity, Object pKey) { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) KunderaMetadata.INSTANCE.getApplicationMetadata().getMetamodel( metadata.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(metadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(metadata.getTableName()); for (String colTableName : secondaryTables) { deleteByColumn(metadata.getSchema(), colTableName, ((AbstractAttribute) metadata.getIdAttribute()).getJPAColumnName(), pKey); } }
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName());
List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(m.getTableName());
@Override public void delete(Object entity, Object pKey) { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( metadata.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(metadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(metadata.getTableName()); if (metaModel.isEmbeddable(metadata.getIdAttribute().getBindableJavaType())) { pKey = KunderaCoreUtils.prepareCompositeKey(metadata, pKey); } for (String colTableName : secondaryTables) { deleteByColumn(metadata.getSchema(), colTableName, ((AbstractAttribute) metadata.getIdAttribute()).getJPAColumnName(), pKey); } }