Buggy code:
@ Controller @ RequestMapping ( "admin//course" ) public class CoursesController implements MenuItem { private static final String COURSE = "course" ; private static final String TYPES = "types" ; private static final String STATUSES = "statuses" ; private static final String CATEGORIES = "categories" ; private static final String TAGS = "tags" ; private static final String EXPERTS = "experts" ; private static final String VALIDATION_RULES = "validationRules" ; private static final String REDIRECT = "redirect:" ; private static final String ADMIN = "//admin" ; private static final String ROOT = "portal//admin" ; private static final String VIEW = "view//" ; private static final String UPDATE_VIEW = "//course//courseUpdate" ; private static final String CREATE_VIEW = "//course//courseCreate" ; private static final String DETAILS_VIEW = "//course//courseDetails" ; private static final String NEWS_CREATED = "?newsJustCreated=" ; @ Autowired private CourseService courseService ; @ Autowired private UserService userService ; @ Autowired private ValidationContext validationContext ; @ RequestMapping ( value = "//create" , method = RequestMethod . GET ) public ModelAndView create ( ) { } @ RequestMapping ( value = "//save" , method = RequestMethod . POST ) public String save ( @ ModelAttribute ( CoursesController . COURSE ) final Course course , @ RequestParam ( required = false ) final boolean published , @ RequestParam ( required = false ) final boolean newsCreated ) { } @ RequestMapping ( value = ( CoursesController . VIEW ) + "{courseCode}" , method = RequestMethod . GET ) public ModelAndView single ( @ PathVariable final String courseCode , @ RequestParam ( required = false ) boolean newsJustCreated ) { } @ RequestMapping ( value = "//{courseCode}//update" , method = RequestMethod . GET ) public ModelAndView update ( @ PathVariable final String courseCode ) { } @ RequestMapping ( value = "//update" , method = RequestMethod . POST ) public String update ( @ ModelAttribute ( CoursesController . COURSE ) final Course course , @ RequestParam ( required = false ) final boolean published , @ RequestParam ( required = false ) final boolean newsCreated ) { <START_BUG> courseService . update ( published , published , course ) ; <END_BUG> return ( ( ( ( CoursesController . REDIRECT ) + ( CoursesController . VIEW ) ) + ( course . getCode ( ) ) ) + ( CoursesController . NEWS_CREATED ) ) + newsCreated ; } @ RequestMapping ( value = "//delete//{courseCode}" , method = RequestMethod . GET ) public String delete ( @ PathVariable final String courseCode ) { } @ RequestMapping ( value = "//publish//{courseCode}" , method = RequestMethod . GET ) public String publish ( @ PathVariable final String courseCode , @ RequestParam ( required = false ) final boolean newsCreated ) { } @ RequestMapping ( value = "//archive//{courseCode}" , method = RequestMethod . GET ) public String archive ( @ PathVariable final String courseCode ) { } @ ModelAttribute ( CoursesController . COURSE ) public Course getCommandObject ( ) { } @ ModelAttribute ( CoursesController . CATEGORIES ) public Map < String , String > getCategories ( ) { } @ ModelAttribute ( CoursesController . EXPERTS ) public Map < String , String > getExpertUsers ( ) { } @ ModelAttribute ( CoursesController . STATUSES ) public Collection < String > getStatuses ( ) { } @ InitBinder ( CoursesController . COURSE ) public void initBinder ( final WebDataBinder binder ) { } @ Override public String getMenuItem ( ) { } }

Fix:
courseService . update ( published , newsCreated , course ) ;