Skip to content

Commit 94e1669

Browse files
committed
Introduce BaseConfiguration for Spring-based projects
Signed-off-by: Sebastian Hoß <[email protected]>
1 parent 09262cb commit 94e1669

File tree

8 files changed

+42
-44
lines changed

8 files changed

+42
-44
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright © 2012 Sebastian Hoß <[email protected]>
3+
* This work is free. You can redistribute it and/or modify it under the
4+
* terms of the Do What The Fuck You Want To Public License, Version 2,
5+
* as published by Sam Hocevar. See http://www.wtfpl.net/ for more details.
6+
*/
7+
package com.github.sebhoss.contract.configuration;
8+
9+
import com.github.sebhoss.contract.verifier.ContractConfiguration;
10+
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
11+
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
12+
13+
import org.springframework.context.annotation.Configuration;
14+
import org.springframework.context.annotation.Import;
15+
16+
/**
17+
* Base configuration for Spring-based projects. Extend this class and @Import a specific language configuration.
18+
*/
19+
@Configuration
20+
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class,
21+
ContractConfiguration.class, ErrorMessageConfiguration.class })
22+
public abstract class BaseConfiguration {
23+
24+
// Meta-configuration
25+
26+
}

contract-frameworks/contract-spring/contract-spring-javascript/src/main/java/com/github/sebhoss/contract/configuration/DefaultJavaScriptConfiguration.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
10-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
119
import com.github.sebhoss.contract.verifier.JavaScriptConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
@@ -18,9 +15,8 @@
1815
* Default configuration for JavaScript-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, JavaScriptConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultJavaScriptConfiguration {
18+
@Import(JavaScriptConfiguration.class)
19+
public class DefaultJavaScriptConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

contract-frameworks/contract-spring/contract-spring-jexl/src/main/java/com/github/sebhoss/contract/configuration/DefaultJEXLConfiguration.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
109
import com.github.sebhoss.contract.verifier.JexlConfiguration;
11-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
@@ -18,9 +15,8 @@
1815
* Default configuration for JEXL-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, JexlConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultJEXLConfiguration {
18+
@Import(JexlConfiguration.class)
19+
public class DefaultJEXLConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

contract-frameworks/contract-spring/contract-spring-juel/src/main/java/com/github/sebhoss/contract/configuration/DefaultJUELConfiguration.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,17 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
109
import com.github.sebhoss.contract.verifier.JuelConfiguration;
11-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
1613

1714
/**
18-
* Default configuration for JEXL-based contracts.
15+
* Default configuration for JUEL-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, JuelConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultJUELConfiguration {
18+
@Import(JuelConfiguration.class)
19+
public class DefaultJUELConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

contract-frameworks/contract-spring/contract-spring-mvel/src/main/java/com/github/sebhoss/contract/configuration/DefaultMVELConfiguration.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
109
import com.github.sebhoss.contract.verifier.MvelConfiguration;
11-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
@@ -18,9 +15,8 @@
1815
* Default configuration for MEVL-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, MvelConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultMVELConfiguration {
18+
@Import(MvelConfiguration.class)
19+
public class DefaultMVELConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

contract-frameworks/contract-spring/contract-spring-ognl/src/main/java/com/github/sebhoss/contract/configuration/DefaultOGNLConfiguration.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
109
import com.github.sebhoss.contract.verifier.OgnlConfiguration;
11-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
@@ -18,9 +15,8 @@
1815
* Default configuration for OGNL-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, OgnlConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultOGNLConfiguration {
18+
@Import(OgnlConfiguration.class)
19+
public class DefaultOGNLConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

contract-frameworks/contract-spring/contract-spring-spel/src/main/java/com/github/sebhoss/contract/configuration/DefaultSpELConfiguration.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,17 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
10-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
119
import com.github.sebhoss.contract.verifier.SpElConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
1613

1714
/**
18-
* Default configuration for Spring-based projects.
15+
* Default configuration for SpEL-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, SpElConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultSpELConfiguration {
18+
@Import(SpElConfiguration.class)
19+
public class DefaultSpELConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

contract-frameworks/contract-spring/contract-spring-uel/src/main/java/com/github/sebhoss/contract/configuration/DefaultUELConfiguration.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
*/
77
package com.github.sebhoss.contract.configuration;
88

9-
import com.github.sebhoss.contract.verifier.ContractConfiguration;
10-
import com.github.sebhoss.contract.verifier.ParameterNamesLookupConfiguration;
119
import com.github.sebhoss.contract.verifier.UelConfiguration;
12-
import com.github.sebhoss.contract.verifier.impl.ErrorMessageConfiguration;
1310

1411
import org.springframework.context.annotation.Configuration;
1512
import org.springframework.context.annotation.Import;
@@ -18,9 +15,8 @@
1815
* Default configuration for UEL-based contracts.
1916
*/
2017
@Configuration
21-
@Import({ AspectConfiguration.class, ParameterNamesLookupConfiguration.class, UelConfiguration.class,
22-
ContractConfiguration.class, ErrorMessageConfiguration.class })
23-
public class DefaultUELConfiguration {
18+
@Import(UelConfiguration.class)
19+
public class DefaultUELConfiguration extends BaseConfiguration {
2420

2521
// Meta-configuration
2622

0 commit comments

Comments
 (0)