// Path: src/main/java/com/wk/lodge/composite/repository/DeviceLimiter.java
// public class DeviceLimiter {
//     private HashMap<String,Integer> maxDevicesPerSession;
//     private float minDistanceThresholdBetweenDevices;
//     private float maxDistanceThresholdBetweenDevices;
// 
//     public DeviceLimiter(HashMap<String,Integer> maxDevicesPerSession, float minDistanceThresholdBetweenDevices, float maxDistanceThresholdBetweenDevices){
//         this.maxDevicesPerSession = maxDevicesPerSession;
//         this.minDistanceThresholdBetweenDevices = minDistanceThresholdBetweenDevices;
//         this.maxDistanceThresholdBetweenDevices = maxDistanceThresholdBetweenDevices;
//     }
//     public HashMap<String,Integer> getMaxDevicesPerSession() {
//         return maxDevicesPerSession;
//     }
//     public float getMinDistanceThresholdBetweenDevices() {
//         return minDistanceThresholdBetweenDevices;
//     }
//     public float getMaxDistanceThresholdBetweenDevices() {
//         return maxDistanceThresholdBetweenDevices;
//     }
// 
//     public int getMaxDevicesPerSessionForGame(String applicationId){
//         return maxDevicesPerSession.get(applicationId);
//     }
// 
// }
// 
// Path: src/main/java/com/wk/lodge/composite/service/RoomService.java
// public class RoomService {
//     private HashMap<String,String[]> roomNames;
//     public RoomService(){}
//     public RoomService(HashMap<String, String[]> roomNames){
//         this.roomNames = roomNames;
//     }
// 
//     public String[] getRoomNamesForApplication(String applicationId){
//         if(roomNames.containsKey(applicationId)){
//             return roomNames.get(applicationId);
//         }
//         else{
//             return null;
//         }
//     }
// }


import com.wk.lodge.composite.repository.DeviceLimiter;
import com.wk.lodge.composite.service.RoomService;
import org.lightcouch.CouchDbClient;
import org.lightcouch.CouchDbProperties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import java.util.HashMap;
package com.wk.lodge.composite.config;




@Configuration
@PropertySources(value={@PropertySource("classpath:/couchdb.properties"), @PropertySource("classpath:/application.properties")})
public class RootConfig {

    @Value(value= "${appOne.applicationId}") private String appOneApplicationId;
    @Value(value = "${appOne.maxDevicesPerSession}") private int appOneMaxDevicesPerSession;
    @Value(value = "${appOne.roomNames}") private String[] appOneRoomNames;
// Path: src/main/java/com/wk/lodge/composite/repository/DeviceLimiter.java
// public class DeviceLimiter {
//     private HashMap<String,Integer> maxDevicesPerSession;
//     private float minDistanceThresholdBetweenDevices;
//     private float maxDistanceThresholdBetweenDevices;
// 
//     public DeviceLimiter(HashMap<String,Integer> maxDevicesPerSession, float minDistanceThresholdBetweenDevices, float maxDistanceThresholdBetweenDevices){
//         this.maxDevicesPerSession = maxDevicesPerSession;
//         this.minDistanceThresholdBetweenDevices = minDistanceThresholdBetweenDevices;
//         this.maxDistanceThresholdBetweenDevices = maxDistanceThresholdBetweenDevices;
//     }
//     public HashMap<String,Integer> getMaxDevicesPerSession() {
//         return maxDevicesPerSession;
//     }
//     public float getMinDistanceThresholdBetweenDevices() {
//         return minDistanceThresholdBetweenDevices;
//     }
//     public float getMaxDistanceThresholdBetweenDevices() {
//         return maxDistanceThresholdBetweenDevices;
//     }
// 
//     public int getMaxDevicesPerSessionForGame(String applicationId){
//         return maxDevicesPerSession.get(applicationId);
//     }
// 
// }
// 
// Path: src/main/java/com/wk/lodge/composite/service/RoomService.java
// public class RoomService {
//     private HashMap<String,String[]> roomNames;
//     public RoomService(){}
//     public RoomService(HashMap<String, String[]> roomNames){
//         this.roomNames = roomNames;
//     }
// 
//     public String[] getRoomNamesForApplication(String applicationId){
//         if(roomNames.containsKey(applicationId)){
//             return roomNames.get(applicationId);
//         }
//         else{
//             return null;
//         }
//     }
// }


// Path: src/main/java/com/wk/lodge/composite/config/RootConfig.java
import com.wk.lodge.composite.repository.DeviceLimiter;
import com.wk.lodge.composite.service.RoomService;
import org.lightcouch.CouchDbClient;
import org.lightcouch.CouchDbProperties;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import java.util.HashMap;

package com.wk.lodge.composite.config;




@Configuration
@PropertySources(value={@PropertySource("classpath:/couchdb.properties"), @PropertySource("classpath:/application.properties")})
public class RootConfig {

    @Value(value= "${appOne.applicationId}") private String appOneApplicationId;
    @Value(value = "${appOne.maxDevicesPerSession}") private int appOneMaxDevicesPerSession;
    @Value(value = "${appOne.roomNames}") private String[] appOneRoomNames;
    @Value(value= "${appTwo.applicationId}") private String appTwoApplicationId;