Skip to content

Commit c8531cc

Browse files
committed
scope final
1 parent a19a686 commit c8531cc

19 files changed

+90
-46
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.udemy.spring.springselenium.kelvin.annotation;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.context.annotation.Lazy;
5+
6+
import java.lang.annotation.*;
7+
8+
@Lazy
9+
@Autowired
10+
@Documented
11+
@Target({ElementType.FIELD})
12+
@Retention(RetentionPolicy.RUNTIME)
13+
public @interface LazyAutowired {
14+
}

src/main/java/com/udemy/spring/springselenium/annotation/LazyConfiguration.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/annotation/LazyConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.udemy.spring.springselenium.annotation;
1+
package com.udemy.spring.springselenium.kelvin.annotation;
22

33
import org.springframework.context.annotation.Configuration;
44
import org.springframework.context.annotation.Lazy;

src/main/java/com/udemy/spring/springselenium/annotation/Page.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/annotation/Page.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package com.udemy.spring.springselenium.annotation;
1+
package com.udemy.spring.springselenium.kelvin.annotation;
22

33

4+
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
45
import org.springframework.context.annotation.Lazy;
56
import org.springframework.context.annotation.Scope;
67
import org.springframework.stereotype.Component;
@@ -9,7 +10,7 @@
910

1011
@Lazy
1112
@Component
12-
@Scope("prototype")
13+
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
1314
@Documented
1415
@Target({ElementType.TYPE})
1516
@Retention(RetentionPolicy.RUNTIME)

src/main/java/com/udemy/spring/springselenium/annotation/PageFragment.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/annotation/PageFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.udemy.spring.springselenium.annotation;
1+
package com.udemy.spring.springselenium.kelvin.annotation;
22

33
import org.springframework.context.annotation.Lazy;
44
import org.springframework.context.annotation.Scope;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.udemy.spring.springselenium.kelvin.annotation;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Scope;
5+
6+
import java.lang.annotation.*;
7+
8+
@Bean
9+
@Scope("browserscope")
10+
@Documented
11+
@Target({ElementType.METHOD})
12+
@Retention(RetentionPolicy.RUNTIME)
13+
public @interface ThreadScopeBean {
14+
}

src/main/java/com/udemy/spring/springselenium/config/FakerConfig.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/config/FakerConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.udemy.spring.springselenium.config;
1+
package com.udemy.spring.springselenium.kelvin.config;
22

33
import com.github.javafaker.Faker;
4-
import com.udemy.spring.springselenium.annotation.LazyConfiguration;
4+
import com.udemy.spring.springselenium.kelvin.annotation.LazyConfiguration;
55
import org.springframework.context.annotation.Bean;
66

77
@LazyConfiguration

src/main/java/com/udemy/spring/springselenium/config/RemoteWebDriverConfig.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/config/RemoteWebDriverConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package com.udemy.spring.springselenium.config;
1+
package com.udemy.spring.springselenium.kelvin.config;
22

3-
import com.udemy.spring.springselenium.annotation.LazyConfiguration;
3+
import com.udemy.spring.springselenium.kelvin.annotation.LazyConfiguration;
4+
import com.udemy.spring.springselenium.kelvin.annotation.ThreadScopeBean;
45
import org.openqa.selenium.WebDriver;
56
import org.openqa.selenium.remote.DesiredCapabilities;
67
import org.openqa.selenium.remote.RemoteWebDriver;
78
import org.springframework.beans.factory.annotation.Value;
89
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
910
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
10-
import org.springframework.context.annotation.Bean;
1111
import org.springframework.context.annotation.Profile;
1212

1313
import java.net.URL;
@@ -19,13 +19,13 @@ public class RemoteWebDriverConfig {
1919
@Value("${selenium.grid.url}")
2020
private URL url;
2121

22-
@Bean
22+
@ThreadScopeBean
2323
@ConditionalOnProperty(name = "browser", havingValue = "firefox")
2424
public WebDriver remoteFirefoxDriver(){
2525
return new RemoteWebDriver(this.url, DesiredCapabilities.firefox());
2626
}
2727

28-
@Bean
28+
@ThreadScopeBean
2929
@ConditionalOnMissingBean
3030
public WebDriver remoteChromeDriver(){
3131
return new RemoteWebDriver(this.url, DesiredCapabilities.chrome());

src/main/java/com/udemy/spring/springselenium/config/WebDriverConfig.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/config/WebDriverConfig.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,27 @@
1-
package com.udemy.spring.springselenium.config;
1+
package com.udemy.spring.springselenium.kelvin.config;
22

3-
import com.udemy.spring.springselenium.annotation.LazyConfiguration;
3+
import com.udemy.spring.springselenium.kelvin.annotation.LazyConfiguration;
4+
import com.udemy.spring.springselenium.kelvin.annotation.ThreadScopeBean;
45
import io.github.bonigarcia.wdm.WebDriverManager;
56
import org.openqa.selenium.WebDriver;
67
import org.openqa.selenium.chrome.ChromeDriver;
78
import org.openqa.selenium.firefox.FirefoxDriver;
89
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
910
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
10-
import org.springframework.context.annotation.Bean;
1111
import org.springframework.context.annotation.Profile;
12-
import org.springframework.context.annotation.Scope;
1312

1413
@Profile("!remote")
1514
@LazyConfiguration
1615
public class WebDriverConfig {
1716

18-
@Bean
17+
@ThreadScopeBean
1918
@ConditionalOnProperty(name = "browser", havingValue = "firefox")
2019
public WebDriver firefoxDriver(){
2120
WebDriverManager.firefoxdriver().setup();
2221
return new FirefoxDriver();
2322
}
2423

25-
@Bean
26-
@Scope("browserscope")
24+
@ThreadScopeBean
2725
@ConditionalOnMissingBean
2826
public WebDriver chromeDriver(){
2927
WebDriverManager.chromedriver().version("77.0.3865.40").setup();

src/main/java/com/udemy/spring/springselenium/config/WebDriverWaitConfig.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/config/WebDriverWaitConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package com.udemy.spring.springselenium.config;
1+
package com.udemy.spring.springselenium.kelvin.config;
22

33

4-
import com.udemy.spring.springselenium.annotation.LazyConfiguration;
4+
import com.udemy.spring.springselenium.kelvin.annotation.LazyConfiguration;
55
import org.openqa.selenium.WebDriver;
66
import org.openqa.selenium.support.ui.WebDriverWait;
77
import org.springframework.beans.factory.annotation.Value;

src/main/java/com/udemy/spring/springselenium/config/BrowserScope.java renamed to src/main/java/com/udemy/spring/springselenium/kelvin/scope/BrowserScope.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.udemy.spring.springselenium.config;
1+
package com.udemy.spring.springselenium.kelvin.scope;
22

33
import org.openqa.selenium.remote.RemoteWebDriver;
44
import org.openqa.selenium.remote.SessionId;

0 commit comments

Comments
 (0)