@ -87,7 +87,6 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_LDAP_SEARCH_FILTER  =  "LdapSearchFilter" ;      private  static  final  String  KEY_LDAP_SEARCH_FILTER  =  "LdapSearchFilter" ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_LDAP_AUTO_SHADOWING  =  "LdapAutoShadowing" ;      private  static  final  String  KEY_LDAP_AUTO_SHADOWING  =  "LdapAutoShadowing" ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_GETTING_STARTED_ENABLED  =  "GettingStartedEnabled" ;      private  static  final  String  KEY_GETTING_STARTED_ENABLED  =  "GettingStartedEnabled" ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_SERVER_ID  =  "ServerId" ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_SETTINGS_CHANGED  =  "SettingsChanged" ;      private  static  final  String  KEY_SETTINGS_CHANGED  =  "SettingsChanged" ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_LAST_SCANNED  =  "LastScanned" ;      private  static  final  String  KEY_LAST_SCANNED  =  "LastScanned" ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  KEY_ORGANIZE_BY_FOLDER_STRUCTURE  =  "OrganizeByFolderStructure" ;      private  static  final  String  KEY_ORGANIZE_BY_FOLDER_STRUCTURE  =  "OrganizeByFolderStructure" ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -164,7 +163,6 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					    private  static  final  String  DEFAULT_LDAP_SEARCH_FILTER  =  "(sAMAccountName={0})" ;      private  static  final  String  DEFAULT_LDAP_SEARCH_FILTER  =  "(sAMAccountName={0})" ;   
			
		
	
		
		
			
				
					
					    private  static  final  boolean  DEFAULT_LDAP_AUTO_SHADOWING  =  false ;      private  static  final  boolean  DEFAULT_LDAP_AUTO_SHADOWING  =  false ;   
			
		
	
		
		
			
				
					
					    private  static  final  boolean  DEFAULT_GETTING_STARTED_ENABLED  =  true ;      private  static  final  boolean  DEFAULT_GETTING_STARTED_ENABLED  =  true ;   
			
		
	
		
		
			
				
					
					    private  static  final  String  DEFAULT_SERVER_ID  =  null ;   
			
		
	
		
		
			
				
					
					    private  static  final  long  DEFAULT_SETTINGS_CHANGED  =  0L ;      private  static  final  long  DEFAULT_SETTINGS_CHANGED  =  0L ;   
			
		
	
		
		
			
				
					
					    private  static  final  boolean  DEFAULT_ORGANIZE_BY_FOLDER_STRUCTURE  =  true ;      private  static  final  boolean  DEFAULT_ORGANIZE_BY_FOLDER_STRUCTURE  =  true ;   
			
		
	
		
		
			
				
					
					    private  static  final  boolean  DEFAULT_SORT_ALBUMS_BY_YEAR  =  true ;      private  static  final  boolean  DEFAULT_SORT_ALBUMS_BY_YEAR  =  true ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -222,9 +220,9 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					    private  String [ ]  cachedMusicFileTypesArray ;      private  String [ ]  cachedMusicFileTypesArray ;   
			
		
	
		
		
			
				
					
					    private  String [ ]  cachedVideoFileTypesArray ;      private  String [ ]  cachedVideoFileTypesArray ;   
			
		
	
		
		
			
				
					
					    private  List < MusicFolder >  cachedMusicFolders ;      private  List < MusicFolder >  cachedMusicFolders ;   
			
		
	
		
		
			
				
					
					    private  final  ConcurrentMap < String ,  List < MusicFolder > >  cachedMusicFoldersPerUser  =  new  ConcurrentHashMap < String ,  List < MusicFolder > > ( ) ;      private  final  ConcurrentMap < String ,  List < MusicFolder > >  cachedMusicFoldersPerUser  =  new  ConcurrentHashMap < > ( ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    private  void  removeObse leteProperties ( )  {      private  void  removeObso leteProperties ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					        OBSOLETE_KEYS . forEach (  oKey  - >  {          OBSOLETE_KEYS . forEach (  oKey  - >  {   
			
		
	
		
		
			
				
					
					            if ( configurationService . containsKey ( oKey ) )  {              if ( configurationService . containsKey ( oKey ) )  {   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -254,7 +252,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        return  home ;          return  home ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public   static  String  getFileSystemAppName ( )  {      private   static  String  getFileSystemAppName ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        String  home  =  getAirsonicHome ( ) . getPath ( ) ;          String  home  =  getAirsonicHome ( ) . getPath ( ) ;   
			
		
	
		
		
			
				
					
					        return  home . contains ( "libresonic" )  ?  "libresonic"  :  "airsonic" ;          return  home . contains ( "libresonic" )  ?  "libresonic"  :  "airsonic" ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -275,7 +273,6 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					     * /       * /   
			
		
	
		
		
			
				
					
					    public  void  init ( )  {      public  void  init ( )  {   
			
		
	
		
		
			
				
					
					        logServerInfo ( ) ;          logServerInfo ( ) ;   
			
		
	
		
		
			
				
					
					        ServiceLocator . setSettingsService ( this ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    private  void  logServerInfo ( )  {      private  void  logServerInfo ( )  {   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -289,7 +286,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  void  save ( boolean  updateSettingsChanged )  {      public  void  save ( boolean  updateSettingsChanged )  {   
			
		
	
		
		
			
				
					
					        if ( updateSettingsChanged )  {          if ( updateSettingsChanged )  {   
			
		
	
		
		
			
				
					
					            removeObse leteProperties ( ) ;              removeObso leteProperties ( ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					            this . setLong ( KEY_SETTINGS_CHANGED ,  System . currentTimeMillis ( ) ) ;              this . setLong ( KEY_SETTINGS_CHANGED ,  System . currentTimeMillis ( ) ) ;   
			
		
	
		
		
			
				
					
					        }          }   
			
		
	
		
		
			
				
					
					        configurationService . save ( ) ;          configurationService . save ( ) ;   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -308,7 +305,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        }          }   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  static  File  getPropertyFile ( )  {      static  File  getPropertyFile ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        File  propertyFile  =  getAirsonicHome ( ) ;          File  propertyFile  =  getAirsonicHome ( ) ;   
			
		
	
		
		
			
				
					
					        return  new  File ( propertyFile ,  getFileSystemAppName ( )  +  ".properties" ) ;          return  new  File ( propertyFile ,  getFileSystemAppName ( )  +  ".properties" ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -361,7 +358,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        return  getProperty ( KEY_IGNORED_ARTICLES ,  DEFAULT_IGNORED_ARTICLES ) ;          return  getProperty ( KEY_IGNORED_ARTICLES ,  DEFAULT_IGNORED_ARTICLES ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  String [ ]  getIgnoredArticlesAsArray ( )  {      String [ ]  getIgnoredArticlesAsArray ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        return  getIgnoredArticles ( ) . split ( "\\s+" ) ;          return  getIgnoredArticles ( ) . split ( "\\s+" ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -373,7 +370,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        return  getProperty ( KEY_SHORTCUTS ,  DEFAULT_SHORTCUTS ) ;          return  getProperty ( KEY_SHORTCUTS ,  DEFAULT_SHORTCUTS ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  String [ ]  getShortcutsAsArray ( )  {      String [ ]  getShortcutsAsArray ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        return  StringUtil . split ( getShortcuts ( ) ) ;          return  StringUtil . split ( getShortcuts ( ) ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -398,7 +395,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        cachedMusicFileTypesArray  =  null ;          cachedMusicFileTypesArray  =  null ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  synchronized  String [ ]  getMusicFileTypesAsArray ( )  {      synchronized  String [ ]  getMusicFileTypesAsArray ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        if  ( cachedMusicFileTypesArray  = =  null )  {          if  ( cachedMusicFileTypesArray  = =  null )  {   
			
		
	
		
		
			
				
					
					            cachedMusicFileTypesArray  =  toStringArray ( getMusicFileTypes ( ) ) ;              cachedMusicFileTypesArray  =  toStringArray ( getMusicFileTypes ( ) ) ;   
			
		
	
		
		
			
				
					
					        }          }   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -430,7 +427,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        cachedCoverArtFileTypesArray  =  null ;          cachedCoverArtFileTypesArray  =  null ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  synchronized  String [ ]  getCoverArtFileTypesAsArray ( )  {      synchronized  String [ ]  getCoverArtFileTypesAsArray ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        if  ( cachedCoverArtFileTypesArray  = =  null )  {          if  ( cachedCoverArtFileTypesArray  = =  null )  {   
			
		
	
		
		
			
				
					
					            cachedCoverArtFileTypesArray  =  toStringArray ( getCoverArtFileTypes ( ) ) ;              cachedCoverArtFileTypesArray  =  toStringArray ( getCoverArtFileTypes ( ) ) ;   
			
		
	
		
		
			
				
					
					        }          }   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -613,7 +610,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        setProperty ( KEY_HLS_COMMAND ,  command ) ;          setProperty ( KEY_HLS_COMMAND ,  command ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  String  getJukeboxCommand ( )  {      String  getJukeboxCommand ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        return  getProperty ( KEY_JUKEBOX_COMMAND ,  DEFAULT_JUKEBOX_COMMAND ) ;          return  getProperty ( KEY_JUKEBOX_COMMAND ,  DEFAULT_JUKEBOX_COMMAND ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					    public  String  getVideoImageCommand ( )  {      public  String  getVideoImageCommand ( )  {   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -687,14 +684,6 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        setBoolean ( KEY_GETTING_STARTED_ENABLED ,  isGettingStartedEnabled ) ;          setBoolean ( KEY_GETTING_STARTED_ENABLED ,  isGettingStartedEnabled ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  String  getServerId ( )  {   
			
		
	
		
		
			
				
					
					        return  getProperty ( KEY_SERVER_ID ,  DEFAULT_SERVER_ID ) ;   
			
		
	
		
		
			
				
					
					    }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  void  setServerId ( String  serverId )  {   
			
		
	
		
		
			
				
					
					        setProperty ( KEY_SERVER_ID ,  serverId ) ;   
			
		
	
		
		
			
				
					
					    }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  long  getSettingsChanged ( )  {      public  long  getSettingsChanged ( )  {   
			
		
	
		
		
			
				
					
					        return  getLong ( KEY_SETTINGS_CHANGED ,  DEFAULT_SETTINGS_CHANGED ) ;          return  getLong ( KEY_SETTINGS_CHANGED ,  DEFAULT_SETTINGS_CHANGED ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -704,7 +693,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        return  lastScanned  = =  null  ?  null  :  new  Date ( Long . parseLong ( lastScanned ) ) ;          return  lastScanned  = =  null  ?  null  :  new  Date ( Long . parseLong ( lastScanned ) ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  void  setLastScanned ( Date  date )  {      void  setLastScanned ( Date  date )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        if  ( date  = =  null )  {          if  ( date  = =  null )  {   
			
		
	
		
		
			
				
					
					            setProperty ( KEY_LAST_SCANNED ,  null ) ;              setProperty ( KEY_LAST_SCANNED ,  null ) ;   
			
		
	
		
		
			
				
					
					        }  else  {          }  else  {   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -732,7 +721,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        return  MediaLibraryStatistics . parse ( getString ( KEY_MEDIA_LIBRARY_STATISTICS ,  DEFAULT_MEDIA_LIBRARY_STATISTICS ) ) ;          return  MediaLibraryStatistics . parse ( getString ( KEY_MEDIA_LIBRARY_STATISTICS ,  DEFAULT_MEDIA_LIBRARY_STATISTICS ) ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  void  setMediaLibraryStatistics ( MediaLibraryStatistics  statistics )  {      void  setMediaLibraryStatistics ( MediaLibraryStatistics  statistics )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        setString ( KEY_MEDIA_LIBRARY_STATISTICS ,  statistics . format ( ) ) ;          setString ( KEY_MEDIA_LIBRARY_STATISTICS ,  statistics . format ( ) ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -785,7 +774,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					     * /       * /   
			
		
	
		
		
			
				
					
					    public  synchronized  Theme [ ]  getAvailableThemes ( )  {      public  synchronized  Theme [ ]  getAvailableThemes ( )  {   
			
		
	
		
		
			
				
					
					        if  ( themes  = =  null )  {          if  ( themes  = =  null )  {   
			
		
	
		
		
			
				
					
					            themes  =  new  ArrayList < Theme > ( ) ;              themes  =  new  ArrayList < > ( ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					            try  {              try  {   
			
		
	
		
		
			
				
					
					                InputStream  in  =  SettingsService . class . getResourceAsStream ( THEMES_FILE ) ;                  InputStream  in  =  SettingsService . class . getResourceAsStream ( THEMES_FILE ) ;   
			
		
	
		
		
			
				
					
					                String [ ]  lines  =  StringUtil . readLines ( in ) ;                  String [ ]  lines  =  StringUtil . readLines ( in ) ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -814,7 +803,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					     * /       * /   
			
		
	
		
		
			
				
					
					    public  synchronized  Locale [ ]  getAvailableLocales ( )  {      public  synchronized  Locale [ ]  getAvailableLocales ( )  {   
			
		
	
		
		
			
				
					
					        if  ( locales  = =  null )  {          if  ( locales  = =  null )  {   
			
		
	
		
		
			
				
					
					            locales  =  new  ArrayList < Locale > ( ) ;              locales  =  new  ArrayList < > ( ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					            try  {              try  {   
			
		
	
		
		
			
				
					
					                InputStream  in  =  SettingsService . class . getResourceAsStream ( LOCALES_FILE ) ;                  InputStream  in  =  SettingsService . class . getResourceAsStream ( LOCALES_FILE ) ;   
			
		
	
		
		
			
				
					
					                String [ ]  lines  =  StringUtil . readLines ( in ) ;                  String [ ]  lines  =  StringUtil . readLines ( in ) ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -876,7 +865,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					            cachedMusicFolders  =  musicFolderDao . getAllMusicFolders ( ) ;              cachedMusicFolders  =  musicFolderDao . getAllMusicFolders ( ) ;   
			
		
	
		
		
			
				
					
					        }          }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					        List < MusicFolder >  result  =  new  ArrayList < MusicFolder > ( cachedMusicFolders . size ( ) ) ;          List < MusicFolder >  result  =  new  ArrayList < > ( cachedMusicFolders . size ( ) ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        for  ( MusicFolder  folder  :  cachedMusicFolders )  {          for  ( MusicFolder  folder  :  cachedMusicFolders )  {   
			
		
	
		
		
			
				
					
					            if  ( ( includeDisabled  | |  folder . isEnabled ( ) )  & &  ( includeNonExisting  | |  FileUtil . exists ( folder . getPath ( ) ) ) )  {              if  ( ( includeDisabled  | |  folder . isEnabled ( ) )  & &  ( includeNonExisting  | |  FileUtil . exists ( folder . getPath ( ) ) ) )  {   
			
		
	
		
		
			
				
					
					                result . add ( folder ) ;                  result . add ( folder ) ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -913,7 +902,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					            return  allowed ;              return  allowed ;   
			
		
	
		
		
			
				
					
					        }          }   
			
		
	
		
		
			
				
					
					        MusicFolder  selected  =  getMusicFolderById ( selectedMusicFolderId ) ;          MusicFolder  selected  =  getMusicFolderById ( selectedMusicFolderId ) ;   
			
		
	
		
		
			
				
					
					        return  allowed . contains ( selected )  ?  Arrays . as List( selected )  :  Collections . < MusicFolder > emptyList ( ) ;          return  allowed . contains ( selected )  ?  Collections . singleton List( selected )  :  Collections . emptyList ( ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    / * *      / * *   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -993,21 +982,6 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        return  getAllInternetRadios ( false ) ;          return  getAllInternetRadios ( false ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    / * *   
			
		
	
		
		
			
				
					
					     *  Returns  the  internet  radio  station  with  the  given  ID .   
			
		
	
		
		
			
				
					
					     *   
			
		
	
		
		
			
				
					
					     *  @param  id  The  ID .   
			
		
	
		
		
			
				
					
					     *  @return  The  internet  radio  station  with  the  given  ID ,  or  < code > null < / code >  if  not  found .   
			
		
	
		
		
			
				
					
					     * /   
			
		
	
		
		
			
				
					
					    public  InternetRadio  getInternetRadioById ( Integer  id )  {   
			
		
	
		
		
			
				
					
					        for  ( InternetRadio  radio  :  getAllInternetRadios ( ) )  {   
			
		
	
		
		
			
				
					
					            if  ( id . equals ( radio . getId ( ) ) )  {   
			
		
	
		
		
			
				
					
					                return  radio ;   
			
		
	
		
		
			
				
					
					            }   
			
		
	
		
		
			
				
					
					        }   
			
		
	
		
		
			
				
					
					        return  null ;   
			
		
	
		
		
			
				
					
					    }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    / * *      / * *   
			
		
	
		
		
			
				
					
					     *  Returns  all  internet  radio  stations .       *  Returns  all  internet  radio  stations .   
			
		
	
		
		
			
				
					
					     *       *   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -1016,7 +990,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					     * /       * /   
			
		
	
		
		
			
				
					
					    public  List < InternetRadio >  getAllInternetRadios ( boolean  includeAll )  {      public  List < InternetRadio >  getAllInternetRadios ( boolean  includeAll )  {   
			
		
	
		
		
			
				
					
					        List < InternetRadio >  all  =  internetRadioDao . getAllInternetRadios ( ) ;          List < InternetRadio >  all  =  internetRadioDao . getAllInternetRadios ( ) ;   
			
		
	
		
		
			
				
					
					        List < InternetRadio >  result  =  new  ArrayList < InternetRadio > ( all . size ( ) ) ;          List < InternetRadio >  result  =  new  ArrayList < > ( all . size ( ) ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        for  ( InternetRadio  folder  :  all )  {          for  ( InternetRadio  folder  :  all )  {   
			
		
	
		
		
			
				
					
					            if  ( includeAll  | |  folder . isEnabled ( ) )  {              if  ( includeAll  | |  folder . isEnabled ( ) )  {   
			
		
	
		
		
			
				
					
					                result . add ( folder ) ;                  result . add ( folder ) ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1190,14 +1164,10 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        setString ( KEY_SONOS_SERVICE_NAME ,  sonosServiceName ) ;          setString ( KEY_SONOS_SERVICE_NAME ,  sonosServiceName ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  int  getSonosServiceId ( )  {      int  getSonosServiceId ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        return  getInt ( KEY_SONOS_SERVICE_ID ,  DEFAULT_SONOS_SERVICE_ID ) ;          return  getInt ( KEY_SONOS_SERVICE_ID ,  DEFAULT_SONOS_SERVICE_ID ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  void  setSonosServiceId ( int  sonosServiceid )  {   
			
		
	
		
		
			
				
					
					        setInt ( KEY_SONOS_SERVICE_ID ,  sonosServiceid ) ;   
			
		
	
		
		
			
				
					
					    }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    private  void  setProperty ( String  key ,  Object  value )  {      private  void  setProperty ( String  key ,  Object  value )  {   
			
		
	
		
		
			
				
					
					        if  ( value  = =  null )  {          if  ( value  = =  null )  {   
			
		
	
		
		
			
				
					
					            configurationService . clearProperty ( key ) ;              configurationService . clearProperty ( key ) ;   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -1207,7 +1177,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    private  String [ ]  toStringArray ( String  s )  {      private  String [ ]  toStringArray ( String  s )  {   
			
		
	
		
		
			
				
					
					        List < String >  result  =  new  ArrayList < String > ( ) ;          List < String >  result  =  new  ArrayList < > ( ) ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        StringTokenizer  tokenizer  =  new  StringTokenizer ( s ,  " " ) ;          StringTokenizer  tokenizer  =  new  StringTokenizer ( s ,  " " ) ;   
			
		
	
		
		
			
				
					
					        while  ( tokenizer . hasMoreTokens ( ) )  {          while  ( tokenizer . hasMoreTokens ( ) )  {   
			
		
	
		
		
			
				
					
					            result . add ( tokenizer . nextToken ( ) ) ;              result . add ( tokenizer . nextToken ( ) ) ;   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -1378,7 +1348,7 @@ public class SettingsService { 
			
		
	
		
		
			
				
					
					        setDatabaseConfigType ( DEFAULT_DATABASE_CONFIG_TYPE ) ;          setDatabaseConfigType ( DEFAULT_DATABASE_CONFIG_TYPE ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    public  String  getPlaylistExportFormat ( )  {      String  getPlaylistExportFormat ( )  {   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        return  getProperty ( KEY_EXPORT_PLAYLIST_FORMAT ,  DEFAULT_EXPORT_PLAYLIST_FORMAT ) ;          return  getProperty ( KEY_EXPORT_PLAYLIST_FORMAT ,  DEFAULT_EXPORT_PLAYLIST_FORMAT ) ;   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					} }