/** * */ package net.conselldemallorca.helium.webapp.mvc; import java.util.Calendar; import javax.servlet.http.HttpServletRequest; import net.conselldemallorca.helium.core.model.service.TerminiService; import net.conselldemallorca.helium.core.util.GlobalProperties; import net.conselldemallorca.helium.webapp.mvc.util.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; /** * Controlador per la gestiĆ³ de dies festius * * @author Limit Tecnologies <limit@limit.es> */ @Controller public class FestiuController extends BaseController { private TerminiService terminiService; @Autowired public FestiuController( TerminiService terminiService) { this.terminiService = terminiService; } @RequestMapping(value = "/festiu/calendari") public String llistat( HttpServletRequest request, @RequestParam(value = "any", required = false) Integer any, ModelMap model) { Calendar cal = Calendar.getInstance(); int anyActual = (any != null) ? any : cal.get(Calendar.YEAR); int[] darrerDiaMes = new int[12]; int[] diaSetmanaIniciMes = new int[12]; for (int i = 0; i < 12; i++) { cal.set(Calendar.YEAR, anyActual); cal.set(Calendar.MONTH, i); cal.set(Calendar.DAY_OF_MONTH, 1); diaSetmanaIniciMes[i] = (cal.get(Calendar.DAY_OF_WEEK) + 6) % 7; if (diaSetmanaIniciMes[i] == 0) diaSetmanaIniciMes[i] = 7; cal.add(Calendar.MONTH, 1); cal.add(Calendar.DAY_OF_MONTH, -1); darrerDiaMes[i] = cal.get(Calendar.DAY_OF_MONTH); } model.addAttribute( "darrerDiaMes", darrerDiaMes); model.addAttribute( "diaSetmanaIniciMes", diaSetmanaIniciMes); model.addAttribute( "anyInicial", new Integer(anyActual - 5)); model.addAttribute( "anyActual", new Integer(anyActual)); model.addAttribute( "anyFinal", new Integer(anyActual + 5)); model.addAttribute( "festius", terminiService.findFestiuAmbAny(anyActual)); String nolabsStr = GlobalProperties.getInstance().getProperty("app.calendari.nolabs"); if (nolabsStr != null) { model.addAttribute( "nolabs", nolabsStr.split(",")); } return "festiu/calendari"; } }