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}