Skip to content

Commit 0084941

Browse files
d.bogatkod.bogatko
authored andcommitted
fixed issue with visibility of the resources in the jar files
1 parent 0bcdd46 commit 0084941

File tree

5 files changed

+20
-41
lines changed

5 files changed

+20
-41
lines changed

src/main/java/aquality/selenium/configuration/Configuration.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
import aquality.selenium.utils.JsonFile;
44

5-
import java.io.IOException;
6-
import java.io.UncheckedIOException;
7-
85
public class Configuration implements IConfiguration{
96

107
private static ThreadLocal<Configuration> instance = ThreadLocal.withInitial(Configuration::new);
@@ -47,10 +44,6 @@ public ILoggerConfiguration getLoggerConfiguration() {
4744

4845
private JsonFile getSettings() {
4946
String settingsProfile = System.getProperty("profile") == null ? "settings.json" : "settings." + System.getProperty("profile") + ".json";
50-
try{
51-
return new JsonFile(settingsProfile);
52-
}catch (IOException e){
53-
throw new UncheckedIOException(String.format("Browser profile assigned in file %1$s was not found in the root of resources directory", settingsProfile), e);
54-
}
47+
return new JsonFile(settingsProfile);
5548
}
5649
}

src/main/java/aquality/selenium/localization/LocalizationManager.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
import aquality.selenium.configuration.Configuration;
44
import aquality.selenium.utils.JsonFile;
55

6-
import java.io.IOException;
7-
import java.io.UncheckedIOException;
8-
96
public class LocalizationManager {
107

118
private final JsonFile localManager;
@@ -14,11 +11,7 @@ public class LocalizationManager {
1411
private LocalizationManager(){
1512
SupportedLanguage language = Configuration.getInstance().getLoggerConfiguration().getLanguage();
1613
String translateDictFile = String.format("localization/%1$s.json", language.name().toLowerCase());
17-
try {
18-
localManager = new JsonFile(translateDictFile);
19-
} catch (IOException | IllegalArgumentException e) {
20-
throw new UncheckedIOException("LocalizationManager was not instantiated. Localization file was not found by path " + translateDictFile, new IOException(e));
21-
}
14+
localManager = new JsonFile(translateDictFile);
2215
}
2316

2417
public static LocalizationManager getInstance() {

src/main/java/aquality/selenium/utils/JsonFile.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.io.File;
88
import java.io.IOException;
99
import java.io.UncheckedIOException;
10-
import java.net.URL;
1110
import java.nio.file.Files;
1211
import java.nio.file.Paths;
1312
import java.util.*;
@@ -16,17 +15,17 @@ public class JsonFile {
1615

1716
private final ObjectMapper mapper = new ObjectMapper();
1817
private final String fileCanonicalPath;
18+
private final String content;
1919

2020
public JsonFile(File file) throws IOException {
21-
this.fileCanonicalPath = file.getCanonicalPath();
21+
this.content = getFileContent(file.getCanonicalPath());
22+
fileCanonicalPath = file.getCanonicalPath();
2223
}
2324

24-
public String getFileCanonicalPath(){
25-
return fileCanonicalPath;
26-
}
27-
28-
public JsonFile(String resourceName) throws IOException {
29-
this(new File(getResourcePath(resourceName)));
25+
public JsonFile(String resourceName) {
26+
ResourceFile resourceFile = new ResourceFile(resourceName);
27+
this.content = resourceFile.getFileContent();
28+
this.fileCanonicalPath = resourceFile.getFileCanonicalPath();
3029
}
3130

3231
public Object getValue(String jsonPath){
@@ -68,10 +67,10 @@ public Map<String, Object> getMap(String jsonPath) {
6867

6968
private JsonNode getJsonNode(String jsonPath){
7069
try{
71-
JsonNode node = mapper.readTree(getFileContent(getFileCanonicalPath()));
70+
JsonNode node = mapper.readTree(getContent());
7271
return node.at(jsonPath);
7372
}catch (IOException e){
74-
throw new UncheckedIOException(String.format("Json field by json-path %1$s was not found in the file %2$s", jsonPath, getFileCanonicalPath()),e);
73+
throw new UncheckedIOException(String.format("Json field by json-path %1$s was not found in the file %2$s", jsonPath, getContent()),e);
7574
}
7675
}
7776

@@ -83,12 +82,11 @@ private String getFileContent(String filename) {
8382
}
8483
}
8584

86-
private static String getResourcePath(final String resourceName) {
87-
try{
88-
URL resourceURL = JsonFile.class.getClassLoader().getResource(resourceName);
89-
return Objects.requireNonNull(resourceURL).getPath();
90-
}catch (NullPointerException e){
91-
throw new IllegalArgumentException(String.format("Resource file %1$s was not found or cannot be loaded", resourceName), e);
92-
}
85+
public String getContent() {
86+
return content;
87+
}
88+
89+
public String getFileCanonicalPath() {
90+
return fileCanonicalPath;
9391
}
9492
}

src/test/java/tests/usecases/BrowserFactoryTests.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import aquality.selenium.configuration.driversettings.FirefoxSettings;
1010
import aquality.selenium.configuration.driversettings.IDriverSettings;
1111
import aquality.selenium.utils.JsonFile;
12+
import aquality.selenium.waitings.ConditionalWait;
1213
import com.google.common.util.concurrent.UncheckedExecutionException;
1314
import io.github.bonigarcia.wdm.WebDriverManager;
1415
import org.openqa.selenium.InvalidArgumentException;
@@ -19,11 +20,9 @@
1920
import org.testng.annotations.Test;
2021
import theinternet.TheInternetPage;
2122
import theinternet.forms.FileDownloaderForm;
22-
import aquality.selenium.waitings.ConditionalWait;
2323

2424
import java.io.File;
2525
import java.io.IOException;
26-
import java.io.UncheckedIOException;
2726
import java.net.MalformedURLException;
2827
import java.net.URL;
2928
import java.nio.file.Files;
@@ -38,11 +37,7 @@ public class BrowserFactoryTests {
3837
private final JsonFile jsonProfile;
3938

4039
public BrowserFactoryTests() {
41-
try{
42-
this.jsonProfile = new JsonFile("settings.json");
43-
}catch (IOException e){
44-
throw new UncheckedIOException(e);
45-
}
40+
this.jsonProfile = new JsonFile("settings.json");
4641
}
4742

4843
@Test

src/test/resources/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
},
5656
"timeouts": {
5757
"timeoutImplicit" : 0,
58-
"timeoutCondition" : 15,
58+
"timeoutCondition" : 25,
5959
"timeoutScript" : 10,
6060
"timeoutPageLoad" : 30,
6161
"timeoutPollingInterval": 300,

0 commit comments

Comments
 (0)