[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-05 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701017#comment-13701017
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #764 (See 
[https://builds.apache.org/job/Jena__Development_Test/764/])
Fix bug in FormsAuthenticator caused by spurious toString() call in map 
lookup (JENA-480) (Revision 1500079)

 Result = SUCCESS
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormsAuthenticator.java
* /jena/trunk/jena-core/src/main/java/com/hp/hpl/jena/util/LocatorURL.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-05 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701014#comment-13701014
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1500079 from [~rvesse]
[ https://svn.apache.org/r1500079 ]

Fix bug in FormsAuthenticator caused by spurious toString() call in map lookup 
(JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699447#comment-13699447
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #757 (See 
[https://builds.apache.org/job/Jena__Development_Test/757/])
Simplify constant names (JENA-480) (Revision 1499556)
Make a couple of constants public (JENA-480) (Revision 1499555)

 Result = SUCCESS
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ApacheModAuthFormLogin.java

rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ApacheModAuthFormLogin.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699428#comment-13699428
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1499555 from [~rvesse]
[ https://svn.apache.org/r1499555 ]

Make a couple of constants public (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699433#comment-13699433
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1499556 from [~rvesse]
[ https://svn.apache.org/r1499556 ]

Simplify constant names (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699173#comment-13699173
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #755 (See 
[https://builds.apache.org/job/Jena__Development_Test/755/])
Add overloads for QueryExecutionFactory.sparqlService() that take 
HttpAuthenticator (JENA-480) (Revision 1499471)

 Result = SUCCESS
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/QueryExecutionFactory.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemote.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemoteForm.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699159#comment-13699159
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1499471 from [~rvesse]
[ https://svn.apache.org/r1499471 ]

Add overloads for QueryExecutionFactory.sparqlService() that take 
HttpAuthenticator (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699156#comment-13699156
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #754 (See 
[https://builds.apache.org/job/Jena__Development_Test/754/])
Add overloads for UpdateExecutionFactory.createRemote() and 
createRemoteForm() that take HttpAuthenticator (JENA-480) (Revision 1499466)

 Result = UNSTABLE
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/Optimize.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemote.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemoteForm.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/update/UpdateExecutionFactory.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699147#comment-13699147
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1499466 from [~rvesse]
[ https://svn.apache.org/r1499466 ]

Add overloads for UpdateExecutionFactory.createRemote() and createRemoteForm() 
that take HttpAuthenticator (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-03 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13699134#comment-13699134
 ] 

Rob Vesse commented on JENA-480:


Documentation is done, all I have left to do is to add some method overloads to 
relevant factories to take in authenticators at creation time.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 101h
>  Remaining Estimate: 0h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-02 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13698420#comment-13698420
 ] 

Rob Vesse commented on JENA-480:


A staging draft of the new documentation page can be found at 
http://jena.staging.apache.org/documentation/query/http-auth.html

This is not yet finished

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-02 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13698375#comment-13698375
 ] 

Rob Vesse commented on JENA-480:


I notice that LocatorURL exists in both jena-core and jena-arq, since 
LocatorURL is fairly low level I will not adapt the jena-arq version.  Users 
can still configure the default authenticator since LocatorURL goes through 
HttpOp anyway.

Is there anything else in ARQ that uses HTTP and needs to be updated to go 
through HttpOp?

In the meantime I will start adding a new documentation page explaining the new 
functionality.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697344#comment-13697344
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #749 (See 
[https://builds.apache.org/job/Jena__Development_Test/749/])
Add a delegating authenticator which can be used to map different 
authenticators to different URIs (JENA-480) (Revision 1498721)
Rework scoped authenticators to work more sensibly (JENA-480)
Credentials are now scoped to any URI derived from them e.g. credentials for 
http://example.org also apply to http://example.org/some/path
However longest match applies since we work backwards from the requested URI so 
if credentials for http://example.org/some/path were present they would be used 
instead

Added additional tests to validate these changes (Revision 1498718)

 Result = FAILURE
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/DelegatingAuthenticator.java

rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/AbstractCredentialsAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/AbstractScopedAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormLogin.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormsAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ServiceAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/SimpleAuthenticator.java
* /jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697260#comment-13697260
 ] 

Rob Vesse commented on JENA-480:


Now that Andy has reworked DatasetAccessorGraphHTTP to go through HttpOp (with 
the requisite additional refactoring there) I have gone ahead and updated 
DatasetAccessorGraphHTTP to allow configuring an authenticator.  I added an 
additional createHTTP() overload to DatasetAccessorFactory that includes a 
HttpAuthenticator parameter.

I also reworked scoped authenticators today so all scoped implementations 
derived from AbstractScopedAuthenticator.  Part of this refactoring was to have 
a common pattern for how scoping happens so now credentials are consistently 
scoped to all URIs derived from them.  For example if we have credentials 
registered for http://example.org these will also be applied to 
http://example.org/some/path where previously they wouldn't.

Longest match applies since we start from the full request URI and reduce it 
down as far as possible, this means you can still specify different credentials 
for different areas of a site and the authenticators will pick the most 
appropriate.

I have also added a DelegatingAuthenticator which is designed to make it easy 
to mix and max different authentication mechanisms by having a single 
authenticator which delegates to specific implementations depending on the URI 
we are trying to authenticate against.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697254#comment-13697254
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1498721 from [~rvesse]
[ https://svn.apache.org/r1498721 ]

Add a delegating authenticator which can be used to map different 
authenticators to different URIs (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697246#comment-13697246
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1498718 from [~rvesse]
[ https://svn.apache.org/r1498718 ]

Rework scoped authenticators to work more sensibly (JENA-480)
Credentials are now scoped to any URI derived from them e.g. credentials for 
http://example.org also apply to http://example.org/some/path
However longest match applies since we work backwards from the requested URI so 
if credentials for http://example.org/some/path were present they would be used 
instead

Added additional tests to validate these changes

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697167#comment-13697167
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #748 (See 
[https://builds.apache.org/job/Jena__Development_Test/748/])
Add authentication support to DatasetGraphAccessorHTTP, start adding some 
tests for this (JENA-480) (Revision 1498680)
Clean up javadoc in HttpOp (JENA-480) (Revision 1498666)

 Result = SUCCESS
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/DatasetAccessorFactory.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java
* /jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java
* /jena/trunk/jena-text/pom.xml

rvesse : 
Files : 
* /jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697163#comment-13697163
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1498680 from [~rvesse]
[ https://svn.apache.org/r1498680 ]

Add authentication support to DatasetGraphAccessorHTTP, start adding some tests 
for this (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-07-01 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697129#comment-13697129
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1498666 from [~rvesse]
[ https://svn.apache.org/r1498666 ]

Clean up javadoc in HttpOp (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695984#comment-13695984
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #739 (See 
[https://builds.apache.org/job/Jena__Development_Test/739/])
Add some logging to Forms Authenticator (JENA-480) (Revision 1497958)

 Result = SUCCESS
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormsAuthenticator.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695948#comment-13695948
 ] 

Rob Vesse commented on JENA-480:


Put some finishing touches to forms authentication support today.  Verified 
that this works correctly against our in house systems which use Apache 
mod_auth_form to provide forms based authentication.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695941#comment-13695941
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497958 from [~rvesse]
[ https://svn.apache.org/r1497958 ]

Add some logging to Forms Authenticator (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695935#comment-13695935
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #738 (See 
[https://builds.apache.org/job/Jena__Development_Test/738/])
Ensure FormsAuthenticator frees up the connection used for the login 
(JENA-480) (Revision 1497957)

 Result = FAILURE
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormsAuthenticator.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695933#comment-13695933
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497957 from [~rvesse]
[ https://svn.apache.org/r1497957 ]

Ensure FormsAuthenticator frees up the connection used for the login (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695644#comment-13695644
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #737 (See 
[https://builds.apache.org/job/Jena__Development_Test/737/])
Allow PreemptiveBasicAuthenticator to do preemptive standard/proxy auth as 
required (JENA-480)
Fix up other log4j properties files to include Apache HTTP settings (Revision 
1497861)

 Result = SUCCESS
rvesse : 
Files : 
* /jena/trunk/jena-arq/log4j.properties
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/PreemptiveBasicAuthenticator.java
* /jena/trunk/jena-arq/src/test/resources/log4j-testing.properties
* /jena/trunk/jena-arq/src/test/resources/log4j.properties


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-28 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695608#comment-13695608
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497861 from [~rvesse]
[ https://svn.apache.org/r1497861 ]

Allow PreemptiveBasicAuthenticator to do preemptive standard/proxy auth as 
required (JENA-480)
Fix up other log4j properties files to include Apache HTTP settings

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695118#comment-13695118
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #731 (See 
[https://builds.apache.org/job/Jena__Development_Test/731/])
Expand authentication tests to use different authenticators (JENA-480) 
(Revision 1497584)
Finish converting SPARQL Query code to new unified HTTP framework and support 
broader authentication for SPARQL Queries (JENA-480)

Started work on adding support for Forms based authentication (Revision 1497583)

 Result = SUCCESS
rvesse : 
Files : 
* /jena/trunk/jena-fuseki/src/test/java/org/apache/jena/fuseki/TestAuth.java

rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/HttpQuery.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryEngineHTTP.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/engine/http/QueryExceptionHTTP.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemote.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/HttpException.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ApacheModAuthFormLogin.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormLogin.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/FormsAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ServiceAuthenticator.java
* /jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/web/DatasetGraphAccessorHTTP.java
* 
/jena/trunk/jena-arq/src/test/java/com/hp/hpl/jena/sparql/engine/http/TestService.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695109#comment-13695109
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497584 from [~rvesse]
[ https://svn.apache.org/r1497584 ]

Expand authentication tests to use different authenticators (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695108#comment-13695108
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497583 from [~rvesse]
[ https://svn.apache.org/r1497583 ]

Finish converting SPARQL Query code to new unified HTTP framework and support 
broader authentication for SPARQL Queries (JENA-480)

Started work on adding support for Forms based authentication

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13695070#comment-13695070
 ] 

Rob Vesse commented on JENA-480:


I have the HttpQuery refactoring essentially done, this required a little more 
refactoring of HttpOp since controlling timeouts requires manipulating 
HttpClient parameters.

Btw it may be useful to provide a default set of HttpClientParameters that can 
be modified on a global level.

I've added some additional tests for HTTP auth that verify that the revised 
framework does work as expected and will be checking these in with my latest 
changes shortly.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694980#comment-13694980
 ] 

Hudson commented on JENA-480:
-

Integrated in Jena__Development_Test #729 (See 
[https://builds.apache.org/job/Jena__Development_Test/729/])
Update authenticaiton for SPARQL Updates to use new authentication 
framework (JENA-480) (Revision 1497512)
Heavily refactored HttpOp to use the new authentication framework (JENA-480)
Note that existing API methods are retained for backwards compatibility 
(Revision 1497510)
Unified and extensible authentication framework for Atlas (JENA-480) (Revision 
1497509)

 Result = SUCCESS
rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemote.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemoteBase.java
* 
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/UpdateProcessRemoteForm.java

rvesse : 
Files : 
* /jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/web/HttpOp.java

rvesse : 
Files : 
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/HttpException.java
* /jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/AbstractCredentialsAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/AbstractScopedAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/HttpAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/PreemptiveBasicAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ServiceAuthenticator.java
* 
/jena/trunk/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/SimpleAuthenticator.java


> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694972#comment-13694972
 ] 

Rob Vesse commented on JENA-480:


I have made the initial commits related to this today, these commits include 
the following:

- First pass of the new authentication framework
- Heavily refactored HttpOp to add overloads that take HttpAuthenticator 
instances
- Updated SPARQL Updates to use new authentication framework

I have started work on converting HttpQuery to use HttpOp and thus the new 
authentication framework but I need to do some more work to appropriately 
enable gzip/deflate encoding and timeouts.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694970#comment-13694970
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497512 from [~rvesse]
[ https://svn.apache.org/r1497512 ]

Update authenticaiton for SPARQL Updates to use new authentication framework 
(JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694969#comment-13694969
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497510 from [~rvesse]
[ https://svn.apache.org/r1497510 ]

Heavily refactored HttpOp to use the new authentication framework (JENA-480)
Note that existing API methods are retained for backwards compatibility

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694967#comment-13694967
 ] 

ASF subversion and git services commented on JENA-480:
--

Commit 1497509 from [~rvesse]
[ https://svn.apache.org/r1497509 ]

Unified and extensible authentication framework for Atlas (JENA-480)

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694848#comment-13694848
 ] 

Rob Vesse commented on JENA-480:


Also we can avoid some of the awkward code we currently have for using 
compressed encodings and utilize the DecompressingHttpClient decorator

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (JENA-480) Unify HTTP usage and authentication mechanisms in ARQ

2013-06-27 Thread Rob Vesse (JIRA)

[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13694847#comment-13694847
 ] 

Rob Vesse commented on JENA-480:


Another thing to unify is that currently we use DefaultHttpClient where 
SystemDefaultHttpClient would be preferable since that respects various Java 
system properties wrt certificates, proxies etc.

> Unify HTTP usage and authentication mechanisms in ARQ
> -
>
> Key: JENA-480
> URL: https://issues.apache.org/jira/browse/JENA-480
> Project: Apache Jena
>  Issue Type: Improvement
>  Components: ARQ
>Reporter: Rob Vesse
>Assignee: Rob Vesse
> Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira