2424
2525import org .apache .commons .configuration2 .Configuration ;
2626import org .apache .commons .configuration2 .PropertiesConfiguration ;
27+ import org .apache .commons .configuration2 .builder .FileBasedConfigurationBuilder ;
28+ import org .apache .commons .configuration2 .builder .fluent .Parameters ;
29+ import org .apache .commons .configuration2 .ex .ConfigurationException ;
2730import org .apache .commons .io .FileUtils ;
2831import org .apache .commons .io .FilenameUtils ;
2932import org .apache .commons .lang3 .StringUtils ;
@@ -292,25 +295,45 @@ private void cleanDirectory( final File outputDir )
292295
293296 private PropertiesConfiguration loadPropertiesConfiguration ( final File serviceMappingsFile )
294297 {
298+ FileBasedConfigurationBuilder <PropertiesConfiguration > configurationBuilder =
299+ loadPropertiesConfigurationBuilder (serviceMappingsFile );
295300 final PropertiesConfiguration serviceNameMappings ;
301+ try {
302+ serviceNameMappings = configurationBuilder .getConfiguration ();
303+ }
304+ catch ( final ConfigurationException e ) {
305+ throw new ODataGeneratorReadException (e );
306+ }
307+ return serviceNameMappings ;
308+ }
309+
310+ private FileBasedConfigurationBuilder <PropertiesConfiguration > loadPropertiesConfigurationBuilder (
311+ final File serviceMappingsFile )
312+ {
313+ final PropertiesConfiguration serviceNameMappings ;
314+ FileBasedConfigurationBuilder <PropertiesConfiguration > configurationBuilder ;
296315 try {
297316 if ( serviceMappingsFile .exists () ) {
298- serviceNameMappings = new PropertiesConfiguration (serviceMappingsFile );
317+ configurationBuilder =
318+ new FileBasedConfigurationBuilder <>(PropertiesConfiguration .class )
319+ .configure (new Parameters ().fileBased ().setFile (serviceMappingsFile ));
299320 } else {
300- serviceNameMappings = new PropertiesConfiguration ( );
321+ configurationBuilder = new FileBasedConfigurationBuilder <>( PropertiesConfiguration . class );
301322 }
323+ serviceNameMappings = configurationBuilder .getConfiguration ();
302324 }
303325 catch ( final ConfigurationException e ) {
304326 throw new ODataGeneratorReadException (e );
305327 }
306328
307329 sanitizeConfiguration (serviceNameMappings );
308330
309- return serviceNameMappings ;
331+ return configurationBuilder ;
310332 }
311333
312334 private void sanitizeConfiguration ( final Configuration configuration )
313335 {
336+ // configuration.key
314337 for ( final Iterator <String > it = configuration .getKeys (); it .hasNext (); ) {
315338 final String key = it .next ();
316339
@@ -330,20 +353,27 @@ private void sanitizeConfiguration( final Configuration configuration )
330353 private void storeConfiguration ( final File serviceMappingsFile , final Iterable <Service > allODataServices )
331354 {
332355 ensureFileExists (serviceMappingsFile );
333- final PropertiesConfiguration serviceNameMappings = loadPropertiesConfiguration (serviceMappingsFile );
356+ final var configurationBuilder = loadPropertiesConfigurationBuilder (serviceMappingsFile );
357+ final PropertiesConfiguration serviceNameMappings ;
358+ try {
359+ serviceNameMappings = configurationBuilder .getConfiguration ();
360+ }
361+ catch ( final ConfigurationException e ) {
362+ throw new ODataGeneratorReadException (e );
363+ }
334364
335365 for ( final Service oDataService : allODataServices ) {
336366 final String javaClassNameKey = oDataService .getName () + Service .SERVICE_MAPPINGS_CLASS_SUFFIX ;
337367 serviceNameMappings .setProperty (javaClassNameKey , oDataService .getJavaClassName ());
338368 serviceNameMappings .getLayout ().setComment (javaClassNameKey , oDataService .getTitle ());
339- serviceNameMappings .getLayout ().setBlancLinesBefore (javaClassNameKey , 1 );
369+ serviceNameMappings .getLayout ().setBlankLinesBefore (javaClassNameKey , 1 );
340370
341371 final String javaPackageNameKey = oDataService .getName () + Service .SERVICE_MAPPINGS_PACKAGE_SUFFIX ;
342372 serviceNameMappings .setProperty (javaPackageNameKey , oDataService .getJavaPackageName ());
343373 }
344374
345375 try {
346- serviceNameMappings .save ();
376+ configurationBuilder .save ();
347377 }
348378 catch ( final ConfigurationException e ) {
349379 throw new ODataGeneratorWriteException (e );
0 commit comments