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;