From c0604184b2aa8cff924ca783ec6b36f1f5988775 Mon Sep 17 00:00:00 2001 From: Zhaoxing Date: Tue, 8 Aug 2017 14:02:53 +0800 Subject: init code Change-Id: Icd0948118397b256da70dfbcbbec5520dc5eafd4 Signed-off-by: Zhaoxing --- .../remoteservice/exception/ExceptionArgs.java | 110 -------- .../remoteservice/exception/ServiceException.java | 269 ------------------- .../openo/baseservice/roa/util/ReaderHelper.java | 61 ----- .../roa/util/restclient/DefaultAsyncCallback.java | 37 --- .../roa/util/restclient/HttpBaseRest.java | 273 ------------------- .../baseservice/roa/util/restclient/HttpRest.java | 254 ------------------ .../util/restclient/RestHttpContentExchange.java | 234 ---------------- .../baseservice/roa/util/restclient/Restful.java | 298 --------------------- .../roa/util/restclient/RestfulAsyncCallback.java | 43 --- .../roa/util/restclient/RestfulClientConst.java | 63 ----- .../roa/util/restclient/RestfulConfigure.java | 162 ----------- .../roa/util/restclient/RestfulFactory.java | 95 ------- .../roa/util/restclient/RestfulOptions.java | 170 ------------ .../roa/util/restclient/RestfulParametes.java | 155 ----------- .../roa/util/restclient/RestfulResponse.java | 144 ---------- 15 files changed, 2368 deletions(-) delete mode 100644 rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ExceptionArgs.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ServiceException.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/ReaderHelper.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/DefaultAsyncCallback.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpBaseRest.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpRest.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestHttpContentExchange.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/Restful.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulAsyncCallback.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulClientConst.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulConfigure.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulFactory.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulOptions.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulParametes.java delete mode 100644 rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulResponse.java (limited to 'rest-client/src/main/java') diff --git a/rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ExceptionArgs.java b/rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ExceptionArgs.java deleted file mode 100644 index 6c92f23..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ExceptionArgs.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.remoteservice.exception; - -/** - * ROA exception handling parameters. - *
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class ExceptionArgs { - - /** - * Exception descriptions. - */ - private String[] descArgs = null; - - /** - * Exception reasons. - */ - private String[] reasonArgs = null; - - /** - * Exception detals. - */ - private String[] detailArgs = null; - - /** - * Exception advices. - */ - private String[] adviceArgs = null; - - /** - * Constructor
- *

- *

- * - * @since - */ - public ExceptionArgs() { - // default constructor. - } - - /** - * Constructor
- *

- *

- * - * @since - * @param descArgs: descriptions. - * @param reasonArgs: reasons. - * @param detailArgs: details. - * @param adviceArgs: advices. - */ - public ExceptionArgs(final String[] descArgs, final String[] reasonArgs, final String[] detailArgs, - final String[] adviceArgs) { - this.descArgs = descArgs; - this.reasonArgs = reasonArgs; - this.detailArgs = detailArgs; - this.adviceArgs = adviceArgs; - } - - public String[] getDescArgs() { - return descArgs; - } - - public void setDescArgs(final String[] descArgs) { - this.descArgs = descArgs; - } - - public String[] getReasonArgs() { - return reasonArgs; - } - - public void setReasonArgs(final String[] reasonArgs) { - this.reasonArgs = reasonArgs; - } - - public String[] getDetailArgs() { - return detailArgs; - } - - public void setDetailArgs(final String[] detailArgs) { - this.detailArgs = detailArgs; - } - - public String[] getAdviceArgs() { - return adviceArgs; - } - - public void setAdviceArgs(final String[] adviceArgs) { - this.adviceArgs = adviceArgs; - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ServiceException.java b/rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ServiceException.java deleted file mode 100644 index 378fe9f..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/remoteservice/exception/ServiceException.java +++ /dev/null @@ -1,269 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.remoteservice.exception; - -import java.text.MessageFormat; - -/** - * The base class for all common exception.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class ServiceException extends Exception { - - /** - * default exception id. - */ - public static final String DEFAULT_ID = "framwork.remote.SystemError"; - - /** - * Serial number. - */ - private static final long serialVersionUID = 5703294364555144738L; - - /** - * Exception id. - */ - private String id = DEFAULT_ID; - - private Object[] args = null; - - private int httpCode = 500; - - private ExceptionArgs exceptionArgs = null; - - /** - * The default constructor
- *

- * This method is only used as deserialized, in other cases, use parameterized constructor. - *

- * - * @since - */ - public ServiceException() { - super(""); - } - - /** - * Constructor
- *

- *

- * - * @since - * @param id: details. - * @param cause: reason. - */ - public ServiceException(final String id, final Throwable cause) { - super(cause); - this.setId(id); - } - - /** - * Constructor
- *

- *

- * - * @since - * @param message: details. - */ - public ServiceException(final String message) { - super(message); - } - - /** - * Constructor
- *

- *

- * - * @since - * @param id: exception id. - * @param message: details. - */ - public ServiceException(final String id, final String message) { - super(message); - this.setId(id); - } - - /** - * Constructor
- *

- *

- * - * @since - * @param id: exception id. - * @param httpCode: http status code. - */ - public ServiceException(final String id, final int httpCode) { - super(); - this.setId(id); - this.setHttpCode(httpCode); - } - - /** - * Constructor
- *

- * the exception include the httpcode and message. - *

- * - * @since - * @param httpCode http code. - * @param message details. - */ - public ServiceException(final int httpCode, final String message) { - super(message); - this.setHttpCode(httpCode); - } - - /** - * Constructor
- *

- *

- * - * @since - * @param id: exception id. - * @param httpCode: http code. - * @param exceptionArgs: Exception handling frame parameters. - */ - public ServiceException(final String id, final int httpCode, final ExceptionArgs exceptionArgs) { - super(); - this.setId(id); - this.setHttpCode(httpCode); - this.setExceptionArgs(exceptionArgs); - } - - /** - * Constructor
- *

- * Have a placeholder exception, use args formatted message. - *

- * - * @since - * @param id: exception id. - * @param message: details. - * @param args: Placeholders for parameters - */ - public ServiceException(final String id, final String message, final Object... args) { - super(MessageFormat.format(message, args)); - this.setId(id); - this.args = args; - } - - /** - * Constructor
- *

- * Have a placeholder exception, use args formatted message - *

- * - * @since - * @param id: exception id. - * @param message: details. - * @param cause: reason. - * @param args: placeholder for parameters - */ - public ServiceException(final String id, final String message, final Throwable cause, final Object... args) { - super(MessageFormat.format(message, args), cause); - this.setId(id); - this.args = args; - } - - /** - * Constructor
- *

- *

- * - * @since - * @param id: exception id. - * @param message: details. - * @param cause: reason. - */ - public ServiceException(final String id, final String message, final Throwable cause) { - super(message, cause); - this.setId(id); - } - - /** - * Constructor
- *

- *

- * - * @since - * @param cause: reason. - */ - public ServiceException(final Throwable cause) { - super(cause); - } - - /** - * Get exceptoin id.
- * - * @return - * @since - */ - public String getId() { - if(id == null || id.isEmpty()) { - return DEFAULT_ID; - } - return id; - } - - public void setId(final String id) { - this.id = id; - } - - public int getHttpCode() { - return this.httpCode; - } - - public void setHttpCode(final int httpCode) { - this.httpCode = httpCode; - } - - /** - * Obtain the ROA exception handling framework parameters
- * - * @return exception args. - * @since - */ - public ExceptionArgs getExceptionArgs() { - return exceptionArgs; - } - - public void setExceptionArgs(final ExceptionArgs exceptionArgs) { - this.exceptionArgs = exceptionArgs; - } - - /** - * Gets the parameter information
- * - * @return parameter list. - * @since - */ - protected Object[] getArgs() { - if(args == null || args.length == 0 || DEFAULT_ID.equals(getId())) { - return new Object[] {}; - } - return args; - } - - @Override - public String toString() { - return "exception.id: " + getId() + "; " + super.toString(); - } - -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/ReaderHelper.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/ReaderHelper.java deleted file mode 100644 index 85e4f56..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/ReaderHelper.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util; - -import org.apache.commons.io.LineIterator; - -import java.io.Reader; - -/** - * Helper for read line.
- *

- *

- * - * @author - * @version 31-May-2016 - */ -public class ReaderHelper { - - private LineIterator ite = null; - - /** - * Constructor
- *

- *

- * - * @since - * @param reader - */ - public ReaderHelper(final Reader reader) { - if(reader != null) { - ite = new LineIterator(reader); - } - - } - - /** - * Gets the next line.
- * - * @return line if present else null. - * @since - */ - public String getLine() { - if(ite != null && ite.hasNext()) { - return ite.nextLine(); - } - return null; - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/DefaultAsyncCallback.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/DefaultAsyncCallback.java deleted file mode 100644 index 81adeb6..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/DefaultAsyncCallback.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -/** - * Restful Asynchronous call back implentation.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class DefaultAsyncCallback implements RestfulAsyncCallback { - - @Override - public void callback(final RestfulResponse response) { - // default implementation. - } - - @Override - public void handleExcepion(final Throwable e) { - // default implementation - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpBaseRest.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpBaseRest.java deleted file mode 100644 index 3e64937..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpBaseRest.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ - -package org.openo.baseservice.roa.util.restclient; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.Map; -import java.util.concurrent.atomic.AtomicInteger; - -import org.eclipse.jetty.client.Address; -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.jetty.client.HttpExchange; -import org.eclipse.jetty.http.HttpMethods; -import org.openo.baseservice.remoteservice.exception.ServiceException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - *
- *

- *

- * - * @author - * @version Aug 9, 2016 - */ -public abstract class HttpBaseRest implements Restful { - - private static final Logger LOG = LoggerFactory.getLogger(HttpRest.class); - - final AtomicInteger requestId = new AtomicInteger(0); - - protected HttpClient client = null; - - private static final String LOCAL_HOST = "127.0.0.1"; - - static final String HTTP_PATCH = "PATCH"; - - String defaultIP = LOCAL_HOST; - - int defaultPort = -10000; - - int defaultTimeout = 30000; - - final String procenameRouteID = "RouteID-" + System.currentTimeMillis() + "-"; - - /** - * Constructor
- *

- *

- * - * @since - */ - public HttpBaseRest() { - super(); - } - - protected void createHttpClient() { - client = new HttpClient(); - } - - protected RestHttpContentExchange createRestHttpContentExchange(final RestfulAsyncCallback callback) { - final RestHttpContentExchange exchange = new RestHttpContentExchange(true, callback); - exchange.setScheme("http"); - return exchange; - } - - private String encodeParams(final RestfulParametes restParametes) throws ServiceException { - final Map parm = restParametes.getParamMap(); - String value = null; - boolean bHasParma = false; - final StringBuilder builder = new StringBuilder(); - try { - for(final String key : parm.keySet()) { - value = parm.get(key); - if(value == null) { - value = ""; - } - String str; - if(bHasParma) { - str = String.format("&%s=%s", URLEncoder.encode(key, RestfulClientConst.ENCODING), - URLEncoder.encode(value, RestfulClientConst.ENCODING)); - } else { - bHasParma = true; - str = String.format("%s=%s", URLEncoder.encode(key, RestfulClientConst.ENCODING), - URLEncoder.encode(value, RestfulClientConst.ENCODING)); - } - builder.append(str); - } - } catch(final UnsupportedEncodingException ex) { - LOG.error("unsupported encoding: ", ex); - throw new ServiceException("Broken VM does not support UTF-8"); - } - return builder.toString(); - } - - private void processHeader(final RestHttpContentExchange contentExchange, final Map headerMap) { - for(final String key : headerMap.keySet()) { - final String value = headerMap.get(key); - contentExchange.addRequestHeader(key, value); - } - - } - - private void setContentExchangeParams(final RestHttpContentExchange contentExchange) { - final String contentType = contentExchange.getRequestFields().getStringField("Content-Type"); - if(null == contentType || contentType.isEmpty()) { - // application/json;charset=utf-8 - contentExchange.setRequestContentType(RestfulClientConst.APPLICATION_FORM_URLENCODED); - } - final String encoding = contentExchange.getRequestFields().getStringField("Accept-Encoding"); - if(null == encoding || encoding.isEmpty()) { - // compress,gzip - contentExchange.setRequestHeader("Accept-Encoding", "*/*"); - } - contentExchange.setVersion(11); - } - - /** - *
- * - * @param method - * @param servicePath - * @param restParametes - * @param options - * @param callback - * @return - * @throws ServiceException - * @since - */ - protected RestfulResponse sendHttpRequest(final String method, final String servicePath, - final RestfulParametes restParametes, final RestfulOptions options, final RestfulAsyncCallback callback) - throws ServiceException { - final RestHttpContentExchange contentExchange = createRestHttpContentExchange(callback); - if(null == restParametes) { - return new RestfulResponse(); - } - final String requestTrace = this.getReuqestIdString(); - restParametes.putHttpContextHeader(RestfulClientConst.REQUEST_ID, requestTrace); - - RestfulResponse rsp = null; - try { - contentExchange.setMethod(method); - final String str = encodeParams(restParametes); - final StringBuilder builder = new StringBuilder(); - builder.append(servicePath); - if(str.length() > 0 && (method.equals(HttpMethods.GET) || method.equals(HttpMethods.DELETE) - || method.equals(HttpMethods.HEAD))) { - builder.append('?'); - builder.append(str); - } - setDefaultUrl(contentExchange, options, builder); - processHeader(contentExchange, restParametes.getHeaderMap()); - setContentExchangeParams(contentExchange); - - setPostPutParam(method, restParametes, contentExchange, str); - setTimeout(options, contentExchange); - - client.send(contentExchange); - rsp = callbackExecute(callback, contentExchange); - } catch(final Exception e) { - LOG.error("request reply message have exception:status is " - + RestHttpContentExchange.toState(contentExchange.getStatus())); - throw new ServiceException(e); - } - return rsp; - } - - private void setDefaultUrl(final RestHttpContentExchange contentExchange, final RestfulOptions options, - final StringBuilder url) { - // server - if(url.toString().startsWith("http")) { - contentExchange.setURL(url.toString()); - } else { - String host = defaultIP; - int iPort = defaultPort; - if(options != null) { - host = options.getHost(); - if(host.isEmpty()) { - host = defaultIP; - } - iPort = options.getPort(); - if(iPort == 0) { - iPort = defaultPort; - } - } - // Integer.getInteger(".http.client.maxThread",30) - contentExchange.setAddress(new Address(host, iPort)); - contentExchange.setRequestURI(url.toString()); - } - } - - private String getReuqestIdString() { - if(this.requestId.get() == 0x7FFFFFFF) { - this.requestId.set(1); - } - final int reqId = this.requestId.getAndIncrement(); - final StringBuilder builder = new StringBuilder(this.procenameRouteID); - // time - final SimpleDateFormat dateFormate = new SimpleDateFormat("yyMMdd"); - final SimpleDateFormat timeFormate = new SimpleDateFormat("HHmmss"); - final Date date = Calendar.getInstance().getTime(); - builder.append(dateFormate.format(date) + timeFormate.format(date)); - builder.append('-'); - builder.append(reqId); - return builder.toString(); - } - - private void setPostPutParam(final String method, final RestfulParametes restParametes, - final RestHttpContentExchange contentExchange, final String str) throws UnsupportedEncodingException { - if(HttpMethods.POST.equals(method) || HttpMethods.PUT.equals(method) || HTTP_PATCH.equals(method)) { - ByteArrayInputStream buff; - final String tmpRaw = restParametes.getRawData(); - if(tmpRaw == null) { - buff = new ByteArrayInputStream(str.getBytes(RestfulClientConst.ENCODING)); - } else { - buff = new ByteArrayInputStream(tmpRaw.getBytes(RestfulClientConst.ENCODING)); - } - final int len = buff.available(); - contentExchange.setRequestContentSource(buff); - contentExchange.setRequestHeader("content-length", String.valueOf(len)); - } - } - - private void setTimeout(final RestfulOptions options, final RestHttpContentExchange contentExchange) { - if(options != null) { - final long timeout = options.getRestTimeout(); - if(timeout != 0) { - contentExchange.setTimeout(timeout); - } else { - contentExchange.setTimeout(defaultTimeout); - } - } else { - contentExchange.setTimeout(defaultTimeout); - } - } - - private RestfulResponse callbackExecute(final RestfulAsyncCallback callback, - final RestHttpContentExchange contentExchange) throws InterruptedException, IOException, ServiceException { - if(callback == null) { - final int exchangeState = contentExchange.waitForDone(); - if(exchangeState == HttpExchange.STATUS_COMPLETED) { - return contentExchange.getResponse(); - } else if(exchangeState == HttpExchange.STATUS_EXCEPTED) { - throw new ServiceException( - "request is exception: " + RestHttpContentExchange.toState(HttpExchange.STATUS_EXCEPTED)); - } else if(exchangeState == HttpExchange.STATUS_EXPIRED) { - throw new ServiceException( - "request is expierd: " + RestHttpContentExchange.toState(HttpExchange.STATUS_EXPIRED)); - } - } - return null; - } - -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpRest.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpRest.java deleted file mode 100644 index 047f20e..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/HttpRest.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ - -package org.openo.baseservice.roa.util.restclient; - -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.jetty.http.HttpMethods; -import org.eclipse.jetty.util.thread.QueuedThreadPool; -import org.openo.baseservice.remoteservice.exception.ServiceException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - *
- *

- *

- * - * @author - * @version Aug 9, 2016 - */ -public class HttpRest extends HttpBaseRest { - - private static final Logger LOG = LoggerFactory.getLogger(HttpRest.class); - - /** - * Initializing Rest options.
- * - * @param options: rest options. - * @throws ServiceException - * @since - */ - public void initHttpRest(final RestfulOptions option) throws ServiceException { - if(option == null) { - client = null; - throw new ServiceException("option is null."); - } - createHttpClient(); - try { - int iValue; - iValue = option.getIntOption(RestfulClientConst.MAX_CONN_PER_ADDR_KEY_NAME); - // max 200 concurrent,connections to every address - client.setMaxConnectionsPerAddress(iValue); - - iValue = option.getIntOption(RestfulClientConst.THREAD_KEY_NAME); - // max threads - client.setThreadPool(new QueuedThreadPool(iValue)); - iValue = option.getIntOption(RestfulClientConst.CONN_TIMEOUT_KEY_NAME); - client.setConnectTimeout(iValue); - iValue = option.getRestTimeout(); - defaultTimeout = iValue; - client.setTimeout(iValue); - - iValue = option.getIntOption(RestfulClientConst.IDLE_TIMEOUT_KEY_NAME); - client.setIdleTimeout(iValue); - iValue = option.getIntOption(RestfulClientConst.MAX_RESPONSE_HEADER_SIZE); - client.setResponseHeaderSize(iValue); - iValue = option.getIntOption(RestfulClientConst.MAX_REQUEST_HEADER_SIZE); - client.setRequestHeaderSize(iValue); - // HttpClient.CONNECTOR_SOCKET - client.setConnectorType(HttpClient.CONNECTOR_SELECT_CHANNEL); - client.start(); - defaultIP = option.getStringOption(RestfulClientConst.HOST_KEY_NAME); - defaultPort = option.getIntOption(RestfulClientConst.PORT_KEY_NAME); - } catch(final Exception e) { - LOG.error("start httpclient error", e); - client = null; - throw new ServiceException("http client init failed."); - } - } - - @Override - public RestfulResponse get(final String servicePath, final RestfulParametes restParametes) throws ServiceException { - return this.sendHttpRequest(HttpMethods.GET, servicePath, restParametes, null, null); - } - - @Override - public RestfulResponse get(final String servicePath, final RestfulParametes restParametes, - final RestfulOptions option) throws ServiceException { - return this.sendHttpRequest(HttpMethods.GET, servicePath, restParametes, option, null); - } - - @Override - public RestfulResponse head(final String servicePath, final RestfulParametes restParametes) - throws ServiceException { - return this.sendHttpRequest(HttpMethods.HEAD, servicePath, restParametes, null, null); - } - - @Override - public RestfulResponse head(final String servicePath, final RestfulParametes restParametes, - final RestfulOptions option) throws ServiceException { - return this.sendHttpRequest(HttpMethods.HEAD, servicePath, restParametes, option, null); - } - - @Override - public void asyncGet(final String servicePath, final RestfulParametes restParametes, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.GET, servicePath, restParametes, null, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.GET, servicePath, restParametes, null, callback); - } - } - - @Override - public void asyncGet(final String servicePath, final RestfulParametes restParametes, final RestfulOptions option, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.GET, servicePath, restParametes, option, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.GET, servicePath, restParametes, option, callback); - } - } - - @Override - public RestfulResponse put(final String servicePath, final RestfulParametes restParametes) throws ServiceException { - return this.sendHttpRequest(HttpMethods.PUT, servicePath, restParametes, null, null); - } - - @Override - public RestfulResponse put(final String servicePath, final RestfulParametes restParametes, - final RestfulOptions option) throws ServiceException { - return this.sendHttpRequest(HttpMethods.PUT, servicePath, restParametes, option, null); - } - - @Override - public void asyncPut(final String servicePath, final RestfulParametes restParametes, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.PUT, servicePath, restParametes, null, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.PUT, servicePath, restParametes, null, callback); - } - } - - @Override - public void asyncPut(final String servicePath, final RestfulParametes restParametes, final RestfulOptions option, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.PUT, servicePath, restParametes, option, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.PUT, servicePath, restParametes, option, callback); - } - } - - @Override - public RestfulResponse post(final String servicePath, final RestfulParametes restParametes) - throws ServiceException { - return this.sendHttpRequest(HttpMethods.POST, servicePath, restParametes, null, null); - } - - @Override - public RestfulResponse post(final String servicePath, final RestfulParametes restParametes, - final RestfulOptions option) throws ServiceException { - return this.sendHttpRequest(HttpMethods.POST, servicePath, restParametes, option, null); - } - - @Override - public void asyncPost(final String servicePath, final RestfulParametes restParametes, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.POST, servicePath, restParametes, null, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.POST, servicePath, restParametes, null, callback); - } - } - - @Override - public void asyncPost(final String servicePath, final RestfulParametes restParametes, final RestfulOptions option, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.POST, servicePath, restParametes, option, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.POST, servicePath, restParametes, option, callback); - } - } - - @Override - public RestfulResponse delete(final String servicePath, final RestfulParametes restParametes) - throws ServiceException { - return this.sendHttpRequest(HttpMethods.DELETE, servicePath, restParametes, null, null); - } - - @Override - public RestfulResponse delete(final String servicePath, final RestfulParametes restParametes, - final RestfulOptions option) throws ServiceException { - return this.sendHttpRequest(HttpMethods.DELETE, servicePath, restParametes, option, null); - } - - @Override - public void asyncDelete(final String servicePath, final RestfulParametes restParametes, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.DELETE, servicePath, restParametes, null, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.DELETE, servicePath, restParametes, null, callback); - } - } - - @Override - public void asyncDelete(final String servicePath, final RestfulParametes restParametes, final RestfulOptions option, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HttpMethods.DELETE, servicePath, restParametes, option, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HttpMethods.DELETE, servicePath, restParametes, option, callback); - } - } - - @Override - public RestfulResponse patch(final String servicePath, final RestfulParametes restParametes) - throws ServiceException { - return this.sendHttpRequest(HTTP_PATCH, servicePath, restParametes, null, null); - } - - @Override - public RestfulResponse patch(final String servicePath, final RestfulParametes restParametes, - final RestfulOptions option) throws ServiceException { - return this.sendHttpRequest(HTTP_PATCH, servicePath, restParametes, option, null); - } - - @Override - public void asyncPatch(final String servicePath, final RestfulParametes restParametes, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HTTP_PATCH, servicePath, restParametes, null, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HTTP_PATCH, servicePath, restParametes, null, callback); - } - } - - @Override - public void asyncPatch(final String servicePath, final RestfulParametes restParametes, final RestfulOptions option, - final RestfulAsyncCallback callback) throws ServiceException { - if(callback == null) { - this.sendHttpRequest(HTTP_PATCH, servicePath, restParametes, option, new DefaultAsyncCallback()); - } else { - this.sendHttpRequest(HTTP_PATCH, servicePath, restParametes, option, callback); - } - } - -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestHttpContentExchange.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestHttpContentExchange.java deleted file mode 100644 index 99328a7..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestHttpContentExchange.java +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -import org.openo.baseservice.remoteservice.exception.ServiceException; - -import org.apache.commons.lang.StringUtils; -import org.eclipse.jetty.client.ContentExchange; -import org.eclipse.jetty.client.HttpDestination; -import org.eclipse.jetty.http.HttpFields; -import org.eclipse.jetty.http.HttpHeaders; -import org.eclipse.jetty.io.Buffer; -import org.eclipse.jetty.util.StringUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.nio.charset.Charset; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.zip.GZIPInputStream; - -/** - * ContentExchange implementation classe to provide access to response. - *
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class RestHttpContentExchange extends ContentExchange { - - private static final Logger LOGGER = LoggerFactory.getLogger(RestHttpContentExchange.class); - - private boolean gzip = false; - - private RestfulAsyncCallback callback = null; - - /** - * Constructor
- *

- *

- * - * @since - * @param cacheFields whether to cache response header. - * @param asyncCallback callback method. - */ - RestHttpContentExchange(final boolean cacheFields, final RestfulAsyncCallback asyncCallback) { - super(cacheFields); - this.callback = asyncCallback; - } - - /** - * Extract message. - *
- * - * @param data GZipped data. - * @return Uncompressed data. - * @throws IOException - * @since - */ - public String decompressGzipToStr(final byte[] data) throws IOException { - if(data == null) { - return ""; - } - ByteArrayInputStream input = null; - GZIPInputStream gzis = null; - InputStreamReader reader = null; - final StringBuilder out = new StringBuilder(); - try { - input = new ByteArrayInputStream(data); - gzis = new GZIPInputStream(input); - reader = new InputStreamReader(gzis, Charset.forName(RestfulClientConst.ENCODING)); - final char[] buff = new char[1024]; - for(int n; (n = reader.read(buff)) != -1;) { - out.append(new String(buff, 0, n)); - } - } finally { - if(reader != null) { - try { - reader.close(); - } catch(final IOException e) { - LOGGER.error("decompress Gzip reader exception:", e); - } - } - if(gzis != null) { - try { - gzis.close(); - } catch(final IOException e) { - LOGGER.error("decompress Gzip exception:", e); - } - } - if(input != null) { - try { - input.close(); - } catch(final IOException e) { - LOGGER.error("decompress Gzip input exception:", e); - } - } - } - return out.toString(); - - } - - /** - * View response headers Content-Encoding values if you need to extract data.
- * - * @param name buffer - * @param value value - * @throws IOException - * @since - */ - @Override - protected synchronized void onResponseHeader(final Buffer name, final Buffer value) throws IOException { - super.onResponseHeader(name, value); - final int header = HttpHeaders.CACHE.getOrdinal(name); - if(header == HttpHeaders.CONTENT_ENCODING_ORDINAL) { - final String encoding = StringUtil.asciiToLowerCase(value.toString()); - gzip = encoding != null && StringUtils.contains(encoding, "gzip"); - } - - } - - @Override - protected void onResponseComplete() throws IOException { - if(LOGGER.isInfoEnabled()) { - LOGGER.info("Response has Complete:" + "path:" + this.getRequestURI().replace("\n", "0x0A")); - } - super.onResponseComplete(); - if(callback != null) { - final RestfulResponse rsp = getResponse(); - callback.callback(rsp); - } - } - - @Override - protected void onRequestCommitted() throws IOException { - if(LOGGER.isInfoEnabled()) { - LOGGER.info("Request Header has been send:" + "path:" + this.getRequestURI().replace("\n", "0x0A")); - } - super.onRequestCommitted(); - } - - @Override - protected void onRequestComplete() throws IOException { - if(LOGGER.isInfoEnabled()) { - LOGGER.info("Request has bend send complete:" + "path:" + this.getRequestURI().replace("\n", "0x0A")); - } - super.onRequestComplete(); - } - - @Override - protected void onException(final Throwable x) { - LOGGER.warn("onException:", x); - super.onException(x); - if(callback != null) { - callback.handleExcepion(x); - } - } - - @Override - protected void onConnectionFailed(final Throwable x) { - LOGGER.warn("onConnectionFailed:", x); - super.onConnectionFailed(x); - if(callback != null) { - callback.handleExcepion(x); - } - - } - - @Override - protected void expire(final HttpDestination destination) { - super.expire(destination); - if(callback != null) { - callback.handleExcepion(new ServiceException("request is expired, status:" + toState(getStatus()))); - } - } - - public boolean isGzip() { - return gzip; - } - - /** - * Get the response as RestfulResponse. - *
- * - * @return response object. - * @throws IOException - * @since - */ - public RestfulResponse getResponse() throws IOException { - final RestfulResponse rsp = new RestfulResponse(); - rsp.setStatus(this.getResponseStatus()); - if(isGzip()) { - final String responseString = decompressGzipToStr(getResponseContentBytes()); - rsp.setResponseJson(responseString); - } else { - rsp.setResponseJson(this.getResponseContent()); - } - - final HttpFields field = this.getResponseFields(); - if(field != null) { - final Map header = new HashMap<>(); - - final Enumeration names = field.getFieldNames(); - for(final Enumeration e = names; e.hasMoreElements();) { - final String fieldName = e.nextElement(); - final String fieldValue = field.getStringField(fieldName); - header.put(fieldName, fieldValue); - } - - rsp.setRespHeaderMap(header); - } - return rsp; - } - -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/Restful.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/Restful.java deleted file mode 100644 index 8527e68..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/Restful.java +++ /dev/null @@ -1,298 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -import org.openo.baseservice.remoteservice.exception.ServiceException; - -/** - * ReSTful method interface.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public interface Restful { - - /** - * Http GET method.
- * - * @param servicePath: request path. - * @param restParametes: query parameters. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse get(String servicePath, RestfulParametes restParametes) throws ServiceException; - - /** - * Http HEAD method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse head(String servicePath, RestfulParametes restParametes, RestfulOptions options) - throws ServiceException; - - /** - * Http HEAD method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse head(String servicePath, RestfulParametes restParametes) throws ServiceException; - - /** - * Http GET method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse get(String servicePath, RestfulParametes restParametes, RestfulOptions options) - throws ServiceException; - - /** - * Asynchronouse GET request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncGet(String servicePath, RestfulParametes restParametes, RestfulAsyncCallback callback) - throws ServiceException; - - /** - * Asynchronouse GET request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncGet(String servicePath, RestfulParametes restParametes, RestfulOptions options, - RestfulAsyncCallback callback) throws ServiceException; - - /** - * Http PUT method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse put(String servicePath, RestfulParametes restParametes) throws ServiceException; - - /** - * Http PUT method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse put(String servicePath, RestfulParametes restParametes, RestfulOptions options) - throws ServiceException; - - /** - * Asynchronouse PUT request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncPut(String servicePath, RestfulParametes restParametes, RestfulAsyncCallback callback) - throws ServiceException; - - /** - * Asynchronouse PUT request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncPut(String servicePath, RestfulParametes restParametes, RestfulOptions options, - RestfulAsyncCallback callback) throws ServiceException; - - /** - * Http POST method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse post(String servicePath, RestfulParametes restParametes) throws ServiceException; - - /** - * Http POST method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse post(String servicePath, RestfulParametes restParametes, RestfulOptions options) - throws ServiceException; - - /** - * Asynchronouse POST request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncPost(String servicePath, RestfulParametes restParametes, RestfulAsyncCallback callback) - throws ServiceException; - - /** - * Asynchronouse POST request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncPost(String servicePath, RestfulParametes restParametes, RestfulOptions options, - RestfulAsyncCallback callback) throws ServiceException; - - /** - * Http DELETE method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse delete(String servicePath, RestfulParametes restParametes) throws ServiceException; - - /** - * Http DELETE method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse delete(String servicePath, RestfulParametes restParametes, RestfulOptions options) - throws ServiceException; - - /** - * Asynchronouse DELETE request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncDelete(String servicePath, RestfulParametes restParametes, RestfulAsyncCallback callback) - throws ServiceException; - - /** - * Asynchronouse DELETE request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncDelete(String servicePath, RestfulParametes restParametes, RestfulOptions options, - RestfulAsyncCallback callback) throws ServiceException; - - /** - * Http PATCH method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse patch(String servicePath, RestfulParametes restParametes) throws ServiceException; - - /** - * Http PATCH method.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @return response. - * @throws ServiceException - * @since - */ - RestfulResponse patch(String servicePath, RestfulParametes restParametes, RestfulOptions options) - throws ServiceException; - - /** - * Asynchronouse PATCH request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncPatch(String servicePath, RestfulParametes restParametes, RestfulAsyncCallback callback) - throws ServiceException; - - /** - * Asynchronouse PATCH request.
- * - * @param servicePath: request path. - * @param restParametes: request parameters. - * @param options: request options. - * @param callback: response callback method. - * @throws ServiceException - * @since - */ - void asyncPatch(String servicePath, RestfulParametes restParametes, RestfulOptions options, - RestfulAsyncCallback callback) throws ServiceException; -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulAsyncCallback.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulAsyncCallback.java deleted file mode 100644 index bf461c9..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulAsyncCallback.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -/** - * Callback interface for ReST calls.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public interface RestfulAsyncCallback { - - /** - * Response callback.
- * - * @param response: response of ReST call. - * @since - */ - void callback(RestfulResponse response); - - /** - * Exceptoin callback.
- * - * @param e: ReST call exception. - * @since - */ - void handleExcepion(Throwable e); -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulClientConst.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulClientConst.java deleted file mode 100644 index 3741c20..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulClientConst.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -/** - * Constants for ReST client.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class RestfulClientConst { - - /** -- json Ecode -- **/ - public static final String APPLICATION_FORM_JSON_EBCIDED = "application/json"; - - /** - * urlencode - */ - public static final String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded; charset=UTF-8"; - - public static final String ENCODING = "UTF-8"; - - public static final String SERVER_KEY_NAME = "defaultServer"; - - public static final String HOST_KEY_NAME = "host"; - - public static final String PORT_KEY_NAME = "port"; - - public static final String CONN_TIMEOUT_KEY_NAME = "ConnectTimeout"; - - public static final String THREAD_KEY_NAME = "thread"; - - public static final String IDLE_TIMEOUT_KEY_NAME = "idletimeout"; - - public static final String TIMEOUT_KEY_NAME = "timeout"; - - public static final String MAX_CONN_PER_ADDR_KEY_NAME = "maxConnectionPerAddr"; - - public static final String REQUEST_ID = "x-request-id"; - - public static final String MAX_RESPONSE_HEADER_SIZE = "responseHeaderSize"; - - public static final String MAX_REQUEST_HEADER_SIZE = "requestHeaderSize"; - - private RestfulClientConst() { - - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulConfigure.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulConfigure.java deleted file mode 100644 index 3ce6859..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulConfigure.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import org.openo.baseservice.roa.util.ReaderHelper; -import org.openo.baseservice.util.impl.SystemEnvVariablesFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import net.sf.json.JSONObject; - -/** - * Rest client options.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class RestfulConfigure { - - private static final Logger LOG = LoggerFactory.getLogger(RestfulConfigure.class); - - private RestfulOptions options = null; - - /** - * Constructor
- *

- * Use the default path initialization http Rest options. - *

- * - * @since - */ - public RestfulConfigure() { - final String config = "/etc/conf/restclient.json"; - final String approot = SystemEnvVariablesFactory.getInstance().getAppRoot(); - final StringBuilder extendSetting = new StringBuilder(); - - if(approot != null) { - extendSetting.append(approot); - extendSetting.append(config); - } else { - extendSetting.append(System.getProperty("user.dir")); - extendSetting.append(config); - } - - final String configfile = extendSetting.toString(); - initRestConf(configfile); - } - - /** - * Constructor
- *

- * Use the specified file to initialize http Rest options. - *

- * - * @since - * @param configfile - */ - public RestfulConfigure(final String configfile) { - initRestConf(configfile); - } - - public RestfulOptions getOptions() { - return options; - } - - private void initRestConf(final String configfile) { - options = getDefaultOptions(); - - final JSONObject obj = loadJsonFromFile(configfile); - if(obj != null) { - if(obj.has(RestfulClientConst.SERVER_KEY_NAME)) { - final JSONObject server = obj.getJSONObject(RestfulClientConst.SERVER_KEY_NAME); - setStringOption(server, RestfulClientConst.HOST_KEY_NAME); - setIntOption(server, RestfulClientConst.PORT_KEY_NAME); - } - setIntOption(obj, RestfulClientConst.CONN_TIMEOUT_KEY_NAME); - setIntOption(obj, RestfulClientConst.THREAD_KEY_NAME); - setIntOption(obj, RestfulClientConst.IDLE_TIMEOUT_KEY_NAME); - setIntOption(obj, RestfulClientConst.TIMEOUT_KEY_NAME); - setIntOption(obj, RestfulClientConst.MAX_CONN_PER_ADDR_KEY_NAME); - setIntOption(obj, RestfulClientConst.MAX_RESPONSE_HEADER_SIZE); - setIntOption(obj, RestfulClientConst.MAX_REQUEST_HEADER_SIZE); - } else { - LOG.error("failed to load json from " + configfile); - } - } - - private void setStringOption(final JSONObject json, final String key) { - if(json.has(key)) { - options.setOption(key, json.getString(key)); - } - } - - private void setIntOption(final JSONObject json, final String key) { - if(json.has(key)) { - options.setOption(key, json.getInt(key)); - } - } - - private RestfulOptions getDefaultOptions() { - options = new RestfulOptions(); - options.setOption(RestfulClientConst.CONN_TIMEOUT_KEY_NAME, 3000); - options.setOption(RestfulClientConst.THREAD_KEY_NAME, 200); - options.setOption(RestfulClientConst.IDLE_TIMEOUT_KEY_NAME, 30000); - options.setOption(RestfulClientConst.TIMEOUT_KEY_NAME, 30000); - options.setOption(RestfulClientConst.MAX_CONN_PER_ADDR_KEY_NAME, 50); - options.setOption(RestfulClientConst.MAX_RESPONSE_HEADER_SIZE, 20 * 1024); - options.setOption(RestfulClientConst.MAX_REQUEST_HEADER_SIZE, 20 * 1024); - return options; - } - - private JSONObject loadJsonFromFile(final String filePath) { - final File file = new File(filePath); - if((!file.exists()) || (!file.isFile())) { - LOG.error(filePath + "isn't exist."); - return null; - } - BufferedReader reader = null; - final StringBuilder jsonstr = new StringBuilder(); - JSONObject jo = null; - try { - reader = new BufferedReader(new FileReader(file)); - final ReaderHelper rHelpper = new ReaderHelper(reader); - String tempString = null; - while((tempString = rHelpper.getLine()) != null) { - jsonstr.append(tempString); - } - jo = JSONObject.fromObject(jsonstr.toString()); - } catch(final IOException e) { - LOG.error("load file exception:" + e); - } finally { - if(reader != null) { - try { - reader.close(); - } catch(final IOException e) { - LOG.error("close error.", e); - } - } - } - return jo; - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulFactory.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulFactory.java deleted file mode 100644 index 5b94374..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulFactory.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -import org.openo.baseservice.remoteservice.exception.ServiceException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.HashMap; -import java.util.Map; - -/** - * RestFul instance factory.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class RestfulFactory { - - /** - * https protocol. - */ - public static final String PROTO_HTTPS = "https"; - - /** - * http protocol. - */ - public static final String PROTO_HTTP = "http"; - - private static final Logger LOG = LoggerFactory.getLogger(RestfulFactory.class); - - private static final Map INSTANCES = new HashMap<>(2); - - private RestfulFactory() { - - } - - /** - * Get RESTful instance. This method returns a singleton instance. - *
- * - * @param protocol protocol. currently only support 'http'. - * @return restful instance. - * @since - */ - public static synchronized Restful getRestInstance(final String protocol) { - Restful rest = INSTANCES.get(protocol); - if(rest != null) { - return rest; - } - if(PROTO_HTTP.equals(protocol)) { - rest = createHttpRest(); - INSTANCES.put(protocol, rest); - } - return rest; - } - - private static Restful createHttpRest() { - final HttpRest rest = new HttpRest(); - setRestOption(rest, null); - return rest; - } - - private static void setRestOption(final HttpRest rest, final String restoptionfile) { - try { - RestfulConfigure config; - if(restoptionfile == null || restoptionfile.isEmpty()) { - config = new RestfulConfigure(); - } else { - config = new RestfulConfigure(restoptionfile); - } - - final RestfulOptions option = config.getOptions(); - rest.initHttpRest(option); - } catch(final ServiceException e) { - LOG.error("init http client exception: ", e); - } - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulOptions.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulOptions.java deleted file mode 100644 index 6e5812f..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulOptions.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ -package org.openo.baseservice.roa.util.restclient; - -import java.util.HashMap; -import java.util.Map; - -/** - * Options for Rest communication.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class RestfulOptions { - - public static final String REST_OPTIONS_NAME_TIMEOUT = "timeout"; - - public static final int REST_OPTIONS_TIMEOUT_MAXTIMEOUT = 1800000; - - private final Map optionsMap = new HashMap<>(); - - /** - * Get port.
- * - * @return port. - * @since - */ - public int getPort() { - final Object obj = this.getOption(RestfulClientConst.PORT_KEY_NAME); - if(null == obj) { - return 0; - } - return ((Integer)obj).intValue(); - } - - /** - * Set port.
- * - * @param port port to set. - * @return - * @since - */ - public boolean setPort(final int port) { - this.setOption(RestfulClientConst.PORT_KEY_NAME, port); - return true; - } - - /** - * Get host.
- * - * @return the host. - * @since - */ - public String getHost() { - final Object obj = this.getOption(RestfulClientConst.HOST_KEY_NAME); - if(null == obj) { - return ""; - } - return (String)obj; - } - - /** - * Set host.
- * - * @param host host to set. - * @return - * @since - */ - public boolean setHost(final String host) { - this.setOption(RestfulClientConst.HOST_KEY_NAME, host); - return true; - } - - /** - * Set rest time-out.
- * - * @param timeout time-out to set in seconds. - * @return - * @since - */ - public boolean setRestTimeout(final int timeout) { - if(0 < timeout && REST_OPTIONS_TIMEOUT_MAXTIMEOUT >= timeout) { - this.setOption(REST_OPTIONS_NAME_TIMEOUT, timeout); - return true; - } - return false; - } - - /** - * Get time-out.
- * - * @return time-out in seconds. - * @since - */ - public int getRestTimeout() { - final Object obj = this.getOption(REST_OPTIONS_NAME_TIMEOUT); - if(null == obj) { - return 0; - } - return ((Integer)obj).intValue(); - } - - /** - * Get specified option.
- * - * @param optionName option name. - * @return option - * @since - */ - public Object getOption(final String optionName) { - return optionsMap.get(optionName); - } - - /** - * Get option value as integer.
- * - * @param optionName option name. - * @return option value as int. - * @since - */ - public int getIntOption(final String optionName) { - final Object obj = this.getOption(optionName); - if(null == obj) { - return 0; - } - return ((Integer)obj).intValue(); - } - - /** - * Get option value as string.
- * - * @param optionName option name. - * @return option value as string. - * @since - */ - public String getStringOption(final String optionName) { - final Object obj = this.getOption(optionName); - if(null == obj) { - return ""; - } - return (String)obj; - } - - /** - * Set option.
- * - * @param option option name. - * @param optionsValue option value. - * @return - * @since - */ - public Object setOption(final String option, final Object optionsValue) { - return optionsMap.put(option, optionsValue); - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulParametes.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulParametes.java deleted file mode 100644 index aea8753..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulParametes.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ - -package org.openo.baseservice.roa.util.restclient; - -import java.util.HashMap; -import java.util.Map; - -/** - *
- *

- *

- * - * @author - * @version Aug 9, 2016 - */ -public class RestfulParametes { - - private Map paramMap = new HashMap<>(); - - private Map headerMap = new HashMap<>(); - - private String rawData = null; - - /** - *
- * - * @param key - * @return - * @since - */ - public String get(final String key) { - return paramMap.get(key); - } - - /** - *
- * - * @param data - * @since - */ - public void setRawData(final String data) { - this.rawData = data; - } - - /** - *
- * - * @return - * @since - */ - public String getRawData() { - return this.rawData; - } - - /** - *
- * - * @param key - * @param value - * @return - * @since - */ - public String put(final String key, final String value) { - return paramMap.put(key, value); - } - - /** - *
- * - * @param key - * @param value - * @return - * @since - */ - public String putHttpContextHeader(final String key, final String value) { - return headerMap.put(key, value); - } - - /** - *
- * - * @param key - * @param value - * @return - * @since - */ - public String putHttpContextHeader(final String key, final int value) { - return this.putHttpContextHeader(key, String.valueOf(value)); - } - - /** - *
- * - * @param key - * @return - * @since - */ - public String getHttpContextHeader(final String key) { - return headerMap.get(key); - } - - /** - *
- * - * @return - * @since - */ - public Map getParamMap() { - return paramMap; - } - - /** - *
- * - * @param paramMap - * @since - */ - public void setParamMap(final Map paramMap) { - this.paramMap = paramMap; - } - - /** - *
- * - * @return - * @since - */ - public Map getHeaderMap() { - return this.headerMap; - } - - /** - *
- * - * @param headerMap - * @since - */ - public void setHeaderMap(final Map headerMap) { - this.headerMap = headerMap; - } -} diff --git a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulResponse.java b/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulResponse.java deleted file mode 100644 index 25105b7..0000000 --- a/rest-client/src/main/java/org/openo/baseservice/roa/util/restclient/RestfulResponse.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright 2016 Huawei Technologies Co., Ltd. - * - * 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. - */ - -package org.openo.baseservice.roa.util.restclient; - -import java.util.Map; - -/** - * Response for RestFul requests.
- *

- *

- * - * @author - * @version 28-May-2016 - */ -public class RestfulResponse { - - private String responseContent; - - private int status = -1; - - private Map respHeaderMap = null; - - /** - *
- * - * @return - * @since - */ - public int getStatus() { - return status; - } - - /** - *
- * - * @param status - * @since - */ - public void setStatus(final int status) { - this.status = status; - } - - /** - *
- * - * @return - * @since - */ - public Map getRespHeaderMap() { - return respHeaderMap; - } - - /** - *
- * - * @param header - * @since - */ - public void setRespHeaderMap(final Map header) { - this.respHeaderMap = header; - } - - /** - * Get response header value as integer.
- * - * @param key header param name. - * @return header param value as integer. (-1 if error) - * @since - */ - public int getRespHeaderInt(final String key) { - if(respHeaderMap != null) { - final String result = respHeaderMap.get(key); - if(result != null) { - return Integer.parseInt(result); - } - } - return -1; - } - - /** - * Get response header value as long.
- * - * @param key header param name. - * @return value as long. -1 if no value. - * @since - */ - public long getRespHeaderLong(final String key) { - if(respHeaderMap != null) { - final String result = respHeaderMap.get(key); - if(result != null) { - return Long.parseLong(result); - } - } - return -1; - } - - /** - * Get http header as string.
- * - * @param key header name. - * @return header value. - * @since - */ - public String getRespHeaderStr(final String key) { - if(respHeaderMap != null) { - return respHeaderMap.get(key); - } - return null; - } - - /** - *
- * - * @return - * @since - */ - public String getResponseContent() { - return responseContent; - } - - /** - *
- * - * @param responseString - * @since - */ - public void setResponseJson(final String responseString) { - this.responseContent = responseString; - } -} -- cgit 1.2.3-korg