1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
package com.woorea.openstack.common.client;
//package org.openstack.common.client;
//
//import java.io.IOException;
//import java.util.logging.Logger;
//
//import javax.ws.rs.client.ClientRequestContext;
//import javax.ws.rs.client.ClientRequestFilter;
//import javax.ws.rs.client.Entity;
//import javax.ws.rs.client.Invocation.Builder;
//import javax.ws.rs.client.WebTarget;
//import javax.ws.rs.core.MediaType;
//
//import org.glassfish.jersey.filter.LoggingFilter;
//import org.openstack.connector.OpenStack;
//
//public class AbstractOpenStackClient {
//
// protected String endpointURL;
//
// protected String token;
//
// protected LoggingFilter loggingFilter;
//
// protected ClientRequestFilter tokenFilter = new ClientRequestFilter() {
//
// @Override
// public void filter(ClientRequestContext requestContext) throws IOException {
// requestContext.getHeaders().putSingle("X-Auth-Token", token);
// }
// };
//
// public AbstractOpenStackClient(String endpointURL, String token) {
// this.endpointURL = endpointURL;
// this.token = token;
// }
//
// public AbstractOpenStackClient(String endpointURL) {
// this(endpointURL, null);
// }
//
// /**
// * @param token the token to set
// */
// public void setToken(String token) {
// this.token = token;
// }
//
// public OpenStackRequest request(String uri, String... mediaTypes) {
// WebTarget endpoint = OpenStack.CLIENT.target(endpointURL);
// if(token != null) {
// endpoint.register(tokenFilter);
// }
// return new OpenStackRequest(endpoint.path(uri).request(mediaTypes));
// }
//
// public OpenStackRequest request(String uri) {
// return request(uri, MediaType.APPLICATION_JSON);
// }
//
// protected WebTarget create(String endpoint) {
// WebTarget target = OpenStack.CLIENT.target(endpoint);
// if(loggingFilter != null) {
// target.register(loggingFilter);
// }
// if(token != null) {
// target.register(tokenFilter);
// }
// return target;
// }
//
// public void enableLogging(Logger logger, int entitySize) {
// loggingFilter = new LoggingFilter(logger, entitySize);
// }
//
// public void disableLogging() {
// loggingFilter = null;
// }
//
// public static class OpenStackRequest {
//
// private Builder builder;
//
// private OpenStackRequest(Builder builder) {
// this.builder = builder;
// }
//
// public <ResponseType> ResponseType execute(String method, Class<ResponseType> type) {
// return builder.method(method, type);
// }
//
// public <RequestType, ResponseType> ResponseType execute(String method, Entity<RequestType> data, Class<ResponseType> type) {
// return builder.method(method, data, type);
// }
//
// public void execute(String method) {
// builder.method(method);
// }
//
// public <RequestType> void execute(String method, Entity<RequestType> data) {
// builder.method(method, data, Void.class);
// }
//
// public <ResponseType> ResponseType get(Class<ResponseType> type) {
// return execute("GET", type);
// }
//
// public <ResponseType> ResponseType postJson(Object data, Class<ResponseType> type) {
// return execute("POST", Entity.json(data), type);
// }
//
// public <ResponseType> ResponseType putJson(Object data, Class<ResponseType> type) {
// return execute("PUT", Entity.json(data), type);
// }
//
// public <ResponseType> ResponseType patchJson(Object data, Class<ResponseType> type) {
// return execute("PATCH", Entity.json(data), type);
// }
//
// public void delete() {
// execute("DELETE", Void.class);
// }
// }
//
//}
|