You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oltu.apache.org by as...@apache.org on 2012/03/01 11:59:40 UTC

svn commit: r1295509 - in /incubator/amber/trunk/oauth-2.0: oauth2-common/src/main/java/org/apache/amber/oauth2/common/ oauth2-common/src/main/java/org/apache/amber/oauth2/common/message/types/ oauth2-resourceserver/src/main/java/org/apache/amber/oauth...

Author: asanso
Date: Thu Mar  1 10:59:40 2012
New Revision: 1295509

URL: http://svn.apache.org/viewvc?rev=1295509&view=rev
Log:
AMBER-48 : Resource Server module extension

Added:
    incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/message/types/TokenType.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/BearerResourceServer.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/ResourceServer.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerBodyTokenExtractor.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerHeaderTokenExtractor.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerQueryTokenExtractor.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerBodyOAuthValidator.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerHeaderOAuthValidator.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerQueryOAuthValidator.java
Removed:
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BodyOAuthValidator.java
Modified:
    incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/OAuth.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractor.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractor.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractor.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/request/OAuthAccessResourceRequest.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidator.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidator.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractorTest.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractorTest.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractorTest.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/BodyOAuthValidatorTest.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidatorTest.java
    incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidatorTest.java

Modified: incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/OAuth.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/OAuth.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/OAuth.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/OAuth.java Thu Mar  1 10:59:40 2012
@@ -22,6 +22,7 @@
 package org.apache.amber.oauth2.common;
 
 import org.apache.amber.oauth2.common.message.types.ParameterStyle;
+import org.apache.amber.oauth2.common.message.types.TokenType;
 
 /**
  * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
@@ -80,5 +81,7 @@ public final class OAuth {
     public static final String OAUTH_BEARER_TOKEN = "access_token";
 
     public static final ParameterStyle DEFAULT_PARAMETER_STYLE = ParameterStyle.HEADER;
+    public static final TokenType DEFAULT_TOKEN_TYPE = TokenType.BEARER;
+    
     public static final String OAUTH_VERSION_DIFFER = "oauth_signature_method";
 }

Added: incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/message/types/TokenType.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/message/types/TokenType.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/message/types/TokenType.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-common/src/main/java/org/apache/amber/oauth2/common/message/types/TokenType.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,43 @@
+package org.apache.amber.oauth2.common.message.types;
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public enum TokenType {
+    BEARER("Bearer"),
+    MAC("MAC");
+
+    private String tokenType;
+
+    TokenType(String grantType) {
+        this.tokenType = grantType;
+    }
+
+    @Override
+    public String toString() {
+        return tokenType;
+    }
+}

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/BearerResourceServer.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/BearerResourceServer.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/BearerResourceServer.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/BearerResourceServer.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,26 @@
+package org.apache.amber.oauth2.rs;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.amber.oauth2.common.message.types.ParameterStyle;
+import org.apache.amber.oauth2.rs.extractor.BearerBodyTokenExtractor;
+import org.apache.amber.oauth2.rs.extractor.BearerHeaderTokenExtractor;
+import org.apache.amber.oauth2.rs.extractor.BearerQueryTokenExtractor;
+import org.apache.amber.oauth2.rs.validator.BearerBodyOAuthValidator;
+import org.apache.amber.oauth2.rs.validator.BearerHeaderOAuthValidator;
+import org.apache.amber.oauth2.rs.validator.BearerQueryOAuthValidator;
+ 
+public class BearerResourceServer extends ResourceServer{
+		
+	{
+        extractors.put(ParameterStyle.HEADER, BearerHeaderTokenExtractor.class);
+        extractors.put(ParameterStyle.BODY, BearerBodyTokenExtractor.class);
+        extractors.put(ParameterStyle.QUERY, BearerQueryTokenExtractor.class);
+
+        validators.put(ParameterStyle.HEADER, BearerHeaderOAuthValidator.class);
+        validators.put(ParameterStyle.BODY, BearerBodyOAuthValidator.class);
+        validators.put(ParameterStyle.QUERY, BearerQueryOAuthValidator.class);
+    }
+
+	
+}

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/ResourceServer.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/ResourceServer.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/ResourceServer.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/ResourceServer.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,31 @@
+package org.apache.amber.oauth2.rs;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.amber.oauth2.common.exception.OAuthSystemException;
+import org.apache.amber.oauth2.common.message.types.ParameterStyle;
+import org.apache.amber.oauth2.common.utils.OAuthUtils;
+import org.apache.amber.oauth2.common.validators.OAuthValidator;
+import org.apache.amber.oauth2.rs.extractor.TokenExtractor;
+
+public abstract class ResourceServer {
+
+    protected Map<ParameterStyle, Class> extractors = new HashMap<ParameterStyle, Class>();
+    protected Map<ParameterStyle, Class> validators = new HashMap<ParameterStyle, Class>();
+    
+    public OAuthValidator instantiateValidator(ParameterStyle ps) throws OAuthSystemException {
+        Class clazz = validators.get(ps);
+        if (clazz == null) {
+            throw new OAuthSystemException("Cannot instantiate a message validator.");
+        }
+        return (OAuthValidator)OAuthUtils.instantiateClass(clazz);
+    }
+
+    public TokenExtractor instantiateExtractor(ParameterStyle ps) throws OAuthSystemException {
+        Class clazz = extractors.get(ps);
+        if (clazz == null) {
+            throw new OAuthSystemException("Cannot instantiate a token extractor.");
+        }
+        return (TokenExtractor)OAuthUtils.instantiateClass(clazz);
+    }
+ }

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerBodyTokenExtractor.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerBodyTokenExtractor.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerBodyTokenExtractor.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerBodyTokenExtractor.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,49 @@
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.amber.oauth2.rs.extractor;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.amber.oauth2.common.OAuth;
+
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public class BearerBodyTokenExtractor implements TokenExtractor {
+
+    @Override
+    public String getAccessToken(HttpServletRequest request) {
+        String token = request.getParameter(OAuth.OAUTH_BEARER_TOKEN);
+        if (token == null) {
+            token = request.getParameter(OAuth.OAUTH_TOKEN);
+        }
+        return token;
+    }
+
+    @Override
+    public String getAccessToken(HttpServletRequest request, String tokenName) {
+        return request.getParameter(tokenName);
+    }
+}

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerHeaderTokenExtractor.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerHeaderTokenExtractor.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerHeaderTokenExtractor.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerHeaderTokenExtractor.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,51 @@
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.amber.oauth2.rs.extractor;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.amber.oauth2.common.utils.OAuthUtils;
+import org.apache.amber.oauth2.common.OAuth;
+
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public class BearerHeaderTokenExtractor implements TokenExtractor {
+
+
+    @Override
+    public String getAccessToken(HttpServletRequest request) {
+        String authzHeader = request.getHeader(OAuth.HeaderType.AUTHORIZATION);
+        return OAuthUtils.getAuthHeaderField(authzHeader);
+    }
+
+    @Override
+    public String getAccessToken(HttpServletRequest request, String tokenName) {
+        String authzHeader = request.getHeader(OAuth.HeaderType.AUTHORIZATION);
+        return OAuthUtils.getAuthHeaderField(authzHeader);
+    }
+
+
+}

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerQueryTokenExtractor.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerQueryTokenExtractor.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerQueryTokenExtractor.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BearerQueryTokenExtractor.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,49 @@
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.amber.oauth2.rs.extractor;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.amber.oauth2.common.OAuth;
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public class BearerQueryTokenExtractor implements TokenExtractor {
+
+    @Override
+    public String getAccessToken(HttpServletRequest request) {
+        String token = request.getParameter(OAuth.OAUTH_BEARER_TOKEN);
+        if (token == null) {
+            token = request.getParameter(OAuth.OAUTH_TOKEN);
+        }
+        return token;
+    }
+
+    @Override
+    public String getAccessToken(HttpServletRequest request, String tokenName) {
+        return request.getParameter(tokenName);
+    }
+
+}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractor.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractor.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractor.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractor.java Thu Mar  1 10:59:40 2012
@@ -1,49 +0,0 @@
-/**
- *       Copyright 2010 Newcastle University
- *
- *          http://research.ncl.ac.uk/smart/
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.amber.oauth2.rs.extractor;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.amber.oauth2.common.OAuth;
-
-
-/**
- * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
- * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
- * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
- */
-public class BodyTokenExtractor implements TokenExtractor {
-
-    @Override
-    public String getAccessToken(HttpServletRequest request) {
-        String token = request.getParameter(OAuth.OAUTH_BEARER_TOKEN);
-        if (token == null) {
-            token = request.getParameter(OAuth.OAUTH_TOKEN);
-        }
-        return token;
-    }
-
-    @Override
-    public String getAccessToken(HttpServletRequest request, String tokenName) {
-        return request.getParameter(tokenName);
-    }
-}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractor.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractor.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractor.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractor.java Thu Mar  1 10:59:40 2012
@@ -1,51 +0,0 @@
-/**
- *       Copyright 2010 Newcastle University
- *
- *          http://research.ncl.ac.uk/smart/
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.amber.oauth2.rs.extractor;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.amber.oauth2.common.utils.OAuthUtils;
-import org.apache.amber.oauth2.common.OAuth;
-
-
-/**
- * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
- * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
- * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
- */
-public class HeaderTokenExtractor implements TokenExtractor {
-
-
-    @Override
-    public String getAccessToken(HttpServletRequest request) {
-        String authzHeader = request.getHeader(OAuth.HeaderType.AUTHORIZATION);
-        return OAuthUtils.getAuthHeaderField(authzHeader);
-    }
-
-    @Override
-    public String getAccessToken(HttpServletRequest request, String tokenName) {
-        String authzHeader = request.getHeader(OAuth.HeaderType.AUTHORIZATION);
-        return OAuthUtils.getAuthHeaderField(authzHeader);
-    }
-
-
-}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractor.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractor.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractor.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractor.java Thu Mar  1 10:59:40 2012
@@ -1,49 +0,0 @@
-/**
- *       Copyright 2010 Newcastle University
- *
- *          http://research.ncl.ac.uk/smart/
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.amber.oauth2.rs.extractor;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.amber.oauth2.common.OAuth;
-
-/**
- * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
- * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
- * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
- */
-public class QueryTokenExtractor implements TokenExtractor {
-
-    @Override
-    public String getAccessToken(HttpServletRequest request) {
-        String token = request.getParameter(OAuth.OAUTH_BEARER_TOKEN);
-        if (token == null) {
-            token = request.getParameter(OAuth.OAUTH_TOKEN);
-        }
-        return token;
-    }
-
-    @Override
-    public String getAccessToken(HttpServletRequest request, String tokenName) {
-        return request.getParameter(tokenName);
-    }
-
-}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/request/OAuthAccessResourceRequest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/request/OAuthAccessResourceRequest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/request/OAuthAccessResourceRequest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/request/OAuthAccessResourceRequest.java Thu Mar  1 10:59:40 2012
@@ -25,22 +25,17 @@ package org.apache.amber.oauth2.rs.reque
 import java.util.HashMap;
 import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
-
 import org.apache.amber.oauth2.common.error.OAuthError;
 import org.apache.amber.oauth2.common.exception.OAuthProblemException;
 import org.apache.amber.oauth2.common.exception.OAuthSystemException;
 import org.apache.amber.oauth2.common.message.types.ParameterStyle;
+import org.apache.amber.oauth2.common.message.types.TokenType;
 import org.apache.amber.oauth2.common.utils.OAuthUtils;
 import org.apache.amber.oauth2.common.validators.OAuthValidator;
-import org.apache.amber.oauth2.common.OAuth;
-import org.apache.amber.oauth2.rs.extractor.HeaderTokenExtractor;
-import org.apache.amber.oauth2.rs.extractor.QueryTokenExtractor;
+import org.apache.amber.oauth2.common.OAuth; 
+import org.apache.amber.oauth2.rs.BearerResourceServer;
+import org.apache.amber.oauth2.rs.ResourceServer;
 import org.apache.amber.oauth2.rs.extractor.TokenExtractor;
-import org.apache.amber.oauth2.rs.validator.BodyOAuthValidator;
-import org.apache.amber.oauth2.rs.validator.HeaderOAuthValidator;
-import org.apache.amber.oauth2.rs.extractor.BodyTokenExtractor;
-import org.apache.amber.oauth2.rs.validator.QueryOAuthValidator;
-
 
 /**
  * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
@@ -50,32 +45,39 @@ import org.apache.amber.oauth2.rs.valida
 public class OAuthAccessResourceRequest {
 
     private HttpServletRequest request;
-    private ParameterStyle[] parameterStyles = new ParameterStyle[] {OAuth.DEFAULT_PARAMETER_STYLE};
+    private ParameterStyle[] parameterStyles=new ParameterStyle[] {OAuth.DEFAULT_PARAMETER_STYLE};
+    private TokenType[] tokenTypes=new TokenType []{OAuth.DEFAULT_TOKEN_TYPE};
     private ParameterStyle usedParameterStyle;
+    private ResourceServer usedResourceServer;
 
-    private Map<ParameterStyle, Class> extractors = new HashMap<ParameterStyle, Class>();
-    private Map<ParameterStyle, Class> validators = new HashMap<ParameterStyle, Class>();
+    protected static Map<TokenType, Class> tokens = new HashMap<TokenType, Class>();
 
     private TokenExtractor extractor;
-
+    
     {
-        extractors.put(ParameterStyle.HEADER, HeaderTokenExtractor.class);
-        extractors.put(ParameterStyle.BODY, BodyTokenExtractor.class);
-        extractors.put(ParameterStyle.QUERY, QueryTokenExtractor.class);
-
-        validators.put(ParameterStyle.HEADER, HeaderOAuthValidator.class);
-        validators.put(ParameterStyle.BODY, BodyOAuthValidator.class);
-        validators.put(ParameterStyle.QUERY, QueryOAuthValidator.class);
+        tokens.put(TokenType.BEARER, BearerResourceServer.class);
+        //TODO add MACResourceServer - see AMBER-41
     }
-
+  
     public OAuthAccessResourceRequest(HttpServletRequest request)
         throws OAuthSystemException, OAuthProblemException {
-        this(request, OAuth.DEFAULT_PARAMETER_STYLE);
+        this(request,new TokenType []{OAuth.DEFAULT_TOKEN_TYPE}, new ParameterStyle[] {OAuth.DEFAULT_PARAMETER_STYLE});
     }
 
     public OAuthAccessResourceRequest(HttpServletRequest request, ParameterStyle... parameterStyles)
+    throws OAuthSystemException, OAuthProblemException {
+    	this(request,new TokenType []{OAuth.DEFAULT_TOKEN_TYPE}, parameterStyles);
+    }
+    
+    public OAuthAccessResourceRequest(HttpServletRequest request, TokenType... tokenTypes)
+    throws OAuthSystemException, OAuthProblemException {
+    	this(request,tokenTypes,  new ParameterStyle[] {OAuth.DEFAULT_PARAMETER_STYLE});
+    }
+    
+    public OAuthAccessResourceRequest(HttpServletRequest request, TokenType[] tokenTypes ,ParameterStyle[] parameterStyles)
         throws OAuthSystemException, OAuthProblemException {
         this.request = request;
+        this.tokenTypes = tokenTypes;
         this.parameterStyles = parameterStyles;
         this.validate();
     }
@@ -90,25 +92,29 @@ public class OAuthAccessResourceRequest 
         boolean lackAuthInfo = false;
         OAuthProblemException ex = null;
         String lackAuthReason = "OAuth parameters were not found";
-        for (ParameterStyle style : parameterStyles) {
-            try {
-
-                OAuthValidator validator = instantiateValidator(style);
-                validator.validateContentType(request);
-                validator.validateMethod(request);
-                validator.validateRequiredParameters(request);
-
-                usedParameterStyle = style;
-                foundValidStyles++;
-            } catch (OAuthProblemException e) {
-                //request lacks any authentication information?
-                if (OAuthUtils.isEmpty(e.getError())) {
-                    lackAuthInfo = true;
-                    lackAuthReason = e.getDescription();
-                } else {
-                    ex = OAuthProblemException.error(e.getError(), e.getDescription());
-                }
-            }
+        for (TokenType tokenType : tokenTypes) {
+        	ResourceServer resourceServer=instantiateResourceServer(tokenType);
+        	for (ParameterStyle style : parameterStyles) {
+        		try {
+        			 
+        			OAuthValidator validator = resourceServer.instantiateValidator(style);
+        			validator.validateContentType(request);
+        			validator.validateMethod(request);
+        			validator.validateRequiredParameters(request);
+
+        			usedParameterStyle = style;
+        			usedResourceServer = resourceServer;
+        			foundValidStyles++;
+        		} catch (OAuthProblemException e) {
+        			//request lacks any authentication information?
+        			if (OAuthUtils.isEmpty(e.getError())) {
+        				lackAuthInfo = true;
+        				lackAuthReason = e.getDescription();
+        			} else {        				 
+        				ex = OAuthProblemException.error(e.getError(), e.getDescription());
+        			}
+        		}
+        	}
         }
 
         if (foundValidStyles > 1) {
@@ -129,22 +135,15 @@ public class OAuthAccessResourceRequest 
                 "OAuth parameters were not found");
         }
 
-        instantiateExtractor(usedParameterStyle);
-    }
-
-    private OAuthValidator instantiateValidator(ParameterStyle ps) throws OAuthSystemException {
-        Class clazz = validators.get(ps);
-        if (clazz == null) {
-            throw new OAuthSystemException("Cannot instantiate a message validator.");
-        }
-        return (OAuthValidator)OAuthUtils.instantiateClass(clazz);
+        extractor= usedResourceServer.instantiateExtractor(usedParameterStyle);
     }
 
-    private void instantiateExtractor(ParameterStyle ps) throws OAuthSystemException {
-        Class clazz = extractors.get(ps);
+    public static ResourceServer instantiateResourceServer(TokenType tokenType) throws OAuthSystemException {
+        Class clazz = tokens.get(tokenType);
         if (clazz == null) {
-            throw new OAuthSystemException("Cannot instantiate a token extractor.");
+            throw new OAuthSystemException("Cannot instantiate a resource server.");
         }
-        extractor = (TokenExtractor)OAuthUtils.instantiateClass(clazz);
+        return (ResourceServer)OAuthUtils.instantiateClass(clazz);
     }
+    
 }

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerBodyOAuthValidator.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerBodyOAuthValidator.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerBodyOAuthValidator.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerBodyOAuthValidator.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,91 @@
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.amber.oauth2.rs.validator;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.amber.oauth2.common.OAuth;
+import org.apache.amber.oauth2.common.error.OAuthError;
+import org.apache.amber.oauth2.common.exception.OAuthProblemException;
+import org.apache.amber.oauth2.common.utils.OAuthUtils;
+import org.apache.amber.oauth2.common.validators.AbstractValidator;
+
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public class BearerBodyOAuthValidator extends AbstractValidator {
+
+    @Override
+    public void validateMethod(HttpServletRequest request) throws OAuthProblemException {
+        // Check if the method is POST, PUT, or DELETE
+        String method = request.getMethod();
+        if (!(OAuth.HttpMethod.POST.equals(method) || OAuth.HttpMethod.PUT.equals(method) || OAuth.HttpMethod
+            .DELETE.equals(method))) {
+            throw OAuthProblemException
+                .error(OAuthError.TokenResponse.INVALID_REQUEST)
+                .description("Incorrect method. POST, PUT, DELETE are supported.");
+        }
+    }
+
+    @Override
+    public void validateContentType(HttpServletRequest request) throws OAuthProblemException {
+        if (OAuthUtils.isMultipart(request)) {
+            throw OAuthProblemException.error(OAuthError.CodeResponse.INVALID_REQUEST).
+                description("Request is not single part.");
+        }
+        super.validateContentType(request);
+    }
+
+
+    @Override
+    public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException {
+
+        if (OAuthUtils.isMultipart(request)) {
+            throw OAuthProblemException.error(OAuthError.TokenResponse.INVALID_REQUEST).
+                description("Request is not single part.");
+        }
+
+
+        String[] tokens = request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN);
+        if (OAuthUtils.hasEmptyValues(tokens)) {
+            tokens = request.getParameterValues(OAuth.OAUTH_TOKEN);
+            if (OAuthUtils.hasEmptyValues(tokens)) {
+                throw OAuthProblemException.error(null, "Missing OAuth token.");
+            }
+        }
+
+        if (tokens.length > 1) {
+            throw OAuthProblemException.error(OAuthError.TokenResponse.INVALID_REQUEST)
+                .description("Multiple tokens attached.");
+        }
+
+        String oauthVersionDiff = request.getParameter(OAuth.OAUTH_VERSION_DIFFER);
+        if (!OAuthUtils.isEmpty(oauthVersionDiff)) {
+            throw OAuthProblemException.error(OAuthError.TokenResponse.INVALID_REQUEST)
+                .description("Incorrect OAuth version. Found OAuth V1.0.");
+        }
+
+    }
+}

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerHeaderOAuthValidator.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerHeaderOAuthValidator.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerHeaderOAuthValidator.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerHeaderOAuthValidator.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,79 @@
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.amber.oauth2.rs.validator;
+
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.amber.oauth2.common.OAuth;
+import org.apache.amber.oauth2.common.error.OAuthError;
+import org.apache.amber.oauth2.common.exception.OAuthProblemException;
+import org.apache.amber.oauth2.common.utils.OAuthUtils;
+import org.apache.amber.oauth2.common.validators.AbstractValidator;
+
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public class BearerHeaderOAuthValidator extends AbstractValidator {
+
+    @Override
+    public void validateContentType(HttpServletRequest request) throws OAuthProblemException {
+    }
+
+    @Override
+    public void validateMethod(HttpServletRequest request) throws OAuthProblemException {
+    }
+
+    @Override
+    public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException {
+        // Check if there is the Authorization Header
+        String authzHeader = request.getHeader(OAuth.HeaderType.AUTHORIZATION);
+        if (OAuthUtils.isEmpty(authzHeader)) {
+            throw OAuthProblemException.error("", "Missing authorization header.");
+        }
+
+        // See if the authorization method is set to OAuth
+        String authzMethod = OAuthUtils.getAuthzMethod(authzHeader);
+        if (!OAuth.OAUTH_HEADER_NAME.equals(authzMethod)) {
+            throw OAuthProblemException.error("", "Incorrect authorization method.");
+        }
+
+        // Get the header field
+        String headerField = OAuthUtils.getAuthHeaderField(authzHeader);
+        if (OAuthUtils.isEmpty(headerField)) {
+            throw OAuthProblemException
+                .error(OAuthError.TokenResponse.INVALID_REQUEST, "Missing required parameter.");
+        }
+
+        // Check if this OAuth 1.0 or OAuth 2.0
+        Map<String, String> values = OAuthUtils.decodeOAuthHeader(authzHeader);
+        String oauthVersionDiff = values.get(OAuth.OAUTH_VERSION_DIFFER);
+        if (!OAuthUtils.isEmpty(oauthVersionDiff)) {
+            throw OAuthProblemException
+                .error(OAuthError.TokenResponse.INVALID_REQUEST,
+                    "Incorrect OAuth version. Found OAuth V1.0.");
+        }
+    }
+}

Added: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerQueryOAuthValidator.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerQueryOAuthValidator.java?rev=1295509&view=auto
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerQueryOAuthValidator.java (added)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/BearerQueryOAuthValidator.java Thu Mar  1 10:59:40 2012
@@ -0,0 +1,72 @@
+/**
+ *       Copyright 2010 Newcastle University
+ *
+ *          http://research.ncl.ac.uk/smart/
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.amber.oauth2.rs.validator;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.amber.oauth2.common.OAuth;
+import org.apache.amber.oauth2.common.error.OAuthError;
+import org.apache.amber.oauth2.common.exception.OAuthProblemException;
+import org.apache.amber.oauth2.common.utils.OAuthUtils;
+import org.apache.amber.oauth2.common.validators.AbstractValidator;
+
+
+/**
+ * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
+ * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
+ * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
+ */
+public class BearerQueryOAuthValidator extends AbstractValidator {
+
+    @Override
+    public void validateContentType(HttpServletRequest request) throws OAuthProblemException {
+    }
+
+    @Override
+    public void validateMethod(HttpServletRequest request) throws OAuthProblemException {
+    }
+
+    @Override
+    public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException {
+
+
+        String[] tokens = request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN);
+        if (OAuthUtils.hasEmptyValues(tokens)) {
+            tokens = request.getParameterValues(OAuth.OAUTH_TOKEN);
+            if (OAuthUtils.hasEmptyValues(tokens)) {
+                throw OAuthProblemException.error(null, "Missing OAuth token.");
+            }
+        }
+        
+        if (tokens != null && tokens.length > 1) {
+            throw OAuthProblemException
+                .error(OAuthError.TokenResponse.INVALID_REQUEST, "Multiple tokens attached.");
+        }
+
+        String oauthVersionDiff = request.getParameter(OAuth.OAUTH_VERSION_DIFFER);
+        if (!OAuthUtils.isEmpty(oauthVersionDiff)) {
+            throw OAuthProblemException
+                .error(OAuthError.TokenResponse.INVALID_REQUEST,
+                    "Incorrect OAuth version. Found OAuth V1.0.");
+        }
+    }
+}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidator.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidator.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidator.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidator.java Thu Mar  1 10:59:40 2012
@@ -1,79 +0,0 @@
-/**
- *       Copyright 2010 Newcastle University
- *
- *          http://research.ncl.ac.uk/smart/
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.amber.oauth2.rs.validator;
-
-import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.amber.oauth2.common.OAuth;
-import org.apache.amber.oauth2.common.error.OAuthError;
-import org.apache.amber.oauth2.common.exception.OAuthProblemException;
-import org.apache.amber.oauth2.common.utils.OAuthUtils;
-import org.apache.amber.oauth2.common.validators.AbstractValidator;
-
-
-/**
- * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
- * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
- * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
- */
-public class HeaderOAuthValidator extends AbstractValidator {
-
-    @Override
-    public void validateContentType(HttpServletRequest request) throws OAuthProblemException {
-    }
-
-    @Override
-    public void validateMethod(HttpServletRequest request) throws OAuthProblemException {
-    }
-
-    @Override
-    public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException {
-        // Check if there is the Authorization Header
-        String authzHeader = request.getHeader(OAuth.HeaderType.AUTHORIZATION);
-        if (OAuthUtils.isEmpty(authzHeader)) {
-            throw OAuthProblemException.error("", "Missing authorization header.");
-        }
-
-        // See if the authorization method is set to OAuth
-        String authzMethod = OAuthUtils.getAuthzMethod(authzHeader);
-        if (!OAuth.OAUTH_HEADER_NAME.equals(authzMethod)) {
-            throw OAuthProblemException.error("", "Incorrect authorization method.");
-        }
-
-        // Get the header field
-        String headerField = OAuthUtils.getAuthHeaderField(authzHeader);
-        if (OAuthUtils.isEmpty(headerField)) {
-            throw OAuthProblemException
-                .error(OAuthError.TokenResponse.INVALID_REQUEST, "Missing required parameter.");
-        }
-
-        // Check if this OAuth 1.0 or OAuth 2.0
-        Map<String, String> values = OAuthUtils.decodeOAuthHeader(authzHeader);
-        String oauthVersionDiff = values.get(OAuth.OAUTH_VERSION_DIFFER);
-        if (!OAuthUtils.isEmpty(oauthVersionDiff)) {
-            throw OAuthProblemException
-                .error(OAuthError.TokenResponse.INVALID_REQUEST,
-                    "Incorrect OAuth version. Found OAuth V1.0.");
-        }
-    }
-}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidator.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidator.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidator.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/main/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidator.java Thu Mar  1 10:59:40 2012
@@ -1,72 +0,0 @@
-/**
- *       Copyright 2010 Newcastle University
- *
- *          http://research.ncl.ac.uk/smart/
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.amber.oauth2.rs.validator;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.amber.oauth2.common.OAuth;
-import org.apache.amber.oauth2.common.error.OAuthError;
-import org.apache.amber.oauth2.common.exception.OAuthProblemException;
-import org.apache.amber.oauth2.common.utils.OAuthUtils;
-import org.apache.amber.oauth2.common.validators.AbstractValidator;
-
-
-/**
- * @author Maciej Machulak (m.p.machulak@ncl.ac.uk)
- * @author Lukasz Moren (lukasz.moren@ncl.ac.uk)
- * @author Aad van Moorsel (aad.vanmoorsel@ncl.ac.uk)
- */
-public class QueryOAuthValidator extends AbstractValidator {
-
-    @Override
-    public void validateContentType(HttpServletRequest request) throws OAuthProblemException {
-    }
-
-    @Override
-    public void validateMethod(HttpServletRequest request) throws OAuthProblemException {
-    }
-
-    @Override
-    public void validateRequiredParameters(HttpServletRequest request) throws OAuthProblemException {
-
-
-        String[] tokens = request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN);
-        if (OAuthUtils.hasEmptyValues(tokens)) {
-            tokens = request.getParameterValues(OAuth.OAUTH_TOKEN);
-            if (OAuthUtils.hasEmptyValues(tokens)) {
-                throw OAuthProblemException.error(null, "Missing OAuth token.");
-            }
-        }
-        
-        if (tokens != null && tokens.length > 1) {
-            throw OAuthProblemException
-                .error(OAuthError.TokenResponse.INVALID_REQUEST, "Multiple tokens attached.");
-        }
-
-        String oauthVersionDiff = request.getParameter(OAuth.OAUTH_VERSION_DIFFER);
-        if (!OAuthUtils.isEmpty(oauthVersionDiff)) {
-            throw OAuthProblemException
-                .error(OAuthError.TokenResponse.INVALID_REQUEST,
-                    "Incorrect OAuth version. Found OAuth V1.0.");
-        }
-    }
-}

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractorTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractorTest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractorTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/BodyTokenExtractorTest.java Thu Mar  1 10:59:40 2012
@@ -47,7 +47,7 @@ public class BodyTokenExtractorTest {
         HttpServletRequest request = createStrictMock(HttpServletRequest.class);
         expect(request.getParameter(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn("sometoken");
         replay(request);
-        BodyTokenExtractor bte = new BodyTokenExtractor();
+        BearerBodyTokenExtractor bte = new BearerBodyTokenExtractor();
         Assert.assertEquals("sometoken", bte.getAccessToken(request));
         verify(request);
     }
@@ -59,7 +59,7 @@ public class BodyTokenExtractorTest {
         expect(request.getParameter(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(null);
         expect(request.getParameter(OAuth.OAUTH_TOKEN)).andStubReturn(null);
         replay(request);
-        BodyTokenExtractor bte = new BodyTokenExtractor();
+        BearerBodyTokenExtractor bte = new BearerBodyTokenExtractor();
         Assert.assertNull(bte.getAccessToken(request));
         verify(request);
     }

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractorTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractorTest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractorTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/HeaderTokenExtractorTest.java Thu Mar  1 10:59:40 2012
@@ -26,7 +26,7 @@ import javax.servlet.http.HttpServletReq
 import junit.framework.Assert;
 
 import org.apache.amber.oauth2.common.OAuth;
-import org.apache.amber.oauth2.rs.extractor.HeaderTokenExtractor;
+import org.apache.amber.oauth2.rs.extractor.BearerHeaderTokenExtractor;
 import org.junit.Test;
 
 import static org.easymock.EasyMock.createStrictMock;
@@ -48,7 +48,7 @@ public class HeaderTokenExtractorTest {
         HttpServletRequest request = createStrictMock(HttpServletRequest.class);
         expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Bearer sometoken");
         replay(request);
-        HeaderTokenExtractor hte = new HeaderTokenExtractor();
+        BearerHeaderTokenExtractor hte = new BearerHeaderTokenExtractor();
         Assert.assertEquals("sometoken", hte.getAccessToken(request));
         verify(request);
     }
@@ -59,7 +59,7 @@ public class HeaderTokenExtractorTest {
         HttpServletRequest request = createStrictMock(HttpServletRequest.class);
         expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn(null);
         replay(request);
-        HeaderTokenExtractor hte = new HeaderTokenExtractor();
+        BearerHeaderTokenExtractor hte = new BearerHeaderTokenExtractor();
         Assert.assertNull(hte.getAccessToken(request));
         verify(request);
     }

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractorTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractorTest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractorTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/extractor/QueryTokenExtractorTest.java Thu Mar  1 10:59:40 2012
@@ -47,7 +47,7 @@ public class QueryTokenExtractorTest {
         HttpServletRequest request = createStrictMock(HttpServletRequest.class);
         expect(request.getParameter(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn("sometoken");
         replay(request);
-        QueryTokenExtractor qte = new QueryTokenExtractor();
+        BearerQueryTokenExtractor qte = new BearerQueryTokenExtractor();
         Assert.assertEquals("sometoken", qte.getAccessToken(request));
         verify(request);
 
@@ -60,7 +60,7 @@ public class QueryTokenExtractorTest {
         expect(request.getParameter(OAuth.OAUTH_TOKEN)).andStubReturn(null);
         expect(request.getParameter(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(null);
         replay(request);
-        QueryTokenExtractor qte = new QueryTokenExtractor();
+        BearerQueryTokenExtractor qte = new BearerQueryTokenExtractor();
         Assert.assertNull(qte.getAccessToken(request));
         verify(request);
 

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/BodyOAuthValidatorTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/BodyOAuthValidatorTest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/BodyOAuthValidatorTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/BodyOAuthValidatorTest.java Thu Mar  1 10:59:40 2012
@@ -50,7 +50,7 @@ public class BodyOAuthValidatorTest {
         expect(request.getContentType()).andStubReturn(OAuth.ContentType.URL_ENCODED);
         replay(request);
         try {
-            BodyOAuthValidator bov = new BodyOAuthValidator();
+            BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -67,7 +67,7 @@ public class BodyOAuthValidatorTest {
         expect(request.getContentType()).andStubReturn("multipart/form-data");
         replay(request);
         try {
-            BodyOAuthValidator bov = new BodyOAuthValidator();
+            BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -84,7 +84,7 @@ public class BodyOAuthValidatorTest {
         expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
         replay(request);
         try {
-            BodyOAuthValidator bov = new BodyOAuthValidator();
+            BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -103,7 +103,7 @@ public class BodyOAuthValidatorTest {
         expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"access_token"});
         replay(request);
         try {
-            BodyOAuthValidator bov = new BodyOAuthValidator();
+            BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -123,7 +123,7 @@ public class BodyOAuthValidatorTest {
         expect(request.getParameterValues(OAuth.OAUTH_TOKEN)).andStubReturn(null);
         replay(request);
         try {
-            BodyOAuthValidator bov = new BodyOAuthValidator();
+            BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -143,7 +143,7 @@ public class BodyOAuthValidatorTest {
             .andStubReturn(new String[] {"access_token1", "access_token2"});
         replay(request);
         try {
-            BodyOAuthValidator bov = new BodyOAuthValidator();
+            BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -161,7 +161,7 @@ public class BodyOAuthValidatorTest {
         expect(request.getParameter(OAuth.OAUTH_VERSION_DIFFER)).andStubReturn(null);
         expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"access_token"});
         replay(request);
-        BodyOAuthValidator bov = new BodyOAuthValidator();
+        BearerBodyOAuthValidator bov = new BearerBodyOAuthValidator();
         bov.performAllValidations(request);
         verify(request);
     }

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidatorTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidatorTest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidatorTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/HeaderOAuthValidatorTest.java Thu Mar  1 10:59:40 2012
@@ -28,7 +28,7 @@ import junit.framework.Assert;
 import org.apache.amber.oauth2.common.OAuth;
 import org.apache.amber.oauth2.common.error.OAuthError;
 import org.apache.amber.oauth2.common.exception.OAuthProblemException;
-import org.apache.amber.oauth2.rs.validator.HeaderOAuthValidator;
+import org.apache.amber.oauth2.rs.validator.BearerHeaderOAuthValidator;
 import org.junit.Test;
 import org.apache.amber.oauth2.common.utils.OAuthUtils;
 
@@ -52,7 +52,7 @@ public class HeaderOAuthValidatorTest {
         expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn(null);
         replay(request);
         try {
-            HeaderOAuthValidator bov = new HeaderOAuthValidator();
+            BearerHeaderOAuthValidator bov = new BearerHeaderOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -70,7 +70,7 @@ public class HeaderOAuthValidatorTest {
         expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Basic arawersadf");
         replay(request);
         try {
-            HeaderOAuthValidator bov = new HeaderOAuthValidator();
+            BearerHeaderOAuthValidator bov = new BearerHeaderOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -89,7 +89,7 @@ public class HeaderOAuthValidatorTest {
         expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Bearer  ");
         replay(request);
         try {
-            HeaderOAuthValidator bov = new HeaderOAuthValidator();
+            BearerHeaderOAuthValidator bov = new BearerHeaderOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -109,7 +109,7 @@ public class HeaderOAuthValidatorTest {
             .andStubReturn("Bearer sdfsadfsadf,oauth_signature_method=\"HMAC-SHA1\"");
         replay(request);
         try {
-            HeaderOAuthValidator bov = new HeaderOAuthValidator();
+            BearerHeaderOAuthValidator bov = new BearerHeaderOAuthValidator();
             bov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -125,7 +125,7 @@ public class HeaderOAuthValidatorTest {
         HttpServletRequest request = createMock(HttpServletRequest.class);
         expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Bearer sdfsadfsadf");
         replay(request);
-        HeaderOAuthValidator bov = new HeaderOAuthValidator();
+        BearerHeaderOAuthValidator bov = new BearerHeaderOAuthValidator();
         bov.performAllValidations(request);
 
         verify(request);

Modified: incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidatorTest.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidatorTest.java?rev=1295509&r1=1295508&r2=1295509&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidatorTest.java (original)
+++ incubator/amber/trunk/oauth-2.0/oauth2-resourceserver/src/test/java/org/apache/amber/oauth2/rs/validator/QueryOAuthValidatorTest.java Thu Mar  1 10:59:40 2012
@@ -52,7 +52,7 @@ public class QueryOAuthValidatorTest {
         expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"access_token"});
         replay(request);
         try {
-            QueryOAuthValidator qov = new QueryOAuthValidator();
+            BearerQueryOAuthValidator qov = new BearerQueryOAuthValidator();
             qov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -72,7 +72,7 @@ public class QueryOAuthValidatorTest {
         expect(request.getParameterValues(OAuth.OAUTH_TOKEN)).andStubReturn(null);
         replay(request);
         try {
-            QueryOAuthValidator qov = new QueryOAuthValidator();
+            BearerQueryOAuthValidator qov = new BearerQueryOAuthValidator();
             qov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -92,7 +92,7 @@ public class QueryOAuthValidatorTest {
             .andStubReturn(new String[] {"access_token1", "access_token2"});
         replay(request);
         try {
-            QueryOAuthValidator qov = new QueryOAuthValidator();
+            BearerQueryOAuthValidator qov = new BearerQueryOAuthValidator();
             qov.performAllValidations(request);
             Assert.fail("Exception not thrown.");
         } catch (OAuthProblemException e) {
@@ -110,7 +110,7 @@ public class QueryOAuthValidatorTest {
         expect(request.getParameter(OAuth.OAUTH_VERSION_DIFFER)).andStubReturn(null);
         expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"access_token1"});
         replay(request);
-        QueryOAuthValidator qov = new QueryOAuthValidator();
+        BearerQueryOAuthValidator qov = new BearerQueryOAuthValidator();
         qov.performAllValidations(request);
         verify(request);