Skip to content

Commit bace1f8

Browse files
committed
Fix build
1 parent c7ed6bc commit bace1f8

File tree

13 files changed

+258
-249
lines changed

13 files changed

+258
-249
lines changed

pom.xml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@
104104
<artifactId>immutables-exceptions</artifactId>
105105
<version>${dep.hubspot-immutables.version}</version>
106106
</dependency>
107+
<dependency>
108+
<groupId>com.hubspot.immutables</groupId>
109+
<artifactId>immutable-collection-encodings</artifactId>
110+
<version>${dep.hubspot-immutables.version}</version>
111+
</dependency>
107112
<dependency>
108113
<groupId>com.hubspot</groupId>
109114
<artifactId>algebra</artifactId>
@@ -217,18 +222,15 @@
217222
<scope>provided</scope>
218223
</dependency>
219224
<dependency>
220-
<groupId>com.hubspot.immutables</groupId>
221-
<artifactId>hubspot-style</artifactId>
222-
<scope>provided</scope>
225+
<groupId>com.hubspot</groupId>
226+
<artifactId>algebra</artifactId>
223227
</dependency>
224228
<dependency>
225229
<groupId>com.hubspot.immutables</groupId>
226-
<artifactId>immutables-exceptions</artifactId>
227-
</dependency>
228-
<dependency>
229-
<groupId>com.hubspot</groupId>
230-
<artifactId>algebra</artifactId>
230+
<artifactId>immutable-collection-encodings</artifactId>
231+
<scope>provided</scope>
231232
</dependency>
233+
232234
</dependencies>
233235

234236
<build>
Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,16 @@
11
package com.hubspot.jinjava;
22

3-
import com.hubspot.immutable.collection.encoding.ImmutableListEncodingEnabled;
4-
import com.hubspot.immutable.collection.encoding.ImmutableMapEncodingEnabled;
5-
import com.hubspot.immutable.collection.encoding.ImmutableSetEncodingEnabled;
63
import org.immutables.value.Value;
74

85
@Value.Style(
96
init = "set*",
107
get = { "is*", "get*" } // Detect 'get' and 'is' prefixes in accessor methods
118
)
12-
@ImmutableSetEncodingEnabled
13-
@ImmutableListEncodingEnabled
14-
@ImmutableMapEncodingEnabled
159
public @interface JinjavaImmutableStyle {
1610
@Value.Style(
1711
init = "with*",
1812
get = { "is*", "get*" } // Detect 'get' and 'is' prefixes in accessor methods
1913
)
20-
@ImmutableSetEncodingEnabled
21-
@ImmutableListEncodingEnabled
22-
@ImmutableMapEncodingEnabled
2314
@interface WithStyle {
2415
}
2516
}

src/main/java/com/hubspot/jinjava/el/ext/JinjavaBeanELResolver.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,7 @@ public Object invoke(
142142
Object[] params
143143
) {
144144
if (method == null) {
145-
throw new MethodNotFoundException(
146-
"Cannot find method '" + method + "' in " + base.getClass()
147-
);
145+
throw new MethodNotFoundException("Cannot find method null in " + base.getClass());
148146
}
149147
if (
150148
DEFERRED_EXECUTION_RESTRICTED_METHODS.contains(method.toString()) &&

src/main/java/com/hubspot/jinjava/interpret/Context.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.google.common.collect.SetMultimap;
2424
import com.google.common.collect.Sets;
2525
import com.hubspot.jinjava.interpret.AutoCloseableSupplier.AutoCloseableImpl;
26-
import com.hubspot.jinjava.interpret.ContextConfigurationIF.ErrorHandlingStrategyIF.TemplateErrorTypeHandlingStrategy;
26+
import com.hubspot.jinjava.interpret.ErrorHandlingStrategy.TemplateErrorTypeHandlingStrategy;
2727
import com.hubspot.jinjava.lib.Importable;
2828
import com.hubspot.jinjava.lib.expression.ExpressionStrategy;
2929
import com.hubspot.jinjava.lib.exptest.ExpTest;
@@ -43,7 +43,6 @@
4343
import com.hubspot.jinjava.util.ScopeMap;
4444
import java.util.ArrayList;
4545
import java.util.Collection;
46-
import java.util.Collections;
4746
import java.util.HashMap;
4847
import java.util.HashSet;
4948
import java.util.List;
@@ -585,10 +584,11 @@ public void registerFilter(Filter f) {
585584
}
586585

587586
public boolean isFunctionDisabled(String name) {
588-
return (
589-
disabled != null &&
590-
disabled.getOrDefault(Library.FUNCTION, ImmutableSet.of()).contains(name)
591-
);
587+
if (disabled == null) {
588+
return false;
589+
}
590+
ImmutableSet<String> disabledFunctions = disabled.get(Library.FUNCTION);
591+
return disabledFunctions != null && disabledFunctions.contains(name);
592592
}
593593

594594
public ELFunctionDefinition getFunction(String name) {
@@ -608,10 +608,13 @@ public Collection<ELFunctionDefinition> getAllFunctions() {
608608
if (parent != null) {
609609
fns.addAll(parent.getAllFunctions());
610610
}
611-
612-
final ImmutableSet<String> disabledFunctions = disabled == null
613-
? ImmutableSet.of()
614-
: disabled.getOrDefault(Library.FUNCTION, ImmutableSet.of());
611+
if (disabled == null) {
612+
return fns;
613+
}
614+
ImmutableSet<String> disabledFunctions = disabled.get(Library.FUNCTION);
615+
if (disabledFunctions == null) {
616+
return fns;
617+
}
615618
return fns
616619
.stream()
617620
.filter(f -> !disabledFunctions.contains(f.getName()))
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.hubspot.jinjava.interpret;
2+
3+
import com.hubspot.jinjava.JinjavaImmutableStyle;
4+
import com.hubspot.jinjava.lib.expression.DefaultExpressionStrategy;
5+
import com.hubspot.jinjava.lib.expression.ExpressionStrategy;
6+
import javax.annotation.Nullable;
7+
import org.immutables.value.Value.Default;
8+
import org.immutables.value.Value.Immutable;
9+
10+
@Immutable(singleton = true)
11+
@JinjavaImmutableStyle
12+
public interface ContextConfiguration extends WithContextConfiguration {
13+
@Default
14+
default ExpressionStrategy getExpressionStrategy() {
15+
return new DefaultExpressionStrategy();
16+
}
17+
18+
@Nullable
19+
DynamicVariableResolver getDynamicVariableResolver();
20+
21+
@Default
22+
default boolean isValidationMode() {
23+
return false;
24+
}
25+
26+
@Default
27+
default boolean isDeferredExecutionMode() {
28+
return false;
29+
}
30+
31+
@Default
32+
default boolean isDeferLargeObjects() {
33+
return false;
34+
}
35+
36+
@Default
37+
default boolean isPartialMacroEvaluation() {
38+
return false;
39+
}
40+
41+
@Default
42+
default boolean isUnwrapRawOverride() {
43+
return false;
44+
}
45+
46+
@Default
47+
default ErrorHandlingStrategy getErrorHandlingStrategy() {
48+
return ImmutableErrorHandlingStrategy.of();
49+
}
50+
51+
static ContextConfiguration of() {
52+
return ImmutableContextConfiguration.of();
53+
}
54+
}

src/main/java/com/hubspot/jinjava/interpret/ContextConfigurationIF.java

Lines changed: 0 additions & 84 deletions
This file was deleted.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.hubspot.jinjava.interpret;
2+
3+
import com.hubspot.jinjava.JinjavaImmutableStyle;
4+
import org.immutables.value.Value;
5+
6+
@Value.Immutable(singleton = true)
7+
@JinjavaImmutableStyle
8+
public interface ErrorHandlingStrategy {
9+
@Value.Default
10+
default TemplateErrorTypeHandlingStrategy getFatalErrorStrategy() {
11+
return TemplateErrorTypeHandlingStrategy.ADD_ERROR;
12+
}
13+
14+
@Value.Default
15+
default TemplateErrorTypeHandlingStrategy getNonFatalErrorStrategy() {
16+
return TemplateErrorTypeHandlingStrategy.ADD_ERROR;
17+
}
18+
19+
enum TemplateErrorTypeHandlingStrategy {
20+
IGNORE,
21+
ADD_ERROR,
22+
THROW_EXCEPTION,
23+
}
24+
25+
class Builder extends ImmutableErrorHandlingStrategy.Builder {}
26+
27+
static Builder builder() {
28+
return new Builder();
29+
}
30+
31+
static ErrorHandlingStrategy throwAll() {
32+
return ErrorHandlingStrategy
33+
.builder()
34+
.setFatalErrorStrategy(TemplateErrorTypeHandlingStrategy.THROW_EXCEPTION)
35+
.setNonFatalErrorStrategy(TemplateErrorTypeHandlingStrategy.THROW_EXCEPTION)
36+
.build();
37+
}
38+
39+
static ErrorHandlingStrategy ignoreAll() {
40+
return ErrorHandlingStrategy
41+
.builder()
42+
.setFatalErrorStrategy(TemplateErrorTypeHandlingStrategy.IGNORE)
43+
.setNonFatalErrorStrategy(TemplateErrorTypeHandlingStrategy.IGNORE)
44+
.build();
45+
}
46+
}

src/main/java/com/hubspot/jinjava/interpret/JinjavaInterpreter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
import com.hubspot.jinjava.features.BuiltInFeatures;
3535
import com.hubspot.jinjava.interpret.AutoCloseableSupplier.AutoCloseableImpl;
3636
import com.hubspot.jinjava.interpret.Context.TemporaryValueClosable;
37-
import com.hubspot.jinjava.interpret.ContextConfigurationIF.ErrorHandlingStrategyIF;
38-
import com.hubspot.jinjava.interpret.ContextConfigurationIF.ErrorHandlingStrategyIF.TemplateErrorTypeHandlingStrategy;
37+
import com.hubspot.jinjava.interpret.ErrorHandlingStrategy.TemplateErrorTypeHandlingStrategy;
3938
import com.hubspot.jinjava.interpret.TemplateError.ErrorItem;
4039
import com.hubspot.jinjava.interpret.TemplateError.ErrorReason;
4140
import com.hubspot.jinjava.interpret.TemplateError.ErrorType;
@@ -294,7 +293,7 @@ private TemporaryValueClosable<ErrorHandlingStrategy> ignoreParseErrorsIfActivat
294293
.getFeatures()
295294
.getActivationStrategy(BuiltInFeatures.IGNORE_NESTED_INTERPRETATION_PARSE_ERRORS)
296295
.isActive(context)
297-
? context.withErrorHandlingStrategy(ErrorHandlingStrategyIF.ignoreAll())
296+
? context.withErrorHandlingStrategy(ErrorHandlingStrategy.ignoreAll())
298297
: TemporaryValueClosable.noOp();
299298
}
300299

src/main/java/com/hubspot/jinjava/lib/expression/EagerExpressionStrategy.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.google.common.annotations.Beta;
44
import com.hubspot.jinjava.JinjavaConfig;
55
import com.hubspot.jinjava.interpret.Context.TemporaryValueClosable;
6-
import com.hubspot.jinjava.interpret.ContextConfigurationIF.ErrorHandlingStrategyIF;
76
import com.hubspot.jinjava.interpret.ErrorHandlingStrategy;
87
import com.hubspot.jinjava.interpret.JinjavaInterpreter;
98
import com.hubspot.jinjava.interpret.TemplateSyntaxException;
@@ -109,7 +108,7 @@ public static String postProcessResult(
109108
try (
110109
TemporaryValueClosable<ErrorHandlingStrategy> c = interpreter
111110
.getContext()
112-
.withErrorHandlingStrategy(ErrorHandlingStrategyIF.throwAll())
111+
.withErrorHandlingStrategy(ErrorHandlingStrategy.throwAll())
113112
) {
114113
interpreter.parse(result);
115114
}

0 commit comments

Comments
 (0)