package org.opennaas.gui.vcpe.controllers; import java.util.Locale; import javax.servlet.http.HttpSession; import javax.validation.Valid; import org.apache.log4j.Logger; import org.opennaas.gui.vcpe.entities.SingleProviderLogical; import org.opennaas.gui.vcpe.entities.SingleProviderPhysical; import org.opennaas.gui.vcpe.services.rest.RestServiceException; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; /** * @author Jordi */ @Controller public class SingleProviderController extends VCPENetworkController { private static final Logger LOGGER = Logger.getLogger(SingleProviderController.class); /** * Redirect to the single provider physical view * * @param templateType * @param model * @param locale * @return */ @Override @RequestMapping(method = RequestMethod.GET, value = "/secure/admin/vcpeNetwork/singleProvider/physical") public String getPhysicalForm(@RequestParam("templateType") String templateType, Model model, Locale locale) { return super.getPhysicalForm(templateType, model, locale); } /** * Redirect to the form to create a single provider VCPENetwork * * @param model * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/admin/vcpeNetwork/singleProvider/logical") public String getLogicalForm(@ModelAttribute("physicalInfrastructure") SingleProviderPhysical physical, Model model, Locale locale) { return super.getLogicalForm(physical, model, locale); } /** * Create a single provider VCPE Network * * @param logical * @param result * @return * @throws RestServiceException */ @RequestMapping(method = RequestMethod.POST, value = "/secure/admin/vcpeNetwork/singleProvider/create") public String create(@Valid @ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, BindingResult result, Model model, Locale locale, HttpSession session) { return super.create(logical, result, model, locale, session); } /** * Delete a single provider VCPE Network * * @param vcpeNetworkId * @param model * @param locale * @return */ @Override @RequestMapping(method = RequestMethod.GET, value = "/secure/admin/vcpeNetwork/singleProvider/delete") public String delete(String vcpeNetworkId, Model model, Locale locale, HttpSession session) { return super.delete(vcpeNetworkId, model, locale, session); } /** * Edit a single provider VCPE Network * * @param vcpeNetwork * @param result * @return */ @Override @RequestMapping(method = RequestMethod.GET, value = "/secure/vcpeNetwork/singleProvider/edit") public String edit(String vcpeNetworkId, Model model, Locale locale) { return super.edit(vcpeNetworkId, model, locale); } /** * Update a single provider VCPE Network (admin user) * * @param logical * @param result * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/admin/vcpeNetwork/singleProvider/update") public String updateAdmin(@Valid @ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, BindingResult result, Model model, Locale locale, HttpSession session) { return update(logical, result, model, locale, session); } /** * Update a single provider VCPE Network * * @param logical * @param result * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/vcpeNetwork/singleProvider/update") public String update(@Valid @ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, BindingResult result, Model model, Locale locale, HttpSession session) { return super.update(logical, result, model, locale, session); } /** * Redirect to the form to modify the ip's. Client entry method * * @param vcpeNetworkId * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.GET, value = "/secure/vcpeNetwork/singleProvider/updateIpsForm") public String updateIpsForm(String vcpeNetworkId, Model model, Locale locale) { LOGGER.debug("updateIpsForm entity with id: " + vcpeNetworkId); try { model.addAttribute("logicalInfrastructure", vcpeNetworkBO.getById(vcpeNetworkId)); } catch (RestServiceException e) { model.addAttribute("errorMsg", messageSource .getMessage("vcpenetwork.edit.message.error", null, locale)); } return "updateIpsVCPENetwork"; } /** * Update the ip's * * @param logical * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/vcpeNetwork/singleProvider/updateIps") public String updateIps(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { LOGGER.debug("update Ips of VCPENetwork: " + logical); try { vcpeNetworkBO.updateIps(logical); model.addAttribute("logicalInfrastructure", vcpeNetworkBO.getById(logical.getId())); model.addAttribute("infoMsg", messageSource .getMessage("vcpenetwork.updateIps.message.info", null, locale)); } catch (RestServiceException e) { model.addAttribute("errorMsg", messageSource .getMessage("vcpenetwork.updateIps.message.error", null, locale)); } return "updateIpsVCPENetwork"; } /** * Modify the VRRP IP address (admin user) * * @param singleProviderLogical * @param model * @param locale * @return * @throws RestServiceException */ @RequestMapping(method = RequestMethod.POST, value = "/secure/admin/vcpeNetwork/singleProvider/updateVRRPIp") public String updateVRRPIpAdmin(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { return updateVRRPIp(logical, model, locale); } /** * Modify the VRRP IP address (NOC user) * * @param singleProviderLogical * @param model * @param locale * @return * @throws RestServiceException */ @RequestMapping(method = RequestMethod.POST, value = "/secure/noc/vcpeNetwork/singleProvider/updateVRRPIp") public String updateVRRPIpNoc(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { return updateVRRPIp(logical, model, locale); } /** * Modify the VRRP IP address * * @param singleProviderLogical * @param model * @param locale * @return * @throws RestServiceException */ @RequestMapping(method = RequestMethod.POST, value = "/secure/vcpeNetwork/singleProvider/updateVRRPIp") public String updateVRRPIp(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { LOGGER.debug("update VRRP ip of VCPENetwork: " + logical); try { vcpeNetworkBO.updateVRRPIp(logical); model.addAttribute("action", "update"); model.addAttribute("logicalInfrastructure", vcpeNetworkBO.getById(logical.getId())); model.addAttribute("infoMsg", messageSource .getMessage("vcpenetwork.updateVRRPIp.message.info", null, locale)); } catch (RestServiceException e) { model.addAttribute("errorMsg", messageSource .getMessage("vcpenetwork.updateVRRPIp.message.error", null, locale)); } return "logicalForm"; } /** * Change the priority in VRRP (admin user) * * @param singleProviderLogical * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/admin/vcpeNetwork/singleProvider/changeVRRPPriority") public String changeVRRPPriorityAdmin(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { return changeVRRPPriority(logical, model, locale); } /** * Change the priority in VRRP (NOC user) * * @param singleProviderLogical * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/noc/vcpeNetwork/singleProvider/changeVRRPPriority") public String changeVRRPPriorityNoc(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { return changeVRRPPriority(logical, model, locale); } /** * Change the priority in VRRP * * @param singleProviderLogical * @param model * @param locale * @return */ @RequestMapping(method = RequestMethod.POST, value = "/secure/vcpeNetwork/singleProvider/changeVRRPPriority") public String changeVRRPPriority(@ModelAttribute("logicalInfrastructure") SingleProviderLogical logical, Model model, Locale locale) { LOGGER.debug("change priority VRRP of VCPENetwork: " + logical); try { model.addAttribute("action", "update"); model.addAttribute("logicalInfrastructure", vcpeNetworkBO.changeVRRPPriority(logical)); model.addAttribute("infoMsg", messageSource .getMessage("vcpenetwork.changeVRRPPriority.message.info", null, locale)); } catch (RestServiceException e) { model.addAttribute("errorMsg", messageSource .getMessage("vcpenetwork.changeVRRPPriority.message.error", null, locale)); } return "logicalForm"; } }