@Override
 protected ProjectDto createProject() {
   ProjectDto project = DtoFactory.projectDto();
   project.setName(projectDto.getName());
   project.setId(projectDto.getId());
   project.setBoardIds(projectDto.getBoardIds());
   project.setVersion(projectDto.getVersion());
   return project;
 }
  @Override
  public void messageArrived(Message<ProjectDto> message) {
    if (message.getPayload() == null) {
      return;
    }

    if (message.getPayload().getId().equals(projectDto.getId())) {
      projectDto = message.getPayload();
    }
  }
  @Override
  protected void onOkClicked(final ProjectDto project) {
    project.setCommandName(CommandNames.EDIT_PROJECT.name);

    ServerCaller.<Dtos.ProjectDto, Dtos.ProjectDto>sendRequest(
        project,
        Dtos.ProjectDto.class,
        new ResourceClosingCallback<Dtos.ProjectDto>(ProjectEditingComponent.this) {

          @Override
          public void success(Dtos.ProjectDto response) {
            projectDto = response;
            MessageBus.sendMessage(
                new ProjectEditedMessage(projectDto, ProjectEditingComponent.this));
            MessageBus.sendMessage(
                new ProjectChangedMessage(projectDto, ProjectEditingComponent.this));
          }
        });
  }
 @Override
 protected String getProjectName() {
   return projectDto.getName();
 }