Skip to content

Commit 5aa7d78

Browse files
committed
Fix build
1 parent c664627 commit 5aa7d78

8 files changed

Lines changed: 150 additions & 148 deletions

File tree

pom.xml

Lines changed: 5 additions & 0 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>
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 & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +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.ErrorHandlingStrategy.TemplateErrorTypeHandlingStrategy;
2627
import com.hubspot.jinjava.lib.Importable;
2728
import com.hubspot.jinjava.lib.expression.ExpressionStrategy;
2829
import com.hubspot.jinjava.lib.exptest.ExpTest;
@@ -42,7 +43,6 @@
4243
import com.hubspot.jinjava.util.ScopeMap;
4344
import java.util.ArrayList;
4445
import java.util.Collection;
45-
import java.util.Collections;
4646
import java.util.HashMap;
4747
import java.util.HashSet;
4848
import java.util.List;
@@ -584,10 +584,11 @@ public void registerFilter(Filter f) {
584584
}
585585

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

593594
public ELFunctionDefinition getFunction(String name) {
@@ -607,10 +608,13 @@ public Collection<ELFunctionDefinition> getAllFunctions() {
607608
if (parent != null) {
608609
fns.addAll(parent.getAllFunctions());
609610
}
610-
611-
final ImmutableSet<String> disabledFunctions = disabled == null
612-
? ImmutableSet.of()
613-
: 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+
}
614618
return fns
615619
.stream()
616620
.filter(f -> !disabledFunctions.contains(f.getName()))

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +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.ErrorHandlingStrategy.TemplateErrorTypeHandlingStrategy;
3738
import com.hubspot.jinjava.interpret.TemplateError.ErrorItem;
3839
import com.hubspot.jinjava.interpret.TemplateError.ErrorReason;
3940
import com.hubspot.jinjava.interpret.TemplateError.ErrorType;

src/main/java/com/hubspot/jinjava/lib/filter/FilterLibrary.java

Lines changed: 97 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -23,111 +23,109 @@
2323

2424
public class FilterLibrary extends SimpleLibrary<Filter> {
2525

26-
public static final Class<?>[] DEFAULT_FILTERS = {
27-
AbsFilter.class,
28-
AddFilter.class,
29-
AllowSnakeCaseFilter.class,
30-
AttrFilter.class,
31-
Base64DecodeFilter.class,
32-
Base64EncodeFilter.class,
33-
BatchFilter.class,
34-
BetweenTimesFilter.class,
35-
BoolFilter.class,
36-
CapitalizeFilter.class,
37-
CenterFilter.class,
38-
CountFilter.class,
39-
CutFilter.class,
40-
DAliasedDefaultFilter.class,
41-
DateTimeFormatFilter.class,
42-
DatetimeFilter.class,
43-
DefaultFilter.class,
44-
DictSortFilter.class,
45-
DifferenceFilter.class,
46-
DivideFilter.class,
47-
DivisibleFilter.class,
48-
EAliasedEscapeFilter.class,
49-
EscapeFilter.class,
50-
EscapeJinjavaFilter.class,
51-
EscapeJsFilter.class,
52-
EscapeJsonFilter.class,
53-
FileSizeFormatFilter.class,
54-
FirstFilter.class,
55-
FloatFilter.class,
56-
ForceEscapeFilter.class,
57-
FormatFilter.class,
58-
FormatDateFilter.class,
59-
FormatDatetimeFilter.class,
60-
FormatNumberFilter.class,
61-
FormatTimeFilter.class,
62-
FromJsonFilter.class,
63-
FromYamlFilter.class,
64-
GroupByFilter.class,
65-
IndentFilter.class,
66-
IntFilter.class,
67-
IntersectFilter.class,
68-
IpAddrFilter.class,
69-
Ipv4Filter.class,
70-
Ipv6Filter.class,
71-
JoinFilter.class,
72-
LastFilter.class,
73-
LengthFilter.class,
74-
ListFilter.class,
75-
LogFilter.class,
76-
LowerFilter.class,
77-
MapFilter.class,
78-
Md5Filter.class,
79-
MinusTimeFilter.class,
80-
MultiplyFilter.class,
81-
PlusTimeFilter.class,
82-
PrettyPrintFilter.class,
83-
RandomFilter.class,
84-
RegexReplaceFilter.class,
85-
RejectFilter.class,
86-
RejectAttrFilter.class,
87-
RenderFilter.class,
88-
ReplaceFilter.class,
89-
ReverseFilter.class,
90-
RootFilter.class,
91-
RoundFilter.class,
92-
SafeFilter.class,
93-
SelectFilter.class,
94-
SelectAttrFilter.class,
95-
ShuffleFilter.class,
96-
SliceFilter.class,
97-
SortFilter.class,
98-
SplitFilter.class,
99-
StringFilter.class,
100-
StringToDateFilter.class,
101-
StringToTimeFilter.class,
102-
StripTagsFilter.class,
103-
SumFilter.class,
104-
SymmetricDifferenceFilter.class,
105-
TitleFilter.class,
106-
ToJsonFilter.class,
107-
ToYamlFilter.class,
108-
TrimFilter.class,
109-
TruncateFilter.class,
110-
TruncateHtmlFilter.class,
111-
UnescapeHtmlFilter.class,
112-
UnionFilter.class,
113-
UniqueFilter.class,
114-
UnixTimestampFilter.class,
115-
UpperFilter.class,
116-
UrlDecodeFilter.class,
117-
UrlEncodeFilter.class,
118-
UrlizeFilter.class,
119-
WordCountFilter.class,
120-
WordWrapFilter.class,
121-
XmlAttrFilter.class,
122-
};
123-
12426
public FilterLibrary(boolean registerDefaults, Set<String> disabled) {
12527
super(registerDefaults, disabled);
12628
}
12729

12830
@Override
12931
protected void registerDefaults() {
130-
registerClasses((Class<? extends Filter>[]) DEFAULT_FILTERS);
32+
registerClasses(
33+
AbsFilter.class,
34+
AddFilter.class,
35+
AllowSnakeCaseFilter.class,
36+
AttrFilter.class,
37+
Base64DecodeFilter.class,
38+
Base64EncodeFilter.class,
39+
BatchFilter.class,
40+
BetweenTimesFilter.class,
41+
BoolFilter.class,
42+
CapitalizeFilter.class,
43+
CenterFilter.class,
44+
CountFilter.class,
45+
CutFilter.class,
46+
DAliasedDefaultFilter.class,
47+
DateTimeFormatFilter.class,
48+
DatetimeFilter.class,
49+
DefaultFilter.class,
50+
DictSortFilter.class,
51+
DifferenceFilter.class,
52+
DivideFilter.class,
53+
DivisibleFilter.class,
54+
EAliasedEscapeFilter.class,
55+
EscapeFilter.class,
56+
EscapeJinjavaFilter.class,
57+
EscapeJsFilter.class,
58+
EscapeJsonFilter.class,
59+
FileSizeFormatFilter.class,
60+
FirstFilter.class,
61+
FloatFilter.class,
62+
ForceEscapeFilter.class,
63+
FormatFilter.class,
64+
FormatDateFilter.class,
65+
FormatDatetimeFilter.class,
66+
FormatNumberFilter.class,
67+
FormatTimeFilter.class,
68+
FromJsonFilter.class,
69+
FromYamlFilter.class,
70+
GroupByFilter.class,
71+
IndentFilter.class,
72+
IntFilter.class,
73+
IntersectFilter.class,
74+
IpAddrFilter.class,
75+
Ipv4Filter.class,
76+
Ipv6Filter.class,
77+
JoinFilter.class,
78+
LastFilter.class,
79+
LengthFilter.class,
80+
ListFilter.class,
81+
LogFilter.class,
82+
LowerFilter.class,
83+
MapFilter.class,
84+
Md5Filter.class,
85+
MinusTimeFilter.class,
86+
MultiplyFilter.class,
87+
PlusTimeFilter.class,
88+
PrettyPrintFilter.class,
89+
RandomFilter.class,
90+
RegexReplaceFilter.class,
91+
RejectFilter.class,
92+
RejectAttrFilter.class,
93+
RenderFilter.class,
94+
ReplaceFilter.class,
95+
ReverseFilter.class,
96+
RootFilter.class,
97+
RoundFilter.class,
98+
SafeFilter.class,
99+
SelectFilter.class,
100+
SelectAttrFilter.class,
101+
ShuffleFilter.class,
102+
SliceFilter.class,
103+
SortFilter.class,
104+
SplitFilter.class,
105+
StringFilter.class,
106+
StringToDateFilter.class,
107+
StringToTimeFilter.class,
108+
StripTagsFilter.class,
109+
SumFilter.class,
110+
SymmetricDifferenceFilter.class,
111+
TitleFilter.class,
112+
ToJsonFilter.class,
113+
ToYamlFilter.class,
114+
TrimFilter.class,
115+
TruncateFilter.class,
116+
TruncateHtmlFilter.class,
117+
UnescapeHtmlFilter.class,
118+
UnionFilter.class,
119+
UniqueFilter.class,
120+
UnixTimestampFilter.class,
121+
UpperFilter.class,
122+
UrlDecodeFilter.class,
123+
UrlEncodeFilter.class,
124+
UrlizeFilter.class,
125+
WordCountFilter.class,
126+
WordWrapFilter.class,
127+
XmlAttrFilter.class
128+
);
131129
}
132130

133131
public Filter getFilter(String filterName) {

src/main/java/com/hubspot/jinjava/util/EagerExpressionResolver.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.hubspot.jinjava.interpret.Context.TemporaryValueClosable;
99
import com.hubspot.jinjava.interpret.DeferredValueException;
1010
import com.hubspot.jinjava.interpret.ErrorHandlingStrategy;
11+
import com.hubspot.jinjava.interpret.ErrorHandlingStrategy.TemplateErrorTypeHandlingStrategy;
1112
import com.hubspot.jinjava.interpret.JinjavaInterpreter;
1213
import com.hubspot.jinjava.interpret.OutputTooBigException;
1314
import com.hubspot.jinjava.interpret.PartiallyDeferredValue;

0 commit comments

Comments
 (0)