24
24
import java .util .Map ;
25
25
import java .util .function .Function ;
26
26
27
+ import com .fasterxml .jackson .databind .JsonNode ;
27
28
import org .apache .commons .io .FileUtils ;
28
29
29
30
import com .vaadin .flow .internal .UsageStatistics ;
30
31
import com .vaadin .flow .server .Constants ;
31
32
import com .vaadin .flow .server .InitParameters ;
32
33
import com .vaadin .flow .server .frontend .FrontendUtils ;
33
34
34
- import elemental .json .JsonObject ;
35
-
36
35
import static com .vaadin .flow .server .Constants .CONNECT_APPLICATION_PROPERTIES_TOKEN ;
37
36
import static com .vaadin .flow .server .Constants .CONNECT_JAVA_SOURCE_FOLDER_TOKEN ;
38
37
import static com .vaadin .flow .server .Constants .CONNECT_OPEN_API_FILE_TOKEN ;
@@ -80,122 +79,127 @@ public class AbstractConfigurationFactory implements Serializable {
80
79
* @return the config parameters
81
80
*/
82
81
protected Map <String , String > getConfigParametersUsingTokenData (
83
- JsonObject buildInfo ) {
82
+ JsonNode buildInfo ) {
84
83
Map <String , String > params = new HashMap <>();
85
- if (buildInfo .hasKey (SERVLET_PARAMETER_PRODUCTION_MODE )) {
86
- params .put (SERVLET_PARAMETER_PRODUCTION_MODE , String .valueOf (
87
- buildInfo .getBoolean (SERVLET_PARAMETER_PRODUCTION_MODE )));
84
+ if (buildInfo .has (SERVLET_PARAMETER_PRODUCTION_MODE )) {
85
+ params .put (SERVLET_PARAMETER_PRODUCTION_MODE ,
86
+ String .valueOf (
87
+ buildInfo .get (SERVLET_PARAMETER_PRODUCTION_MODE )
88
+ .booleanValue ()));
88
89
}
89
- if (buildInfo .hasKey (EXTERNAL_STATS_FILE_TOKEN )
90
- || buildInfo .hasKey (EXTERNAL_STATS_URL_TOKEN )) {
90
+ if (buildInfo .has (EXTERNAL_STATS_FILE_TOKEN )
91
+ || buildInfo .has (EXTERNAL_STATS_URL_TOKEN )) {
91
92
params .put (EXTERNAL_STATS_FILE , Boolean .toString (true ));
92
- if (buildInfo .hasKey (EXTERNAL_STATS_URL_TOKEN )) {
93
+ if (buildInfo .has (EXTERNAL_STATS_URL_TOKEN )) {
93
94
params .put (EXTERNAL_STATS_URL ,
94
- buildInfo .getString (EXTERNAL_STATS_URL_TOKEN ));
95
+ buildInfo .get (EXTERNAL_STATS_URL_TOKEN ). textValue ( ));
95
96
}
96
97
// NO OTHER CONFIGURATION:
97
98
return params ;
98
99
}
99
- if (buildInfo .hasKey (SERVLET_PARAMETER_INITIAL_UIDL )) {
100
- params .put (SERVLET_PARAMETER_INITIAL_UIDL , String .valueOf (
101
- buildInfo . getBoolean (SERVLET_PARAMETER_INITIAL_UIDL )));
100
+ if (buildInfo .has (SERVLET_PARAMETER_INITIAL_UIDL )) {
101
+ params .put (SERVLET_PARAMETER_INITIAL_UIDL , String .valueOf (buildInfo
102
+ . get (SERVLET_PARAMETER_INITIAL_UIDL ). booleanValue ( )));
102
103
// Need to be sure that we remove the system property,
103
104
// because it has priority in the configuration getter
104
105
System .clearProperty (
105
106
VAADIN_PREFIX + SERVLET_PARAMETER_INITIAL_UIDL );
106
107
}
107
108
108
- if (buildInfo .hasKey (NPM_TOKEN )) {
109
- params .put (PROJECT_BASEDIR , buildInfo .getString (NPM_TOKEN ));
110
- verifyFolderExists (params , buildInfo .getString (NPM_TOKEN ));
109
+ if (buildInfo .has (NPM_TOKEN )) {
110
+ params .put (PROJECT_BASEDIR , buildInfo .get (NPM_TOKEN ). textValue ( ));
111
+ verifyFolderExists (params , buildInfo .get (NPM_TOKEN ). textValue ( ));
111
112
}
112
113
113
- if (buildInfo .hasKey (NODE_VERSION )) {
114
- params .put (NODE_VERSION , buildInfo .getString (NODE_VERSION ));
114
+ if (buildInfo .has (NODE_VERSION )) {
115
+ params .put (NODE_VERSION , buildInfo .get (NODE_VERSION ). textValue ( ));
115
116
}
116
- if (buildInfo .hasKey (NODE_DOWNLOAD_ROOT )) {
117
+ if (buildInfo .has (NODE_DOWNLOAD_ROOT )) {
117
118
params .put (NODE_DOWNLOAD_ROOT ,
118
- buildInfo .getString (NODE_DOWNLOAD_ROOT ));
119
+ buildInfo .get (NODE_DOWNLOAD_ROOT ). textValue ( ));
119
120
}
120
121
121
- if (buildInfo .hasKey (FRONTEND_TOKEN )) {
122
+ if (buildInfo .has (FRONTEND_TOKEN )) {
122
123
params .put (FrontendUtils .PARAM_FRONTEND_DIR ,
123
- buildInfo .getString (FRONTEND_TOKEN ));
124
+ buildInfo .get (FRONTEND_TOKEN ). textValue ( ));
124
125
// Only verify frontend folder if it's not a subfolder of the
125
126
// npm folder.
126
- if (!buildInfo .hasKey (NPM_TOKEN )
127
- || !buildInfo .getString (FRONTEND_TOKEN )
128
- .startsWith (buildInfo .getString (NPM_TOKEN ))) {
129
- verifyFolderExists (params , buildInfo .getString (FRONTEND_TOKEN ));
127
+ if (!buildInfo .has (NPM_TOKEN )
128
+ || !buildInfo .get (FRONTEND_TOKEN ).textValue ()
129
+ .startsWith (buildInfo .get (NPM_TOKEN ).textValue ())) {
130
+ verifyFolderExists (params ,
131
+ buildInfo .get (FRONTEND_TOKEN ).textValue ());
130
132
}
131
133
}
132
134
133
135
// These should be internal only so if there is a System
134
136
// property override then the user probably knows what
135
137
// they are doing.
136
- if (buildInfo .hasKey (FRONTEND_HOTDEPLOY )) {
137
- params .put (FRONTEND_HOTDEPLOY ,
138
- String .valueOf (buildInfo .getBoolean (FRONTEND_HOTDEPLOY )));
139
- } else if (buildInfo .hasKey (SERVLET_PARAMETER_ENABLE_DEV_SERVER )) {
140
- params .put (FRONTEND_HOTDEPLOY , String .valueOf (
141
- buildInfo . getBoolean (SERVLET_PARAMETER_ENABLE_DEV_SERVER )));
138
+ if (buildInfo .has (FRONTEND_HOTDEPLOY )) {
139
+ params .put (FRONTEND_HOTDEPLOY , String
140
+ .valueOf (buildInfo .get (FRONTEND_HOTDEPLOY ). booleanValue ( )));
141
+ } else if (buildInfo .has (SERVLET_PARAMETER_ENABLE_DEV_SERVER )) {
142
+ params .put (FRONTEND_HOTDEPLOY , String .valueOf (buildInfo
143
+ . get (SERVLET_PARAMETER_ENABLE_DEV_SERVER ). booleanValue ( )));
142
144
}
143
- if (buildInfo .hasKey (SERVLET_PARAMETER_REUSE_DEV_SERVER )) {
144
- params .put (SERVLET_PARAMETER_REUSE_DEV_SERVER , String .valueOf (
145
- buildInfo .getBoolean (SERVLET_PARAMETER_REUSE_DEV_SERVER )));
145
+ if (buildInfo .has (SERVLET_PARAMETER_REUSE_DEV_SERVER )) {
146
+ params .put (SERVLET_PARAMETER_REUSE_DEV_SERVER ,
147
+ String .valueOf (
148
+ buildInfo .get (SERVLET_PARAMETER_REUSE_DEV_SERVER )
149
+ .booleanValue ()));
146
150
}
147
- if (buildInfo .hasKey (CONNECT_JAVA_SOURCE_FOLDER_TOKEN )) {
148
- params .put (CONNECT_JAVA_SOURCE_FOLDER_TOKEN ,
149
- buildInfo . getString (CONNECT_JAVA_SOURCE_FOLDER_TOKEN ));
151
+ if (buildInfo .has (CONNECT_JAVA_SOURCE_FOLDER_TOKEN )) {
152
+ params .put (CONNECT_JAVA_SOURCE_FOLDER_TOKEN , buildInfo
153
+ . get (CONNECT_JAVA_SOURCE_FOLDER_TOKEN ). textValue ( ));
150
154
}
151
- if (buildInfo .hasKey (Constants .JAVA_RESOURCE_FOLDER_TOKEN )) {
152
- params .put (Constants .JAVA_RESOURCE_FOLDER_TOKEN ,
153
- buildInfo . getString (Constants .JAVA_RESOURCE_FOLDER_TOKEN ));
155
+ if (buildInfo .has (Constants .JAVA_RESOURCE_FOLDER_TOKEN )) {
156
+ params .put (Constants .JAVA_RESOURCE_FOLDER_TOKEN , buildInfo
157
+ . get (Constants .JAVA_RESOURCE_FOLDER_TOKEN ). textValue ( ));
154
158
}
155
- if (buildInfo .hasKey (CONNECT_OPEN_API_FILE_TOKEN )) {
159
+ if (buildInfo .has (CONNECT_OPEN_API_FILE_TOKEN )) {
156
160
params .put (CONNECT_OPEN_API_FILE_TOKEN ,
157
- buildInfo .getString (CONNECT_OPEN_API_FILE_TOKEN ));
161
+ buildInfo .get (CONNECT_OPEN_API_FILE_TOKEN ). textValue ( ));
158
162
}
159
- if (buildInfo .hasKey (CONNECT_APPLICATION_PROPERTIES_TOKEN )) {
160
- params .put (CONNECT_APPLICATION_PROPERTIES_TOKEN ,
161
- buildInfo . getString (CONNECT_APPLICATION_PROPERTIES_TOKEN ));
163
+ if (buildInfo .has (CONNECT_APPLICATION_PROPERTIES_TOKEN )) {
164
+ params .put (CONNECT_APPLICATION_PROPERTIES_TOKEN , buildInfo
165
+ . get (CONNECT_APPLICATION_PROPERTIES_TOKEN ). textValue ( ));
162
166
}
163
- if (buildInfo .hasKey (PROJECT_FRONTEND_GENERATED_DIR_TOKEN )) {
164
- params .put (PROJECT_FRONTEND_GENERATED_DIR_TOKEN ,
165
- buildInfo . getString (PROJECT_FRONTEND_GENERATED_DIR_TOKEN ));
167
+ if (buildInfo .has (PROJECT_FRONTEND_GENERATED_DIR_TOKEN )) {
168
+ params .put (PROJECT_FRONTEND_GENERATED_DIR_TOKEN , buildInfo
169
+ . get (PROJECT_FRONTEND_GENERATED_DIR_TOKEN ). textValue ( ));
166
170
}
167
- if (buildInfo .hasKey (BUILD_FOLDER )) {
168
- params .put (BUILD_FOLDER , buildInfo .getString (BUILD_FOLDER ));
171
+ if (buildInfo .has (BUILD_FOLDER )) {
172
+ params .put (BUILD_FOLDER , buildInfo .get (BUILD_FOLDER ). textValue ( ));
169
173
}
170
- if (buildInfo .hasKey (DISABLE_PREPARE_FRONTEND_CACHE )) {
174
+ if (buildInfo .has (DISABLE_PREPARE_FRONTEND_CACHE )) {
171
175
UsageStatistics .markAsUsed ("flow/always-execute-prepare-frontend" ,
172
176
null );
173
177
}
174
- if (buildInfo .hasKey (REACT_ENABLE )) {
178
+ if (buildInfo .has (REACT_ENABLE )) {
175
179
params .put (REACT_ENABLE ,
176
- String .valueOf (buildInfo .getBoolean (REACT_ENABLE )));
180
+ String .valueOf (buildInfo .get (REACT_ENABLE ). booleanValue ( )));
177
181
}
178
- if (buildInfo .hasKey (APPLICATION_IDENTIFIER )) {
182
+ if (buildInfo .has (APPLICATION_IDENTIFIER )) {
179
183
params .put (APPLICATION_IDENTIFIER ,
180
- buildInfo .getString (APPLICATION_IDENTIFIER ));
184
+ buildInfo .get (APPLICATION_IDENTIFIER ). textValue ( ));
181
185
}
182
- if (buildInfo .hasKey (DAU_TOKEN )) {
186
+ if (buildInfo .has (DAU_TOKEN )) {
183
187
params .put (DAU_TOKEN ,
184
- String .valueOf (buildInfo .getBoolean (DAU_TOKEN )));
188
+ String .valueOf (buildInfo .get (DAU_TOKEN ). booleanValue ( )));
185
189
}
186
- if (buildInfo .hasKey (PREMIUM_FEATURES )) {
187
- params .put (PREMIUM_FEATURES ,
188
- String .valueOf (buildInfo .getBoolean (PREMIUM_FEATURES )));
190
+ if (buildInfo .has (PREMIUM_FEATURES )) {
191
+ params .put (PREMIUM_FEATURES , String
192
+ .valueOf (buildInfo .get (PREMIUM_FEATURES ). booleanValue ( )));
189
193
}
190
194
191
- if (buildInfo .hasKey (InitParameters .FRONTEND_EXTRA_EXTENSIONS )) {
195
+ if (buildInfo .has (InitParameters .FRONTEND_EXTRA_EXTENSIONS )) {
192
196
params .put (InitParameters .FRONTEND_EXTRA_EXTENSIONS , buildInfo
193
- .getString (InitParameters .FRONTEND_EXTRA_EXTENSIONS ));
197
+ .get (InitParameters .FRONTEND_EXTRA_EXTENSIONS ). textValue ( ));
194
198
}
195
199
196
- if (buildInfo .hasKey (NPM_EXCLUDE_WEB_COMPONENTS )) {
197
- params .put (NPM_EXCLUDE_WEB_COMPONENTS , String
198
- . valueOf ( buildInfo .getBoolean (NPM_EXCLUDE_WEB_COMPONENTS )));
200
+ if (buildInfo .has (NPM_EXCLUDE_WEB_COMPONENTS )) {
201
+ params .put (NPM_EXCLUDE_WEB_COMPONENTS , String . valueOf (
202
+ buildInfo .get (NPM_EXCLUDE_WEB_COMPONENTS ). booleanValue ( )));
199
203
}
200
204
201
205
setDevModePropertiesUsingTokenData (params , buildInfo );
@@ -205,37 +209,38 @@ protected Map<String, String> getConfigParametersUsingTokenData(
205
209
/**
206
210
* Sets to the dev mode properties to the configuration parameters.
207
211
*
208
- * @see #getConfigParametersUsingTokenData(JsonObject )
212
+ * @see #getConfigParametersUsingTokenData(JsonNode )
209
213
*
210
214
* @param params
211
215
* the configuration parameters to set dev mode properties to
212
216
* @param buildInfo
213
217
* the token file data
214
218
*/
215
219
protected void setDevModePropertiesUsingTokenData (
216
- Map <String , String > params , JsonObject buildInfo ) {
220
+ Map <String , String > params , JsonNode buildInfo ) {
217
221
// read dev mode properties from the token and set init parameter only
218
222
// if it's not yet set
219
223
if (params .get (InitParameters .SERVLET_PARAMETER_ENABLE_PNPM ) == null
220
224
&& buildInfo
221
- .hasKey (InitParameters .SERVLET_PARAMETER_ENABLE_PNPM )) {
225
+ .has (InitParameters .SERVLET_PARAMETER_ENABLE_PNPM )) {
222
226
params .put (InitParameters .SERVLET_PARAMETER_ENABLE_PNPM ,
223
- String .valueOf (buildInfo .getBoolean (
224
- InitParameters .SERVLET_PARAMETER_ENABLE_PNPM )));
227
+ String .valueOf (buildInfo
228
+ .get (InitParameters .SERVLET_PARAMETER_ENABLE_PNPM )
229
+ .booleanValue ()));
225
230
}
226
231
if (params .get (InitParameters .SERVLET_PARAMETER_ENABLE_BUN ) == null
227
- && buildInfo
228
- .hasKey (InitParameters .SERVLET_PARAMETER_ENABLE_BUN )) {
232
+ && buildInfo .has (InitParameters .SERVLET_PARAMETER_ENABLE_BUN )) {
229
233
params .put (InitParameters .SERVLET_PARAMETER_ENABLE_BUN ,
230
- String .valueOf (buildInfo .getBoolean (
231
- InitParameters .SERVLET_PARAMETER_ENABLE_BUN )));
234
+ String .valueOf (buildInfo
235
+ .get (InitParameters .SERVLET_PARAMETER_ENABLE_BUN )
236
+ .booleanValue ()));
232
237
}
233
238
if (params .get (InitParameters .REQUIRE_HOME_NODE_EXECUTABLE ) == null
234
- && buildInfo
235
- .hasKey (InitParameters .REQUIRE_HOME_NODE_EXECUTABLE )) {
239
+ && buildInfo .has (InitParameters .REQUIRE_HOME_NODE_EXECUTABLE )) {
236
240
params .put (InitParameters .REQUIRE_HOME_NODE_EXECUTABLE ,
237
- String .valueOf (buildInfo .getBoolean (
238
- InitParameters .REQUIRE_HOME_NODE_EXECUTABLE )));
241
+ String .valueOf (buildInfo
242
+ .get (InitParameters .REQUIRE_HOME_NODE_EXECUTABLE )
243
+ .booleanValue ()));
239
244
}
240
245
}
241
246
0 commit comments