diff options
Diffstat (limited to 'connector_lib')
3 files changed, 15 insertions, 127 deletions
| diff --git a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/DefaultVelocityGuiBuilderImpl.java b/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/DefaultVelocityGuiBuilderImpl.java index e7ebc92f..2283081e 100644 --- a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/DefaultVelocityGuiBuilderImpl.java +++ b/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/DefaultVelocityGuiBuilderImpl.java @@ -25,10 +25,14 @@ package at.asitplus.eidas.specific.connector.gui;  import java.io.InputStream; +import javax.servlet.http.HttpServletRequest; +  import org.slf4j.Logger;  import org.slf4j.LoggerFactory; +import org.springframework.http.MediaType;  import org.springframework.stereotype.Service; +import at.gv.egiz.eaaf.core.api.gui.IGuiBuilderConfiguration;  import at.gv.egiz.eaaf.core.api.gui.IVelocityGuiBuilderConfiguration;  import at.gv.egiz.eaaf.core.exceptions.GuiBuildException;  import at.gv.egiz.eaaf.core.impl.gui.AbstractVelocityGuiFormBuilderImpl; @@ -63,4 +67,11 @@ public class DefaultVelocityGuiBuilderImpl extends AbstractVelocityGuiFormBuilde      }    } +  @Override +  public String evaluateResponseContentType(HttpServletRequest httpReq, IGuiBuilderConfiguration config, +      String loggerName) throws GuiBuildException { +    return MediaType.TEXT_HTML_VALUE; +     +  } +  } 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 70ab73ad..00000000 --- a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/SpringMvcGuiFormBuilderImpl.java +++ /dev/null @@ -1,123 +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.http.HttpStatus; -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 { -      HttpStatus status = mv.getStatus(); -      if (status != null) { -        response.setStatus(status.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; -  } - -} diff --git a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/StaticGuiBuilderConfiguration.java b/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/StaticGuiBuilderConfiguration.java index 25f5beda..9701ddda 100644 --- a/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/StaticGuiBuilderConfiguration.java +++ b/connector_lib/src/main/java/at/asitplus/eidas/specific/connector/gui/StaticGuiBuilderConfiguration.java @@ -26,7 +26,7 @@ package at.asitplus.eidas.specific.connector.gui;  import java.io.IOException;  import java.io.InputStream; -import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils;  import org.slf4j.Logger;  import org.slf4j.LoggerFactory;  import org.springframework.core.io.Resource; @@ -123,16 +123,16 @@ public class StaticGuiBuilderConfiguration extends AbstractGuiFormBuilderConfigu    @Override    public void putCustomParameter(GroupDefinition group, String key, String value) { -    setViewParameter(getFromGroup(), key, StringEscapeUtils.escapeHtml(value)); +    setViewParameter(getFromGroup(), key, StringEscapeUtils.escapeHtml4(value));    }    @Override    protected void putSpecificViewParameters() {      if (pendingReq != null) { -      setViewParameter(getFromGroup(), PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml(pendingReq +      setViewParameter(getFromGroup(), PARAM_PENDINGREQUESTID, StringEscapeUtils.escapeHtml4(pendingReq            .getPendingRequestId())); -      setViewParameter(getFromGroup(), PARAM_PENDINGREQUESTID_DEPRECATED, StringEscapeUtils.escapeHtml( +      setViewParameter(getFromGroup(), PARAM_PENDINGREQUESTID_DEPRECATED, StringEscapeUtils.escapeHtml4(            pendingReq.getPendingRequestId()));      } | 
