-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
</parent>
<groupId>org.onap.aai.sparky-be</groupId>
- <artifactId>sparkybe-onap-application</artifactId>
+ <artifactId>sparkybe-onap-application</artifactId>
<version>1.2.0-SNAPSHOT</version>
- <packaging>jar</packaging>
+ <packaging>jar</packaging>
<properties>
<java.version>1.8</java.version>
<dependencyManagement>
- <dependencies>
+ <dependencies>
+
+ <!-- Camel BOM -->
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-spring-boot-dependencies</artifactId>
+ <version>${camel-spring-boot.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
- <!-- Camel BOM -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring-boot-dependencies</artifactId>
- <version>${camel-spring-boot.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.2.1</version>
- </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.2.1</version>
+ </dependency>
- </dependencies>
+ </dependencies>
-</dependencyManagement>
+ </dependencyManagement>
<dependencies>
</exclusion>
</exclusions>
</dependency>
-
+
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<exclusions>
<exclusion>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- </dependency>
+ </dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util -->
<dependency>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
- <dependency>
- <groupId>org.onap.aai.sparky-be</groupId>
- <artifactId>sparkybe-onap-service</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- </dependency>
+ <dependency>
+ <groupId>org.onap.aai.sparky-be</groupId>
+ <artifactId>sparkybe-onap-service</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ </dependency>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
+ <configuration>
+ <folders>
+ <folder>
+ ${CONFIG_HOME}/portal/
+ </folder>
+ </folders>
+ </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
</reportPlugins>
</configuration>
</plugin>
-
- <!-- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.7</version>
- <executions>
- <execution>
- <id>copy-docker-file</id>
- <phase>package</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>target</outputDirectory>
- <overwrite>true</overwrite>
- <resources>
- <resource>
- <directory>${basedir}/src/main/docker</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- <resource>
- <directory>${basedir}/src/main/scripts/</directory>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- -->
+
+ <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId>
+ <version>2.7</version> <executions> <execution> <id>copy-docker-file</id>
+ <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration>
+ <outputDirectory>target</outputDirectory> <overwrite>true</overwrite> <resources>
+ <resource> <directory>${basedir}/src/main/docker</directory> <filtering>true</filtering>
+ <includes> <include>**/*</include> </includes> </resource> <resource> <directory>${basedir}/src/main/scripts/</directory>
+ </resource> </resources> </configuration> </execution> </executions> </plugin> -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
</configuration>
</plugin>
<!-- license plugin -->
-<!-- <plugin>
- <groupId>com.mycila</groupId>
- <artifactId>license-maven-plugin</artifactId>
- <version>3.0</version>
- <configuration>
- <header>LICENSE</header>
- <includes>
- <include>src/main/java/**</include>
- </includes>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>format</goal>
- </goals>
- <phase>process-sources</phase>
- </execution>
- </executions>
- </plugin>
- -->
+ <!-- <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId>
+ <version>3.0</version> <configuration> <header>LICENSE</header> <includes>
+ <include>src/main/java/**</include> </includes> </configuration> <executions>
+ <execution> <goals> <goal>format</goal> </goals> <phase>process-sources</phase>
+ </execution> </executions> </plugin> -->
</plugins>
</build>
- <distributionManagement>
- <repository>
- <id>ecomp-releases</id>
- <name>ECOMP Release Repository</name>
- <url>${nexusproxy}/content/repositories/releases/</url>
- </repository>
- <snapshotRepository>
- <id>ecomp-snapshots</id>
- <name>ECOMP Snapshot Repository</name>
- <url>${nexusproxy}/content/repositories/snapshots/</url>
- </snapshotRepository>
- </distributionManagement>
-
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>ECOMP Release Repository</name>
+ <url>${nexusproxy}/content/repositories/releases/</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>ECOMP Snapshot Repository</name>
+ <url>${nexusproxy}/content/repositories/snapshots/</url>
+ </snapshotRepository>
+ </distributionManagement>
+
</project>
*/
package org.onap.aai.sparky;
+import javax.servlet.Filter;
+
+import org.onap.aai.sparky.security.filter.LoginFilter;
+
import org.apache.camel.component.servlet.CamelHttpTransportServlet;
import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class Application {
-
- public static void main(String[] args) {
- SpringApplication.run(Application.class, args);
+ private Filter loginFilter = new LoginFilter();
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
}
-
+
/*
* This initialization code enabled access to aai-ui-proxy-processor
*/
-
@Bean
ServletRegistrationBean servletRegistrationBean() {
final ServletRegistrationBean servlet =
}
/**
- * bind LoginFilter
+ * bind LoginFilter
*/
-
- /*@Bean
- public FilterRegistrationBean myFilter() {
- FilterRegistrationBean registration = new FilterRegistrationBean();
- Filter myFilter = new LoginFilter();
- beanFactory.autowireBean(myFilter);
- registration.setFilter(myFilter);
- registration.addUrlPatterns("/*");
- return registration;
- }*/
-
-
-
-
+ @Bean
+ @ConditionalOnProperty(value = "sparky.portal.enabled", havingValue = "true")
+ public FilterRegistrationBean loginFilterRegistrationBean() {
+ FilterRegistrationBean registration = new FilterRegistrationBean();
+
+ registration.setFilter(loginFilter);
+ registration.addUrlPatterns("/*");
+
+ return registration;
+ }
+
+
+
}
import org.springframework.core.io.ResourceLoader;
public class SparkyResourceLoader implements ResourceLoaderAware {
-
-
+
+
private static final String FILE_URI = "file:";
private ResourceLoader resourceLoader;
private String configHomeEnvVar;
public void setResourceLoader(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
-
+
public String getFullFileUri(String uriFilePath) {
return FILE_URI + System.getProperty(configHomeEnvVar) + uriFilePath;
}
public String getAbsolutePath(String uriFilePath) {
return System.getProperty(configHomeEnvVar) + uriFilePath;
}
-
+
protected Resource getResource(String uriFilePath, boolean isRelative) {
String fileUri = uriFilePath;
- if (!uriFilePath.startsWith("file:")) {
- fileUri = "file:" + uriFilePath;
- }
+ if (!uriFilePath.startsWith(FILE_URI)) {
+
+ if (isRelative) {
+ fileUri = getFullFileUri(fileUri);
+ } else {
+ fileUri = FILE_URI + uriFilePath;
+ }
- if (isRelative) {
- return resourceLoader.getResource(getFullFileUri(fileUri));
- } else {
- return resourceLoader.getResource(fileUri);
}
+ return resourceLoader.getResource(fileUri);
+
}
public File getResourceAsFile(String uriFilePath, boolean isRelativePath) throws IOException {
-
- Resource resource = getResource(uriFilePath, isRelativePath);
+
+ Resource resource = getResource(uriFilePath, isRelativePath);
if (resource.exists()) {
return resource.getFile();
}
return null;
-
+
}
public byte[] getResourceAsBytes(String uriFilePath, boolean isRelativePath) throws IOException {
- Resource resource = getResource(uriFilePath, isRelativePath);
+ Resource resource = getResource(uriFilePath, isRelativePath);
if (resource.exists()) {
return getResourceAsBytes(resource);
return null;
}
-
+
public byte[] getResourceAsBytes(Resource resource) throws IOException {
- if ( resource != null && resource.exists()) {
+ if (resource != null && resource.exists()) {
return Files.readAllBytes(Paths.get(resource.getFile().getAbsolutePath()));
}