Skip to content

Commit 102eed5

Browse files
Stop NGDynamicHTMLTag (internal parser logic) leaking into our nodes
1 parent 0d9ca0b commit 102eed5

File tree

2 files changed

+12
-24
lines changed

2 files changed

+12
-24
lines changed

ng-appserver/src/main/java/ng/appserver/templating/parser/NGTemplateParser.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,13 @@ public void didParseClosingWebObjectTag( final String parsedString ) throws NGHT
109109
throw new NGHTMLFormatException( message );
110110
}
111111

112-
final PNode node = new PBasicNode( _currentDynamicTag );
112+
final PNode node = new PBasicNode(
113+
_currentDynamicTag.declaration().type(),
114+
_currentDynamicTag.declaration().bindings(),
115+
_currentDynamicTag.childrenWithStringsProcessedAndCombined(),
116+
_currentDynamicTag.declaration().isInline(),
117+
_currentDynamicTag.declaration().name() );
118+
113119
_currentDynamicTag = parentDynamicTag;
114120
_currentDynamicTag.addChild( node );
115121
}

ng-appserver/src/main/java/ng/appserver/templating/parser/model/PBasicNode.java

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,13 @@
55
import java.util.Objects;
66

77
import ng.appserver.templating.parser.NGDeclaration.NGBindingValue;
8-
import ng.appserver.templating.parser.NGDynamicHTMLTag;
98

10-
public record PBasicNode( NGDynamicHTMLTag tag ) implements PNode {
9+
public record PBasicNode( String type, Map<String, NGBindingValue> bindings, List<PNode> children, boolean isInline, String declarationName ) implements PNode {
1110

1211
public PBasicNode {
13-
Objects.requireNonNull( tag );
14-
}
15-
16-
public boolean isInline() {
17-
return tag().declaration().isInline();
18-
}
19-
20-
public String type() {
21-
return tag().declaration().type();
22-
}
23-
24-
public Map<String, NGBindingValue> bindings() {
25-
return tag().declaration().bindings();
26-
}
27-
28-
public List<PNode> children() {
29-
return tag().childrenWithStringsProcessedAndCombined();
30-
}
31-
32-
public String declarationName() {
33-
return tag().declaration().name();
12+
Objects.requireNonNull( type );
13+
Objects.requireNonNull( bindings );
14+
Objects.requireNonNull( children );
15+
Objects.requireNonNull( declarationName );
3416
}
3517
}

0 commit comments

Comments
 (0)