You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by il...@apache.org on 2014/04/09 17:34:33 UTC
git commit: [OLINGO-242] Implementation provided
Repository: olingo-odata4
Updated Branches:
refs/heads/master 9f96234e6 -> 6019385e6
[OLINGO-242] Implementation provided
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata4/commit/6019385e
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata4/tree/6019385e
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata4/diff/6019385e
Branch: refs/heads/master
Commit: 6019385e61c359cb5193245b2f4d066928b6d553
Parents: 9f96234
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Apr 9 17:34:26 2014 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Apr 9 17:34:26 2014 +0200
----------------------------------------------------------------------
lib/client-core/pom.xml | 6 ++++
.../core/http/BasicAuthHttpClientFactory.java | 5 ++-
.../core/http/DefaultHttpClientFactory.java | 34 ++++++++++++++++++--
.../core/http/NTLMAuthHttpClientFactory.java | 5 ++-
.../src/main/resources/client.properties | 17 ++++++++++
5 files changed, 58 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6019385e/lib/client-core/pom.xml
----------------------------------------------------------------------
diff --git a/lib/client-core/pom.xml b/lib/client-core/pom.xml
index 81aaf9f..0d09e75 100644
--- a/lib/client-core/pom.xml
+++ b/lib/client-core/pom.xml
@@ -99,6 +99,12 @@
</plugin>
</plugins>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6019385e/lib/client-core/src/main/java/org/apache/olingo/client/core/http/BasicAuthHttpClientFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/http/BasicAuthHttpClientFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/http/BasicAuthHttpClientFactory.java
index b978621..0f60a31 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/http/BasicAuthHttpClientFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/http/BasicAuthHttpClientFactory.java
@@ -22,7 +22,6 @@ import java.net.URI;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.olingo.client.api.http.HttpMethod;
@@ -43,8 +42,8 @@ public class BasicAuthHttpClientFactory extends DefaultHttpClientFactory {
}
@Override
- public HttpClient createHttpClient(final HttpMethod method, final URI uri) {
- final DefaultHttpClient httpclient = (DefaultHttpClient) super.createHttpClient(method, uri);
+ public DefaultHttpClient createHttpClient(final HttpMethod method, final URI uri) {
+ final DefaultHttpClient httpclient = super.createHttpClient(method, uri);
httpclient.getCredentialsProvider().setCredentials(
new AuthScope(uri.getHost(), uri.getPort()),
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6019385e/lib/client-core/src/main/java/org/apache/olingo/client/core/http/DefaultHttpClientFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/http/DefaultHttpClientFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/http/DefaultHttpClientFactory.java
index 30336bb..6c5cd49 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/http/DefaultHttpClientFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/http/DefaultHttpClientFactory.java
@@ -18,13 +18,18 @@
*/
package org.apache.olingo.client.core.http;
+import java.io.InputStream;
import java.io.Serializable;
import java.net.URI;
+import java.util.Properties;
+import org.apache.commons.io.IOUtils;
-import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.params.CoreProtocolPNames;
import org.apache.olingo.client.api.http.HttpClientFactory;
import org.apache.olingo.client.api.http.HttpMethod;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Default implementation returning HttpClients with default parameters.
@@ -33,8 +38,31 @@ public class DefaultHttpClientFactory implements HttpClientFactory, Serializable
private static final long serialVersionUID = -2461355444507227332L;
+ private static final Logger LOG = LoggerFactory.getLogger(DefaultHttpClientFactory.class);
+
+ private static final String USER_AGENT;
+
+ static {
+ final StringBuilder userAgent = new StringBuilder("Apache-Olingo");
+
+ final InputStream input = DefaultHttpClientFactory.class.getResourceAsStream("/client.properties");
+ try {
+ final Properties prop = new Properties();
+ prop.load(input);
+ userAgent.append('/').append(prop.getProperty("version"));
+ } catch (Exception e) {
+ LOG.warn("Could not get Apache Olingo version", e);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+
+ USER_AGENT = userAgent.toString();
+ }
+
@Override
- public HttpClient createHttpClient(final HttpMethod method, final URI uri) {
- return new DefaultHttpClient();
+ public DefaultHttpClient createHttpClient(final HttpMethod method, final URI uri) {
+ final DefaultHttpClient client = new DefaultHttpClient();
+ client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, USER_AGENT);
+ return client;
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6019385e/lib/client-core/src/main/java/org/apache/olingo/client/core/http/NTLMAuthHttpClientFactory.java
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/java/org/apache/olingo/client/core/http/NTLMAuthHttpClientFactory.java b/lib/client-core/src/main/java/org/apache/olingo/client/core/http/NTLMAuthHttpClientFactory.java
index 202fc9a..5f2578b 100644
--- a/lib/client-core/src/main/java/org/apache/olingo/client/core/http/NTLMAuthHttpClientFactory.java
+++ b/lib/client-core/src/main/java/org/apache/olingo/client/core/http/NTLMAuthHttpClientFactory.java
@@ -23,7 +23,6 @@ import java.net.URI;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.NTCredentials;
import org.apache.http.client.CredentialsProvider;
-import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.olingo.client.api.http.HttpMethod;
@@ -59,8 +58,8 @@ public class NTLMAuthHttpClientFactory extends DefaultHttpClientFactory {
}
@Override
- public HttpClient createHttpClient(final HttpMethod method, final URI uri) {
- final DefaultHttpClient httpclient = (DefaultHttpClient) super.createHttpClient(method, uri);
+ public DefaultHttpClient createHttpClient(final HttpMethod method, final URI uri) {
+ final DefaultHttpClient httpclient = super.createHttpClient(method, uri);
final CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(AuthScope.ANY,
http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/6019385e/lib/client-core/src/main/resources/client.properties
----------------------------------------------------------------------
diff --git a/lib/client-core/src/main/resources/client.properties b/lib/client-core/src/main/resources/client.properties
new file mode 100644
index 0000000..85b81f4
--- /dev/null
+++ b/lib/client-core/src/main/resources/client.properties
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+version=${project.version}