CitizenIntelligenceAgencySpringVaadinServlet.java
- /*
- * Copyright 2010-2025 James Pether Sörling
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * $Id$
- * $HeadURL$
- */
- package com.hack23.cia.web.impl.ui.application;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.vaadin.annotations.VaadinServletConfiguration;
- import com.vaadin.server.DefaultUIProvider;
- import com.vaadin.server.UIProvider;
- import com.vaadin.server.VaadinServletService;
- import com.vaadin.server.VaadinSession;
- import com.vaadin.spring.internal.UIScopeImpl;
- import com.vaadin.spring.internal.VaadinSessionScope;
- import com.vaadin.spring.server.SpringVaadinServlet;
- /**
- * The Class CitizenIntelligenceAgencySpringVaadinServlet.
- */
- @WebServlet(value = "/*", loadOnStartup = 2, asyncSupported = true)
- @VaadinServletConfiguration(productionMode = true, ui = CitizenIntelligenceAgencyUI.class, widgetset = "com.hack23.cia.web.widgets.WebWidgetSet")
- public final class CitizenIntelligenceAgencySpringVaadinServlet extends SpringVaadinServlet {
- /** The Constant serialVersionUID. */
- private static final long serialVersionUID = 1L;
- /**
- * Default constructor for CitizenIntelligenceAgencySpringVaadinServlet.
- */
- public CitizenIntelligenceAgencySpringVaadinServlet() {
- // Default constructor
- }
- @Override
- protected void service(final HttpServletRequest request, final HttpServletResponse response)
- throws ServletException, IOException {
- response.setHeader("Strict-Transport-Security", "max-age=31536000; includeSubDomains");
- super.service(request, response);
- }
- @Override
- protected void servletInitialized() throws ServletException {
- final VaadinServletService service = getService();
- service.addSessionInitListener(event -> {
- final VaadinSession session = event.getSession();
- for (final UIProvider provider : session.getUIProviders()) {
- if (DefaultUIProvider.class.getCanonicalName().equals(provider.getClass().getCanonicalName())) {
- session.removeUIProvider(provider);
- }
- }
- session.addUIProvider(new CustomSpringUIProvider(session));
- });
- service.addSessionDestroyListener(event -> {
- final VaadinSession session = event.getSession();
- UIScopeImpl.cleanupSession(session);
- VaadinSessionScope.cleanupSession(session);
- });
- }
- }