package br.uff.ic.gems.peixeespadacliente.action; import br.uff.ic.gems.peixeespadacliente.model.agent.LocalManagerAgent; import br.uff.ic.gems.peixeespadacliente.tool.RefactoringTool; import br.uff.ic.oceano.core.exception.ServiceException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import translation.Translate; /** * * @author Heliomar */ public class DoInitWork extends AbstractAction { @Override public LocalManagerAgent execute(LocalManagerAgent agentPeixeEspada) throws ServiceException { Translate translate = Translate.getTranslate(); agentPeixeEspada.setStatus(LocalManagerAgent.STATUS_WAITING_SERVER); agentPeixeEspada.getOutput().fieldStatus.setText(LocalManagerAgent.STATUS_WAITING_SERVER); agentPeixeEspada.appendMessage(translate.startingWork()); //solicita trabalho (refactoring) e avisa que iniciará o trabalho List<String> refactorings = clientService.agentWorking(agentPeixeEspada); // lista de refactorings para EXPERIMENTO refactorings = new ArrayList<String>(Arrays.asList( RefactoringTool.PULL_UP_METHODS, // RefactoringTool.PULL_UP_FIELDS, // RefactoringTool.PUSH_DOWN_METHODS, // RefactoringTool.PUSH_DOWN_FIELDS, // RefactoringTool.ENCAPSULATE_FIELDS, // RefactoringTool.CLEAN_IMPORTS, // RefactoringTool.ADD_DELEGATE_METHODS, // RefactoringTool.EXTRACT_INTERFACES, // RefactoringTool.USE_SUPER_TYPES, // RefactoringTool.CREATE_FACTORY_METHODS, // RefactoringTool.INLINE_METHODS, "<<FIM>>" // Linha usada para permitir deixar "," sobrando na lista. Ela é removida, não adicione nada após )); refactorings.remove(refactorings.size()-1); agentPeixeEspada.appendMessage(translate.suggestedRefactorings(refactorings+"")); agentPeixeEspada.setSequenceRefactorings(refactorings); agentPeixeEspada.setStatus(LocalManagerAgent.STATUS_WORKING); agentPeixeEspada.getOutput().fieldStatus.setText(LocalManagerAgent.STATUS_WORKING); return agentPeixeEspada; } }