diff options
Diffstat (limited to 'connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/SpringMVCGUIFormBuilderImpl.java')
-rw-r--r-- | connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/SpringMVCGUIFormBuilderImpl.java | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/SpringMVCGUIFormBuilderImpl.java b/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/SpringMVCGUIFormBuilderImpl.java deleted file mode 100644 index 84218611..00000000 --- a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/SpringMVCGUIFormBuilderImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -package at.asitplus.eidas.specific.connector.gui; - -import java.util.Locale; -import java.util.Map; - -import javax.annotation.Nullable; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.servlet.LocaleResolver; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.View; -import org.springframework.web.servlet.ViewResolver; - -import at.gv.egiz.eaaf.core.api.gui.IGUIBuilderConfiguration; -import at.gv.egiz.eaaf.core.api.gui.ISpringMVCGUIFormBuilder; -import at.gv.egiz.eaaf.core.exceptions.GUIBuildException; - -public class SpringMVCGUIFormBuilderImpl implements ISpringMVCGUIFormBuilder { - private static final Logger log = LoggerFactory.getLogger(SpringMVCGUIFormBuilderImpl.class); - - private @Autowired(required=false) ViewResolver[] viewResolvers; - private @Autowired(required=false) LocaleResolver localeResolver; - - @Override - public void build(HttpServletRequest httpReq, HttpServletResponse httpResp, IGUIBuilderConfiguration config, - String loggerName) throws GUIBuildException { - build(httpReq, httpResp, config, null, loggerName); - - } - - @Override - public void build(HttpServletRequest httpReq, HttpServletResponse httpResp, IGUIBuilderConfiguration config, - String contentType, String loggerName) throws GUIBuildException { - try { - final ModelAndView mav = new ModelAndView(config.getViewName()); - if (config.getViewParameters() != null) - mav.addAllObjects(config.getViewParameters()); - - render(mav, httpReq, httpResp); - - } catch (final Exception e) { - log.info("Can NOT generate GUI for illustration", e); - throw new GUIBuildException(e.getMessage(), e); - - } - - } - - protected void render(ModelAndView mv, HttpServletRequest request, HttpServletResponse response) throws Exception { - // Determine locale for request and apply it to the response. - final Locale locale = - (this.localeResolver != null ? this.localeResolver.resolveLocale(request) : request.getLocale()); - response.setLocale(locale); - - View view; - final String viewName = mv.getViewName(); - if (viewName != null) { - // We need to resolve the view name. - view = resolveViewName(viewName, mv.getModelMap(), locale, request); - if (view == null) - throw new ServletException("Could not resolve view with name '" + mv.getViewName() + "' "); - - } else { - // No need to lookup: the ModelAndView object contains the actual View object. - view = mv.getView(); - if (view == null) - throw new ServletException("ModelAndView [" + mv + "] neither contains a view name nor a " + "View object "); - - } - - // Delegate to the View object for rendering. - if (log.isTraceEnabled()) - log.trace("Rendering view [" + view + "] "); - - try { - if (mv.getStatus() != null) - response.setStatus(mv.getStatus().value()); - - view.render(mv.getModelMap(), request, response); - - } catch (final Exception ex) { - if (log.isDebugEnabled()) - log.debug("Error rendering view [" + view + "]", ex); - - throw ex; - - } - - } - - protected View resolveViewName(String viewName, @Nullable Map<String, Object> model, - Locale locale, HttpServletRequest request) throws Exception { - if (viewResolvers != null) { - for (final ViewResolver viewResolver : this.viewResolvers) { - final View view = viewResolver.resolveViewName(viewName, locale); - if (view != null) - return view; - - } - } - - return null; - } - -} |