// Path: src/main/java/org/osiam/addons/administration/model/session/GeneralSessionData.java
// @Component
// @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
// public class GeneralSessionData implements Serializable {
// 
//     private static final long serialVersionUID = 3937661507313495926L;
// 
//     private AccessToken accesstoken;
// 
//     public AccessToken getAccessToken() {
//         return accesstoken;
//     }
// 
//     public void setAccessToken(AccessToken accessToken) {
//         this.accesstoken = accessToken;
//     }
// }


import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Strings;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.glassfish.jersey.apache.connector.ApacheClientProperties;
import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.RequestEntityProcessing;
import org.osiam.addons.administration.model.session.GeneralSessionData;
import org.osiam.client.exception.ConnectionInitializationException;
import org.osiam.client.exception.OAuthErrorMessage;
import org.osiam.client.exception.UnauthorizedException;
import org.osiam.resources.scim.Extension;
import org.osiam.resources.scim.Extension.Builder;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.ws.rs.ProcessingException;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.Response.StatusType;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.ByteBuffer;
import java.util.*;
import java.util.Map.Entry;
package org.osiam.addons.administration.service;



@Component
public class ExtensionsService {

    private static final String BEARER = "Bearer ";
    private static final int CONNECT_TIMEOUT = 2500;
    private static final int READ_TIMEOUT = 5000;

// Path: src/main/java/org/osiam/addons/administration/model/session/GeneralSessionData.java
// @Component
// @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
// public class GeneralSessionData implements Serializable {
// 
//     private static final long serialVersionUID = 3937661507313495926L;
// 
//     private AccessToken accesstoken;
// 
//     public AccessToken getAccessToken() {
//         return accesstoken;
//     }
// 
//     public void setAccessToken(AccessToken accessToken) {
//         this.accesstoken = accessToken;
//     }
// }


// Path: src/main/java/org/osiam/addons/administration/service/ExtensionsService.java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Strings;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.glassfish.jersey.apache.connector.ApacheClientProperties;
import org.glassfish.jersey.apache.connector.ApacheConnectorProvider;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.RequestEntityProcessing;
import org.osiam.addons.administration.model.session.GeneralSessionData;
import org.osiam.client.exception.ConnectionInitializationException;
import org.osiam.client.exception.OAuthErrorMessage;
import org.osiam.client.exception.UnauthorizedException;
import org.osiam.resources.scim.Extension;
import org.osiam.resources.scim.Extension.Builder;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.ws.rs.ProcessingException;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.Response.StatusType;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.ByteBuffer;
import java.util.*;
import java.util.Map.Entry;

package org.osiam.addons.administration.service;



@Component
public class ExtensionsService {

    private static final String BEARER = "Bearer ";
    private static final int CONNECT_TIMEOUT = 2500;
    private static final int READ_TIMEOUT = 5000;

    private final GeneralSessionData sessionData;