You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ca...@apache.org on 2012/06/11 20:22:22 UTC

svn commit: r1348954 - in /rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src: main/java/org/apache/rave/gadgets/oauth/inject/ main/java/org/apache/rave/gadgets/oauth/model/ main/java/org/apache/rave/gadgets...

Author: carlucci
Date: Mon Jun 11 18:22:22 2012
New Revision: 1348954

URL: http://svn.apache.org/viewvc?rev=1348954&view=rev
Log:
RAVE-671: refactor OAuthConsumerStore to interface

Added:
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/JpaOAuthConsumerStore.java
      - copied, changed from r1348885, rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverter.java
      - copied, changed from r1348928, rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthTokenInfoConverter.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/impl/OAuthConsumerStoreImpl.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverterTest.java
Modified:
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStore.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/OAuthConsumerStoreRepository.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/impl/JpaOAuthConsumerStoreRepository.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/service/OAuthConsumerStoreService.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/resources/META-INF/persistence.xml
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStoreTest.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/repository/JpaOAuthConsumerStoreRepositoryTest.java
    rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/service/DefaultOAuthConsumerStoreServiceTest.java

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStore.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStore.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStore.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStore.java Mon Jun 11 18:22:22 2012
@@ -131,7 +131,7 @@ public class DefaultOAuthStore implement
      * Creates an {@link OAuthConsumer} based on the OAuth signature method
      *
      * @param provider      {@link net.oauth.OAuthServiceProvider}
-     * @param consumerStore {@link OAuthConsumerStore}
+     * @param consumerStore {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore}
      *                      persistent OAuth consumer keys & secrets
      * @return {@link OAuthConsumer} if the signature method is supported
      */

Copied: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/JpaOAuthConsumerStore.java (from r1348885, rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java)
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/JpaOAuthConsumerStore.java?p2=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/JpaOAuthConsumerStore.java&p1=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java&r1=1348885&r2=1348954&rev=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/JpaOAuthConsumerStore.java Mon Jun 11 18:22:22 2012
@@ -60,10 +60,10 @@ import javax.persistence.UniqueConstrain
 @Table(name = "oauth_consumer_store",
         uniqueConstraints = @UniqueConstraint(columnNames = {"gadget_uri", "service_name"}))
 @NamedQueries(value = {
-        @NamedQuery(name = OAuthConsumerStore.FIND_BY_URI_AND_SERVICE_NAME,
-                query = "SELECT cs FROM OAuthConsumerStore cs WHERE cs.gadgetUri = :gadgetUriParam AND cs.serviceName = :serviceNameParam")
+        @NamedQuery(name = JpaOAuthConsumerStore.FIND_BY_URI_AND_SERVICE_NAME,
+                query = "SELECT cs FROM JpaOAuthConsumerStore cs WHERE cs.gadgetUri = :gadgetUriParam AND cs.serviceName = :serviceNameParam")
         })
-public class OAuthConsumerStore implements BasicEntity {
+public class JpaOAuthConsumerStore implements BasicEntity, OAuthConsumerStore {
 
     public static final String FIND_BY_URI_AND_SERVICE_NAME = "OAuthConsumerStore.findByUriAndServiceName";
     public static final String GADGET_URI_PARAM = "gadgetUriParam";
@@ -72,13 +72,6 @@ public class OAuthConsumerStore implemen
     private static final int HASH_INCREASE = 67;
 
     /**
-     * enum of KeyType's
-     */
-    public static enum KeyType {
-        HMAC_SYMMETRIC, RSA_PRIVATE, PLAINTEXT
-    }
-
-    /**
      * The internal object ID used for references to this object.
      */
     @Id
@@ -135,6 +128,22 @@ public class OAuthConsumerStore implemen
     @Column(name = "callback_url")
     private String callbackUrl;
 
+    /*
+    * {@inheritDoc}
+    */
+    @Override
+    public Long getId() {
+        return getEntityId();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void setId(Long id) {
+        setEntityId(id);
+    }
+
     /**
      * {@inheritDoc}
      */
@@ -151,58 +160,72 @@ public class OAuthConsumerStore implemen
         this.entityId = entityId;
     }
 
+    @Override
     public String getGadgetUri() {
         return gadgetUri;
     }
 
+    @Override
     public void setGadgetUri(String gadgetUri) {
         this.gadgetUri = gadgetUri;
     }
 
+    @Override
     public String getServiceName() {
         return serviceName;
     }
 
+    @Override
     public void setServiceName(String serviceName) {
         this.serviceName = serviceName;
     }
 
+    @Override
     public String getConsumerKey() {
         return consumerKey;
     }
 
+    @Override
     public void setConsumerKey(String consumerKey) {
         this.consumerKey = consumerKey;
     }
 
+    @Override
     public String getConsumerSecret() {
         return consumerSecret;
     }
 
+    @Override
     public void setConsumerSecret(String consumerSecret) {
         this.consumerSecret = consumerSecret;
     }
 
+    @Override
     public KeyType getKeyType() {
         return keyType;
     }
 
+    @Override
     public void setKeyType(KeyType keyType) {
         this.keyType = keyType;
     }
 
+    @Override
     public String getKeyName() {
         return keyName;
     }
 
+    @Override
     public void setKeyName(String keyName) {
         this.keyName = keyName;
     }
 
+    @Override
     public String getCallbackUrl() {
         return callbackUrl;
     }
 
+    @Override
     public void setCallbackUrl(String callbackUrl) {
         this.callbackUrl = callbackUrl;
     }
@@ -215,7 +238,7 @@ public class OAuthConsumerStore implemen
         if (getClass() != obj.getClass()) {
             return false;
         }
-        final OAuthConsumerStore other = (OAuthConsumerStore) obj;
+        final JpaOAuthConsumerStore other = (JpaOAuthConsumerStore) obj;
         if (this.entityId != other.entityId && (this.entityId == null || !this.entityId.equals(other.entityId))) {
             return false;
         }

Added: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java?rev=1348954&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java (added)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/OAuthConsumerStore.java Mon Jun 11 18:22:22 2012
@@ -0,0 +1,54 @@
+/*
+ * 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.rave.gadgets.oauth.model;
+
+
+public interface OAuthConsumerStore {
+    /**
+     * enum of KeyType's
+     */
+    public static enum KeyType {
+        HMAC_SYMMETRIC, RSA_PRIVATE, PLAINTEXT
+    }
+
+    Long getId();
+    void setId(Long id);
+
+    String getGadgetUri();
+    void setGadgetUri(String gadgetUri);
+
+    String getServiceName();
+    void setServiceName(String serviceName);
+
+    String getConsumerKey();
+    void setConsumerKey(String consumerKey);
+
+    String getConsumerSecret();
+    void setConsumerSecret(String consumerSecret);
+
+    OAuthConsumerStore.KeyType getKeyType();
+    void setKeyType(OAuthConsumerStore.KeyType keyType);
+
+    String getKeyName();
+    void setKeyName(String keyName);
+
+    String getCallbackUrl();
+    void setCallbackUrl(String callbackUrl);
+}

Copied: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverter.java (from r1348928, rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthTokenInfoConverter.java)
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverter.java?p2=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverter.java&p1=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthTokenInfoConverter.java&r1=1348928&r2=1348954&rev=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthTokenInfoConverter.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverter.java Mon Jun 11 18:22:22 2012
@@ -18,8 +18,8 @@
  */
 package org.apache.rave.gadgets.oauth.model.conversion;
 
-import org.apache.rave.gadgets.oauth.model.JpaOAuthTokenInfo;
-import org.apache.rave.gadgets.oauth.model.OAuthTokenInfo;
+import org.apache.rave.gadgets.oauth.model.JpaOAuthConsumerStore;
+import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
 import org.apache.rave.model.ModelConverter;
 import org.springframework.stereotype.Component;
 
@@ -27,47 +27,45 @@ import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 
 /**
- * Converts a OAuthTokenInfo to a JpaOAuthTokenInfo
+ * Converts a OAuthConsumerStore to a JpaOAuthConsumerStore
  */
 @Component
-public class JpaOAuthTokenInfoConverter implements ModelConverter<OAuthTokenInfo, JpaOAuthTokenInfo> {
+public class JpaOAuthConsumerStoreConverter implements ModelConverter<OAuthConsumerStore, JpaOAuthConsumerStore> {
 
     @PersistenceContext
     private EntityManager manager;
 
     @Override
-    public Class<OAuthTokenInfo> getSourceType() {
-        return OAuthTokenInfo.class;
+    public Class<OAuthConsumerStore> getSourceType() {
+        return OAuthConsumerStore.class;
     }
 
     @Override
-    public JpaOAuthTokenInfo convert(OAuthTokenInfo source) {
-        return source instanceof JpaOAuthTokenInfo ? (JpaOAuthTokenInfo) source : createEntity(source);
+    public JpaOAuthConsumerStore convert(OAuthConsumerStore source) {
+        return source instanceof JpaOAuthConsumerStore ? (JpaOAuthConsumerStore) source : createEntity(source);
     }
 
-    private JpaOAuthTokenInfo createEntity(OAuthTokenInfo source) {
-        JpaOAuthTokenInfo converted = null;
+    private JpaOAuthConsumerStore createEntity(OAuthConsumerStore source) {
+        JpaOAuthConsumerStore converted = null;
         if (source != null) {
-            converted = manager.find(JpaOAuthTokenInfo.class, source.getId());
+            converted = manager.find(JpaOAuthConsumerStore.class, source.getId());
             if (converted == null) {
-                converted = new JpaOAuthTokenInfo();
+                converted = new JpaOAuthConsumerStore();
             }
             updateProperties(source, converted);
         }
         return converted;
     }
 
-    private void updateProperties(OAuthTokenInfo source, JpaOAuthTokenInfo converted) {
+    private void updateProperties(OAuthConsumerStore source, JpaOAuthConsumerStore converted) {
         converted.setEntityId(source.getId());
         converted.setId(source.getId());
-        converted.setAccessToken(source.getAccessToken());
-        converted.setAppUrl(source.getAppUrl());
-        converted.setModuleId(source.getModuleId());
         converted.setServiceName(source.getServiceName());
-        converted.setSessionHandle(source.getSessionHandle());
-        converted.setTokenExpireMillis(source.getTokenExpireMillis());
-        converted.setTokenName(source.getTokenName());
-        converted.setTokenSecret(source.getTokenSecret());
-        converted.setUserId(source.getUserId());
+        converted.setCallbackUrl(source.getCallbackUrl());
+        converted.setConsumerKey(source.getConsumerKey());
+        converted.setConsumerSecret(source.getConsumerSecret());
+        converted.setGadgetUri(source.getGadgetUri());
+        converted.setKeyName(source.getKeyName());
+        converted.setKeyType(source.getKeyType());
     }
 }

Added: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/impl/OAuthConsumerStoreImpl.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/impl/OAuthConsumerStoreImpl.java?rev=1348954&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/impl/OAuthConsumerStoreImpl.java (added)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/model/impl/OAuthConsumerStoreImpl.java Mon Jun 11 18:22:22 2012
@@ -0,0 +1,113 @@
+/*
+ * 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.rave.gadgets.oauth.model.impl;
+
+import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
+
+public class OAuthConsumerStoreImpl implements OAuthConsumerStore {
+    private Long id;
+    private String gadgetUri;
+    private String serviceName;
+    private String consumerKey;
+    private String consumerSecret;
+    private KeyType keyType;
+    private String keyName;
+    private String callbackUrl;
+
+    @Override
+    public Long getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    @Override
+    public String getGadgetUri() {
+        return gadgetUri;
+    }
+
+    @Override
+    public void setGadgetUri(String gadgetUri) {
+        this.gadgetUri = gadgetUri;
+    }
+
+    @Override
+    public String getServiceName() {
+        return serviceName;
+    }
+
+    @Override
+    public void setServiceName(String serviceName) {
+        this.serviceName = serviceName;
+    }
+
+    @Override
+    public String getConsumerKey() {
+        return consumerKey;
+    }
+
+    @Override
+    public void setConsumerKey(String consumerKey) {
+        this.consumerKey = consumerKey;
+    }
+
+    @Override
+    public String getConsumerSecret() {
+        return consumerSecret;
+    }
+
+    @Override
+    public void setConsumerSecret(String consumerSecret) {
+        this.consumerSecret = consumerSecret;
+    }
+
+    @Override
+    public KeyType getKeyType() {
+        return keyType;
+    }
+
+    @Override
+    public void setKeyType(KeyType keyType) {
+        this.keyType = keyType;
+    }
+
+    @Override
+    public String getKeyName() {
+        return keyName;
+    }
+
+    @Override
+    public void setKeyName(String keyName) {
+        this.keyName = keyName;
+    }
+
+    @Override
+    public String getCallbackUrl() {
+        return callbackUrl;
+    }
+
+    @Override
+    public void setCallbackUrl(String callbackUrl) {
+        this.callbackUrl = callbackUrl;
+    }
+}

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/OAuthConsumerStoreRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/OAuthConsumerStoreRepository.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/OAuthConsumerStoreRepository.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/OAuthConsumerStoreRepository.java Mon Jun 11 18:22:22 2012
@@ -23,16 +23,16 @@ import org.apache.rave.gadgets.oauth.mod
 import org.apache.rave.persistence.Repository;
 
 /**
- * Repository interface for {@link OAuthConsumerStore}
+ * Repository interface for {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore}
  */
 public interface OAuthConsumerStoreRepository extends Repository<OAuthConsumerStore> {
 
     /**
-     * Fetches {@link OAuthConsumerStore} based on the gadget location and the service provider
+     * Fetches {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} based on the gadget location and the service provider
      *
      * @param gadgetUri   location of the gadget definition
      * @param serviceName name of the service provider
-     * @return {@link OAuthConsumerStore} or {@literal null} if none matches the criteria
+     * @return {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} or {@literal null} if none matches the criteria
      */
     OAuthConsumerStore findByUriAndServiceName(String gadgetUri, String serviceName);
 }

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/impl/JpaOAuthConsumerStoreRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/impl/JpaOAuthConsumerStoreRepository.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/impl/JpaOAuthConsumerStoreRepository.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/repository/impl/JpaOAuthConsumerStoreRepository.java Mon Jun 11 18:22:22 2012
@@ -23,37 +23,61 @@ import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 import javax.persistence.TypedQuery;
 
+import org.apache.rave.gadgets.oauth.model.JpaOAuthConsumerStore;
+import org.apache.rave.gadgets.oauth.model.JpaOAuthTokenInfo;
 import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
+import org.apache.rave.gadgets.oauth.model.OAuthTokenInfo;
+import org.apache.rave.gadgets.oauth.model.conversion.JpaOAuthConsumerStoreConverter;
+import org.apache.rave.gadgets.oauth.model.conversion.JpaOAuthTokenInfoConverter;
 import org.apache.rave.gadgets.oauth.repository.OAuthConsumerStoreRepository;
 import org.apache.rave.persistence.jpa.AbstractJpaRepository;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
 import static org.apache.rave.persistence.jpa.util.JpaUtil.getSingleResult;
+import static org.apache.rave.persistence.jpa.util.JpaUtil.saveOrUpdate;
 
 /**
  * JPA implementation for {@link OAuthConsumerStoreRepository}
  */
 @Repository
-public class JpaOAuthConsumerStoreRepository extends AbstractJpaRepository<OAuthConsumerStore>
-        implements OAuthConsumerStoreRepository {
+public class JpaOAuthConsumerStoreRepository implements OAuthConsumerStoreRepository {
 
     @PersistenceContext
     private EntityManager manager;
 
+    @Autowired
+    private JpaOAuthConsumerStoreConverter converter;
 
-    public JpaOAuthConsumerStoreRepository() {
-        super(OAuthConsumerStore.class);
+    @Override
+    public Class<? extends OAuthConsumerStore> getType() {
+        return JpaOAuthConsumerStore.class;
     }
 
+    @Override
+    public OAuthConsumerStore get(long id) {
+        return manager.find(JpaOAuthConsumerStore.class, id);
+    }
+
+    @Override
+    public OAuthConsumerStore save(OAuthConsumerStore item) {
+        JpaOAuthConsumerStore jpaItem = converter.convert(item);
+        return saveOrUpdate(jpaItem.getEntityId(), manager, jpaItem);
+    }
+
+    @Override
+    public void delete(OAuthConsumerStore item) {
+        manager.remove(converter.convert(item));
+    }
     /**
      * {@inheritDoc}
      */
     @Override
     public OAuthConsumerStore findByUriAndServiceName(String gadgetUri, String serviceName) {
-        TypedQuery<OAuthConsumerStore> query = manager.createNamedQuery(
-                OAuthConsumerStore.FIND_BY_URI_AND_SERVICE_NAME, OAuthConsumerStore.class);
-        query.setParameter(OAuthConsumerStore.GADGET_URI_PARAM, gadgetUri);
-        query.setParameter(OAuthConsumerStore.SERVICE_NAME_PARAM, serviceName);
+        TypedQuery<JpaOAuthConsumerStore> query = manager.createNamedQuery(
+                JpaOAuthConsumerStore.FIND_BY_URI_AND_SERVICE_NAME, JpaOAuthConsumerStore.class);
+        query.setParameter(JpaOAuthConsumerStore.GADGET_URI_PARAM, gadgetUri);
+        query.setParameter(JpaOAuthConsumerStore.SERVICE_NAME_PARAM, serviceName);
         return getSingleResult(query.getResultList());
     }
 }

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/service/OAuthConsumerStoreService.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/service/OAuthConsumerStoreService.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/service/OAuthConsumerStoreService.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/gadgets/oauth/service/OAuthConsumerStoreService.java Mon Jun 11 18:22:22 2012
@@ -27,27 +27,27 @@ import org.apache.rave.gadgets.oauth.mod
 public interface OAuthConsumerStoreService {
 
     /**
-     * Fetches {@link OAuthConsumerStore} based on the gadget location and the service provider
+     * Fetches {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} based on the gadget location and the service provider
      *
      * @param gadgetUri   location of the gadget definition
      * @param serviceName name of the service provider
-     * @return {@link OAuthConsumerStore} or {@literal null} if none matches the criteria
+     * @return {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} or {@literal null} if none matches the criteria
      */
     OAuthConsumerStore findByUriAndServiceName(String gadgetUri, String serviceName);
 
     /**
-     * Persists {@link OAuthConsumerStore}
+     * Persists {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore}
      *
-     * @param oAuthConsumerStore {@link OAuthConsumerStore} to store
-     * @return persisted {@link OAuthConsumerStore}
+     * @param oAuthConsumerStore {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} to store
+     * @return persisted {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore}
      */
 
     OAuthConsumerStore save(OAuthConsumerStore oAuthConsumerStore);
 
     /**
-     * Removes the {@link OAuthConsumerStore} from the database
+     * Removes the {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} from the database
      *
-     * @param oAuthConsumerStore {@link OAuthConsumerStore} to delete
+     * @param oAuthConsumerStore {@link org.apache.rave.gadgets.oauth.model.OAuthConsumerStore} to delete
      */
     void delete(OAuthConsumerStore oAuthConsumerStore);
 }

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/resources/META-INF/persistence.xml?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/resources/META-INF/persistence.xml (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/resources/META-INF/persistence.xml Mon Jun 11 18:22:22 2012
@@ -32,7 +32,7 @@
       <class>org.apache.rave.opensocial.model.ApplicationData</class>
       <class>org.apache.rave.opensocial.repository.impl.JpaApplicationDataRepository$JpaSerializableApplicationData</class>
       <class>org.apache.rave.gadgets.oauth.model.JpaOAuthTokenInfo</class>
-      <class>org.apache.rave.gadgets.oauth.model.OAuthConsumerStore</class>
+      <class>org.apache.rave.gadgets.oauth.model.JpaOAuthConsumerStore</class>
   </persistence-unit>
 
 </persistence>

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStoreTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStoreTest.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStoreTest.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/inject/DefaultOAuthStoreTest.java Mon Jun 11 18:22:22 2012
@@ -19,13 +19,11 @@
 
 package org.apache.rave.gadgets.oauth.inject;
 
-import java.io.IOException;
-import java.util.Date;
-
 import net.oauth.OAuth;
 import net.oauth.OAuthServiceProvider;
 import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
 import org.apache.rave.gadgets.oauth.model.OAuthTokenInfo;
+import org.apache.rave.gadgets.oauth.model.impl.OAuthConsumerStoreImpl;
 import org.apache.rave.gadgets.oauth.model.impl.OAuthTokenInfoImpl;
 import org.apache.rave.gadgets.oauth.service.OAuthConsumerStoreService;
 import org.apache.rave.gadgets.oauth.service.OAuthTokenInfoService;
@@ -37,8 +35,12 @@ import org.junit.Before;
 import org.junit.Test;
 import org.springframework.test.util.ReflectionTestUtils;
 
+import java.io.IOException;
+import java.util.Date;
+
 import static org.easymock.EasyMock.*;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * Test for {@link DefaultOAuthStore}
@@ -56,7 +58,7 @@ public class DefaultOAuthStoreTest {
 
     @Test
     public void testGetConsumerKeyAndSecret() throws Exception {
-        OAuthConsumerStore consumerStore = new OAuthConsumerStore();
+        OAuthConsumerStore consumerStore = new OAuthConsumerStoreImpl();
         consumerStore.setGadgetUri(GADGET_URI);
         consumerStore.setConsumerKey("gadgetConsumer");
         consumerStore.setConsumerSecret(CONSUMER_SECRET);

Added: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverterTest.java?rev=1348954&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverterTest.java (added)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/model/conversion/JpaOAuthConsumerStoreConverterTest.java Mon Jun 11 18:22:22 2012
@@ -0,0 +1,59 @@
+package org.apache.rave.gadgets.oauth.model.conversion;
+
+import org.apache.rave.gadgets.oauth.model.JpaOAuthConsumerStore;
+import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
+import org.apache.rave.gadgets.oauth.model.impl.OAuthConsumerStoreImpl;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:rave-shindig-test-dataContext.xml", "classpath:rave-shindig-test-applicationContext.xml"})
+public class JpaOAuthConsumerStoreConverterTest {
+
+    @Autowired
+    private JpaOAuthConsumerStoreConverter oAuthConsumerStoreConverter;
+
+    @Test
+    public void noConversion() {
+        OAuthConsumerStore oAuthConsumerStore = new JpaOAuthConsumerStore();
+        assertThat(oAuthConsumerStoreConverter.convert(oAuthConsumerStore), is(sameInstance(oAuthConsumerStore)));
+    }
+
+    @Test
+    public void nullConversion() {
+        OAuthConsumerStore oAuthConsumerStore = null;
+        assertThat(oAuthConsumerStoreConverter.convert(oAuthConsumerStore), is(nullValue()));
+    }
+
+    @Test
+    public void newOAuthConsumerStore() {
+        OAuthConsumerStore oAuthConsumerStore = new OAuthConsumerStoreImpl();
+        oAuthConsumerStore.setId(1L);
+        oAuthConsumerStore.setServiceName("servicename");
+        oAuthConsumerStore.setCallbackUrl("callbackurl");
+        oAuthConsumerStore.setConsumerKey("key");
+        oAuthConsumerStore.setConsumerSecret("secret");
+        oAuthConsumerStore.setGadgetUri("gadgeturi");
+        oAuthConsumerStore.setKeyName("key");
+        oAuthConsumerStore.setKeyType(OAuthConsumerStore.KeyType.HMAC_SYMMETRIC);
+
+        JpaOAuthConsumerStore converted = oAuthConsumerStoreConverter.convert(oAuthConsumerStore);
+        assertThat(converted, is(not(sameInstance(oAuthConsumerStore))));
+        assertThat(converted, is(instanceOf(JpaOAuthConsumerStore.class)));
+        assertThat(converted.getId(), is(equalTo(oAuthConsumerStore.getId())));
+        assertThat(converted.getServiceName(), is(equalTo(oAuthConsumerStore.getServiceName())));
+        assertThat(converted.getCallbackUrl(), is(equalTo(oAuthConsumerStore.getCallbackUrl())));
+        assertThat(converted.getConsumerKey(), is(equalTo(oAuthConsumerStore.getConsumerKey())));
+        assertThat(converted.getConsumerSecret(), is(equalTo(oAuthConsumerStore.getConsumerSecret())));
+        assertThat(converted.getEntityId(), is(equalTo(oAuthConsumerStore.getId())));
+        assertThat(converted.getGadgetUri(), is(equalTo(oAuthConsumerStore.getGadgetUri())));
+        assertThat(converted.getKeyName(), is(equalTo(oAuthConsumerStore.getKeyName())));
+        assertThat(converted.getKeyType(), is(equalTo(oAuthConsumerStore.getKeyType())));
+    }
+}
\ No newline at end of file

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/repository/JpaOAuthConsumerStoreRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/repository/JpaOAuthConsumerStoreRepositoryTest.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/repository/JpaOAuthConsumerStoreRepositoryTest.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/repository/JpaOAuthConsumerStoreRepositoryTest.java Mon Jun 11 18:22:22 2012
@@ -22,6 +22,7 @@ package org.apache.rave.gadgets.oauth.re
 import javax.persistence.EntityManager;
 import javax.persistence.PersistenceContext;
 
+import org.apache.rave.gadgets.oauth.model.JpaOAuthConsumerStore;
 import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -58,7 +59,7 @@ public class JpaOAuthConsumerStoreReposi
         final OAuthConsumerStore store = repository.findByUriAndServiceName(GADGET_URI, SERVICE_NAME_GOOGLE);
         assertNotNull("OAuthConsumerStore In test db", store);
         assertEquals("gadgetSecret", store.getConsumerSecret());
-        assertEquals(OAuthConsumerStore.KeyType.HMAC_SYMMETRIC, store.getKeyType());
+        assertEquals(JpaOAuthConsumerStore.KeyType.HMAC_SYMMETRIC, store.getKeyType());
     }
 
     @Test

Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/service/DefaultOAuthConsumerStoreServiceTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/service/DefaultOAuthConsumerStoreServiceTest.java?rev=1348954&r1=1348953&r2=1348954&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/service/DefaultOAuthConsumerStoreServiceTest.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/gadgets/oauth/service/DefaultOAuthConsumerStoreServiceTest.java Mon Jun 11 18:22:22 2012
@@ -20,6 +20,7 @@
 package org.apache.rave.gadgets.oauth.service;
 
 import org.apache.rave.gadgets.oauth.model.OAuthConsumerStore;
+import org.apache.rave.gadgets.oauth.model.impl.OAuthConsumerStoreImpl;
 import org.apache.rave.gadgets.oauth.repository.OAuthConsumerStoreRepository;
 import org.apache.rave.gadgets.oauth.service.impl.DefaultOAuthConsumerStoreService;
 import org.junit.Before;
@@ -69,7 +70,7 @@ public class DefaultOAuthConsumerStoreSe
     }
 
     OAuthConsumerStore getOAuthConsumerStore() {
-        OAuthConsumerStore consumerStore = new OAuthConsumerStore();
+        OAuthConsumerStore consumerStore = new OAuthConsumerStoreImpl();
         consumerStore.setCallbackUrl("http://oauth.gmodules.com/gadgets/oauthcallback");
         consumerStore.setConsumerKey("gadgetConsumer");
         consumerStore.setConsumerSecret("gadgetSecret");