You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mf...@apache.org on 2012/08/27 15:30:14 UTC
svn commit: r1377675 - in /rave/branches/model-split/rave-components:
rave-core/src/main/java/org/apache/rave/portal/model/
rave-core/src/main/java/org/apache/rave/portal/model/impl/
rave-core/src/main/java/org/apache/rave/portal/security/impl/ rave-co...
Author: mfranklin
Date: Mon Aug 27 13:30:13 2012
New Revision: 1377675
URL: http://svn.apache.org/viewvc?rev=1377675&view=rev
Log:
Refactored Widget (RAVE-729)
Modified:
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java
rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluator.java
rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluatorTest.java
rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java
rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaWidgetConverter.java
rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaWidgetRepository.java
rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/JpaWidgetConverterTest.java
rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaWidgetRepositoryTest.java
rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/Widget.java Mon Aug 27 13:30:13 2012
@@ -71,9 +71,9 @@ public interface Widget {
void setComments(List<WidgetComment> comments);
- User getOwner();
+ String getOwnerId();
- void setOwner(User owner);
+ void setOwnerId(String owner);
/**
* Gets the collection of user ratings for this Widget.
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/WidgetImpl.java Mon Aug 27 13:30:13 2012
@@ -35,7 +35,7 @@ public class WidgetImpl implements Widge
private String description;
private WidgetStatus widgetStatus;
private List<WidgetComment> comments;
- private User owner;
+ private String ownerId;
private boolean disableRendering;
private String disableRenderingMessage;
private List<WidgetRating> ratings;
@@ -150,12 +150,12 @@ public class WidgetImpl implements Widge
this.comments = comments;
}
- public User getOwner() {
- return owner;
+ public String getOwnerId() {
+ return ownerId;
}
- public void setOwner(User owner) {
- this.owner = owner;
+ public void setOwnerId(String owner) {
+ this.ownerId = owner;
}
public boolean isDisableRendering() {
@@ -223,7 +223,7 @@ public class WidgetImpl implements Widge
if (disableRenderingMessage != null ? !disableRenderingMessage.equals(widget.disableRenderingMessage) : widget.disableRenderingMessage != null)
return false;
if (id != null ? !id.equals(widget.id) : widget.id != null) return false;
- if (owner != null ? !owner.equals(widget.owner) : widget.owner != null) return false;
+ if (ownerId != null ? !ownerId.equals(widget.ownerId) : widget.ownerId != null) return false;
if (ratings != null ? !ratings.equals(widget.ratings) : widget.ratings != null) return false;
if (screenshotUrl != null ? !screenshotUrl.equals(widget.screenshotUrl) : widget.screenshotUrl != null)
return false;
@@ -253,7 +253,7 @@ public class WidgetImpl implements Widge
result = 31 * result + (description != null ? description.hashCode() : 0);
result = 31 * result + (widgetStatus != null ? widgetStatus.hashCode() : 0);
result = 31 * result + (comments != null ? comments.hashCode() : 0);
- result = 31 * result + (owner != null ? owner.hashCode() : 0);
+ result = 31 * result + (ownerId != null ? ownerId.hashCode() : 0);
result = 31 * result + (disableRendering ? 1 : 0);
result = 31 * result + (disableRenderingMessage != null ? disableRenderingMessage.hashCode() : 0);
result = 31 * result + (ratings != null ? ratings.hashCode() : 0);
Modified: rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluator.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluator.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluator.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/main/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluator.java Mon Aug 27 13:30:13 2012
@@ -144,7 +144,7 @@ public class DefaultWidgetPermissionEval
// if trustedDomainObject is false, pull the entity from the database first to ensure
// the model object is trusted and hasn't been modified
private boolean isWidgetOwner(Authentication authentication, Widget widget, List<Widget> trustedWidgetContainer, boolean trustedDomainObject) {
- if (widget.getOwner() == null) {
+ if (widget.getOwnerId() == null) {
return false;
}
Widget trustedWidget;
@@ -153,7 +153,7 @@ public class DefaultWidgetPermissionEval
} else {
trustedWidget = getTrustedWidget(widget.getId(), trustedWidgetContainer);
}
- return isWidgetOwnerByUsername(authentication, trustedWidget.getOwner().getUsername());
+ return isWidgetOwnerById(authentication, trustedWidget.getOwnerId());
}
private boolean isWidgetOwnerByUsername(Authentication authentication, String username) {
Modified: rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluatorTest.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluatorTest.java (original)
+++ rave/branches/model-split/rave-components/rave-core/src/test/java/org/apache/rave/portal/security/impl/DefaultWidgetPermissionEvaluatorTest.java Mon Aug 27 13:30:13 2012
@@ -54,6 +54,7 @@ public class DefaultWidgetPermissionEval
private final String VALID_WIDGET_ID = "1";
private final String VALID_PAGE_ID = "3";
private final String VALID_USER_ID = "99";
+ private final String VALID_USER_ID2 = "66";
private final String VALID_USERNAME = "john.doe";
private final String VALID_USERNAME2 = "jane.doe";
@@ -68,11 +69,12 @@ public class DefaultWidgetPermissionEval
user.setId(VALID_USER_ID);
user2 = new UserImpl();
user2.setUsername(VALID_USERNAME2);
+ user2.setId(VALID_USER_ID2);
page = new PageImpl();
page.setId(VALID_PAGE_ID);
page.setOwnerId(user.getId());
widget = new WidgetImpl(VALID_WIDGET_ID);
- widget.setOwner(user);
+ widget.setOwnerId(VALID_USER_ID);
widget.setWidgetStatus(WidgetStatus.PUBLISHED);
grantedAuthoritiesList = new ArrayList<GrantedAuthority>();
grantedAuthoritiesList.add(new SimpleGrantedAuthority("ROLE_USER"));
Modified: rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java (original)
+++ rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaWidget.java Mon Aug 27 13:30:13 2012
@@ -21,7 +21,6 @@ package org.apache.rave.portal.model;
import org.apache.rave.persistence.BasicEntity;
import org.apache.rave.portal.model.conversion.ConvertingListProxyFactory;
-import org.apache.rave.portal.model.conversion.JpaConverter;
import javax.persistence.Access;
import javax.persistence.AccessType;
@@ -39,7 +38,6 @@ import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Lob;
import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
@@ -83,7 +81,7 @@ import java.util.List;
@NamedQuery(name = JpaWidget.WIDGET_GET_BY_TAG, query = JpaWidget.SELECT_W_FROM_WIDGET_W + JpaWidget.JOIN_TAGS+ JpaWidget.ORDER_BY_TITLE_ASC),
@NamedQuery(name = JpaWidget.WIDGET_COUNT_BY_TAG, query = JpaWidget.SELECT_COUNT_W_FROM_WIDGET_W + JpaWidget.JOIN_TAGS),
- @NamedQuery(name = JpaWidget.WIDGET_UNASSIGN_OWNER, query = "UPDATE JpaWidget w SET w.owner = null WHERE w.owner.entityId = :owner")
+ @NamedQuery(name = JpaWidget.WIDGET_UNASSIGN_OWNER, query = "UPDATE JpaWidget w SET w.ownerId = null " + JpaWidget.WHERE_CLAUSE_OWNER )
})
public class JpaWidget implements BasicEntity, Serializable, Widget {
private static final long serialVersionUID = 1L;
@@ -114,7 +112,7 @@ public class JpaWidget implements BasicE
" WHERE lower(w.title) LIKE :" + PARAM_SEARCH_TERM + " OR w.description LIKE :description";
static final String WHERE_CLAUSE_STATUS = " WHERE w.widgetStatus = :" + PARAM_STATUS;
static final String WHERE_CLAUSE_URL = " WHERE w.url = :" + PARAM_URL;
- static final String WHERE_CLAUSE_OWNER = " WHERE w.owner = :" + PARAM_OWNER;
+ static final String WHERE_CLAUSE_OWNER = " WHERE w.ownerId = :" + PARAM_OWNER;
static final String WIDGET_TAG_BY_KEYWORD=" (select t.widgetId from JpaWidgetTag t where lower(t.tag.keyword)=:"+PARAM_TAG+")";
static final String JOIN_TAGS=" WHERE w.entityId in"+WIDGET_TAG_BY_KEYWORD;
@@ -130,8 +128,7 @@ public class JpaWidget implements BasicE
/*
TODO RAVE-234: Figure out what the OpenJPA strategy is for functionality provided by Eclisplink's @Convert
- */
- @XmlElement
+ */ @XmlElement
@Basic
@Column(name = "title")
private String title;
@@ -186,9 +183,9 @@ public class JpaWidget implements BasicE
@JoinColumn(name = "widget_id", referencedColumnName = "entity_id")
private List<JpaWidgetComment> comments;
- @ManyToOne
- @JoinColumn(name = "owner_id")
- private JpaUser owner;
+ @Basic
+ @Column(name = "owner_id")
+ private String ownerId;
@XmlElement
@Basic
@@ -377,13 +374,13 @@ public class JpaWidget implements BasicE
}
@Override
- public User getOwner() {
- return owner;
+ public String getOwnerId() {
+ return ownerId;
}
@Override
- public void setOwner(User owner) {
- this.owner = JpaConverter.getInstance().convert(owner, User.class);
+ public void setOwnerId(String owner) {
+ this.ownerId = owner;
}
@Override
@@ -501,7 +498,7 @@ public class JpaWidget implements BasicE
", author='" + author + '\'' +
", description='" + description + '\'' +
", widgetStatus=" + widgetStatus + '\'' +
- ", owner=" + owner + '\'' +
+ ", ownerId=" + ownerId + '\'' +
", featured=" + featured + '\'' +
", disable_rendering=" + disableRendering + '\'' +
", disable_rendering_message=" + disableRenderingMessage +
Modified: rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaWidgetConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaWidgetConverter.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaWidgetConverter.java (original)
+++ rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaWidgetConverter.java Mon Aug 27 13:30:13 2012
@@ -67,7 +67,7 @@ public class JpaWidgetConverter implemen
converted.setDescription(source.getDescription());
converted.setWidgetStatus(source.getWidgetStatus());
converted.setComments(source.getComments());
- converted.setOwner(source.getOwner());
+ converted.setOwnerId(source.getOwnerId());
converted.setDisableRendering(source.isDisableRendering());
converted.setRatings(source.getRatings());
converted.setTags(source.getTags());
Modified: rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaWidgetRepository.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaWidgetRepository.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaWidgetRepository.java (original)
+++ rave/branches/model-split/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/repository/impl/JpaWidgetRepository.java Mon Aug 27 13:30:13 2012
@@ -130,14 +130,14 @@ public class JpaWidgetRepository impleme
@Override
public List<Widget> getByOwner(User owner, int offset, int pageSize) {
TypedQuery<JpaWidget> query = manager.createNamedQuery(JpaWidget.WIDGET_GET_BY_OWNER, JpaWidget.class);
- query.setParameter(JpaWidget.PARAM_OWNER, owner);
+ query.setParameter(JpaWidget.PARAM_OWNER, owner.getId());
return CollectionUtils.<Widget>toBaseTypedList(getPagedResultList(query, offset, pageSize));
}
@Override
public int getCountByOwner(User owner, int offset, int pageSize) {
Query query = manager.createNamedQuery(JpaWidget.WIDGET_COUNT_BY_OWNER);
- query.setParameter(JpaWidget.PARAM_OWNER, owner);
+ query.setParameter(JpaWidget.PARAM_OWNER, owner.getId());
Number countResult = (Number) query.getSingleResult();
return countResult.intValue();
}
@@ -278,7 +278,7 @@ public class JpaWidgetRepository impleme
@Override
public int unassignWidgetOwner(String userId) {
Query query = manager.createNamedQuery(JpaWidget.WIDGET_UNASSIGN_OWNER);
- query.setParameter(JpaWidget.PARAM_OWNER, userId == null ? null : Long.parseLong(userId));
+ query.setParameter(JpaWidget.PARAM_OWNER, userId);
return query.executeUpdate();
}
Modified: rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/JpaWidgetConverterTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/JpaWidgetConverterTest.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/JpaWidgetConverterTest.java (original)
+++ rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/JpaWidgetConverterTest.java Mon Aug 27 13:30:13 2012
@@ -19,7 +19,6 @@
package org.apache.rave.portal.model.conversion;
import org.apache.rave.portal.model.*;
-import org.apache.rave.portal.model.impl.UserImpl;
import org.apache.rave.portal.model.impl.WidgetImpl;
import org.junit.Before;
import org.junit.Test;
@@ -73,7 +72,7 @@ public class JpaWidgetConverterTest {
template.setDescription("TEST_J");
template.setWidgetStatus(WidgetStatus.PUBLISHED);
template.setComments(new ArrayList<WidgetComment>());
- template.setOwner(new UserImpl("24"));
+ template.setOwnerId("24");
template.setDisableRendering(true);
template.setRatings(new ArrayList<WidgetRating>());
template.setTags(new ArrayList<WidgetTag>());
@@ -97,7 +96,7 @@ public class JpaWidgetConverterTest {
assertThat(jpaTemplate.getDescription(), is(equalTo(template.getDescription())));
assertThat(jpaTemplate.getWidgetStatus(), is(equalTo(template.getWidgetStatus())));
assertThat(jpaTemplate.getComments(), is(equalTo(template.getComments())));
- assertThat(jpaTemplate.getOwner().getId(), is(equalTo(template.getOwner().getId())));
+ assertThat(jpaTemplate.getOwnerId(), is(equalTo(template.getOwnerId())));
assertThat(jpaTemplate.isDisableRendering(), is(equalTo(template.isDisableRendering())));
assertThat(jpaTemplate.getRatings(), is(equalTo(template.getRatings())));
assertThat(jpaTemplate.getTags(), is(equalTo(template.getTags())));
Modified: rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaWidgetRepositoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaWidgetRepositoryTest.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaWidgetRepositoryTest.java (original)
+++ rave/branches/model-split/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/repository/impl/JpaWidgetRepositoryTest.java Mon Aug 27 13:30:13 2012
@@ -470,11 +470,11 @@ public class JpaWidgetRepositoryTest {
final int NUM_WIDGETS_OWNED_BY_USER = 16;
Widget widget = repository.get(WIDGET_ID);
- assertThat(widget.getOwner().getId(), is(USER_ID));
+ assertThat(widget.getOwnerId(), is(USER_ID));
assertThat(repository.unassignWidgetOwner(USER_ID), is(NUM_WIDGETS_OWNED_BY_USER));
sharedManager.flush();
sharedManager.refresh(widget);
- assertThat(widget.getOwner(), is(nullValue()));
+ assertThat(widget.getOwnerId(), is(nullValue()));
}
@Test
Modified: rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java
URL: http://svn.apache.org/viewvc/rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java?rev=1377675&r1=1377674&r2=1377675&view=diff
==============================================================================
--- rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java (original)
+++ rave/branches/model-split/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/WidgetStoreController.java Mon Aug 27 13:30:13 2012
@@ -312,7 +312,7 @@ public class WidgetStoreController {
widget.setWidgetStatus(WidgetStatus.PREVIEW);
}
- widget.setOwner(user);
+ widget.setOwnerId(user.getId());
final Widget storedWidget = widgetService.registerNewWidget(widget);
return "redirect:/app/store/widget/" + storedWidget.getId() + "?referringPageId=" + referringPageId;