Package org.hibernate.ogm.dialect.batch.spi

Examples of org.hibernate.ogm.dialect.batch.spi.InsertOrUpdateTupleOperation


      List<MongoDBTupleSnapshot> insertSnapshots = new ArrayList<MongoDBTupleSnapshot>();

      while ( operation != null ) {
        if ( operation instanceof InsertOrUpdateTupleOperation ) {
          InsertOrUpdateTupleOperation update = (InsertOrUpdateTupleOperation) operation;
          executeBatchUpdate( inserts, update );
          MongoDBTupleSnapshot snapshot = (MongoDBTupleSnapshot) update.getTuple().getSnapshot();
          if ( snapshot.getSnapshotType() == INSERT ) {
            insertSnapshots.add( snapshot );
          }
        }
        else if ( operation instanceof RemoveTupleOperation ) {
          RemoveTupleOperation tupleOp = (RemoveTupleOperation) operation;
          executeBatchRemove( inserts, tupleOp );
        }
        else if ( operation instanceof InsertOrUpdateAssociationOperation ) {
          InsertOrUpdateAssociationOperation update = (InsertOrUpdateAssociationOperation) operation;
          insertOrUpdateAssociation( update.getAssociationKey(), update.getAssociation(), update.getContext() );
        }
        else if ( operation instanceof RemoveAssociationOperation ) {
          RemoveAssociationOperation remove = (RemoveAssociationOperation) operation;
          removeAssociation( remove.getAssociationKey(), remove.getContext() );
        }
View Full Code Here


  public void insertOrUpdateTuple(EntityKey key, Tuple tuple, TupleContext tupleContext) {
    if ( isBatchDisabled() ) {
      super.insertOrUpdateTuple( key, tuple, tupleContext );
    }
    else {
      getOperationQueue().add( new InsertOrUpdateTupleOperation( tuple, key, tupleContext ) );
    }
  }
View Full Code Here

  }

  @Test(expected = HibernateException.class)
  public void testAddUpdateTupleCauseExceptionWhenQueueIsClosed() throws Exception {
    queue.close();
    queue.add( new InsertOrUpdateTupleOperation( null, null, emptyTupleContext() ) );
  }
View Full Code Here

  }

  @Test
  public void testContainsKeyWhenAddingUpdateTupleOperation() throws Exception {
    EntityKey key = entityKey();
    InsertOrUpdateTupleOperation expected = new InsertOrUpdateTupleOperation( null, key, emptyTupleContext() );
    queue.add( expected );

    Assertions.assertThat( queue.contains( key ) ).isTrue();
  }
View Full Code Here

  }

  @Test
  public void testAddUpdateTupleOperation() throws Exception {
    EntityKey key = entityKey();
    InsertOrUpdateTupleOperation expected = new InsertOrUpdateTupleOperation( null, key, emptyTupleContext() );
    queue.add( expected );

    Assertions.assertThat( expected ).isEqualTo( queue.poll() );
  }
View Full Code Here

    Assertions.assertThat( 0 ).isEqualTo( queue.size() );
  }

  @Test
  public void testQueueSizeWhenAddingUpdateTupleOperation() throws Exception {
    queue.add( new InsertOrUpdateTupleOperation( null, entityKey(), emptyTupleContext() ) );

    Assertions.assertThat( 1 ).isEqualTo( queue.size() );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.ogm.dialect.batch.spi.InsertOrUpdateTupleOperation

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.