@Test void updateNonSystemAbstractEntity() { when(dataService.getMeta()).thenReturn(metadataService); when(metadataService.getConcreteChildren(abstractEntityType)) .thenReturn(Stream.of(concreteEntityType1, concreteEntityType2)); doReturn(backend1).when(metadataService).getBackend(concreteEntityType1); doReturn(backend2).when(metadataService).getBackend(concreteEntityType2); String attributeId = "SDFSADFSDAF"; when(attribute.getIdentifier()).thenReturn(attributeId); Attribute currentAttribute = mock(Attribute.class); when(delegateRepository.findOneById(attributeId)).thenReturn(currentAttribute); when(currentAttribute.getEntity()).thenReturn(abstractEntityType); repo.update(attribute); verify(delegateRepository).update(attribute); verify(backend1).updateAttribute(concreteEntityType1, currentAttribute, attribute); verify(backend2).updateAttribute(concreteEntityType2, currentAttribute, attribute); }
@Override public void update(Attribute attr) { updateBackend(attr); delegate().update(attr); }
AttributeRepositoryDecorator extends AbstractRepositoryDecorator<Attribute> { @Override public void update(Attribute attr) { updateBackend(attr); delegate().update(attr); } }
AttributeRepositoryDecorator extends AbstractRepositoryDecorator<Attribute> { @Override public void update(Attribute attr) { updateBackend(attr); delegate().update(attr); } AttributeRepositoryDecorator(
      Repository<Attribute> delegateRepository, DataService dataService); }
AttributeRepositoryDecorator extends AbstractRepositoryDecorator<Attribute> { @Override public void update(Attribute attr) { updateBackend(attr); delegate().update(attr); } AttributeRepositoryDecorator(
      Repository<Attribute> delegateRepository, DataService dataService); @Override void update(Attribute attr); @Override void update(Stream<Attribute> attrs); }
AttributeRepositoryDecorator extends AbstractRepositoryDecorator<Attribute> { @Override public void update(Attribute attr) { updateBackend(attr); delegate().update(attr); } AttributeRepositoryDecorator(
      Repository<Attribute> delegateRepository, DataService dataService); @Override void update(Attribute attr); @Override void update(Stream<Attribute> attrs);  }