@Override
    public int executeBatch()
    {
        Map<String, List<Row>> batchData = new HashMap<String, List<Row>>();
        try
        {
            for (Node node : nodes)
            {
                if (node.isDirty())
                {
                    Row action = null;
                    node.handlePreEvent();
                    Object rowKey = node.getEntityId();
                    Object entity = node.getData();
                    EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, node.getDataClass());
                    String tableName = HBaseUtils.getHTableName(m.getSchema(), m.getTableName());
                    if (node.isInState(RemovedState.class))
                    {
                        action = handler.prepareDelete(rowKey);
                    }
                    else
                    {
                        HBaseRow hbaseRow = ((HBaseDataHandler) handler).createHbaseRow(m, entity, rowKey, null);
                        action = handler.preparePut(hbaseRow);
                    }
                    node.handlePostEvent();
                    if (!batchData.containsKey(tableName))
                    {
                        batchData.put(tableName, new ArrayList<Row>());
                    }
                    batchData.get(tableName).add(action);
                }
            }

            if (!batchData.isEmpty())
            {
                ((HBaseDataHandler) handler).batchProcess(batchData);
            }
            return batchData.size();
        }
        catch (IOException ioex)
        {
            log.error("Error while executing batch insert/update, Caused by: .", ioex);
            throw new KunderaException(ioex);
        }

    }
@ Override public int executeBatch ( ) { Map < String , List < Row > > batchData = new HashMap < String , List < Row > > ( ) ; try { for ( Node node : nodes ) { if ( node . isDirty ( ) ) { Row action = null ; node . handlePreEvent ( ) ; Object rowKey = node . getEntityId ( ) ; Object entity = node . getData ( ) ; EntityMetadata m = KunderaMetadataManager . getEntityMetadata ( kunderaMetadata , node . getDataClass ( ) ) ; String tableName = HBaseUtils . getHTableName ( m . getSchema ( ) , m . getTableName ( ) ) ; if ( node . isInState ( RemovedState . class ) ) { action = handler . prepareDelete ( rowKey ) ; } else { HBaseRow hbaseRow = ( ( HBaseDataHandler ) handler ) . createHbaseRow ( m , entity , rowKey , null ) ; action = handler . preparePut ( hbaseRow ) ; } node . handlePostEvent ( ) ; if ( ! batchData . containsKey ( tableName ) ) { batchData . put ( tableName , new ArrayList < Row > ( ) ) ; } batchData . get ( tableName ) . add ( action ) ; } } if ( ! batchData . isEmpty ( ) ) { ( ( HBaseDataHandler ) handler ) . batchProcess ( batchData ) ; } return batchData . size ( ) ; } catch ( IOException ioex ) { log . error ( "Error while executing batch insert/update, Caused by: ." , ioex ) ; throw new KunderaException ( ioex ) ; } }
/*
(non-Javadoc)

@see com.impetus.kundera.persistence.api.Batcher#executeBatch()