package org.salamanca.commands.user;
import org.salamanca.commands.ICommand;
import org.salamanca.domain.User;
import org.salamanca.broker.BrokerServer;
import javax.jdo.*;
import java.util.*;
import org.salamanca.commands.MessageException;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class InsertarUsuario implements ICommand {
User user;
/**
* InsertarUsuario
*
* @param user User
*/
public InsertarUsuario(User user) {
this.user = user;
}
/**
* getCommandName
*
* @return String
*/
public String getCommandName() {
return this.getClass().getName();
}
/**
* getBarDelimitedParameters
*
* @return String
*/
public String getBarDelimitedParameters() {
return user.getName();
}
/**
* execute
*/
public void execute() throws MessageException {
if(user.getName().trim().length()==0){
throw new MessageException(
"EL nombre del usuario no puede estar vacio");
}
PersistenceManager pm = BrokerServer.instance().getPMF().
getPersistenceManager();
Vector v = BrokerServer.instance().query(User.class,
"name==\"" + user.getName()+"\"");
if (v.size() == 0) { // solo se permite una vez cada nombre de usuario
pm.currentTransaction().begin();
pm.makePersistent(user);
pm.currentTransaction().commit();
}
}
}