Source Code of the UserService example
Untested Code
we have to mention that this source code is for demonstration purposes only and leaves some implementation details out of scope to reduce the noise and make the ideas more understandable. You are free to use it when you like, but on your own risk
SVN Location
you can check out the whole code with following command:
svn co http://svn.anotheria.net/opensource/ano-examples/trunk ano-examples
Service Interface and Protocol
Service Interface
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserService.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserService.java').getText()
println '
' + data + '
'
User
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/User.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/User.java').getText()
println '
' + data + '
'
UserId
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserId.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserId.java').getText()
println '
' + data + '
'
NullUser
A NullUser object is used internally to store non-existing users in caches and externally to add not-existing users to the list.
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/NullUser.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/NullUser.java').getText()
println '
' + data + '
'
Exceptions
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserServiceException.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserServiceException.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/DuplicateEmailException.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/DuplicateEmailException.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/NoSuchUserException.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/NoSuchUserException.java').getText()
println '
' + data + '
'
Implementation
UserServiceImpl
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserServiceImpl.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserServiceImpl.java').getText()
println '
' + data + '
'
UserServiceFactory
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserServiceFactory.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/UserServiceFactory.java').getText()
println '
' + data + '
'
Persistence
Persistence Service Interface
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/UserPersistenceService.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/UserPersistenceService.java').getText()
println '
' + data + '
'
Persistence Implementation
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/UserPersistenceServiceImpl.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/UserPersistenceServiceImpl.java').getText()
println '
' + data + '
'
Exceptions
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/UserPersistenceServiceException.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/UserPersistenceServiceException.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/NoSuchUserPersistenceUserServiceException.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/NoSuchUserPersistenceUserServiceException.java').getText()
println '
' + data + '
'
DAO Interfaces
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/AbstractUserDAO.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/AbstractUserDAO.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/DAOException.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/DAOException.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/LastLoginDAO.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/LastLoginDAO.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/PasswordDAO.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/PasswordDAO.java').getText()
println '
' + data + '
'
SVN: ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/UserDAO.java
def data = new URL('http://svn.anotheria.net/opensource/ano-examples/trunk/java/net/anotheria/examples/anatomyofaservice/userservice/persistence/dao/UserDAO.java').getText()
println '
' + data + '
'