11d820d5d217630a4846c25cfbc949bebcca20a6
[appc.git] / appc-adapters / appc-chef-adapter / appc-chef-adapter-bundle / src / main / java / org / onap / appc / adapter / chef / chefclient / ChefApiClientFactory.java
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2018 Nokia. All rights reserved.
6  * =============================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.appc.adapter.chef.chefclient;
21
22 import com.google.common.collect.ImmutableMap;
23 import org.apache.http.client.HttpClient;
24 import org.apache.http.impl.client.HttpClients;
25 import org.onap.appc.adapter.chef.chefclient.api.ChefApiClient;
26 import org.onap.appc.adapter.chef.chefclient.impl.ChefApiClientImpl;
27 import org.onap.appc.adapter.chef.chefclient.impl.ChefApiHeaderFactory;
28
29 public class ChefApiClientFactory {
30
31     private HttpClient httpClient = HttpClients.createDefault();
32     private ChefApiHeaderFactory chefApiHeaderFactory = new ChefApiHeaderFactory();
33
34     public ChefApiClient create(String endPoint, String organizations, String userId, String pemPath) {
35         return new ChefApiClientImpl(
36             httpClient,
37             endPoint,
38             (methodName, requestPath, body) -> chefApiHeaderFactory
39                 .create(methodName, requestPath, body, userId, organizations, pemPath));
40     }
41
42     public ChefApiClient create(String endPoint) {
43         return new ChefApiClientImpl(
44             httpClient,
45             endPoint,
46             (methodName, requestPath, body) -> ImmutableMap.of());
47     }
48 }