package org.qi4j.samples.forum.context.login;
import org.qi4j.api.constraint.Name;
import org.qi4j.api.injection.scope.Structure;
import org.qi4j.api.query.QueryExpressions;
import org.qi4j.api.structure.Module;
import org.qi4j.samples.forum.data.entity.User;
/**
* TODO
*/
public class Login
{
@Structure
Module module;
public void login( @Name( "name" ) String name, @Name( "password" ) String password )
{
User user = module.currentUnitOfWork()
.newQuery( module.newQueryBuilder( User.class )
.where( QueryExpressions.eq( QueryExpressions.templateFor( User.class ).name(), name ) ) )
.find();
if( user == null || !user.isCorrectPassword( password ) )
{
throw new IllegalArgumentException( "Login incorrect" );
}
}
}