code: @PUT
  	@Produces(MediaType.APPLICATION_JSON)
  	@Consumes(MediaType.APPLICATION_JSON)
  	@Path("/{dashboardId}")
  	@Description("Updates a dashboard having the given ID.")
  	public DashboardDto updateDashboard(@Context HttpServletRequest req,
  			@PathParam("dashboardId") BigInteger dashboardId, DashboardDto dashboardDto) {
  		if (dashboardId == null || dashboardId.compareTo(BigInteger.ZERO) < 1) {
  			throw new WebApplicationException("Dashboard Id cannot be null and must be a positive non-zero number.", Status.BAD_REQUEST);
  		}
  		if (dashboardDto == null) {
  			throw new WebApplicationException("Null object cannot be updated.", Status.BAD_REQUEST);
  		}
  
  		PrincipalUser owner = validateAndGetOwner(req, dashboardDto.getOwnerName());
  		Dashboard oldDashboard = dService.findDashboardByPrimaryKey(dashboardId);
  
  		if (oldDashboard == null) {
  			throw new WebApplicationException(Response.Status.NOT_FOUND.getReasonPhrase(), Response.Status.NOT_FOUND);
  		}
  		validateResourceAuthorization(req, oldDashboard.getOwner(), owner);
  		copyProperties(oldDashboard, dashboardDto);
  		oldDashboard.setModifiedBy(getRemoteUser(req));
  		return DashboardDto.transformToDto(dService.updateDashboard(oldDashboard));
  	}
docs: Updates a dashboard having the given ID.
  
  @param   req           The HTTP request.
  @param   dashboardId   The dashboard ID to update.
  @param   dashboardDto  The updated date.
  
  @return  The updated dashboard DTO.
  
  @throws  WebApplicationException  If an error occurs.