You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2014/02/07 16:55:16 UTC

svn commit: r1565697 - /wookie/trunk/wookie-services/wookie-jpa/src/main/java/org/apache/wookie/beans/jpa/impl/WidgetInstanceImpl.java

Author: scottbw
Date: Fri Feb  7 15:55:16 2014
New Revision: 1565697

URL: http://svn.apache.org/r1565697
Log:
Decoupled the JPA WidgetInstance and Widget implementations to make it easier to keep the SPIs separate

Modified:
    wookie/trunk/wookie-services/wookie-jpa/src/main/java/org/apache/wookie/beans/jpa/impl/WidgetInstanceImpl.java

Modified: wookie/trunk/wookie-services/wookie-jpa/src/main/java/org/apache/wookie/beans/jpa/impl/WidgetInstanceImpl.java
URL: http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-jpa/src/main/java/org/apache/wookie/beans/jpa/impl/WidgetInstanceImpl.java?rev=1565697&r1=1565696&r2=1565697&view=diff
==============================================================================
--- wookie/trunk/wookie-services/wookie-jpa/src/main/java/org/apache/wookie/beans/jpa/impl/WidgetInstanceImpl.java (original)
+++ wookie/trunk/wookie-services/wookie-jpa/src/main/java/org/apache/wookie/beans/jpa/impl/WidgetInstanceImpl.java Fri Feb  7 15:55:16 2014
@@ -22,12 +22,10 @@ import javax.persistence.Basic;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
-import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.OneToMany;
@@ -40,6 +38,7 @@ import org.apache.openjpa.persistence.Ty
 import org.apache.wookie.beans.IPreference;
 import org.apache.wookie.beans.IWidget;
 import org.apache.wookie.beans.IWidgetInstance;
+import org.apache.wookie.services.WidgetMetadataService;
 
 /**
  * WidgetInstanceImpl - JPA IWidgetInstance implementation.
@@ -49,7 +48,7 @@ import org.apache.wookie.beans.IWidgetIn
  */
 @Entity(name="WidgetInstance")
 @Table(name="WidgetInstance")
-@NamedQueries({@NamedQuery(name="WIDGET_INSTANCE_GUID", query="SELECT wi FROM WidgetInstance wi JOIN wi.widget w WHERE wi.apiKey = :apiKey AND wi.userId = :userId AND wi.sharedDataKey = :sharedDataKey AND w.guid = :guid"),
+@NamedQueries({@NamedQuery(name="WIDGET_INSTANCE_GUID", query="SELECT wi FROM WidgetInstance wi WHERE wi.apiKey = :apiKey AND wi.userId = :userId AND wi.sharedDataKey = :sharedDataKey AND wi.widgetId = :guid"),
                @NamedQuery(name="WIDGET_INSTANCE_ID", query="SELECT wi FROM WidgetInstance wi WHERE wi.idKey = :idKey")})
 public class WidgetInstanceImpl implements IWidgetInstance
 {
@@ -86,10 +85,10 @@ public class WidgetInstanceImpl implemen
     @Basic(optional=false)
     @Column(name="opensocialToken", nullable=false)
     private String opensocialToken;
-
-    @ManyToOne(fetch=FetchType.LAZY, optional=false)
-    @JoinColumn(name="widget_id", referencedColumnName="id", nullable=false)
-    private WidgetImpl widget;
+    
+    @Basic
+    @Column(name="widget_id")
+    private String widgetId;
 
     @Basic
     @Column(name="updated")
@@ -276,7 +275,7 @@ public class WidgetInstanceImpl implemen
      */
     public IWidget getWidget()
     {
-        return widget;
+    	return WidgetMetadataService.Factory.getInstance().getWidget(this.widgetId);
     }
 
     /* (non-Javadoc)
@@ -284,7 +283,7 @@ public class WidgetInstanceImpl implemen
      */
     public void setWidget(IWidget widget)
     {
-        this.widget = (WidgetImpl)widget;
+    	this.widgetId = widget.getIdentifier();
     }
 
     /* (non-Javadoc)