/**
   * This method will instantiate all of the example instances and insert them into the database
   * using the given session.
   */
  public void populate(DatabaseSession session) {
    UnitOfWork unitOfWork = session.acquireUnitOfWork();

    unitOfWork.registerObject(Dist_Employee.example1());
    unitOfWork.registerObject(Company.example1());
    unitOfWork.commit();
  }
  public void test() {
    Session session = getSession();
    UnitOfWork uow = session.acquireUnitOfWork();
    uow.setShouldNewObjectsBeCached(true);

    Weather weather = new Weather();
    weather.setStormPattern("Something really bad");
    weather.id = 0;
    ReadObjectQuery query = new ReadObjectQuery(weather);
    query.checkCacheOnly();
    Weather weatherClone = (Weather) uow.registerObject(weather);
    weather = (Weather) uow.executeQuery(query);
    zeroFailed = weather == null;

    Weather weatherNeg = new Weather();
    weatherNeg.setStormPattern("Something really bad below zero");
    weatherNeg.id = -1;
    ReadObjectQuery queryNeg = new ReadObjectQuery(weatherNeg);
    queryNeg.checkCacheOnly();
    Weather weatherNegClone = (Weather) uow.registerObject(weatherNeg);
    weatherNeg = (Weather) uow.executeQuery(queryNeg);
    negativeFailed = weatherNeg == null;

    if (keepSequencing) {
      uow.assignSequenceNumbers();
      zeroOverridden = weatherClone.id != 0;
      negativeOverridden = weatherNegClone.id != -1;
    }
  }
  public void setup() {
    mapping =
        (ManyToManyMapping)
            getSession()
                .getProject()
                .getDescriptor(DirectEntityMapHolder.class)
                .getMappingForAttributeName("directToEntityMap");
    oldPrivateOwnedValue = mapping.isPrivateOwned();
    mapping.setIsPrivateOwned(usePrivateOwned);

    UnitOfWork uow = getSession().acquireUnitOfWork();
    holder = new DirectEntityMapHolder();
    EntityMapValue value = new EntityMapValue();
    value.setId(1);
    holder.addDirectToEntityMapItem(new Integer(11), value);

    EntityMapValue value2 = new EntityMapValue();
    value2.setId(2);
    holder.addDirectToEntityMapItem(new Integer(22), value2);
    uow.registerObject(holder);
    uow.registerObject(value);
    uow.registerObject(value2);
    uow.commit();
    Object holderForComparison = uow.readObject(holder);
    if (!compareObjects(holder, holderForComparison)) {
      throw new TestErrorException("Objects do not match after write");
    }
    getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
  }
  public void setup() {
    mapping =
        (ManyToManyMapping)
            getSession()
                .getProject()
                .getDescriptor(AggregateEntityMapHolder.class)
                .getMappingForAttributeName("aggregateToEntityMap");
    oldFetchJoinValue = mapping.getJoinFetch();
    mapping.setJoinFetch(fetchJoinRelationship);
    getSession()
        .getProject()
        .getDescriptor(AggregateEntityMapHolder.class)
        .reInitializeJoinedAttributes();

    UnitOfWork uow = getSession().acquireUnitOfWork();
    AggregateEntityMapHolder holder = new AggregateEntityMapHolder();
    EntityMapValue value = new EntityMapValue();
    value.setId(1);
    AggregateMapKey key = new AggregateMapKey();
    key.setKey(11);
    holder.addAggregateToEntityMapItem(key, value);

    EntityMapValue value2 = new EntityMapValue();
    value2.setId(2);
    key = new AggregateMapKey();
    key.setKey(22);
    holder.addAggregateToEntityMapItem(key, value2);
    uow.registerObject(holder);
    uow.registerObject(value);
    uow.registerObject(value2);
    uow.commit();
    holderExp = (new ExpressionBuilder()).get("id").equal(holder.getId());
    getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
  }
 public void test() {
   UnitOfWork uow = getSession().acquireUnitOfWork();
   Employee managerClone = (Employee) uow.registerObject(employee[0]);
   // remove all managed Employees (1 and 2)
   managerClone.getManagedEmployees().clear();
   // add to managed list new Employees (3 and 4)
   Employee employee3Clone = (Employee) uow.registerObject(employee[3]);
   Employee employee4Clone = (Employee) uow.registerObject(employee[4]);
   managerClone.addManagedEmployee(employee3Clone);
   managerClone.addManagedEmployee(employee4Clone);
   // after commit the  versions of all Employees should be changed.
   uow.commit();
 }
  /** Create a new employee and commit. */
  public void test() {
    employee = (Employee) getSession().readObject(Employee.class, expression);

    UnitOfWork uow = getSession().acquireUnitOfWork();
    Employee employeeClone = (Employee) uow.registerObject(employee);
    employeeClone.setSalary(employeeClone.getSalary() + 1);
    manager = new Employee();
    manager.setFirstName("Fred");
    manager.setLastName("Fenster");
    Employee managerClone = (Employee) uow.registerObject(manager);
    employeeClone.setManager(managerClone);
    uow.commit();
  }
    public void setup() {
      // create 3 Employees.
      employee = new Employee[3];

      employee[0] = new Employee();
      employee[0].setFirstName("Manager");

      // 1 and 2 have manager 0.
      employee[1] = new Employee();
      employee[1].setFirstName("Employee_1");
      employee[0].addManagedEmployee(employee[1]);

      employee[2] = new Employee();
      employee[2].setFirstName("Employee_2");
      employee[0].addManagedEmployee(employee[2]);

      // insert all the Employees into the db.
      UnitOfWork uow = getSession().acquireUnitOfWork();
      for (int i = 0; i < employee.length; i++) {
        uow.registerObject(employee[i]);
      }
      uow.commit();

      getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
    }
    public void setup() {
      // create 5 Employees.
      employee = new Employee[5];

      employee[0] = new Employee();
      employee[0].setFirstName("Manager");

      // 1 and 2 have manager 0.
      employee[1] = new Employee();
      employee[1].setFirstName("Employee_1");
      employee[0].addManagedEmployee(employee[1]);

      employee[2] = new Employee();
      employee[2].setFirstName("Employee_2");
      employee[0].addManagedEmployee(employee[2]);

      // 3 and 4 don't have a manager.
      employee[3] = new Employee();
      employee[3].setFirstName("Employee_3");

      employee[4] = new Employee();
      employee[4].setFirstName("Employee_4");

      // insert all the Employees into the db.
      UnitOfWork uow = getSession().acquireUnitOfWork();
      for (int i = 0; i < employee.length; i++) {
        uow.registerObject(employee[i]);
      }
      uow.commit();
    }
  public void test() {
    // test readAll
    getSession().readAllObjects(Employee.class);
    getSession().getIdentityMapAccessor().initializeIdentityMap(Employee.class);

    // test readObject
    Employee employee =
        (Employee)
            getSession().readObject(Employee.class, new ExpressionBuilder().get("id").equal(99));

    // test delete with an employee read from the database
    employee = (Employee) getSession().readObject(Employee.class);
    try {
      getAbstractSession().deleteObject(employee);
    } catch (DatabaseException exc) {
      // if we get an integrity exception here, the query went to the DB and was not redirected
      redirectedDeleteObject = false;
    }

    UnitOfWork uow = getSession().acquireUnitOfWork();
    // test update with an employee read from the database
    employee = (Employee) uow.readObject(Employee.class);
    employee.setFirstName(employee.getFirstName() + "-changed");

    // insert an employee to test the insert behavior
    employee = new Employee();
    employee.setFirstName("Paul");
    employee.setLastName("Sheldon");
    uow.registerObject(employee);

    uow.commit();
  }
 public void test() {
   UnitOfWork uow = getSession().acquireUnitOfWork();
   this.emp = Employee.example1();
   this.emp.asset1.asset = Vehicle.example1();
   uow.registerObject(this.emp);
   uow.commit();
   uow = getSession().acquireUnitOfWork();
   Employee empClone = (Employee) uow.registerObject(this.emp);
   Employee newClone = (Employee) empClone.clone();
   ((Vehicle) newClone.asset1.asset).make = "Beamer";
   uow.deepMergeClone(newClone);
   uow.commit();
   if (!((AbstractSession) getSession()).compareObjects(newClone, this.emp)) {
     throw new TestErrorException("Failed to merge the Variable 1 to 1 properly");
   }
 }
  public void test() {

    UnitOfWork uow = getSession().acquireUnitOfWork();
    UnitOfWork nestedUow1 = uow.acquireUnitOfWork();
    UnitOfWork nestedNestedUOW = nestedUow1.acquireUnitOfWork();

    Employee employee = (Employee) new EmployeePopulator().basicEmployeeExample1();
    employee.setId(new BigDecimal(15));
    Employee nestedEmployee = (Employee) nestedNestedUOW.registerObject(employee);
    nestedNestedUOW.commit();
    nestedUow1.commit();

    nestedUow1 = uow.acquireUnitOfWork();
    nestedNestedUOW = nestedUow1.acquireUnitOfWork();

    ReadObjectQuery query = new ReadObjectQuery();
    query.setReferenceClass(Employee.class);
    query.setSelectionCriteria(
        new org.eclipse.persistence.expressions.ExpressionBuilder()
            .get("id")
            .equal(new BigDecimal(15)));
    query.conformResultsInUnitOfWork();
    nestedEmployee = (Employee) nestedNestedUOW.executeQuery(query);

    nestedNestedUOW.deleteObject(nestedEmployee);
    nestedNestedUOW.commit();
    nestedUow1.commit();
    if (!((UnitOfWorkImpl) uow).getNewObjectsCloneToOriginal().isEmpty()) {
      throw new TestErrorException("Failed to unregister the Object in the nested unit of work");
    }
  }
 public void test() {
   UnitOfWork uow = getSession().acquireUnitOfWork();
   this.sales = SalesPerson.example1();
   this.sales = (SalesPerson) uow.registerObject(this.sales);
   this.fieldOfficeClone = (FieldOffice) uow.readObject(FieldOffice.class);
   this.sales.setFieldOffice(this.fieldOfficeClone);
   uow.commit();
 }
  public void setup() {
    deadlockDetected = false;
    this.getExecutor().swapServerSession();
    UnitOfWork uow = getSession().acquireUnitOfWork();
    person = (ConcurrentPerson) uow.registerObject(new ConcurrentPerson());
    person.name = "SomeoneSpecial";

    project = (ConcurrentLargeProject) uow.registerObject(new ConcurrentLargeProject());
    project.setName("ConcurrentRFJUOWLock Project");

    ConcurrentAddress address = (ConcurrentAddress) uow.registerObject(new ConcurrentAddress());
    address.setStreet("99 Bank St");
    project.setLocation(address);

    uow.commit();
    uow.release();
  }
  public void test() {

    UnitOfWork uow = ((SessionBroker) getSession()).acquireUnitOfWork();
    for (int i = 0; i < NUM_INSERTS; i++) {
      uow.registerObject(new Employee());
    }

    uow.commit();
  }
  public void test() {
    this.employee =
        (IsolatedEmployee) getSession().readObject(IsolatedEmployee.class, this.expression);

    UnitOfWork uow = getSession().acquireUnitOfWork();
    IsolatedEmployee employeeClone = (IsolatedEmployee) uow.registerObject(this.employee);
    employeeClone.setSalary(employeeClone.getSalary() + 1000);
    uow.commit();
  }
  public void test() {
    Server server = this.getServerSession();
    UnitOfWork uow = server.acquireUnitOfWork();
    ConcurrentLargeProject clonedProject = (ConcurrentLargeProject) uow.registerObject(project);
    clonedProject.getLocation().setPostalCode("K1P 1A4");
    ConcurrentPerson clonedPerson = (ConcurrentPerson) uow.registerObject(person);
    clonedPerson.setHobby(clonedProject);
    uow.writeChanges();

    Thread thread1 = new Thread(new ProjectReader(server.acquireClientSession(), project.getId()));
    ConcurrentProject.RUNNING_TEST = ConcurrentProject.READ_WITH_UOW_LOCKS_TESTS;
    // start reading Project, and have the thread wait while building DTF mappings
    thread1.start();

    try {
      thread1.join(
          1000); // wait a token amount to be sure that thread1 isn't starved before getting
                 // deferred lock on Project.
    } catch (InterruptedException ex) {
    }

    // start uow commit, which will get locks on Person+Address, commit, then merge.
    // merge should get a deferred lock on Project.
    Thread thread2 = new Thread(new UOWCommit(uow));
    thread2.start();

    // while waiting, thread1 should wake and try to get a lock on Address.  It will deadlock if it
    // tries to get an active lock, since they will be held by the UOW which can't complete until
    // thread1
    // releases.
    try {
      thread1.join(20000);
      if (thread1.isAlive()) {
        try {
          thread1.interrupt();
          thread2.interrupt();
        } catch (Exception e) {
        }
        deadlockDetected = true;
      }
    } catch (InterruptedException ex) {
    }
  }
  /** This method was created in VisualAge. */
  public void test() {
    // READ A GRASSHOPPER
    GrassHopper grassHopper = (GrassHopper) getSession().readObject(GrassHopper.class);

    // MODIFY THE GRASSHOPPER
    UnitOfWork uow = getSession().acquireUnitOfWork();
    GrassHopper tempGrassHopper = (GrassHopper) uow.registerObject(grassHopper);
    tempGrassHopper.setGh_maximumJump(new Integer(150));
    uow.commit();
  }
  protected void test() {
    // Read in a Country.
    aCountry = (Country) uow.readObject(Country.class);
    oldName = aCountry.getName();

    // Update the country and commit. Nothing should be written to the db.
    uow.registerObject(aCountry);
    aCountry.setName(aCountry.getName() + " 22");
    uow.commit();
  }
  protected void test() {
    UnitOfWork uow = getSession().acquireUnitOfWork();

    Employee empInsert = new Employee();
    empInsert.setFirstName("TestPerson");
    empInsert.setFemale();
    empInsert.setLastName("Smith");
    empInsert.setSalary(55555);
    uow.registerObject(empInsert);
    uow.commit();
  }
 protected void changeObject() {
   UnitOfWork uow = (UnitOfWork) getSession();
   Employee cloneEmployee = (Employee) workingCopy;
   for (int i = 0; i < managedEmployeesToAdd.size(); i++) {
     Employee cloneEmployeeToAdd = (Employee) uow.registerObject(managedEmployeesToAdd.get(i));
     cloneEmployee.addManagedEmployee(cloneEmployeeToAdd);
   }
   for (int i = 0; i < managedEmployeesToRemove.size(); i++) {
     Employee cloneEmployeeToRemove =
         (Employee) uow.registerObject(managedEmployeesToRemove.get(i));
     cloneEmployee.removeManagedEmployee(cloneEmployeeToRemove);
   }
   for (int i = 0; i < phonesToRemove.size(); i++) {
     PhoneNumber clonePhoneToRemove = (PhoneNumber) uow.registerObject(phonesToRemove.get(i));
     cloneEmployee.removePhoneNumber(clonePhoneToRemove);
   }
   for (int i = 0; i < phonesToAdd.size(); i++) {
     PhoneNumber clonePhoneToAdd = (PhoneNumber) uow.registerObject(phonesToAdd.get(i));
     cloneEmployee.addPhoneNumber(clonePhoneToAdd);
   }
 }
  /** This method was created in VisualAge. */
  protected void setup() {
    getAbstractSession().beginTransaction();

    // CREATE A GRASSHOPPER
    GrassHopper grassHopper = new GrassHopper();
    grassHopper.setIn_numberOfLegs(new Integer(6));
    grassHopper.setGh_maximumJump(new Integer(100));

    // ADD THE GRASSHOPPER TO THE DATABASE
    UnitOfWork uow = getSession().acquireUnitOfWork();
    uow.registerObject(grassHopper);
    uow.commit();
  }
  public void test() {
    transport = Transport.example6();
    UnitOfWork uow = getSession().acquireUnitOfWork();
    uow.registerObject(transport);
    uow.commit();

    transportId = transport.getId();

    DatabaseSession session = (DatabaseSession) getSession();
    ExpressionBuilder exp = new ExpressionBuilder();
    Expression expression = exp.get("id").equal(transportId);
    transport = (Transport) session.readObject(Transport.class, expression);
  }
  /** This method was created in VisualAge. */
  public void test() {
    // Insert a car
    org.eclipse.persistence.sessions.UnitOfWork uow = getSession().acquireUnitOfWork();
    uow.registerObject(this.theCar);
    uow.commit();

    // Get the car's ID
    Car carRead = (Car) getSession().readObject(this.theCar);
    this.carID = carRead.id;

    // Initialize idmaps
    getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
  }
 /** Insert address and then reset database/cache. */
 public void test() throws Exception {
   UnitOfWork uow = getSession().acquireUnitOfWork();
   Address address = new Address();
   address.setCity("NewCity");
   address.setPostalCode("N5J2N5");
   address.setProvince("ON");
   address.setStreet("1111 Mountain Blvd. Floor 13, suite 1");
   address.setCountry("Canada");
   uow.registerObject(address);
   uow.commit();
   getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
   getSession().executeNonSelectingCall(new SQLCall("Delete from ADDRESS where CITY = 'NewCity'"));
 }
 public void setup() {
   if (getSession().isDistributedSession()) {
     throw new TestWarningException(
         "Test unavailable on Remote UnitOfWork because of timing issues");
   }
   getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
   getSession().getDescriptor(ConcurrentAddress.class).getEventManager().addListener(listener);
   UnitOfWork uow = getSession().acquireUnitOfWork();
   this.person = ConcurrentPerson.example1();
   // get the UOW clone to ensure the PK will be set in the case of Isolate in UOW test model
   this.person = (ConcurrentPerson) uow.registerObject(this.person);
   uow.commit();
   ConcurrentAddress.RUNNING_TEST = ConcurrentAddress.LOCK_ON_CLONE_TEST;
 }
 public void test() {
   UnitOfWork uow = getSession().acquireUnitOfWork();
   cat = new Cat();
   cat.setName("Bud");
   appt = new VetAppointment();
   appt.setCost(100);
   List appts = new ArrayList();
   appts.add(appt);
   appt.getAnimal().setValue(cat);
   uow.registerObject(cat);
   uow.registerObject(appt);
   uow.commit();
   cat = (Cat) getSession().refreshObject(cat);
   appt = (VetAppointment) getSession().refreshObject(appt);
   catVersion = cat.getVersion();
   apptVersion = appt.getVersion();
   getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
   uow = getSession().acquireUnitOfWork();
   cat = (Cat) uow.readObject(cat);
   appt = (VetAppointment) cat.getAppointments().get(0);
   appt.setCost(99);
   uow.commit();
 }
  public void setup() {
    if (!(getSession().getPlatform() instanceof Oracle9Platform)) {
      throw new TestWarningException(
          "Test is only supported on Oracle9 platform and above, as TIMESTAMPTZ is used");
    }
    Oracle9Platform platform = (Oracle9Platform) getSession().getPlatform();

    //        this.oldPrintingValue = platform.getPrintCalendarIntoTimestampTZ();
    this.oldBindingValue = platform.shouldBindAllParameters();

    //        platform.setPrintCalendarIntoTimestampTZ(Boolean.TRUE);
    platform.setShouldBindAllParameters(true);

    // write myself out
    UnitOfWork uow = getSession().acquireUnitOfWork();
    uow.registerObject(this);
    uow.commit();
  }
  public void setup() {
    mapping =
        (DirectCollectionMapping)
            getSession()
                .getProject()
                .getDescriptor(DirectDirectMapHolder.class)
                .getMappingForAttributeName("directToDirectMap");
    oldFetchJoinValue = mapping.getJoinFetch();
    mapping.setJoinFetch(fetchJoinRelationship);
    getSession()
        .getProject()
        .getDescriptor(DirectDirectMapHolder.class)
        .reInitializeJoinedAttributes();

    UnitOfWork uow = getSession().acquireUnitOfWork();
    DirectDirectMapHolder holder = new DirectDirectMapHolder();
    holder.addDirectToDirectMapItem(new Integer(1), new Integer(1));
    holder.addDirectToDirectMapItem(new Integer(2), new Integer(2));
    uow.registerObject(holder);
    uow.commit();
    holderExp = (new ExpressionBuilder()).get("id").equal(holder.getId());
    getSession().getIdentityMapAccessor().initializeAllIdentityMaps();
  }
  public void populate(DatabaseSession session) {
    PopulationManager manager = PopulationManager.getDefaultManager();

    Cat cat = Cat.example1();
    session.writeObject(cat);
    manager.registerObject(cat, "catExample1");

    Dog dog = Dog.example1();
    session.writeObject(dog);
    manager.registerObject(dog, "dogExample1");

    cat = Cat.example2();
    session.writeObject(cat);
    manager.registerObject(cat, "catExample2");

    dog = Dog.example2();
    session.writeObject(dog);
    manager.registerObject(dog, "dogExample2");

    cat = Cat.example3();
    session.writeObject(cat);
    manager.registerObject(cat, "catExample3");

    dog = Dog.example3();
    session.writeObject(dog);
    manager.registerObject(dog, "dogExample3");

    Company company = Company.example1();
    session.writeObject(company);
    manager.registerObject(company, "example1");

    manager.registerObject(((Vector) company.getVehicles().getValue()).firstElement(), "example1");

    company = Company.example2();
    session.writeObject(company);
    manager.registerObject(company, "example2");

    company = Company.example3();
    session.writeObject(company);
    manager.registerObject(company, "example3");

    Person person = Person.example1();
    session.writeObject(person);
    manager.registerObject(person, "example1");

    // populate the data for duplicate field testing
    session.writeObject(A_King2.exp1());
    session.writeObject(A_King2.exp2());
    session.writeObject(A_1_King2.exp3());
    session.writeObject(A_2_King2.exp4());
    session.writeObject(A_2_1_King2.exp5());

    UnitOfWork unitOfWork = session.acquireUnitOfWork();
    person = Person.example2();
    unitOfWork.registerObject(person);
    unitOfWork.commit();
    manager.registerObject(person, "example2");
    manager.registerObject(person.bestFriend, "example5");
    manager.registerObject(person.representitive, "example4");

    person = Person.example3();
    session.writeObject(person);
    manager.registerObject(person, "example3");

    Computer computer = Computer.example1();
    session.writeObject(computer);
    manager.registerObject(computer, "example1");

    computer = Computer.example2();
    session.writeObject(computer);
    manager.registerObject(computer, "example2");

    computer = Computer.example3();
    session.writeObject(computer);
    manager.registerObject(computer, "example3");

    computer = Computer.example4();
    session.writeObject(computer);
    manager.registerObject(computer, "example4");

    computer = Computer.example5();
    session.writeObject(computer);
    manager.registerObject(computer, "example5");

    JavaProgrammer JP = JavaProgrammer.example1();
    session.writeObject(JP);
    manager.registerObject(JP, "example1");

    JP = JavaProgrammer.example2();
    session.writeObject(JP);
    manager.registerObject(JP, "example2");

    // Added to test bug 3019934.
    unitOfWork = session.acquireUnitOfWork();
    Alligator alligator = new Alligator();
    alligator.setFavoriteSwamp("Florida");
    alligator.setLatestVictim(JavaProgrammer.steve());
    unitOfWork.registerObject(alligator);
    manager.registerObject(alligator, "example1");
    unitOfWork.commit();

    // Added to test bug 6111278

    unitOfWork = session.acquireUnitOfWork();
    Entomologist bugguy = new Entomologist();
    bugguy.setId((int) System.currentTimeMillis());
    bugguy.setName("Gary");
    bugguy = (Entomologist) unitOfWork.registerObject(bugguy);
    Insect insect = new GrassHopper();
    insect.setIn_numberOfLegs(4);
    insect.setEntomologist(bugguy);
    bugguy.getInsectCollection().add(insect);
    unitOfWork.commit();
  }
  public void populate(DatabaseSession session) {
    Object instance;
    PopulationManager manager = PopulationManager.getDefaultManager();

    instance = LockInCache.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "Cache example1");

    instance = LockInCache.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "Cache example2");

    instance = LockInCache.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "Cache example3");

    instance = LockInObject.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "Object example1");

    instance = LockInObject.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "Object example2");

    instance = LockInObject.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "Object example3");

    instance = TimestampInCache.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "Cache TS example1");

    instance = TimestampInCache.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "Cache TS example2");

    instance = TimestampInCache.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "Cache TS example3");

    instance = TimestampInObject.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "Object TS example1");

    instance = TimestampInObject.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "Object TS example2");

    instance = TimestampInObject.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "Object TS example3");

    instance = ChangedRow.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "ChangedRow example1");

    instance = ChangedRow.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "ChangedRow example2");

    instance = ChangedRow.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "ChangedRow example3");

    instance = TimestampInAggregateObject.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "Aggregate Object TS example1");

    instance = TimestampInAggregateObject.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "Aggregate Object TS example2");

    instance = TimestampInAggregateObject.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "Aggregate Object TS example3");

    instance = LockInAggregateObject.example1();
    session.writeObject(instance);
    manager.registerObject(instance, "Lock Object TS example1");

    instance = LockInAggregateObject.example2();
    session.writeObject(instance);
    manager.registerObject(instance, "Lock Object TS example2");

    instance = LockInAggregateObject.example3();
    session.writeObject(instance);
    manager.registerObject(instance, "Lock Object TS example3");

    UnitOfWork uow = session.acquireUnitOfWork();
    instance = uow.registerObject(RockBand.example1());
    manager.registerObject(instance, "RockBand example1");
    instance = uow.registerObject(RockBand.example2());
    manager.registerObject(instance, "RockBand example2");
    uow.commit();
  }