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 21:43:52 UTC
svn commit: r1348982 - in
/rave/branches/model_interfaces/rave-providers/rave-opensocial-provider:
rave-opensocial-client/ rave-opensocial-core/
rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/
rave-opensocial-core/src/main/java/org...
Author: carlucci
Date: Mon Jun 11 19:43:51 2012
New Revision: 1348982
URL: http://svn.apache.org/viewvc?rev=1348982&view=rev
Log:
RAVE-672: refactor ApplicationData to interface
Added:
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.java
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/JpaApplicationData.java
- copied, changed from r1348885, rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.java
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/conversion/
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverter.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/opensocial/model/impl/
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/impl/ApplicationDataImpl.java
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/model/
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/model/conversion/
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverterTest.java
Modified:
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-client/ (props changed)
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/ (props changed)
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/repository/impl/JpaApplicationDataRepository.java
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultAppDataService.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/opensocial/repository/JpaApplicationDataRepositoryTest.java
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/AppDataServiceTest.java
rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-server/ (props changed)
Propchange: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-client/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jun 11 19:43:51 2012
@@ -2,3 +2,4 @@
target
.classpath
.project
+*.iml
Propchange: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jun 11 19:43:51 2012
@@ -2,3 +2,4 @@
target
.classpath
.project
+*.iml
Added: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.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/opensocial/model/ApplicationData.java?rev=1348982&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.java (added)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.java Mon Jun 11 19:43:51 2012
@@ -0,0 +1,35 @@
+/*
+ * 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.opensocial.model;
+
+import java.util.Map;
+
+public interface ApplicationData {
+ Long getId();
+ void setId(Long id);
+
+ String getUserId();
+ void setUserId(String userId);
+
+ String getAppUrl();
+ void setAppUrl(String appUrl);
+
+ Map<String, String> getData();
+ void setData(Map<String, String> data);
+}
Copied: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/JpaApplicationData.java (from r1348885, rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.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/opensocial/model/JpaApplicationData.java?p2=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/JpaApplicationData.java&p1=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.java&r1=1348885&r2=1348982&rev=1348982&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/ApplicationData.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/JpaApplicationData.java Mon Jun 11 19:43:51 2012
@@ -26,12 +26,12 @@ import java.util.Map;
@Entity
@Table(name = "application_data")
@NamedQueries(value = {
- @NamedQuery(name = ApplicationData.FIND_BY_USER_IDS_AND_APP_ID, query = "select a from ApplicationData a " +
- "where a.userId IN :" + ApplicationData.USER_IDS_PARAM + " AND a.appUrl = :" + ApplicationData.APP_URL_PARAM),
- @NamedQuery(name = ApplicationData.FIND_BY_USER_ID_AND_APP_ID, query = "select a from ApplicationData a " +
- "where a.userId = :" + ApplicationData.USER_ID_PARAM + " AND a.appUrl = :" + ApplicationData.APP_URL_PARAM)
+ @NamedQuery(name = JpaApplicationData.FIND_BY_USER_IDS_AND_APP_ID, query = "select a from JpaApplicationData a " +
+ "where a.userId IN :" + JpaApplicationData.USER_IDS_PARAM + " AND a.appUrl = :" + JpaApplicationData.APP_URL_PARAM),
+ @NamedQuery(name = JpaApplicationData.FIND_BY_USER_ID_AND_APP_ID, query = "select a from JpaApplicationData a " +
+ "where a.userId = :" + JpaApplicationData.USER_ID_PARAM + " AND a.appUrl = :" + JpaApplicationData.APP_URL_PARAM)
})
-public class ApplicationData implements BasicEntity {
+public class JpaApplicationData implements BasicEntity, ApplicationData {
public static final String FIND_BY_USER_IDS_AND_APP_ID = "ApplicationData.findByUserIdsAndAppId";
public static final String FIND_BY_USER_ID_AND_APP_ID = "ApplicationData.findByUserIdAndAppId";
@@ -58,44 +58,62 @@ public class ApplicationData implements
@Transient
private Map<String, String> data;
- public ApplicationData() {
+ public JpaApplicationData() {
}
- public ApplicationData(Long entityId, String userId, String appUrl, Map<String, String> data) {
+ public JpaApplicationData(Long entityId, String userId, String appUrl, Map<String, String> data) {
this.entityId = entityId;
this.userId = userId;
this.appUrl = appUrl;
this.data = data;
}
+ @Override
+ public Long getId() {
+ return getEntityId();
+ }
+
+ @Override
+ public void setId(Long id) {
+ setEntityId(id);
+ }
+
+ @Override
public Long getEntityId() {
return entityId;
}
+ @Override
public void setEntityId(Long entityId) {
this.entityId = entityId;
}
+ @Override
public String getUserId() {
return userId;
}
+ @Override
public void setUserId(String userId) {
this.userId = userId;
}
+ @Override
public String getAppUrl() {
return appUrl;
}
+ @Override
public void setAppUrl(String appUrl) {
this.appUrl = appUrl;
}
+ @Override
public Map<String, String> getData() {
return data;
}
+ @Override
public void setData(Map<String, String> data) {
this.data = data;
}
Copied: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverter.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/opensocial/model/conversion/JpaApplicationDataConverter.java?p2=rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverter.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=1348982&rev=1348982&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/opensocial/model/conversion/JpaApplicationDataConverter.java Mon Jun 11 19:43:51 2012
@@ -16,58 +16,52 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.rave.gadgets.oauth.model.conversion;
+package org.apache.rave.opensocial.model.conversion;
-import org.apache.rave.gadgets.oauth.model.JpaOAuthTokenInfo;
-import org.apache.rave.gadgets.oauth.model.OAuthTokenInfo;
import org.apache.rave.model.ModelConverter;
+import org.apache.rave.opensocial.model.ApplicationData;
+import org.apache.rave.opensocial.model.JpaApplicationData;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
- * Converts a OAuthTokenInfo to a JpaOAuthTokenInfo
+ * Converts a ApplicationData to a JpaApplicationData
*/
@Component
-public class JpaOAuthTokenInfoConverter implements ModelConverter<OAuthTokenInfo, JpaOAuthTokenInfo> {
+public class JpaApplicationDataConverter implements ModelConverter<ApplicationData, JpaApplicationData> {
@PersistenceContext
private EntityManager manager;
@Override
- public Class<OAuthTokenInfo> getSourceType() {
- return OAuthTokenInfo.class;
+ public Class<ApplicationData> getSourceType() {
+ return ApplicationData.class;
}
@Override
- public JpaOAuthTokenInfo convert(OAuthTokenInfo source) {
- return source instanceof JpaOAuthTokenInfo ? (JpaOAuthTokenInfo) source : createEntity(source);
+ public JpaApplicationData convert(ApplicationData source) {
+ return source instanceof JpaApplicationData ? (JpaApplicationData) source : createEntity(source);
}
- private JpaOAuthTokenInfo createEntity(OAuthTokenInfo source) {
- JpaOAuthTokenInfo converted = null;
+ private JpaApplicationData createEntity(ApplicationData source) {
+ JpaApplicationData converted = null;
if (source != null) {
- converted = manager.find(JpaOAuthTokenInfo.class, source.getId());
+ converted = manager.find(JpaApplicationData.class, source.getId());
if (converted == null) {
- converted = new JpaOAuthTokenInfo();
+ converted = new JpaApplicationData();
}
updateProperties(source, converted);
}
return converted;
}
- private void updateProperties(OAuthTokenInfo source, JpaOAuthTokenInfo converted) {
+ private void updateProperties(ApplicationData source, JpaApplicationData 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.setData(source.getData());
}
}
Added: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/impl/ApplicationDataImpl.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/opensocial/model/impl/ApplicationDataImpl.java?rev=1348982&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/impl/ApplicationDataImpl.java (added)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/model/impl/ApplicationDataImpl.java Mon Jun 11 19:43:51 2012
@@ -0,0 +1,79 @@
+/*
+ * 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.opensocial.model.impl;
+
+import org.apache.rave.opensocial.model.ApplicationData;
+
+import java.util.Map;
+
+public class ApplicationDataImpl implements ApplicationData {
+ private Long id;
+ private String userId;
+ private String appUrl;
+ private Map<String, String> data;
+
+ public ApplicationDataImpl() {}
+
+ public ApplicationDataImpl(Long id, String userId, String appUrl, Map<String, String> data) {
+ this.id = id;
+ this.userId = userId;
+ this.appUrl = appUrl;
+ this.data = data;
+ }
+
+ @Override
+ public Long getId() {
+ return id;
+ }
+
+ @Override
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Override
+ public String getUserId() {
+ return userId;
+ }
+
+ @Override
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ @Override
+ public String getAppUrl() {
+ return appUrl;
+ }
+
+ @Override
+ public void setAppUrl(String appUrl) {
+ this.appUrl = appUrl;
+ }
+
+ @Override
+ public Map<String, String> getData() {
+ return data;
+ }
+
+ @Override
+ public void setData(Map<String, String> data) {
+ this.data = data;
+ }
+}
Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/repository/impl/JpaApplicationDataRepository.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/opensocial/repository/impl/JpaApplicationDataRepository.java?rev=1348982&r1=1348981&r2=1348982&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/repository/impl/JpaApplicationDataRepository.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/repository/impl/JpaApplicationDataRepository.java Mon Jun 11 19:43:51 2012
@@ -21,27 +21,57 @@ package org.apache.rave.opensocial.repos
import org.apache.commons.lang.StringUtils;
import org.apache.rave.exception.DataSerializationException;
import org.apache.rave.opensocial.model.ApplicationData;
+import org.apache.rave.opensocial.model.JpaApplicationData;
+import org.apache.rave.opensocial.model.conversion.JpaApplicationDataConverter;
import org.apache.rave.opensocial.repository.ApplicationDataRepository;
-import org.apache.rave.persistence.jpa.AbstractJpaRepository;
+import org.apache.rave.util.CollectionUtils;
import org.json.JSONException;
import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Lob;
-import javax.persistence.TypedQuery;
+import javax.persistence.*;
import java.util.*;
import static org.apache.rave.persistence.jpa.util.JpaUtil.getSingleResult;
+import static org.apache.rave.persistence.jpa.util.JpaUtil.saveOrUpdate;
@Repository
-public class JpaApplicationDataRepository extends AbstractJpaRepository<ApplicationData>
- implements ApplicationDataRepository {
+public class JpaApplicationDataRepository implements ApplicationDataRepository {
- public JpaApplicationDataRepository() {
- super(JpaSerializableApplicationData.class);
+ @PersistenceContext
+ private EntityManager manager;
+
+ @Autowired
+ private JpaApplicationDataConverter converter;
+
+ @Override
+ public Class<? extends ApplicationData> getType() {
+ return JpaApplicationData.class;
+ }
+
+ @Override
+ public ApplicationData get(long id) {
+ JpaSerializableApplicationData applicationData = (JpaSerializableApplicationData) manager.find(JpaApplicationData.class, id);
+ if (applicationData != null) {
+ applicationData.deserializeData();
+ }
+ return applicationData;
+ }
+
+ @Override
+ @Transactional
+ public JpaApplicationData save(ApplicationData item) {
+ JpaApplicationData jpaAppData = converter.convert(item);
+ JpaSerializableApplicationData jpaSerializableApplicationData = getJpaSerializableApplicationData(jpaAppData);
+ jpaSerializableApplicationData.serializeData();
+ return saveOrUpdate(jpaSerializableApplicationData.getEntityId(), manager, jpaSerializableApplicationData);
+ }
+
+ @Override
+ public void delete(ApplicationData item) {
+ manager.remove(item instanceof JpaApplicationData ? item : get(item.getId()));
}
@Override
@@ -56,23 +86,23 @@ public class JpaApplicationDataRepositor
return data;
}
- TypedQuery<JpaSerializableApplicationData> query = manager.createNamedQuery(ApplicationData.FIND_BY_USER_IDS_AND_APP_ID,
+ TypedQuery<JpaSerializableApplicationData> query = manager.createNamedQuery(JpaApplicationData.FIND_BY_USER_IDS_AND_APP_ID,
JpaSerializableApplicationData.class);
- query.setParameter(ApplicationData.USER_IDS_PARAM, userIds);
- query.setParameter(ApplicationData.APP_URL_PARAM, appId);
+ query.setParameter(JpaApplicationData.USER_IDS_PARAM, userIds);
+ query.setParameter(JpaApplicationData.APP_URL_PARAM, appId);
List<JpaSerializableApplicationData> results = query.getResultList();
for (JpaSerializableApplicationData applicationData : results) {
applicationData.deserializeData();
}
- return new ArrayList<ApplicationData>(results);
+ return CollectionUtils.<ApplicationData>toBaseTypedList(results);
}
@Override
- public ApplicationData getApplicationData(String personId, String appId) {
- TypedQuery<JpaSerializableApplicationData> query = manager.createNamedQuery(ApplicationData.FIND_BY_USER_ID_AND_APP_ID,
+ public JpaApplicationData getApplicationData(String personId, String appId) {
+ TypedQuery<JpaSerializableApplicationData> query = manager.createNamedQuery(JpaApplicationData.FIND_BY_USER_ID_AND_APP_ID,
JpaSerializableApplicationData.class);
- query.setParameter(ApplicationData.USER_ID_PARAM, personId);
- query.setParameter(ApplicationData.APP_URL_PARAM, appId);
+ query.setParameter(JpaApplicationData.USER_ID_PARAM, personId);
+ query.setParameter(JpaApplicationData.APP_URL_PARAM, appId);
JpaSerializableApplicationData applicationData = getSingleResult(query.getResultList());
if (applicationData != null) {
applicationData.deserializeData();
@@ -80,24 +110,7 @@ public class JpaApplicationDataRepositor
return applicationData;
}
- @Override
- public ApplicationData get(long id) {
- JpaSerializableApplicationData applicationData = (JpaSerializableApplicationData) super.get(id);
- if (applicationData != null) {
- applicationData.deserializeData();
- }
- return applicationData;
- }
-
- @Override
- @Transactional
- public ApplicationData save(ApplicationData applicationData) {
- JpaSerializableApplicationData jpaSerializableApplicationData = getJpaSerializableApplicationData(applicationData);
- jpaSerializableApplicationData.serializeData();
- return super.save(jpaSerializableApplicationData);
- }
-
- private JpaSerializableApplicationData getJpaSerializableApplicationData(ApplicationData applicationData) {
+ private JpaSerializableApplicationData getJpaSerializableApplicationData(JpaApplicationData applicationData) {
if (applicationData instanceof JpaSerializableApplicationData) {
return (JpaSerializableApplicationData) applicationData;
}
@@ -114,7 +127,7 @@ public class JpaApplicationDataRepositor
* uses this model for the actual persistence to the database.
*/
@Entity
- public static class JpaSerializableApplicationData extends ApplicationData {
+ public static class JpaSerializableApplicationData extends JpaApplicationData {
@Lob
@Column(name = "serialized_data")
private String serializedData;
Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultAppDataService.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/opensocial/service/impl/DefaultAppDataService.java?rev=1348982&r1=1348981&r2=1348982&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultAppDataService.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/main/java/org/apache/rave/opensocial/service/impl/DefaultAppDataService.java Mon Jun 11 19:43:51 2012
@@ -21,7 +21,7 @@ package org.apache.rave.opensocial.servi
import org.apache.commons.lang.StringUtils;
import org.apache.rave.opensocial.model.ApplicationData;
-import org.apache.rave.portal.model.JpaPerson;
+import org.apache.rave.opensocial.model.impl.ApplicationDataImpl;
import org.apache.rave.portal.model.Person;
import org.apache.rave.opensocial.repository.ApplicationDataRepository;
import org.apache.rave.opensocial.service.SimplePersonService;
@@ -163,7 +163,7 @@ public class DefaultAppDataService imple
//if there is no data, create an empty object to store the data in that we'll save when we're done
if (applicationData == null) {
- applicationData = new ApplicationData(null, personId, appId, new HashMap<String, String>());
+ applicationData = new ApplicationDataImpl(null, personId, appId, new HashMap<String, String>());
}
//if the fields parameter is empty, we can just use the values map directly since this is a full update
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=1348982&r1=1348981&r2=1348982&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 19:43:51 2012
@@ -29,7 +29,7 @@
<class>org.apache.rave.portal.model.JpaPersonProperty</class>
<class>org.apache.rave.portal.model.JpaAddress</class>
<class>org.apache.rave.portal.model.JpaOrganization</class>
- <class>org.apache.rave.opensocial.model.ApplicationData</class>
+ <class>org.apache.rave.opensocial.model.JpaApplicationData</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.JpaOAuthConsumerStore</class>
Added: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverterTest.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/opensocial/model/conversion/JpaApplicationDataConverterTest.java?rev=1348982&view=auto
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverterTest.java (added)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/model/conversion/JpaApplicationDataConverterTest.java Mon Jun 11 19:43:51 2012
@@ -0,0 +1,71 @@
+/*
+ * 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.opensocial.model.conversion;
+
+import org.apache.rave.opensocial.model.ApplicationData;
+import org.apache.rave.opensocial.model.JpaApplicationData;
+import org.apache.rave.opensocial.model.impl.ApplicationDataImpl;
+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 java.util.HashMap;
+
+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 JpaApplicationDataConverterTest {
+
+ @Autowired
+ private JpaApplicationDataConverter applicationDataConverter;
+
+ @Test
+ public void noConversion() {
+ ApplicationData applicationData = new JpaApplicationData();
+ assertThat(applicationDataConverter.convert(applicationData), is(sameInstance(applicationData)));
+ }
+
+ @Test
+ public void nullConversion() {
+ ApplicationData applicationData = null;
+ assertThat(applicationDataConverter.convert(applicationData), is(nullValue()));
+ }
+
+ @Test
+ public void newApplicationData() {
+ ApplicationData applicationData = new ApplicationDataImpl();
+ applicationData.setId(1L);
+ applicationData.setAppUrl("url");
+ applicationData.setData(new HashMap<String, String>());
+ applicationData.setUserId("userid");
+
+ JpaApplicationData converted = applicationDataConverter.convert(applicationData);
+ assertThat(converted, is(not(sameInstance(applicationData))));
+ assertThat(converted, is(instanceOf(JpaApplicationData.class)));
+ assertThat(converted.getId(), is(equalTo(applicationData.getId())));
+ assertThat(converted.getEntityId(), is(equalTo(applicationData.getId())));
+ assertThat(converted.getAppUrl(), is(equalTo(applicationData.getAppUrl())));
+ assertThat(converted.getData(), is(equalTo(applicationData.getData())));
+ assertThat(converted.getUserId(), is(equalTo(applicationData.getUserId())));
+ }
+}
\ 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/opensocial/repository/JpaApplicationDataRepositoryTest.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/opensocial/repository/JpaApplicationDataRepositoryTest.java?rev=1348982&r1=1348981&r2=1348982&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/repository/JpaApplicationDataRepositoryTest.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/repository/JpaApplicationDataRepositoryTest.java Mon Jun 11 19:43:51 2012
@@ -19,6 +19,7 @@
package org.apache.rave.opensocial.repository;
import org.apache.rave.opensocial.model.ApplicationData;
+import org.apache.rave.opensocial.model.JpaApplicationData;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -66,7 +67,7 @@ public class JpaApplicationDataRepositor
@Test
public void get_valid() {
- ApplicationData applicationData = repository.get(VALID_APPLICATION_DATA_ID);
+ JpaApplicationData applicationData = (JpaApplicationData) repository.get(VALID_APPLICATION_DATA_ID);
validateApplicationData(applicationData);
}
@@ -78,7 +79,7 @@ public class JpaApplicationDataRepositor
@Test
public void getApplicationData_byUserIdAndApplicationId_valid() {
- ApplicationData applicationData = repository.getApplicationData(VALID_USER_ID, VALID_APPLICATION_ID);
+ JpaApplicationData applicationData = (JpaApplicationData) repository.getApplicationData(VALID_USER_ID, VALID_APPLICATION_ID);
validateApplicationData(applicationData);
}
@@ -92,7 +93,7 @@ public class JpaApplicationDataRepositor
public void getApplicationData_byUserIdsAndApplicationId_valid() {
List<ApplicationData> applicationData = repository.getApplicationData(Arrays.asList(VALID_USER_ID),
VALID_APPLICATION_ID);
- validateApplicationData(applicationData.get(0));
+ validateApplicationData((JpaApplicationData)applicationData.get(0));
}
@Test
@@ -109,17 +110,17 @@ public class JpaApplicationDataRepositor
VALID_APPLICATION_ID);
//Since there is no appdata in the database for "NO-DATA-USER" we should only get back one result
assertThat(applicationData.size(), is(equalTo(1)));
- validateApplicationData(applicationData.get(0));
+ validateApplicationData((JpaApplicationData)applicationData.get(0));
}
@Test
@Transactional
@Rollback(true)
public void save_newEntity() {
- ApplicationData applicationData = new ApplicationData(null, VALID_USER_ID, SECOND_VALID_APPLICATION_ID,
+ ApplicationData applicationData = new JpaApplicationData(null, VALID_USER_ID, SECOND_VALID_APPLICATION_ID,
validApplicationDataMap);
- ApplicationData saved = repository.save(applicationData);
+ JpaApplicationData saved = (JpaApplicationData)repository.save(applicationData);
manager.flush();
assertThat(saved.getEntityId(), is(notNullValue()));
}
@@ -128,16 +129,16 @@ public class JpaApplicationDataRepositor
@Transactional
@Rollback(true)
public void save_existingEntity() {
- ApplicationData applicationData = new ApplicationData(VALID_APPLICATION_DATA_ID, VALID_USER_ID,
+ JpaApplicationData applicationData = new JpaApplicationData(VALID_APPLICATION_DATA_ID, VALID_USER_ID,
VALID_APPLICATION_ID, new HashMap<String, String>());
- ApplicationData saved = repository.save(applicationData);
+ JpaApplicationData saved = (JpaApplicationData)repository.save(applicationData);
manager.flush();
assertThat(saved, is(not(sameInstance(applicationData))));
assertThat(saved.getEntityId(), is(equalTo(applicationData.getEntityId())));
}
- private void validateApplicationData(ApplicationData applicationData) {
+ private void validateApplicationData(JpaApplicationData applicationData) {
assertThat(applicationData, is(not(nullValue())));
assertThat(applicationData.getEntityId(), is(equalTo(VALID_APPLICATION_DATA_ID)));
assertThat(applicationData.getUserId(), is(equalTo(VALID_USER_ID)));
Modified: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/AppDataServiceTest.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/opensocial/service/AppDataServiceTest.java?rev=1348982&r1=1348981&r2=1348982&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/AppDataServiceTest.java (original)
+++ rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-core/src/test/java/org/apache/rave/opensocial/service/AppDataServiceTest.java Mon Jun 11 19:43:51 2012
@@ -20,6 +20,7 @@
package org.apache.rave.opensocial.service;
import org.apache.rave.opensocial.model.ApplicationData;
+import org.apache.rave.opensocial.model.impl.ApplicationDataImpl;
import org.apache.rave.portal.model.JpaPerson;
import org.apache.rave.portal.model.Person;
import org.apache.rave.opensocial.repository.ApplicationDataRepository;
@@ -75,7 +76,7 @@ public class AppDataServiceTest {
validApplicationDataMap.put("color", "blue");
validApplicationDataMap.put("speed", "fast");
validApplicationDataMap.put("state", "MA");
- validApplicationData = new ApplicationData(VALID_APPLICATION_DATA_ID, VALID_VIEWER_ID, VALID_APPLICATION_ID,
+ validApplicationData = new ApplicationDataImpl(VALID_APPLICATION_DATA_ID, VALID_VIEWER_ID, VALID_APPLICATION_ID,
validApplicationDataMap);
validPerson = new JpaPerson();
@@ -163,7 +164,7 @@ public class AppDataServiceTest {
@Test
public void deletePersonData_validRequest_emptyApplicationData() throws Exception {
- ApplicationData applicationData = new ApplicationData();
+ ApplicationData applicationData = new ApplicationDataImpl();
testDeletePersonDataNoAppDataExpected(applicationData);
}
@@ -306,11 +307,11 @@ public class AppDataServiceTest {
appDataService.deletePersonData(userId, groupId, VALID_APPLICATION_ID, fieldsToDelete, securityToken);
- ApplicationData expectedApplicationData = new ApplicationData(applicationData.getEntityId(),
+ ApplicationData expectedApplicationData = new ApplicationDataImpl(applicationData.getId(),
applicationData.getUserId(), applicationData.getAppUrl(), expectedApplicationDataAfterDelete);
ApplicationData actualApplicationData = capturedApplicationData.getValue();
- assertEquals(expectedApplicationData.getEntityId(), actualApplicationData.getEntityId());
+ assertEquals(expectedApplicationData.getId(), actualApplicationData.getId());
assertEquals(expectedApplicationData.getUserId(), actualApplicationData.getUserId());
assertEquals(expectedApplicationData.getAppUrl(), actualApplicationData.getAppUrl());
assertEquals(expectedApplicationData.getData(), actualApplicationData.getData());
@@ -366,13 +367,13 @@ public class AppDataServiceTest {
appDataService.updatePersonData(userId, groupId, VALID_APPLICATION_ID, fields, values, securityToken);
- ApplicationData expectedApplicationData = applicationData == null ? new ApplicationData(null, VALID_USER_ID,
+ ApplicationDataImpl expectedApplicationData = applicationData == null ? new ApplicationDataImpl(null, VALID_USER_ID,
VALID_APPLICATION_ID, expectedApplicationDataAfterUpdate) :
- new ApplicationData(applicationData.getEntityId(), applicationData.getUserId(),
+ new ApplicationDataImpl(applicationData.getId(), applicationData.getUserId(),
applicationData.getAppUrl(), expectedApplicationDataAfterUpdate);
ApplicationData actualApplicationData = capturedApplicationData.getValue();
- assertEquals(expectedApplicationData.getEntityId(), actualApplicationData.getEntityId());
+ assertEquals(expectedApplicationData.getId(), actualApplicationData.getId());
assertEquals(expectedApplicationData.getUserId(), actualApplicationData.getUserId());
assertEquals(expectedApplicationData.getAppUrl(), actualApplicationData.getAppUrl());
assertEquals(expectedApplicationData.getData(), actualApplicationData.getData());
Propchange: rave/branches/model_interfaces/rave-providers/rave-opensocial-provider/rave-opensocial-server/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jun 11 19:43:51 2012
@@ -1,3 +1,4 @@
.settings
target
.project
+*.iml