1 Reply Latest reply on Oct 9, 2006 8:41 AM by T._Ruggles

    on createItem collections do not refresh

      Not sure if this is a bug. Here's how to reproduce the error.

      1) in the crm sample application, change the fill line in the companyChange function to read:
      dsEmployee.fill(employees, company) //change from companyId int to company VO

      2) in the crm sample application, addEmployee function, replace this line:
      with this:
      (you don't have to do this if you keep 2 instances of the app running)

      3) in the crm.samples.EmployeeAssembler fill method, change the fill by commenting out everything after the line that says return dao.GetEmployees(); and replace them with these lines:
      Company cp = (Company) fillParameters.get(0);
      return dao.findEmployeesByCompany(cp.getCompanyId());

      4) in the crm.samples.EmployeeAssembler createItem method, replace the second dtx.refreshFill with the following line:
      dtx.refreshFill("crm.employee", Arrays.asList( new Object[] {newEmployee.getCompany()}));

      It appears that even though the DataService accepts Value Objects as parameters for a fill command, it does not recognize anyone as a valid subscriber for refreshes triggered by createItem(). I turned on logging to Debug and get this:
      Refresh Fill: destination=crm.employee fillParameters=[samples.crm.Company] matched no sequence currently managed on clients.
      I get this even though I only have one client running and that exact fill is the only one that should be active:

      Just as a side note I've tried:
      Having Company Implement Comparable.
      Having Company with its own equals() which always returns true;
      Having Company with its own ToString() which I have coded to output to console when it's accessed proving DataService does in fact make the mapping correctly at some point.
      Removing the dtx stuff and using the default refreshFill() methods.
      Observing the messages returned to the client.
      Observing the lack of messages returned to a second client viewing the same set of employees when i add new record.
      Confimed that updateItem and DeleteItem work fine regardless.