// Path: src/main/java/org/broadinstitute/macarthurlab/matchbox/entities/MatchmakerNode.java
// public class MatchmakerNode implements Node{
// 	private String name;
// 	private String token;
// 	private String url;
// 	private String acceptHeader;
// 	private String contentTypeHeader;
// 	private String contentLanguage;
// 	private boolean selfSignedCertificate;
// 
// 	/**
// 	 * Constructor
// 	 */
// 	public MatchmakerNode(String name, 
// 						  String token, 
// 						  String url,
// 						  String acceptHeader,
// 						  String contentTypeHeader, 
// 						  String contentLanguage,
// 						  boolean selfSignedCertificate){
// 		this.name=name;
// 		this.token=token;
// 		this.url=url;
// 		this.acceptHeader = acceptHeader;
// 		this.contentTypeHeader = contentTypeHeader;
// 		this.contentLanguage = contentLanguage;
// 		this.selfSignedCertificate = selfSignedCertificate;
// 	}
// 	
// 
// 	@Override
// 	public String getName() {
// 		return this.name;
// 	}
// 
// 	@Override
// 	public String getToken() {
// 		return this.token;
// 	}
// 
// 	@Override
// 	public String getUrl() {
// 		return this.url;
// 	}
// 
// 
// 
// 
// 	/* (non-Javadoc)
// 	 * @see java.lang.Object#toString()
// 	 */
// 	@Override
// 	public String toString() {
// 		return "MatchmakerNode [name=" + name + ", token=" + token + ", url=" + url + ", acceptHeader=" + acceptHeader
// 				+ ", contentTypeHeader=" + contentTypeHeader + ", contentLanguage=" + contentLanguage
// 				+ ", selfSignedCertificate=" + selfSignedCertificate + "]";
// 	}
// 
// 
// 	/**
// 	 * @return the acceptHeader
// 	 */
// 	public String getAcceptHeader() {
// 		return acceptHeader;
// 	}
// 
// 
// 	/**
// 	 * @return the contentHeader
// 	 */
// 	public String getContentTypeHeader() {
// 		return contentTypeHeader;
// 	}
// 
// 
// 	/**
// 	 * @return the contentLanguage
// 	 */
// 	public String getContentLanguage() {
// 		return contentLanguage;
// 	}
// 
// 
// 	/**
// 	 * @return the selfSignedCertificate
// 	 */
// 	public boolean isSelfSignedCertificate() {
// 		return selfSignedCertificate;
// 	}
// 
// 
// 	/**
// 	 * @param name the name to set
// 	 */
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 
// 	/**
// 	 * @param token the token to set
// 	 */
// 	public void setToken(String token) {
// 		this.token = token;
// 	}
// 
// 
// 	/**
// 	 * @param url the url to set
// 	 */
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 
// 
// 	/**
// 	 * @param acceptHeader the acceptHeader to set
// 	 */
// 	public void setAcceptHeader(String acceptHeader) {
// 		this.acceptHeader = acceptHeader;
// 	}
// 
// 
// 	/**
// 	 * @param contentTypeHeader the contentTypeHeader to set
// 	 */
// 	public void setContentTypeHeader(String contentTypeHeader) {
// 		this.contentTypeHeader = contentTypeHeader;
// 	}
// 
// 
// 	/**
// 	 * @param contentLanguage the contentLanguage to set
// 	 */
// 	public void setContentLanguage(String contentLanguage) {
// 		this.contentLanguage = contentLanguage;
// 	}
// 
// 
// 	/**
// 	 * @param selfSignedCertificate the selfSignedCertificate to set
// 	 */
// 	public void setSelfSignedCertificate(boolean selfSignedCertificate) {
// 		this.selfSignedCertificate = selfSignedCertificate;
// 	}
// 	
// 	
// 
// 
// 
// 	
// 	
// 	
// 
// }
// 
// Path: src/main/java/org/broadinstitute/macarthurlab/matchbox/entities/Node.java
// public interface Node {
// 	public String getName();
// 	public String getToken();
// 	public String getUrl();
// 	public String getContentTypeHeader();
// 	public String getContentLanguage();
// 	public String getAcceptHeader();
// 	public boolean isSelfSignedCertificate();
// }


import org.broadinstitute.macarthurlab.matchbox.entities.MatchmakerNode;
import org.broadinstitute.macarthurlab.matchbox.entities.Node;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import java.io.BufferedReader;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
package org.broadinstitute.macarthurlab.matchbox.config;



/**
 * @author Jules Jacobsen <j.jacobsen@qmul.ac.uk>
 */
@Configuration
public class MatchMakerNodeConfig {

    private static final Logger logger = LoggerFactory.getLogger(MatchMakerNodeConfig.class);

    @Autowired
    private Environment environment;

    @Bean
// Path: src/main/java/org/broadinstitute/macarthurlab/matchbox/entities/MatchmakerNode.java
// public class MatchmakerNode implements Node{
// 	private String name;
// 	private String token;
// 	private String url;
// 	private String acceptHeader;
// 	private String contentTypeHeader;
// 	private String contentLanguage;
// 	private boolean selfSignedCertificate;
// 
// 	/**
// 	 * Constructor
// 	 */
// 	public MatchmakerNode(String name, 
// 						  String token, 
// 						  String url,
// 						  String acceptHeader,
// 						  String contentTypeHeader, 
// 						  String contentLanguage,
// 						  boolean selfSignedCertificate){
// 		this.name=name;
// 		this.token=token;
// 		this.url=url;
// 		this.acceptHeader = acceptHeader;
// 		this.contentTypeHeader = contentTypeHeader;
// 		this.contentLanguage = contentLanguage;
// 		this.selfSignedCertificate = selfSignedCertificate;
// 	}
// 	
// 
// 	@Override
// 	public String getName() {
// 		return this.name;
// 	}
// 
// 	@Override
// 	public String getToken() {
// 		return this.token;
// 	}
// 
// 	@Override
// 	public String getUrl() {
// 		return this.url;
// 	}
// 
// 
// 
// 
// 	/* (non-Javadoc)
// 	 * @see java.lang.Object#toString()
// 	 */
// 	@Override
// 	public String toString() {
// 		return "MatchmakerNode [name=" + name + ", token=" + token + ", url=" + url + ", acceptHeader=" + acceptHeader
// 				+ ", contentTypeHeader=" + contentTypeHeader + ", contentLanguage=" + contentLanguage
// 				+ ", selfSignedCertificate=" + selfSignedCertificate + "]";
// 	}
// 
// 
// 	/**
// 	 * @return the acceptHeader
// 	 */
// 	public String getAcceptHeader() {
// 		return acceptHeader;
// 	}
// 
// 
// 	/**
// 	 * @return the contentHeader
// 	 */
// 	public String getContentTypeHeader() {
// 		return contentTypeHeader;
// 	}
// 
// 
// 	/**
// 	 * @return the contentLanguage
// 	 */
// 	public String getContentLanguage() {
// 		return contentLanguage;
// 	}
// 
// 
// 	/**
// 	 * @return the selfSignedCertificate
// 	 */
// 	public boolean isSelfSignedCertificate() {
// 		return selfSignedCertificate;
// 	}
// 
// 
// 	/**
// 	 * @param name the name to set
// 	 */
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 
// 	/**
// 	 * @param token the token to set
// 	 */
// 	public void setToken(String token) {
// 		this.token = token;
// 	}
// 
// 
// 	/**
// 	 * @param url the url to set
// 	 */
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 
// 
// 	/**
// 	 * @param acceptHeader the acceptHeader to set
// 	 */
// 	public void setAcceptHeader(String acceptHeader) {
// 		this.acceptHeader = acceptHeader;
// 	}
// 
// 
// 	/**
// 	 * @param contentTypeHeader the contentTypeHeader to set
// 	 */
// 	public void setContentTypeHeader(String contentTypeHeader) {
// 		this.contentTypeHeader = contentTypeHeader;
// 	}
// 
// 
// 	/**
// 	 * @param contentLanguage the contentLanguage to set
// 	 */
// 	public void setContentLanguage(String contentLanguage) {
// 		this.contentLanguage = contentLanguage;
// 	}
// 
// 
// 	/**
// 	 * @param selfSignedCertificate the selfSignedCertificate to set
// 	 */
// 	public void setSelfSignedCertificate(boolean selfSignedCertificate) {
// 		this.selfSignedCertificate = selfSignedCertificate;
// 	}
// 	
// 	
// 
// 
// 
// 	
// 	
// 	
// 
// }
// 
// Path: src/main/java/org/broadinstitute/macarthurlab/matchbox/entities/Node.java
// public interface Node {
// 	public String getName();
// 	public String getToken();
// 	public String getUrl();
// 	public String getContentTypeHeader();
// 	public String getContentLanguage();
// 	public String getAcceptHeader();
// 	public boolean isSelfSignedCertificate();
// }


// Path: src/main/java/org/broadinstitute/macarthurlab/matchbox/config/MatchMakerNodeConfig.java
import org.broadinstitute.macarthurlab.matchbox.entities.MatchmakerNode;
import org.broadinstitute.macarthurlab.matchbox.entities.Node;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import java.io.BufferedReader;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

package org.broadinstitute.macarthurlab.matchbox.config;



/**
 * @author Jules Jacobsen <j.jacobsen@qmul.ac.uk>
 */
@Configuration
public class MatchMakerNodeConfig {

    private static final Logger logger = LoggerFactory.getLogger(MatchMakerNodeConfig.class);

    @Autowired
    private Environment environment;

    @Bean
    public List<Node> matchMakerNodes() {