Create ProviderService and ProviderServiceImpl with methods:
- List<Provider> getAllProviders()
- List<Provider> getProviders(String query, Integer start, Integer length)
- Integer getCountOfProviders(String query)
- Provider getProvider(Integer)
- Provider getProviderByUuid(String)
- Provider saveProvider(Provider)
- Provider retireProvider(Provider, String reason)
- Provider unretireProvider(Provider)
- void purgeProvider(Provider)
Create ProviderDAO and HibernateProviderDAO to support the service.
I suspect that the query to search for providers by name or id is going to be quite complicated, so I'm marking this ticket as complex. The idea is that you should search for matches either on the provider.name column, or else on any non-voided provider.person.names.