KewTypeBoServiceImpl implements KewTypeRepositoryService { @Override public void updateKewTypeAttribute(KewTypeAttribute kewTypeAttribute) { if (kewTypeAttribute == null) { throw new RiceIllegalArgumentException("kewTypeAttribute is null"); } final KewTypeAttributeBo existing = dataObjectService.find(KewTypeAttributeBo.class, kewTypeAttribute.getId()); if (existing == null) { throw new RiceIllegalStateException("The KEW type Attribute does not exist: " + kewTypeAttribute); } final KewTypeAttribute toUpdate; if (!existing.getId().equals(kewTypeAttribute.getId())){ final KewTypeAttribute.Builder builder = KewTypeAttribute.Builder.create(kewTypeAttribute); builder.setId(existing.getId()); toUpdate = builder.build(); } else { toUpdate = kewTypeAttribute; } KewTypeBo kewType = existing.getType(); if (!existing.getTypeId().equals(kewTypeAttribute.getTypeId())) { kewType = dataObjectService.find(KewTypeBo.class, kewTypeAttribute.getTypeId()); } dataObjectService.save(KewTypeAttributeBo.from(toUpdate, kewType)); }  @Override KewTypeDefinition createKewType(KewTypeDefinition kewType); @Override void updateKewType(KewTypeDefinition kewType); @Override KewTypeDefinition getTypeById(final String id); @Override KewTypeDefinition getTypeByNameAndNamespace(final String name, final String namespace); @Override List<KewTypeDefinition> findAllTypesByNamespace(final String namespace); @Override List<KewTypeDefinition> findAllTypes(); void setDataObjectService(final DataObjectService dataObjectService); @Override void createKewTypeAttribute(KewTypeAttribute kewTypeAttribute); @Override void updateKewTypeAttribute(KewTypeAttribute kewTypeAttribute);  }
@Test(expected = IllegalArgumentException.class) public void test_updateKewTypeAttribute_null_input() { getKewTypeBoService().updateKewTypeAttribute(null); }