Skip to content

Commit

Permalink
Merge pull request #136 from TheJacksonLaboratory/feature/spring6
Browse files Browse the repository at this point in the history
Feature/spring6
  • Loading branch information
iimpulse authored Jul 19, 2024
2 parents 4376039 + b521c3a commit 5146345
Show file tree
Hide file tree
Showing 54 changed files with 249 additions and 375 deletions.
29 changes: 15 additions & 14 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'org.springframework.boot' version '2.2.4.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'org.springframework.boot' version '3.2.3'
id 'io.spring.dependency-management' version '1.1.4'
id 'java'
id 'war'
id 'groovy'
Expand All @@ -10,8 +10,9 @@ plugins {
}

group = 'org.monarchinitiative.poet'
version = '1.1.0'
sourceCompatibility = '11'
version = '1.1.1'
sourceCompatibility = 17
targetCompatibility = 17

configurations {
jaxb
Expand All @@ -37,7 +38,7 @@ task genJaxb {
produces(dir: sourcesDir, includes: "**/*.java")
}

javac(destdir: classesDir, source: 1.8, target: 1.8, debug: true,
javac(destdir: classesDir, source: 17, target: 17, debug: true,
debugLevel: "lines,vars,source",
classpath: configurations.jaxb.asPath) {
src(path: sourcesDir)
Expand Down Expand Up @@ -69,29 +70,28 @@ dependencies {
implementation 'org.springframework.security:spring-security-config'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation group: 'org.monarchinitiative.phenol', name: 'phenol-core', version: '2.0.0'
implementation 'org.mariadb.jdbc:mariadb-java-client:2.7.4'
implementation 'mysql:mysql-connector-java:8.0.33'
implementation 'org.monarchinitiative.phenol:phenol-annotations:2.0.0'
implementation 'org.monarchinitiative.phenol:phenol-io:2.0.0'
implementation 'org.apache.commons:commons-csv:1.9.0'
implementation 'org.springframework.ws:spring-ws-core'
implementation 'org.apache.commons:commons-text:1.10.0'
// For Java 11:
implementation 'org.glassfish.jaxb:jaxb-runtime'
implementation(files(genJaxb.classesDir).builtBy(genJaxb))
implementation('org.springframework.boot:spring-boot-starter-web-services') {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
}
implementation 'org.springframework.boot:spring-boot-starter-validation:3.2.3'

jaxb "com.sun.xml.bind:jaxb-xjc:2.1.7"
jaxb "com.sun.xml.bind:jaxb-xjc:4.0.4"

testRuntimeOnly 'com.h2database:h2'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
testImplementation group: 'org.spockframework', name: 'spock-core', version: '1.3-groovy-2.4'
testImplementation group: 'org.spockframework', name: 'spock-spring', version: '1.3-groovy-2.4'
testImplementation 'org.springframework.security:spring-security-test:4.2.3.RELEASE'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.codehaus.groovy:groovy-all:3.0.22'
testImplementation group: 'org.spockframework', name: 'spock-core', version: '2.3-groovy-3.0'
testImplementation group: 'org.spockframework', name: 'spock-spring', version: '2.3-groovy-3.0'
testImplementation 'org.springframework.security:spring-security-test:6.3.1'
}

def profile = 'development'
Expand Down Expand Up @@ -129,6 +129,7 @@ task test_release(){

test {
systemProperty 'spring.profiles.active', 'test'
useJUnitPlatform()
}

jacocoTestReport {
Expand Down
71 changes: 30 additions & 41 deletions src/main/java/org/monarchinitiative/poet/PoetConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,55 +7,44 @@
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.util.AntPathMatcher;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.resource.PathResourceResolver;
import org.springframework.web.util.UrlPathHelper;
import org.springframework.web.util.pattern.PathPatternParser;
import org.springframework.ws.client.core.WebServiceTemplate;

import java.io.IOException;

@Configuration
public class PoetConfiguration {
@EnableWebMvc
public class PoetConfiguration implements WebMvcConfigurer {

@Autowired
private Environment env;

@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**/*");
}

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(env.getProperty("api.client").split(","))
.addResourceLocations("classpath:/static/")
.resourceChain(true)
.addResolver(new PathResourceResolver() {
@Override
protected Resource getResource(String resourcePath, Resource location) throws IOException {
Resource requestedResource = location.createRelative(resourcePath);
return requestedResource.exists() && requestedResource.isReadable() ?
requestedResource : new ClassPathResource("/static/index.html");
}
});
registry.setOrder(Integer.MAX_VALUE);
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET","POST", "PUT", "DELETE", "OPTIONS", "HEAD");
}

@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/{spring:(?!assets)\\w+}")
.setViewName("forward:/");
registry.addViewController("/**/{spring:\\w+}")
.setViewName("forward:/");
registry.addViewController("/{spring:(?!assets)\\w+}/**{spring:?!(\\.js|\\.css)$}")
.setViewName("forward:/");
}
};
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/*")
.addResourceLocations("classpath:/static/")
.resourceChain(true)
.addResolver(new PathResourceResolver() {
@Override
protected Resource getResource(String resourcePath, Resource location) throws IOException {
if (resourcePath.startsWith("/api/")) {
return null; // Return null to indicate not found
} else {
Resource requestedResource = location.createRelative(resourcePath);
return requestedResource.exists() && requestedResource.isReadable() ?
requestedResource : new ClassPathResource("/static/index.html");
}
}
});
registry.setOrder(Integer.MAX_VALUE);
}

@Bean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/
@CrossOrigin
@RestController
@RequestMapping(value = "${api.version}/entity/disease/")
@RequestMapping(value = "${api.version}/entity/disease")
public class DiseaseController {
private final EntityService entityService;
private final StatisticsService statisticsService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

@CrossOrigin
@RestController
@RequestMapping(value = "${api.version}/export/")
@RequestMapping(value = "${api.version}/export")
public class ExportController {
private final ExportService exportService;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public SearchController(final SearchService searchService) {
* @return a list of search response objects containing ids and names.
* @since 0.5.0
*/
@GetMapping(value = "", headers = "Accept=application/json")
@GetMapping(value = "/", headers = "Accept=application/json")
public List<SearchResponse> searchPublicationsAndDiseases(@RequestParam String query) {
return searchService.searchDisease(query.trim());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ public ResponseEntity<?> checkUser(Authentication authentication) {
return ResponseEntity.notFound().build();
}

@PostMapping(value = "", headers = "Accept=application/json")
@PostMapping(value = "/", headers = "Accept=application/json")
public ResponseEntity<?> updateOrcid(Authentication authentication,
@RequestParam(value = "orcid") String orcid){
userService.setUserOrcId(authentication, orcid);
return ResponseEntity.ok().build();
}

@JsonView(UserViews.Simple.class)
@GetMapping(value = "", headers = "Accept=application/json")
@GetMapping(value = "/", headers = "Accept=application/json")
public User getUserDetails(Authentication authentication){
return userService.getExistingUser(authentication);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.monarchinitiative.poet.controller.annotation;

import com.fasterxml.jackson.annotation.JsonView;
import jakarta.validation.Valid;
import org.monarchinitiative.poet.model.entities.PhenotypeAnnotation;
import org.monarchinitiative.poet.model.entities.User;
import org.monarchinitiative.poet.model.requests.PhenotypeRequest;
Expand All @@ -12,7 +13,6 @@
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.List;

@CrossOrigin
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.monarchinitiative.poet.controller.annotation;

import com.fasterxml.jackson.annotation.JsonView;
import jakarta.validation.Valid;
import org.monarchinitiative.poet.exceptions.AnnotationSourceException;
import org.monarchinitiative.poet.model.entities.TreatmentAnnotation;
import org.monarchinitiative.poet.model.entities.User;
Expand All @@ -12,8 +13,6 @@
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.List;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.monarchinitiative.poet.views.AnnotationViews;
import org.monarchinitiative.poet.views.UserActivityViews;

import javax.persistence.*;
import jakarta.persistence.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.monarchinitiative.poet.views.AnnotationViews;
import org.monarchinitiative.poet.views.UserActivityViews;

import javax.persistence.*;
import jakarta.persistence.*;
import java.util.Objects;

@Entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import org.monarchinitiative.poet.views.PublicationViews;
import org.monarchinitiative.poet.views.UserActivityViews;

import javax.persistence.*;
import jakarta.persistence.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.fasterxml.jackson.annotation.JsonView;
import org.monarchinitiative.poet.views.AnnotationViews;

import javax.persistence.*;
import jakarta.persistence.*;

@Entity
public class Message {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import org.monarchinitiative.poet.model.requests.PhenotypeRequest;
import org.monarchinitiative.poet.views.AnnotationViews;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;

@Entity
@DiscriminatorValue("phenotype")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.monarchinitiative.poet.views.AnnotationViews;
import org.monarchinitiative.poet.views.PublicationViews;

import javax.persistence.*;
import jakarta.persistence.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
import org.monarchinitiative.poet.model.requests.TreatmentRequest;
import org.monarchinitiative.poet.views.AnnotationViews;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import jakarta.persistence.DiscriminatorValue;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import javax.validation.constraints.NotNull;

@Entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.monarchinitiative.poet.views.UserActivityViews;
import org.monarchinitiative.poet.views.UserViews;

import javax.persistence.*;
import jakarta.persistence.*;
import java.util.Objects;

@Entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.monarchinitiative.poet.model.enumeration.CurationAction;
import org.monarchinitiative.poet.views.UserActivityViews;

import javax.persistence.*;
import jakarta.persistence.*;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Objects;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.monarchinitiative.poet.model.entities;

import javax.persistence.*;
import jakarta.persistence.*;
import java.time.LocalDateTime;
@Entity
public class Version {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.monarchinitiative.poet.model.requests;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import java.util.Objects;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.monarchinitiative.poet.model.requests;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import java.util.Objects;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;

import java.time.LocalDateTime;
import java.util.Optional;

public interface UserActivityRepository extends PagingAndSortingRepository<UserActivity, Long> {
public interface UserActivityRepository extends CrudRepository<UserActivity, Long>, PagingAndSortingRepository<UserActivity, Long> {
Page<UserActivity> findUserActivityByOwnerAuthId(String authId, Pageable pageable);
Integer countAllByAnnotation_AnnotationTypeAndOwnerAuthId(String annotation_type, String authId);
Page<UserActivity> findUserActivityByDateTimeAfter(LocalDateTime dateTime, Pageable pageable);
Expand Down
Loading

0 comments on commit 5146345

Please sign in to comment.