// Path: src/main/java/com/bwssystems/HABridge/api/hue/WhitelistEntry.java
// public class WhitelistEntry
// {
// 	private String lastUseDate;
// 	private String createDate;
// 	private String name;
// 	private static final DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
// 
// 	public static WhitelistEntry createEntry(String devicetype) {
// 		WhitelistEntry anEntry = new WhitelistEntry();
// 		anEntry.setName(devicetype);
// 		anEntry.setCreateDate(getCurrentDate());
// 		anEntry.setLastUseDate(getCurrentDate());
// 		return anEntry;
// 	}
// 	
// 	public static String getCurrentDate() {
// 		return LocalDateTime.now().format(dateTimeFormat);
// 	}
// 	
// 	public String getLastUseDate() {
// 		return lastUseDate;
// 	}
// 
// 	public void setLastUseDate(String lastUseDate) {
// 		this.lastUseDate = lastUseDate;
// 	}
// 
// 	public String getCreateDate() {
// 		return createDate;
// 	}
// 
// 	public void setCreateDate(String createDate) {
// 		this.createDate = createDate;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// }


import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.util.Base64;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.UUID;
import java.util.Map.Entry;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.bwssystems.HABridge.api.hue.HueError;
import com.bwssystems.HABridge.api.hue.HueErrorResponse;
import com.bwssystems.HABridge.api.hue.WhitelistEntry;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import spark.Request;

					theUser.setPassword2(targetUser.getPassword());
					if(theUser.validatePassword()) {
						theUser.setPassword2(null);
						result.setUser(targetUser);
					}
					else
						result.setError("user or password not correct");
				} else {
					result.setError("input password is not set....");
				}
			}
			else
				result.setError("user or password not correct");
		}
		else
			result.setError("input user not given");
		return result;
	}
	
	public boolean isSecure() {
		return securityDescriptor.isSecure();
	}

	public boolean isSettingsChanged() {
		return settingsChanged;
	}

	public void setSettingsChanged(boolean settingsChanged) {
		this.settingsChanged = settingsChanged;
	}

// Path: src/main/java/com/bwssystems/HABridge/api/hue/WhitelistEntry.java
// public class WhitelistEntry
// {
// 	private String lastUseDate;
// 	private String createDate;
// 	private String name;
// 	private static final DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
// 
// 	public static WhitelistEntry createEntry(String devicetype) {
// 		WhitelistEntry anEntry = new WhitelistEntry();
// 		anEntry.setName(devicetype);
// 		anEntry.setCreateDate(getCurrentDate());
// 		anEntry.setLastUseDate(getCurrentDate());
// 		return anEntry;
// 	}
// 	
// 	public static String getCurrentDate() {
// 		return LocalDateTime.now().format(dateTimeFormat);
// 	}
// 	
// 	public String getLastUseDate() {
// 		return lastUseDate;
// 	}
// 
// 	public void setLastUseDate(String lastUseDate) {
// 		this.lastUseDate = lastUseDate;
// 	}
// 
// 	public String getCreateDate() {
// 		return createDate;
// 	}
// 
// 	public void setCreateDate(String createDate) {
// 		this.createDate = createDate;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// }


// Path: src/main/java/com/bwssystems/HABridge/BridgeSecurity.java
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.util.Base64;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.UUID;
import java.util.Map.Entry;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.bwssystems.HABridge.api.hue.HueError;
import com.bwssystems.HABridge.api.hue.HueErrorResponse;
import com.bwssystems.HABridge.api.hue.WhitelistEntry;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import spark.Request;

					theUser.setPassword2(targetUser.getPassword());
					if(theUser.validatePassword()) {
						theUser.setPassword2(null);
						result.setUser(targetUser);
					}
					else
						result.setError("user or password not correct");
				} else {
					result.setError("input password is not set....");
				}
			}
			else
				result.setError("user or password not correct");
		}
		else
			result.setError("input user not given");
		return result;
	}
	
	public boolean isSecure() {
		return securityDescriptor.isSecure();
	}

	public boolean isSettingsChanged() {
		return settingsChanged;
	}

	public void setSettingsChanged(boolean settingsChanged) {
		this.settingsChanged = settingsChanged;
	}

	public Map<String, WhitelistEntry> getWhitelist() {
