Skip to content

Commit

Permalink
moved static files, some webapp initialization. not working correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Aug 4, 2017
1 parent ff6b654 commit 5de656a
Show file tree
Hide file tree
Showing 230 changed files with 219 additions and 218 deletions.
13 changes: 7 additions & 6 deletions build-system/pom.xml
Expand Up @@ -61,9 +61,10 @@
<mockito.version>1.10.8</mockito.version>
<quartz.version>2.3.0.e1</quartz.version>
<selenium.version>1.0.1</selenium.version>
<slf4j.version>1.7.12</slf4j.version>
<spring.version>4.2.5.RELEASE</spring.version>
<spring.security.version>4.1.0.RELEASE</spring.security.version>
<slf4j.version>1.7.25</slf4j.version>
<logback.version>1.1.11</logback.version>
<spring.version>4.3.10.RELEASE</spring.version>
<spring.security.version>4.2.3.RELEASE</spring.security.version>
<cas.client.version>3.4.1</cas.client.version>
<testng.version>6.8.8</testng.version>
<xml.resolver.version>1.2</xml.resolver.version>
Expand Down Expand Up @@ -245,17 +246,17 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>1.7.2</version>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.2</version>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>com.sleepycat</groupId>
Expand Down
31 changes: 29 additions & 2 deletions gui/admin-gui/pom.xml
Expand Up @@ -97,7 +97,34 @@
</testResources>

</build>

<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.6.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
</dependency>

<dependency>
<groupId>org.webjars</groupId>
<artifactId>swagger-ui</artifactId>
Expand Down Expand Up @@ -135,7 +162,7 @@
<dependency>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-core</artifactId>
<scope>runtime</scope>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
Expand Down Expand Up @@ -490,7 +517,7 @@
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<scope>runtime</scope>
<!--<scope>runtime</scope>-->
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
Expand Down
Expand Up @@ -49,8 +49,8 @@ public final class DescriptorLoader implements DebugDumpable {
private static Map<String, DisplayableValue<String>[]> actions = new HashMap<>();
private static Map<String, Class> urlClassMap = new HashMap<>();

private String baseFileName = "/WEB-INF/descriptor.xml";
private String customFileName = "/WEB-INF/classes/descriptor.xml";
private String baseFileName = "/descriptor.xml";
private String customFileName = "/descriptor.xml";

public static Map<String, DisplayableValue<String>[]> getActions() {
return actions;
Expand Down Expand Up @@ -79,8 +79,8 @@ public void setCustomFileName(String customFileName) {
public void loadData(MidPointApplication application) {
LOGGER.debug("Loading data from descriptor files.");

try (InputStream baseInput = application.getServletContext().getResourceAsStream(baseFileName);
InputStream customInput = application.getServletContext().getResourceAsStream(customFileName)) {
try (InputStream baseInput = DescriptorLoader.class.getResourceAsStream(baseFileName);
InputStream customInput = DescriptorLoader.class.getResourceAsStream(customFileName)) {
if (baseInput == null) {
LOGGER.error("Couldn't find " + baseFileName + " file, can't load application menu and other stuff.");
}
Expand Down
@@ -0,0 +1,174 @@
/*
* Copyright (c) 2010-2017 Evolveum
*
* 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.
*/

package com.evolveum.midpoint.web.boot;

import com.evolveum.midpoint.gui.impl.util.ReportPeerQueryInterceptor;
import com.evolveum.midpoint.web.util.MidPointProfilingServletFilter;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.apache.wicket.protocol.http.WicketFilter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration;
import org.springframework.boot.autoconfigure.security.SecurityFilterAutoConfiguration;
import org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration;
import org.springframework.boot.autoconfigure.web.EmbeddedServletContainerAutoConfiguration;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.web.servlet.ErrorPage;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;
import org.springframework.http.HttpStatus;
import org.springframework.web.context.request.RequestContextListener;
import org.springframework.web.filter.DelegatingFilterProxy;
import ro.isdc.wro.http.WroFilter;

import javax.servlet.DispatcherType;

/**
* Created by Viliam Repan (lazyman).
*/
@ImportResource(locations = {
"classpath:ctx-common.xml",
"classpath:ctx-configuration.xml",
"classpath*:ctx-repository.xml",
"classpath:ctx-repo-cache.xml",
"classpath:ctx-task.xml",
"classpath:ctx-provisioning.xml",
"classpath:ctx-ucf-connid.xml",
"classpath:ctx-ucf-builtin.xml",
"classpath:ctx-audit.xml",
"classpath:ctx-security.xml",
"classpath:ctx-model.xml",
"classpath:ctx-model-common.xml",
"classpath:ctx-report.xml",
"classpath*:ctx-workflow.xml",
"classpath*:ctx-notifications.xml",
"classpath:ctx-certification.xml",
"classpath:ctx-interceptor.xml",
"classpath*:ctx-overlay.xml",
"classpath:ctx-init.xml",
"classpath:ctx-webapp.xml",
// "classpath:ctx-web-security.xml"
})
@ImportAutoConfiguration(classes = {
EmbeddedServletContainerAutoConfiguration.class,
DispatcherServletAutoConfiguration.class,
PropertyPlaceholderAutoConfiguration.class,
SecurityAutoConfiguration.class,
SecurityFilterAutoConfiguration.class,
ServerPropertiesAutoConfiguration.class
})
@SpringBootConfiguration
public class MidPointSpringApplication {

public static void main(String[] args) {
SpringApplication.run(MidPointSpringApplication.class, args);
}

@Bean
public ServletListenerRegistrationBean requestContextListener() {
return new ServletListenerRegistrationBean(new RequestContextListener());
}

@Bean
public FilterRegistrationBean midPointProfilingServletFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new MidPointProfilingServletFilter());
registration.addUrlPatterns("/*");
return registration;
}

@Bean
public FilterRegistrationBean wicket() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new WicketFilter());
registration.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR);
registration.addUrlPatterns("/*");
registration.addInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*");
registration.addInitParameter("configuration", "deployment");
registration.addInitParameter("applicationBean", "midpointApplication");
registration.addInitParameter("applicationFactoryClassName", "org.apache.wicket.spring.SpringWebApplicationFactory");

return registration;
}

@Bean
public FilterRegistrationBean springSecurityFilterChain() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new DelegatingFilterProxy());
registration.addUrlPatterns("/*");
return registration;
}

@Bean
public FilterRegistrationBean webResourceOptimizer() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new WroFilter());
registration.addUrlPatterns("/wro/*");
return registration;
}

@Bean
public ServletRegistrationBean cxfServlet() {
ServletRegistrationBean registration = new ServletRegistrationBean();
registration.setServlet(new CXFServlet());
registration.addInitParameter("service-list-path", "midpointservices");
registration.setLoadOnStartup(1);
registration.addUrlMappings("/model/*", "/ws/*");

return registration;
}

@Bean
public ServletRegistrationBean reportPeerQueryInterceptor() {
ServletRegistrationBean registration = new ServletRegistrationBean();
registration.setServlet(new ReportPeerQueryInterceptor());
registration.addUrlMappings("/report");

return registration;
}

@Bean
public ServerProperties serverProperties() {
return new ServerCustomization();
}

private static class ServerCustomization extends ServerProperties {

@Override
public void customize(ConfigurableEmbeddedServletContainer container) {

super.customize(container);
container.addErrorPages(new ErrorPage(HttpStatus.UNAUTHORIZED,
"/error/401"));
container.addErrorPages(new ErrorPage(HttpStatus.FORBIDDEN,
"/error/403"));
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,
"/error/404"));
container.addErrorPages(new ErrorPage(HttpStatus.GONE,
"/error/410"));
container.addErrorPages(new ErrorPage(HttpStatus.UNAUTHORIZED,
"/error"));
}
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 5de656a

Please sign in to comment.