@@ -7226,41 +7226,48 @@ public void perform(TimerEvent event) {
7226
7226
7227
7227
String key = getPropsKey ();
7228
7228
7229
- Map <String ,Object > props = COConfigurationManager .getMapParameter ( key , null );
7229
+ Map <String ,Object > old_props = COConfigurationManager .getMapParameter ( key , null );
7230
7230
7231
- if ( props == null ){
7231
+ Map <String ,Object > new_props ;
7232
+
7233
+ if ( old_props == null ){
7232
7234
7233
7235
if ( value == null ){
7234
7236
7235
7237
return ;
7236
7238
}
7237
7239
7238
- props = new HashMap <>();
7240
+ new_props = new HashMap <>();
7239
7241
7240
7242
}else {
7241
7243
7242
- props = BEncoder .cloneMap ( props );
7244
+ new_props = BEncoder .cloneMap ( old_props );
7243
7245
}
7244
7246
7245
7247
if ( value != null ){
7246
7248
7247
- props .put ( name , value );
7249
+ new_props .put ( name , value );
7248
7250
7249
7251
}else {
7250
7252
7251
- props .remove ( name );
7253
+ new_props .remove ( name );
7252
7254
}
7253
7255
7254
- if ( props .isEmpty () ){
7256
+ if ( new_props .isEmpty () ){
7255
7257
7256
7258
COConfigurationManager .removeParameter ( key );
7257
7259
7260
+ COConfigurationManager .setDirty ();
7261
+
7258
7262
}else {
7259
7263
7260
- COConfigurationManager .setParameter ( key , props );
7264
+ if ( !BEncoder .mapsAreIdentical (old_props , new_props )){
7265
+
7266
+ COConfigurationManager .setParameter ( key , new_props );
7267
+
7268
+ COConfigurationManager .setDirty ();
7269
+ }
7261
7270
}
7262
-
7263
- COConfigurationManager .setDirty ();
7264
7271
}
7265
7272
}
7266
7273
0 commit comments