diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-12-26 19:16:41 +0100 | 
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-12-26 19:16:41 +0100 | 
| commit | 063e6279147b1c532a8e8afae7209756b7f8b175 (patch) | |
| tree | a982b8472312413fb643a23b800011efb318c879 /connector | |
| parent | f06839fb716ff61bf94a32f8e23e3f313245f7e7 (diff) | |
| download | National_eIDAS_Gateway-063e6279147b1c532a8e8afae7209756b7f8b175.tar.gz National_eIDAS_Gateway-063e6279147b1c532a8e8afae7209756b7f8b175.tar.bz2 National_eIDAS_Gateway-063e6279147b1c532a8e8afae7209756b7f8b175.zip | |
switch to SpringBoot as default
Diffstat (limited to 'connector')
6 files changed, 11 insertions, 251 deletions
| diff --git a/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringContextCloseHandler.java b/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringContextCloseHandler.java index 2a3b659a..e884b5c6 100644 --- a/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringContextCloseHandler.java +++ b/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringContextCloseHandler.java @@ -133,29 +133,6 @@ public class SpringContextCloseHandler    private void internalThreadPoolTaskExecutor(final Map<String, ThreadPoolTaskExecutor> executers) {      for (final ThreadPoolTaskExecutor executor : executers.values()) { -      // Not needed yet -      // int retryCount = 0; -      // while(executor.getActiveCount()>0 && ++retryCount<51){ -      // try { -      // log.debug("Executer {} is still working with active {} work. Retry count is -      // {}", -      // executor.getThreadNamePrefix(), -      // executor.getActiveCount(), -      // retryCount); -      // Thread.sleep(1000); -      // -      // } catch (final InterruptedException e) { -      // e.printStackTrace(); -      // } -      // } -      // -      // if(!(retryCount<51)) -      // log.debug("Executer {} is still working. Since Retry count exceeded max value -      // {}, will be -      // killed immediately", -      // executor.getThreadNamePrefix(), -      // retryCount); -        executor.shutdown();        log.debug("Executer {} with active {} work has killed", executor.getThreadNamePrefix(),            executor.getActiveCount()); @@ -168,38 +145,7 @@ public class SpringContextCloseHandler    private void internalThreadPoolTaskScheduler(        final Map<String, ThreadPoolTaskScheduler> schedulers) {      log.trace("Stopping #{} task-schedulers", schedulers.size()); - -    // for (final ThreadPoolTaskScheduler scheduler : schedulers.values()) { -    // scheduler.getScheduledExecutor().shutdown(); -    // try { -    // scheduler.getScheduledExecutor().awaitTermination(20000, -    // TimeUnit.MILLISECONDS); -    // if(scheduler.getScheduledExecutor().isTerminated() || -    // scheduler.getScheduledExecutor().isShutdown()) -    // log.debug("Scheduler {} has stoped", scheduler.getThreadNamePrefix()); -    // -    // else{ -    // log.debug("Scheduler {} has not stoped normally and will be shut down -    // immediately", -    // scheduler.getThreadNamePrefix()); -    // scheduler.getScheduledExecutor().shutdownNow(); -    // log.info("Scheduler {} has shut down immediately", -    // scheduler.getThreadNamePrefix()); -    // -    // } -    // -    // } catch (final IllegalStateException e) { -    // e.printStackTrace(); -    // -    // } catch (final InterruptedException e) { -    // e.printStackTrace(); -    // -    // } finally { -    // scheduler.shutdown(); -    // -    // } -    // } - +        }    private void internalIDestroyableObject(final Map<String, IDestroyableObject> objectsToDestroy) { diff --git a/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringInitializer.java b/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringInitializer.java deleted file mode 100644 index 417828a6..00000000 --- a/connector/src/main/java/at/asitplus/eidas/specific/connector/SpringInitializer.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright 2018 A-SIT Plus GmbH - * AT-specific eIDAS Connector has been developed in a cooperation between EGIZ, - * A-SIT Plus GmbH, A-SIT, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "License"); - * You may not use this work except in compliance with the License. - * You may obtain a copy of the License at: - * https://joinup.ec.europa.eu/news/understanding-eupl-v12 - * - * 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. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. -*/ - -package at.asitplus.eidas.specific.connector; - -import java.util.Arrays; - -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRegistration; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; -import org.springframework.context.support.GenericApplicationContext; -import org.springframework.core.io.ClassPathResource; -import org.springframework.web.WebApplicationInitializer; -import org.springframework.web.context.ContextLoaderListener; -import org.springframework.web.context.request.RequestContextListener; -import org.springframework.web.context.support.GenericWebApplicationContext; -import org.springframework.web.context.support.ServletContextResource; -import org.springframework.web.servlet.DispatcherServlet; - -import at.gv.egiz.components.spring.api.SpringLoader; -import at.gv.egiz.eaaf.core.api.IStatusMessenger; -import at.gv.egiz.eaaf.core.impl.logging.LogMessageProviderFactory; -import at.gv.egiz.eaaf.core.impl.utils.Random; -import at.gv.egiz.eaaf.modules.pvp2.impl.opensaml.initialize.EaafOpenSaml3xInitializer; - -/** - * Web application initializer. - * - * @author Thomas Lenz - */ -public class SpringInitializer implements WebApplicationInitializer { - -  private static final Logger log = LoggerFactory.getLogger(SpringInitializer.class); - -  private String[] rootServletContexts = null; -  private String[] servletContexts = null; - -  /** -   * Application specific Spring initializer. -   *   -   */ -  public SpringInitializer() { -    this.rootServletContexts = null; -    this.servletContexts = new String[] { -        "/applicationContext.xml", - -    }; -  } - -  /* -   * (non-Javadoc) -   *  -   * @see -   * org.springframework.web.WebApplicationInitializer#onStartup(javax.servlet. -   * ServletContext) -   */ -  @Override -  public void onStartup(ServletContext servletContext) throws ServletException { -    try { -      log.info("=============== Loading Config Root Context! ==============="); -      final ApplicationContext cfgRootContext = -          new ClassPathXmlApplicationContext(new String[] { -              "/applicationContext.xml" -          }); - -      log.info("=============== Loading Root Context! ==============="); -      final GenericWebApplicationContext rootContext = new GenericWebApplicationContext(); -      rootContext.setServletContext(servletContext); -      rootContext.setParent(cfgRootContext); - -      log.info("Spring-context was initialized with active profiles: {}",  -          Arrays.asList(rootContext.getEnvironment().getActiveProfiles())); - -      log.info("=============== Loading Local Contexts! ==============="); -      final XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader( -          rootContext); -      if (rootServletContexts != null) { -        for (final String rootServletContext : rootServletContexts) { -          log.debug("Loading: " + rootServletContext); -          xmlReader.loadBeanDefinitions(new ServletContextResource( -              servletContext, rootServletContext)); -        } -      } -      // Manage the lifecycle of the root application context -      servletContext.addListener(new ContextLoaderListener(rootContext)); - -      // log.debug("Beans after logAMQP in {}", rootContext); -      // dumpBeanDefinitions(rootContext); - -      log.info("=============== Loading SPI Context! ==============="); -      log.debug("Loading modules and components"); -      SpringLoader.loadSpringServices(rootContext); - -      log.trace("Beans after SPI in " + rootContext); -      dumpBeanDefinitions(rootContext); - -      log.debug("Loading servlet config in " + rootContext); -      if (servletContexts != null) { -        for (final String servletContextString : servletContexts) { -          xmlReader.loadBeanDefinitions(new ClassPathResource(servletContextString, SpringInitializer.class)); -        } - -      } - -      log.debug("Refreshing context " + rootContext); -      rootContext.refresh(); - -      log.info("=============== Register Dispatcher Servlet! ==============="); - -      log.trace("Final Beans in " + rootContext); -      dumpBeanDefinitions(rootContext); - -      log.info("Registering dispatcher configuration"); -      final ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", -          new DispatcherServlet(rootContext)); -      if (dispatcher != null) { -        dispatcher.setLoadOnStartup(1); -        dispatcher.addMapping("/"); -        dispatcher.setAsyncSupported(true); - -      } else { -        log.error("Failed to register dispatcher server in servlet context!"); -      } - -      log.info("=============== Register RequestContextListener! ==============="); -      servletContext.addListener(new RequestContextListener()); - -      // initialize status messenger -      LogMessageProviderFactory.setStatusMessager(rootContext.getBean(IStatusMessenger.class)); - -      log.info("Bootstrap openSAML .... "); -      EaafOpenSaml3xInitializer.eaafInitialize(); - -      log.info("Seed random number generator ... "); -      Random.seedRandom(); - -      log.info("Initialization of MS-specific eIDAS-connector finished."); - -    } catch (final Throwable e) { -      log.error("MS-specific eIDAS-connector initialization FAILED!", e); - -    } - -  } - -  private void dumpBeanDefinitions(GenericApplicationContext context) { -    log.trace("Registered Bean in context " + context.toString()); - -    final String[] registeredBeans = context.getBeanDefinitionNames(); -    for (final String registeredBean : registeredBeans) { -      final BeanDefinition beanDefinition = context -          .getBeanDefinition(registeredBean); -      log.trace(registeredBean + " -> " + beanDefinition.getBeanClassName()); - -    } - -    log.trace("Registered Bean in context --" + context); -  } -} diff --git a/connector/src/main/resources/applicationContext.xml b/connector/src/main/resources/applicationContext.xml index 8a21e68f..15ce0a55 100644 --- a/connector/src/main/resources/applicationContext.xml +++ b/connector/src/main/resources/applicationContext.xml @@ -39,13 +39,13 @@      location="${eidas.ms.configuration}" />    --> -  <beans profile="!springBoot"> +  <beans profile="deprecatedConfig">    <bean id="BasicMSSpecificNodeConfig"      class="at.asitplus.eidas.specific.connector.config.BasicConfigurationProvider">      <constructor-arg value="#{systemProperties['eidas.ms.configuration']}" />    </bean>    </beans> -  <beans profile="springBoot"> +  <beans profile="!deprecatedConfig">      <bean id="springBootMsSpecificNodeConfig"            class="at.asitplus.eidas.specific.connector.config.SpringBootBasicConfigurationProvider" /> diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java index 5206c2e5..77037415 100644 --- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java +++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java @@ -94,7 +94,7 @@ import szrservices.SignContentResponseType;      })  @TestPropertySource(locations = { "file:src/test/resources/config/junit_config_1_springboot.properties" })  @DirtiesContext(classMode = ClassMode.AFTER_CLASS) -@ActiveProfiles(profiles = {"JUNIT", "jUnitTestMode", "springBoot"}) +@ActiveProfiles(profiles = {"JUNIT", "jUnitTestMode"})  public class FullStartUpAndProcessTest {    private static final String FINAL_REDIRECT = "http://localhost/finalizeAuthProtocol?pendingid="; @@ -410,7 +410,7 @@ public class FullStartUpAndProcessTest {      Assert.assertNotNull("eIDAS Node req", req);      Assert.assertEquals("Wrong CC", cc, req.getCitizenCountryCode()); -    Assert.assertEquals("Wrong CC", EaafConstants.EIDAS_LOA_SUBSTANTIAL, req.getLevelOfAssurance()); +    Assert.assertEquals("Wrong CC", EaafConstants.EIDAS_LOA_HIGH, req.getLevelOfAssurance());      //set response from eIDAS node @@ -421,13 +421,13 @@ public class FullStartUpAndProcessTest {    }    private AuthenticationResponse buildDummyAuthResponse(String statusCode, String reqId) throws URISyntaxException { -    final AttributeDefinition attributeDef = attrRegistry.getCoreAttributeRegistry().getByFriendlyName( +    final AttributeDefinition<?> attributeDef = attrRegistry.getCoreAttributeRegistry().getByFriendlyName(          Constants.eIDAS_ATTR_PERSONALIDENTIFIER).first(); -    final AttributeDefinition attributeDef2 = attrRegistry.getCoreAttributeRegistry().getByFriendlyName( +    final AttributeDefinition<?> attributeDef2 = attrRegistry.getCoreAttributeRegistry().getByFriendlyName(          Constants.eIDAS_ATTR_CURRENTFAMILYNAME).first(); -    final AttributeDefinition attributeDef3 = attrRegistry.getCoreAttributeRegistry().getByFriendlyName( +    final AttributeDefinition<?> attributeDef3 = attrRegistry.getCoreAttributeRegistry().getByFriendlyName(          Constants.eIDAS_ATTR_CURRENTGIVENNAME).first(); -    final AttributeDefinition attributeDef4 = attrRegistry.getCoreAttributeRegistry().getByFriendlyName( +    final AttributeDefinition<?> attributeDef4 = attrRegistry.getCoreAttributeRegistry().getByFriendlyName(          Constants.eIDAS_ATTR_DATEOFBIRTH).first();      final ImmutableAttributeMap attributeMap = ImmutableAttributeMap.builder() diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassExecutableModeTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassExecutableModeTest.java index 5fd39383..a865c8bd 100644 --- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassExecutableModeTest.java +++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassExecutableModeTest.java @@ -85,7 +85,7 @@ public class MainClassExecutableModeTest {      SpringBootApplicationInitializer          .main(new String[] {              "--spring.config.location=src/test/resources/config/junit_config_1_springboot.properties,classpath:/application.properties", -            "--spring.profiles.active=jUnitTestMode,springBoot" }); +            "--spring.profiles.active=jUnitTestMode" });      System.out.println("Is started!"); diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassWebAppModeTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassWebAppModeTest.java index ae0a45db..c390184b 100644 --- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassWebAppModeTest.java +++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/MainClassWebAppModeTest.java @@ -82,7 +82,7 @@ public class MainClassWebAppModeTest {      //starting application        SpringBootApplicationInitializer            .main(new String[] { -              "--spring.profiles.active=jUnitTestMode,springBoot" }); +              "--spring.profiles.active=jUnitTestMode" });        Assert.fail("Missing configuration not detected");      } catch (final Exception e) { | 
