Program: 176790
Project: 176790
Buggy source:
@Test public synchronized void onQuery(){
  EntityManager em=emf.createEntityManager();
  UUID timeLineId=UUID.randomUUID();
  Date currentDate=new Date();
  MongoCompoundKey key=new MongoCompoundKey("String_Node_Str",1,timeLineId);
  MongoPrimeUser user=new MongoPrimeUser(key);
  user.setTweetBody("String_Node_Str");
  user.setTweetDate(new Date());
  em.persist(user);
  em.clear();
  final String noClause="String_Node_Str";
  final String withFirstCompositeColClause="String_Node_Str";
  final String withClauseOnNoncomposite="String_Node_Str";
  final String withSecondCompositeColClause="String_Node_Str";
  final String withBothCompositeColClause="String_Node_Str";
  final String withAllCompositeColClause="String_Node_Str";
  final String withLastCompositeColGTClause="String_Node_Str";
  final String withSelectiveCompositeColClause="String_Node_Str";
  Query q=em.createQuery(noClause);
  List<MongoPrimeUser> results=q.getResultList();
  Assert.assertEquals(1,results.size());
  q=em.createQuery(withFirstCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertNull(results);
  q=em.createQuery(withClauseOnNoncomposite);
  q.setParameter(1,currentDate);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  q=em.createQuery(withSecondCompositeColClause);
  q.setParameter("String_Node_Str",1);
  results=q.getResultList();
  Assert.assertNull(results);
  q=em.createQuery(withBothCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  results=q.getResultList();
  Assert.assertNull(results);
  q=em.createQuery(withAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertNotNull(results);
  Assert.assertEquals(1,results.size());
  q=em.createQuery(withLastCompositeColGTClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  q=em.createQuery(withSelectiveCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertNull(results.get(0).getTweetBody());
  final String selectiveColumnTweetBodyWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetBodyWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals("String_Node_Str",results.get(0).getTweetBody());
  Assert.assertNull(results.get(0).getTweetDate());
  final String selectiveColumnTweetDateWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetDateWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(currentDate.getTime(),results.get(0).getTweetDate().getTime());
  Assert.assertNull(results.get(0).getTweetBody());
  final String withCompositeKeyClause="String_Node_Str";
  q=em.createQuery(withCompositeKeyClause);
  q.setParameter("String_Node_Str",key);
  results=q.getResultList();
  Assert.assertNotNull(results);
  Assert.assertEquals(1,results.size());
  em.remove(user);
  em.clear();
}

Fixed version (ground truth):
@Test public synchronized void onQuery(){
  EntityManager em=emf.createEntityManager();
  UUID timeLineId=UUID.randomUUID();
  MongoCompoundKey key=new MongoCompoundKey("String_Node_Str",1,timeLineId);
  MongoPrimeUser user=new MongoPrimeUser(key);
  user.setTweetBody("String_Node_Str");
  user.setTweetDate(currentDate);
  em.persist(user);
  em.clear();
  final String noClause="String_Node_Str";
  final String withFirstCompositeColClause="String_Node_Str";
  final String withClauseOnNoncomposite="String_Node_Str";
  final String withSecondCompositeColClause="String_Node_Str";
  final String withBothCompositeColClause="String_Node_Str";
  final String withAllCompositeColClause="String_Node_Str";
  final String withLastCompositeColGTClause="String_Node_Str";
  final String withSelectiveCompositeColClause="String_Node_Str";
  Query q=em.createQuery(noClause);
  List<MongoPrimeUser> results=q.getResultList();
  Assert.assertEquals(1,results.size());
  q=em.createQuery(withFirstCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertNull(results);
  q=em.createQuery(withClauseOnNoncomposite);
  q.setParameter(1,currentDate);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  q=em.createQuery(withSecondCompositeColClause);
  q.setParameter("String_Node_Str",1);
  results=q.getResultList();
  Assert.assertNull(results);
  q=em.createQuery(withBothCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  results=q.getResultList();
  Assert.assertNull(results);
  q=em.createQuery(withAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertNotNull(results);
  Assert.assertEquals(1,results.size());
  q=em.createQuery(withLastCompositeColGTClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  q=em.createQuery(withSelectiveCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertNull(results.get(0).getTweetBody());
  final String selectiveColumnTweetBodyWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetBodyWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals("String_Node_Str",results.get(0).getTweetBody());
  Assert.assertNull(results.get(0).getTweetDate());
  final String selectiveColumnTweetDateWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetDateWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  q.setParameter("String_Node_Str",1);
  q.setParameter("String_Node_Str",timeLineId);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(currentDate.getTime(),results.get(0).getTweetDate().getTime());
  Assert.assertNull(results.get(0).getTweetBody());
  final String withCompositeKeyClause="String_Node_Str";
  q=em.createQuery(withCompositeKeyClause);
  q.setParameter("String_Node_Str",key);
  results=q.getResultList();
  Assert.assertNotNull(results);
  Assert.assertEquals(1,results.size());
  em.remove(user);
  em.clear();
}