Skip to content

Commit 876f0df

Browse files
authored
Merge pull request #906 from amvanbaren/constructor-injection
Use constructor injection
2 parents e5433c0 + 9b554ae commit 876f0df

File tree

84 files changed

+1338
-912
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+1338
-912
lines changed

server/src/main/java/org/eclipse/openvsx/ExtensionService.java

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,8 @@
99
********************************************************************************/
1010
package org.eclipse.openvsx;
1111

12-
import java.io.BufferedInputStream;
13-
import java.io.IOException;
14-
import java.io.InputStream;
15-
import java.nio.file.Files;
16-
import java.time.LocalDateTime;
17-
import java.util.LinkedHashSet;
18-
1912
import jakarta.transaction.Transactional;
2013
import jakarta.transaction.Transactional.TxType;
21-
2214
import org.apache.commons.lang3.StringUtils;
2315
import org.eclipse.openvsx.cache.CacheService;
2416
import org.eclipse.openvsx.entities.*;
@@ -28,31 +20,42 @@
2820
import org.eclipse.openvsx.util.ErrorResultException;
2921
import org.eclipse.openvsx.util.TempFile;
3022
import org.eclipse.openvsx.util.TimeUtil;
31-
import org.springframework.beans.factory.annotation.Autowired;
3223
import org.springframework.beans.factory.annotation.Value;
3324
import org.springframework.http.HttpStatus;
3425
import org.springframework.stereotype.Component;
3526

27+
import java.io.BufferedInputStream;
28+
import java.io.IOException;
29+
import java.io.InputStream;
30+
import java.nio.file.Files;
31+
import java.time.LocalDateTime;
32+
import java.util.LinkedHashSet;
33+
3634
@Component
3735
public class ExtensionService {
3836

3937
private static final int MAX_CONTENT_SIZE = 512 * 1024 * 1024;
4038

41-
@Autowired
42-
RepositoryService repositories;
43-
44-
@Autowired
45-
SearchUtilService search;
46-
47-
@Autowired
48-
CacheService cache;
49-
50-
@Autowired
51-
PublishExtensionVersionHandler publishHandler;
39+
private final RepositoryService repositories;
40+
private final SearchUtilService search;
41+
private final CacheService cache;
42+
private final PublishExtensionVersionHandler publishHandler;
5243

5344
@Value("${ovsx.publishing.require-license:false}")
5445
boolean requireLicense;
5546

47+
public ExtensionService(
48+
RepositoryService repositories,
49+
SearchUtilService search,
50+
CacheService cache,
51+
PublishExtensionVersionHandler publishHandler
52+
) {
53+
this.repositories = repositories;
54+
this.search = search;
55+
this.cache = cache;
56+
this.publishHandler = publishHandler;
57+
}
58+
5659
@Transactional
5760
public ExtensionVersion mirrorVersion(TempFile extensionFile, String signatureName, PersonalAccessToken token, String binaryName, String timestamp) {
5861
var download = doPublish(extensionFile, binaryName, token, TimeUtil.fromUTCString(timestamp), false);

server/src/main/java/org/eclipse/openvsx/LocalRegistryService.java

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.eclipse.openvsx.util.*;
2828
import org.slf4j.Logger;
2929
import org.slf4j.LoggerFactory;
30-
import org.springframework.beans.factory.annotation.Autowired;
3130
import org.springframework.beans.factory.annotation.Value;
3231
import org.springframework.cache.annotation.Cacheable;
3332
import org.springframework.data.domain.PageRequest;
@@ -52,38 +51,43 @@ public class LocalRegistryService implements IExtensionRegistry {
5251

5352
protected final Logger logger = LoggerFactory.getLogger(LocalRegistryService.class);
5453

55-
@Autowired
56-
EntityManager entityManager;
57-
58-
@Autowired
59-
RepositoryService repositories;
60-
61-
@Autowired
62-
ExtensionService extensions;
63-
64-
@Autowired
65-
VersionService versions;
66-
67-
@Autowired
68-
UserService users;
69-
70-
@Autowired
71-
SearchUtilService search;
72-
73-
@Autowired
74-
ExtensionValidator validator;
75-
76-
@Autowired
77-
StorageUtilService storageUtil;
78-
79-
@Autowired
80-
EclipseService eclipse;
81-
82-
@Autowired
83-
CacheService cache;
84-
85-
@Autowired
86-
ExtensionVersionIntegrityService integrityService;
54+
private final EntityManager entityManager;
55+
private final RepositoryService repositories;
56+
private final ExtensionService extensions;
57+
private final VersionService versions;
58+
private final UserService users;
59+
private final SearchUtilService search;
60+
private final ExtensionValidator validator;
61+
private final StorageUtilService storageUtil;
62+
private final EclipseService eclipse;
63+
private final CacheService cache;
64+
private final ExtensionVersionIntegrityService integrityService;
65+
66+
public LocalRegistryService(
67+
EntityManager entityManager,
68+
RepositoryService repositories,
69+
ExtensionService extensions,
70+
VersionService versions,
71+
UserService users,
72+
SearchUtilService search,
73+
ExtensionValidator validator,
74+
StorageUtilService storageUtil,
75+
EclipseService eclipse,
76+
CacheService cache,
77+
ExtensionVersionIntegrityService integrityService
78+
) {
79+
this.entityManager = entityManager;
80+
this.repositories = repositories;
81+
this.extensions = extensions;
82+
this.versions = versions;
83+
this.users = users;
84+
this.search = search;
85+
this.validator = validator;
86+
this.storageUtil = storageUtil;
87+
this.eclipse = eclipse;
88+
this.cache = cache;
89+
this.integrityService = integrityService;
90+
}
8791

8892
@Value("${ovsx.registry.version:}")
8993
String registryVersion;

server/src/main/java/org/eclipse/openvsx/RegistryAPI.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,19 @@
1919
import io.swagger.v3.oas.annotations.media.Schema;
2020
import io.swagger.v3.oas.annotations.responses.ApiResponse;
2121
import io.swagger.v3.oas.annotations.responses.ApiResponses;
22+
import jakarta.servlet.http.HttpServletRequest;
2223
import org.apache.commons.lang3.StringUtils;
2324
import org.eclipse.openvsx.entities.SemanticVersion;
2425
import org.eclipse.openvsx.json.*;
2526
import org.eclipse.openvsx.search.ISearchService;
2627
import org.eclipse.openvsx.util.*;
27-
import org.springframework.beans.factory.annotation.Autowired;
2828
import org.springframework.http.CacheControl;
2929
import org.springframework.http.HttpStatus;
3030
import org.springframework.http.MediaType;
3131
import org.springframework.http.ResponseEntity;
3232
import org.springframework.web.bind.annotation.*;
3333
import org.springframework.web.server.ResponseStatusException;
3434

35-
import jakarta.servlet.http.HttpServletRequest;
3635
import java.io.InputStream;
3736
import java.net.URI;
3837
import java.util.ArrayList;
@@ -47,14 +46,19 @@ public class RegistryAPI {
4746
private final static int REVIEW_COMMENT_SIZE = 2048;
4847
private final static String VERSION_PATH_PARAM_REGEX = "(?:" + SemanticVersion.VERSION_PATH_PARAM_REGEX + ")|latest|pre-release";
4948

50-
@Autowired
51-
LocalRegistryService local;
52-
53-
@Autowired
54-
UpstreamRegistryService upstream;
49+
private final LocalRegistryService local;
50+
private final UpstreamRegistryService upstream;
51+
private final UserService users;
5552

56-
@Autowired
57-
UserService users;
53+
public RegistryAPI(
54+
LocalRegistryService local,
55+
UpstreamRegistryService upstream,
56+
UserService users
57+
) {
58+
this.local = local;
59+
this.upstream = upstream;
60+
this.users = users;
61+
}
5862

5963
protected Iterable<IExtensionRegistry> getRegistries() {
6064
var registries = new ArrayList<IExtensionRegistry>();

server/src/main/java/org/eclipse/openvsx/UpstreamRegistryService.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,41 @@
1515
import org.eclipse.openvsx.search.ISearchService;
1616
import org.eclipse.openvsx.util.NotFoundException;
1717
import org.eclipse.openvsx.util.TargetPlatform;
18-
1918
import org.slf4j.Logger;
2019
import org.slf4j.LoggerFactory;
21-
import org.springframework.beans.factory.annotation.Autowired;
2220
import org.springframework.http.HttpMethod;
2321
import org.springframework.http.HttpStatus;
2422
import org.springframework.http.ResponseEntity;
2523
import org.springframework.stereotype.Component;
2624
import org.springframework.web.client.HttpStatusCodeException;
2725
import org.springframework.web.client.RestClientException;
2826
import org.springframework.web.client.RestTemplate;
29-
import org.springframework.web.util.UriComponentsBuilder;
3027
import org.springframework.web.server.ResponseStatusException;
28+
import org.springframework.web.util.UriComponentsBuilder;
3129

3230
import java.util.HashMap;
3331
import java.util.Map;
32+
import java.util.Optional;
3433
import java.util.stream.Collectors;
3534

3635
@Component
3736
public class UpstreamRegistryService implements IExtensionRegistry {
3837

3938
protected final Logger logger = LoggerFactory.getLogger(UpstreamRegistryService.class);
4039

41-
@Autowired
42-
RestTemplate restTemplate;
43-
44-
@Autowired(required = false)
45-
UpstreamProxyService proxy;
46-
47-
@Autowired
48-
UrlConfigService urlConfigService;
40+
private final RestTemplate restTemplate;
41+
private UpstreamProxyService proxy;
42+
private final UrlConfigService urlConfigService;
43+
44+
public UpstreamRegistryService(
45+
RestTemplate restTemplate,
46+
Optional<UpstreamProxyService> upstreamProxyService,
47+
UrlConfigService urlConfigService
48+
) {
49+
this.restTemplate = restTemplate;
50+
upstreamProxyService.ifPresent(service -> this.proxy = service);
51+
this.urlConfigService = urlConfigService;
52+
}
4953

5054
public boolean isValid() {
5155
return !StringUtils.isEmpty(urlConfigService.getUpstreamUrl());

server/src/main/java/org/eclipse/openvsx/UserAPI.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.eclipse.openvsx.util.ErrorResultException;
2121
import org.eclipse.openvsx.util.NotFoundException;
2222
import org.eclipse.openvsx.util.UrlUtil;
23-
import org.springframework.beans.factory.annotation.Autowired;
2423
import org.springframework.http.CacheControl;
2524
import org.springframework.http.HttpStatus;
2625
import org.springframework.http.MediaType;
@@ -45,17 +44,22 @@ public class UserAPI {
4544

4645
private final static int TOKEN_DESCRIPTION_SIZE = 255;
4746

48-
@Autowired
49-
RepositoryService repositories;
50-
51-
@Autowired
52-
UserService users;
53-
54-
@Autowired
55-
EclipseService eclipse;
56-
57-
@Autowired
58-
StorageUtilService storageUtil;
47+
private final RepositoryService repositories;
48+
private final UserService users;
49+
private final EclipseService eclipse;
50+
private final StorageUtilService storageUtil;
51+
52+
public UserAPI(
53+
RepositoryService repositories,
54+
UserService users,
55+
EclipseService eclipse,
56+
StorageUtilService storageUtil
57+
) {
58+
this.repositories = repositories;
59+
this.users = users;
60+
this.eclipse = eclipse;
61+
this.storageUtil = storageUtil;
62+
}
5963

6064
/**
6165
* Redirect to GitHub Oauth2 login as default login provider.

server/src/main/java/org/eclipse/openvsx/UserService.java

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
package org.eclipse.openvsx;
1111

1212
import com.google.common.base.Joiner;
13+
import jakarta.persistence.EntityManager;
14+
import jakarta.transaction.Transactional;
1315
import org.eclipse.openvsx.cache.CacheService;
1416
import org.eclipse.openvsx.entities.*;
1517
import org.eclipse.openvsx.json.AccessTokenJson;
@@ -22,14 +24,11 @@
2224
import org.eclipse.openvsx.util.NotFoundException;
2325
import org.eclipse.openvsx.util.TimeUtil;
2426
import org.eclipse.openvsx.util.UrlUtil;
25-
import org.springframework.beans.factory.annotation.Autowired;
2627
import org.springframework.cache.annotation.CacheEvict;
2728
import org.springframework.security.core.context.SecurityContextHolder;
2829
import org.springframework.security.oauth2.core.user.OAuth2User;
2930
import org.springframework.stereotype.Component;
3031

31-
import jakarta.persistence.EntityManager;
32-
import jakarta.transaction.Transactional;
3332
import java.util.Objects;
3433
import java.util.UUID;
3534

@@ -39,20 +38,25 @@
3938
@Component
4039
public class UserService {
4140

42-
@Autowired
43-
EntityManager entityManager;
44-
45-
@Autowired
46-
RepositoryService repositories;
47-
48-
@Autowired
49-
StorageUtilService storageUtil;
50-
51-
@Autowired
52-
CacheService cache;
53-
54-
@Autowired
55-
ExtensionValidator validator;
41+
private final EntityManager entityManager;
42+
private final RepositoryService repositories;
43+
private final StorageUtilService storageUtil;
44+
private final CacheService cache;
45+
private final ExtensionValidator validator;
46+
47+
public UserService(
48+
EntityManager entityManager,
49+
RepositoryService repositories,
50+
StorageUtilService storageUtil,
51+
CacheService cache,
52+
ExtensionValidator validator
53+
) {
54+
this.entityManager = entityManager;
55+
this.repositories = repositories;
56+
this.storageUtil = storageUtil;
57+
this.cache = cache;
58+
this.validator = validator;
59+
}
5660

5761
public UserData findLoggedInUser() {
5862
var authentication = SecurityContextHolder.getContext().getAuthentication();

0 commit comments

Comments
 (0)