// Path: grafana-dashboard-generator/src/main/java/uk/co/szmg/grafana/GrafanaEndpoint.java
// public class GrafanaEndpoint {
// 
//     private String baseUrl;
//     private String apiKey;
//     private String sessionCookie;
//     private boolean skipSSLValidation;
// 
//     /**
//      * Gets Grafana base URL.
//      * @return base URL
//      */
//     public String getBaseUrl() {
//         return baseUrl;
//     }
// 
//     /**
//      * Sets Grafana base URL.
//      * @param baseUrl Grafana base URL
//      */
//     public void setBaseUrl(String baseUrl) {
//         this.baseUrl = baseUrl;
//     }
// 
//     /**
//      * Gets API key.
//      * @return API key
//      */
//     public String getApiKey() {
//         return apiKey;
//     }
// 
//     /**
//      * True if SSL cert check should be forced to pass.
//      * @return value of skipSSLValidation
//      */
//     public boolean isSkipSSLValidation() {
//         return skipSSLValidation;
//     }
// 
//     /**
//      * Sets API gey.
//      *
//      * http://docs.grafana.org/http_api/auth/
//      *
//      * You need either this or the sessionCookie for authentication.
//      *
//      * @param apiKey API key
//      */
//     public void setApiKey(String apiKey) {
//         this.apiKey = apiKey;
//     }
// 
//     /**
//      * Gets session cookie.
//      * @return session cookie
//      */
//     public String getSessionCookie() {
//         return sessionCookie;
//     }
// 
//     /**
//      * Sets session cookie.
//      *
//      * To get the value log in and copy the value of the "grafana_sess" cookie.
//      *
//      * You need either this or the apiKey for authentication.
//      *
//      * @param sessionCookie session cookie
//      */
//     public void setSessionCookie(String sessionCookie) {
//         this.sessionCookie = sessionCookie;
//     }
// 
//     /**
//      * Set to true if you don't want SSL cert validation.
//      * @param skipSSLCertValidation true if SSL cert validation should be skipped
//      */
//     public void setSkipSSLValidation(boolean skipSSLCertValidation) {
//         this.skipSSLValidation = skipSSLCertValidation;
//     }
// }


import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.MapType;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import uk.co.szmg.grafana.GrafanaEndpoint;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;
package uk.co.szmg.grafana.stores;

/*-
 * #%L
 * grafana-dashboard-generator-cli
 * %%
 * Copyright (C) 2017 Mate Gabor Szvoboda
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */



/**
 * Example in test/resources/test-endpoints.yaml
 */
public class GrafanaEndpointParser {

    private ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
// Path: grafana-dashboard-generator/src/main/java/uk/co/szmg/grafana/GrafanaEndpoint.java
// public class GrafanaEndpoint {
// 
//     private String baseUrl;
//     private String apiKey;
//     private String sessionCookie;
//     private boolean skipSSLValidation;
// 
//     /**
//      * Gets Grafana base URL.
//      * @return base URL
//      */
//     public String getBaseUrl() {
//         return baseUrl;
//     }
// 
//     /**
//      * Sets Grafana base URL.
//      * @param baseUrl Grafana base URL
//      */
//     public void setBaseUrl(String baseUrl) {
//         this.baseUrl = baseUrl;
//     }
// 
//     /**
//      * Gets API key.
//      * @return API key
//      */
//     public String getApiKey() {
//         return apiKey;
//     }
// 
//     /**
//      * True if SSL cert check should be forced to pass.
//      * @return value of skipSSLValidation
//      */
//     public boolean isSkipSSLValidation() {
//         return skipSSLValidation;
//     }
// 
//     /**
//      * Sets API gey.
//      *
//      * http://docs.grafana.org/http_api/auth/
//      *
//      * You need either this or the sessionCookie for authentication.
//      *
//      * @param apiKey API key
//      */
//     public void setApiKey(String apiKey) {
//         this.apiKey = apiKey;
//     }
// 
//     /**
//      * Gets session cookie.
//      * @return session cookie
//      */
//     public String getSessionCookie() {
//         return sessionCookie;
//     }
// 
//     /**
//      * Sets session cookie.
//      *
//      * To get the value log in and copy the value of the "grafana_sess" cookie.
//      *
//      * You need either this or the apiKey for authentication.
//      *
//      * @param sessionCookie session cookie
//      */
//     public void setSessionCookie(String sessionCookie) {
//         this.sessionCookie = sessionCookie;
//     }
// 
//     /**
//      * Set to true if you don't want SSL cert validation.
//      * @param skipSSLCertValidation true if SSL cert validation should be skipped
//      */
//     public void setSkipSSLValidation(boolean skipSSLCertValidation) {
//         this.skipSSLValidation = skipSSLCertValidation;
//     }
// }


// Path: grafana-dashboard-generator/src/main/java/uk/co/szmg/grafana/stores/GrafanaEndpointParser.java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.MapType;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import uk.co.szmg.grafana.GrafanaEndpoint;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;

package uk.co.szmg.grafana.stores;

/*-
 * #%L
 * grafana-dashboard-generator-cli
 * %%
 * Copyright (C) 2017 Mate Gabor Szvoboda
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */



/**
 * Example in test/resources/test-endpoints.yaml
 */
public class GrafanaEndpointParser {

    private ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
    private MapType mapOfStringAndEndpointType = mapper.getTypeFactory().constructMapType(LinkedHashMap.class, String.class, GrafanaEndpoint.class);