/** * */ package org.inbio.m3s.gwt.server.rpcimpl; import java.util.ArrayList; import java.util.List; import org.inbio.gwt.controlledtext.client.dto.TextInfo; import org.inbio.gwt.controlledtext.client.exception.ControlledTextException; import org.inbio.gwt.controlledtext.client.rpc.ControlledTextRPC; import org.inbio.m3s.config.Properties; import org.inbio.m3s.dto.message.ProjectDTO; import org.inbio.m3s.service.MessageManager; import org.inbio.m3s.util.ServiceUtil; import com.google.gwt.user.server.rpc.RemoteServiceServlet; /** * @author jgutierrez * */ public class ProjectsRPCImpl extends RemoteServiceServlet implements ControlledTextRPC { /** * */ private static final long serialVersionUID = 8406703151409380736L; private MessageManager messageManager = (MessageManager) ServiceUtil.appContext.getBean(Properties.MESSAGE_MANAGER); public List<String> getAllTexts() { List<ProjectDTO> projects = messageManager.getAllProjects(); List<String> result = new ArrayList<String>(); for(ProjectDTO pDTO : projects) result.add(pDTO.getName()); return result; } public TextInfo getTextInfo(String text) throws ControlledTextException { ProjectDTO pDTO = messageManager.getProjectByName(text); if (pDTO != null){ return new TextInfo(new Integer(pDTO.getProjectKey()),pDTO.getName()); } else{ throw new ControlledTextException( "La palabra '"+text+"' no es vĂ¡lida."); } } /** * @param messageManager the messageManager to set */ public void setMessageManager(MessageManager messageManager) { this.messageManager = messageManager; } /** * @return the messageManager */ public MessageManager getMessageManager() { return messageManager; } }