Author: ieb
Date: Mon Sep 15 07:18:10 2008
New Revision: 695480
URL: http://svn.apache.org/viewvc?rev=695480&view=rev
Log:
SHINDIG-594
Code cleanup and documentation of the more obscure jpa relationships.
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AccountDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityTemplateParamsDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AddressDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/BodyTypeDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/DbObject.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EmailDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EnumDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ImDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ListFieldDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MediaItemDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MessageDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationAddressDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonOrganizationDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonPropertiesDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhoneDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhotoDb.java
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/UrlDb.java
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaOpenJPATestOff.java
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaTest.java
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AccountDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AccountDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AccountDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AccountDb.java
Mon Sep 15 07:18:10 2008
@@ -18,6 +18,7 @@
package org.apache.shindig.social.opensocial.jpa;
import org.apache.shindig.social.opensocial.model.Account;
+import org.apache.shindig.social.opensocial.model.Person;
import javax.persistence.Basic;
import javax.persistence.Column;
@@ -33,29 +34,54 @@
import static javax.persistence.GenerationType.IDENTITY;
+/**
+ * Storage object for the Person. Stored in a table "account" which is also
used by
+ * joined extension classes, the account usage column defines the class where
the extension
+ * is used, but in most cases addresses are shared and this column has the
value "sharedaccount"
+ * For more information on the API see [EMAIL PROTECTED] Account}
+ */
@Entity
@Table(name = "account")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "account_usage")
@DiscriminatorValue(value = "sharedaccount")
public class AccountDb implements Account, DbObject {
+ /**
+ * The internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
protected long objectId;
+ /**
+ * An optimistic locking field.
+ */
@Version
@Column(name = "version")
protected long version;
+ /**
+ * model field.
+ * @see Account
+ */
@Basic
@Column(name = "domain", length = 255)
protected String domain;
+ /**
+ * model field.
+ * @see Account
+ */
@Basic
@Column(name = "user_id", length = 255)
protected String userId;
+ /**
+ * model field.
+ * @see Account
+ */
@Basic
@Column(name = "username", length = 255)
protected String username;
@@ -100,10 +126,4 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityDb.java
Mon Sep 15 07:18:10 2008
@@ -19,6 +19,7 @@
import static javax.persistence.GenerationType.IDENTITY;
+import org.apache.shindig.social.opensocial.model.Account;
import org.apache.shindig.social.opensocial.model.Activity;
import org.apache.shindig.social.opensocial.model.MediaItem;
@@ -48,15 +49,25 @@
import java.util.concurrent.ConcurrentHashMap;
import static javax.persistence.CascadeType.ALL;
+/**
+ * Activity model object stored in the "activity" table.
+ */
@Entity
@Table(name = "activity")
public class ActivityDb implements Activity, DbObject {
+ /**
+ * The internal object ID used for references to this object. Should be
generated by the
+ * underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
protected long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name = "version")
protected long version;
@@ -90,57 +101,106 @@
* Do a many to many join using table activity_media
*/
@ManyToMany(targetEntity = MediaItemDb.class)
- @JoinTable(name = "activity_media", joinColumns = @JoinColumn(name =
"activity_id", referencedColumnName = "oid"), inverseJoinColumns =
@JoinColumn(name = "media_id", referencedColumnName = "oid"))
+ @JoinTable(name = "activity_media",
+ joinColumns = @JoinColumn
+ ( name = "activity_id", referencedColumnName = "oid"),
+ inverseJoinColumns = @JoinColumn
+ (name = "media_id", referencedColumnName = "oid"))
protected List<MediaItem> mediaItems;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "posted_time")
protected Long postedTime;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "priority")
protected Float priority;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "stream_favicon_url", length = 255)
protected String streamFaviconUrl;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "stream_source_url", length = 255)
protected String streamSourceUrl;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "stream_title", length = 255)
protected String streamTitle;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "stream_url", length = 255)
protected String streamUrl;
- /*
+ /**
* Create map using ActivityTemplateParamsDb such that
ActivityTemplateParams are joined on oid ->
* activity_id and then the name value becomes the key, and the value
becomes the value
- * unfortunately JPA wont do Map<String,String> so this is handled in the
getter and setter.
+ * unfortunately JPA wont do Map<String,String> so this is handled in the
prePersist and postLoad
+ * hook.
*/
@OneToMany(targetEntity = ActivityTemplateParamsDb.class, mappedBy =
"activities", cascade = ALL)
@MapKey(name = "name")
protected Map<String, ActivityTemplateParamsDb> templateParamsDb;
+ /**
+ * The transient store for templateParamers loaded by the postLoad hook and
persisted by the
+ * prePersist hook.
+ */
@Transient
protected Map<String, String> templateParams;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "title", length = 255)
protected String title;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "title_id", length = 255)
protected String titleId;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "url", length = 255)
protected String url;
+ /**
+ * model field.
+ * @see Activity
+ */
@Basic
@Column(name = "user_id", length = 255)
protected String userId;
@@ -311,13 +371,6 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
-
@PrePersist
public void populateDbFields() {
// add new entries
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityTemplateParamsDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityTemplateParamsDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityTemplateParamsDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ActivityTemplateParamsDb.java
Mon Sep 15 07:18:10 2008
@@ -57,31 +57,44 @@
@Entity
@Table(name = "template_params")
public class ActivityTemplateParamsDb {
-
+ /**
+ * The internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
protected long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name = "version")
protected long version;
- // TODO: <openjpa-1.2.0-r422266:683325 fatal user error>
- // org.apache.openjpa.persistence.ArgumentException: The type of field
- //
"org.apache.shindig.social.opensocial.jpa.ActivityTemplateParamsDb.activities"
isn't supported
- // by declared persistence strategy "ManyToOne". Please choose a different
strategy.
- /*
- * Create a link to the activities joining activity_id here to oid in
activities
+ /**
+ * Create a link to the activities joining activity_id here to oid in
activities.
*/
@ManyToOne(targetEntity = ActivityDb.class, cascade = ALL)
@JoinColumn(name = "activity_id", referencedColumnName = "oid")
protected Collection<Activity> activities;
+ // TODO: <openjpa-1.2.0-r422266:683325 fatal user error>
+ // org.apache.openjpa.persistence.ArgumentException: The type of field
+ //
"org.apache.shindig.social.opensocial.jpa.ActivityTemplateParamsDb.activities"
isn't supported
+ // by declared persistence strategy "ManyToOne". Please choose a different
strategy.
+
+ /**
+ * The name of the value in the template parameters.
+ */
@Basic
@Column(name = "template_name")
protected String name;
+ /**
+ * The value of the parameter.
+ */
@Basic
@Column(name = "template_value")
protected String value;
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AddressDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AddressDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AddressDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/AddressDb.java
Mon Sep 15 07:18:10 2008
@@ -38,65 +38,127 @@
import java.util.List;
+/**
+ * Address storage, stored in "address", may be joined with other subclasses
and if so
+ * "address_usage" will contain the subclass discriminatory value.
+ * This might also be "sharedaddress" if this address is shared.
+ */
@Entity
@Table(name = "address")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "address_usage")
@DiscriminatorValue(value = "sharedaddress")
[EMAIL PROTECTED](name = AddressDb.FINDBY_POSTCODE, query = "select a from
AddressDb a where a.postalCode = :postalcode ")
[EMAIL PROTECTED](name = AddressDb.FINDBY_POSTCODE,
+ query = "select a from AddressDb a where a.postalCode = :postalcode ")
public class AddressDb implements Address, DbObject {
+ /**
+ * Name of the JPA query to find addresses by postcode
+ */
public static final String FINDBY_POSTCODE = "q.address.findbypostcode";
+ /**
+ * name of the postcode parameter used in named queries (JPA)
+ */
public static final String PARAM_POSTCODE = "postalcode";
+ /**
+ * The internal object ID used for references to this object. Should be
generated by the
+ * underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
private long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name = "version")
protected long version;
+ /**
+ * People may be at this address, this is a list of people who are currently
at this address.
+ */
@OneToMany(targetEntity = PersonDb.class, mappedBy = "currentLocation")
private List<Person> atLocation;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "country", length = 255)
private String country;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "latitude")
private Float latitude;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "longitude")
private Float longitude;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "locality", length = 255)
private String locality;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "postal_code", length = 255)
private String postalCode;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "region", length = 255)
private String region;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "street_address", length = 255)
private String streetAddress;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "type", length = 255)
private String type;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "formatted", length = 255)
private String formatted;
+ /**
+ * model field.
+ * @see Address
+ */
@Basic
@Column(name = "primary_address")
private Boolean primary;
@@ -196,13 +258,6 @@
}
/**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
-
- /**
* @return the atLocation
*/
public List<Person> getAtLocation() {
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/BodyTypeDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/BodyTypeDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/BodyTypeDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/BodyTypeDb.java
Mon Sep 15 07:18:10 2008
@@ -21,6 +21,7 @@
import static javax.persistence.GenerationType.IDENTITY;
+import org.apache.shindig.social.opensocial.model.Address;
import org.apache.shindig.social.opensocial.model.BodyType;
import org.apache.shindig.social.opensocial.model.Person;
@@ -37,22 +38,36 @@
import java.util.List;
/**
- * see
http://code.google.com/apis/opensocial/docs/0.7/reference/opensocial.BodyType.Field.html
- *
+ * The body type entity, stored in "body_type"
+ *
*/
@Entity
@Table(name = "body_type")
[EMAIL PROTECTED](name = BodyTypeDb.FINDBY_HEIGHT, query = "select b from
BodyTypeDb b where b.height = :height ")
[EMAIL PROTECTED](name = BodyTypeDb.FINDBY_HEIGHT,
+ query = "select b from BodyTypeDb b where b.height = :height ")
public class BodyTypeDb implements BodyType, DbObject {
+ /**
+ * Name of the JPA query to find BodyType by exact height, mainly used in
testing.
+ */
public static final String FINDBY_HEIGHT = "q.bosytype.findbyheight";
+ /**
+ * name of the height parameter in JPA queries.
+ */
public static final String PARAM_HEIGHT = "height";
+ /**
+ * The internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
private long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name = "version")
protected long version;
@@ -60,22 +75,42 @@
@OneToMany(targetEntity = PersonDb.class, mappedBy = "bodyType")
private List<Person> persons;
+ /**
+ * model field.
+ * @see BodyType
+ */
@Basic
@Column(name = "build", length = 255)
private String build;
+ /**
+ * model field.
+ * @see BodyType
+ */
@Basic
@Column(name = "eye_color", length = 255)
private String eyeColor;
+ /**
+ * model field.
+ * @see BodyType
+ */
@Basic
@Column(name = "hair_color", length = 255)
private String hairColor;
+ /**
+ * model field.
+ * @see BodyType
+ */
@Basic
@Column(name = "height", length = 255)
private String height;
+ /**
+ * model field.
+ * @see BodyType
+ */
@Basic
@Column(name = "weight", length = 255)
private String weight;
@@ -127,12 +162,6 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
/**
* @return the persons
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/DbObject.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/DbObject.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/DbObject.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/DbObject.java
Mon Sep 15 07:18:10 2008
@@ -19,9 +19,14 @@
/**
- *
+ * All Database objects should implement this, mainly to ensure that each has
an
+ * object ID. The object ID cant be set, its generated.
*/
public interface DbObject {
+ /**
+ * Get the internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism.
+ * @return the ID of the object
+ */
long getObjectId();
- void setObjectId(long objectId);
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EmailDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EmailDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EmailDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EmailDb.java
Mon Sep 15 07:18:10 2008
@@ -27,18 +27,31 @@
import javax.persistence.Table;
/**
- *
+ * Email Entity, extends the ListField object (and list_field table), joining
on the object ID.
+ * Objects of this type will have "list_field_type" set to EmailDb in
list_field
*/
@Entity
[EMAIL PROTECTED](name="email")
[EMAIL PROTECTED](name="oid")
[EMAIL PROTECTED](name=EmailDb.FINDBY_EMAIL,query="select e from EmailDb e
where e.value = :email ")
[EMAIL PROTECTED](name = "email")
[EMAIL PROTECTED](name = "oid")
[EMAIL PROTECTED](name = EmailDb.FINDBY_EMAIL, query = "select e from EmailDb e
where e.value = :email ")
public class EmailDb extends ListFieldDb {
+ /**
+ * The name of the JPA query to find Email by email address
+ */
public static final String FINDBY_EMAIL = "q.emai.findbyemail";
+ /**
+ * The name of the JPA parameter used for email address
+ */
public static final String PARAM_EMAIL = "email";
- @ManyToOne(targetEntity=PersonDb.class)
- @JoinColumn(name="person_id", referencedColumnName="oid")
+
+ /**
+ * A list of People who have this address, a human may have more than one
person and so may shared
+ * email addresses. Perhaps thats not valid in an implementation, but within
this model it is
+ * possible.
+ */
+ @ManyToOne(targetEntity = PersonDb.class)
+ @JoinColumn(name = "person_id", referencedColumnName = "oid")
protected Person person;
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EnumDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EnumDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EnumDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/EnumDb.java
Mon Sep 15 07:18:10 2008
@@ -19,12 +19,19 @@
import org.apache.shindig.social.opensocial.model.Enum;
+/**
+ * This a utility holder class for Enums to assist in database storage. It
does not have any
+ * database tables or persistence associated with it.
+ *
+ * @param <E> The Enum type.
+ */
public final class EnumDb<E extends Enum.EnumKey> implements Enum<E> {
private String displayValue;
private E value = null;
/**
* Constructs a Enum object.
+ *
* @param value EnumKey The key to use
* @param displayValue String The display value
*/
@@ -35,8 +42,8 @@
/**
* Constructs a Enum object.
- * @param value The key to use. Will use the value from getDisplayValue() as
- * the display value.
+ *
+ * @param value The key to use. Will use the value from getDisplayValue() as
the display value.
*/
public EnumDb(E value) {
this(value, value.getDisplayValue());
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ImDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ImDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ImDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ImDb.java
Mon Sep 15 07:18:10 2008
@@ -26,7 +26,9 @@
import javax.persistence.Table;
/**
- *
+ * IM (Instant Message account) Entity, extends the ListField object
+ * (and list_field table), joining on the object ID.
+ * Objects of this type will have "list_field_type" set to ImDb in list_field
*/
@Entity
@Table(name="im")
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ListFieldDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ListFieldDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ListFieldDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/ListFieldDb.java
Mon Sep 15 07:18:10 2008
@@ -40,11 +40,18 @@
@DiscriminatorColumn(name="list_field_type", length=30,
discriminatorType=DiscriminatorType.STRING)
@DiscriminatorValue(value="ListFieldDb")
public class ListFieldDb implements ListField, DbObject {
+ /**
+ * The internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy=IDENTITY)
@Column(name="oid")
protected long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name="version")
protected long version;
@@ -100,10 +107,4 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MediaItemDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MediaItemDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MediaItemDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MediaItemDb.java
Mon Sep 15 07:18:10 2008
@@ -37,18 +37,23 @@
import java.util.List;
/**
- * see
- *
http://code.google.com/apis/opensocial/docs/0.7/reference/opensocial.Activity.MediaItem.Field.html
*
*/
@Entity
@Table(name = "media_item")
public class MediaItemDb implements MediaItem, DbObject {
+ /**
+ * The internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
private long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name = "version")
protected long version;
@@ -114,13 +119,6 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
-
@PrePersist
public void populateDbFields() {
typeDb = type.toString();
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MessageDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MessageDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MessageDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/MessageDb.java
Mon Sep 15 07:18:10 2008
@@ -35,11 +35,18 @@
@Entity
@Table(name="message")
public class MessageDb implements Message, DbObject {
+ /**
+ * The internal object ID used for references to this object. Should be
generated
+ * by the underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy=IDENTITY)
@Column(name="oid")
protected long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name="version")
protected long version;
@@ -103,12 +110,6 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
@PrePersist
public void populateDbFields() {
typeDb = type.toString();
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/NameDb.java
Mon Sep 15 07:18:10 2008
@@ -35,47 +35,54 @@
import java.util.List;
@Entity
[EMAIL PROTECTED](name="name")
[EMAIL PROTECTED](name=NameDb.FINDBY_FAMILY_NAME,query="select n from NameDb n
where n.familyName = :familyName ")
[EMAIL PROTECTED](name = "name")
[EMAIL PROTECTED](name = NameDb.FINDBY_FAMILY_NAME,
+ query = "select n from NameDb n where n.familyName = :familyName ")
public class NameDb implements Name, DbObject {
public static final String FINDBY_FAMILY_NAME = "q.name.findbyfamilyname";
public static final String PARAM_FAMILY_NAME = "familyName";
+ /**
+ * The internal object ID used for references to this object. Should be
generated by the
+ * underlying storage mechanism
+ */
@Id
- @GeneratedValue(strategy=IDENTITY)
- @Column(name="oid")
+ @GeneratedValue(strategy = IDENTITY)
+ @Column(name = "oid")
private long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
- @Column(name="version")
+ @Column(name = "version")
protected long version;
-
- @OneToMany(targetEntity=PersonDb.class,mappedBy="name")
+ @OneToMany(targetEntity = PersonDb.class, mappedBy = "name")
private List<Person> persons;
@Basic
- @Column(name="additional_name", length=255)
+ @Column(name = "additional_name", length = 255)
private String additionalName;
-
+
@Basic
- @Column(name="family_name", length=255)
+ @Column(name = "family_name", length = 255)
private String familyName;
-
+
@Basic
- @Column(name="given_name", length=255)
+ @Column(name = "given_name", length = 255)
private String givenName;
-
+
@Basic
- @Column(name="honorific_prefix", length=255)
+ @Column(name = "honorific_prefix", length = 255)
private String honorificPrefix;
-
+
@Basic
- @Column(name="honorific_suffix", length=255)
+ @Column(name = "honorific_suffix", length = 255)
private String honorificSuffix;
-
+
@Basic
- @Column(name="formatted", length=255)
+ @Column(name = "formatted", length = 255)
private String formatted;
public NameDb() {
@@ -85,7 +92,6 @@
this.formatted = formatted;
}
-
public String getAdditionalName() {
return additionalName;
}
@@ -134,13 +140,6 @@
}
/**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
-
- /**
* @return the persons
*/
public List<Person> getPersons() {
@@ -152,17 +151,21 @@
*/
public void setPersons(List<Person> persons) {
this.persons = persons;
-
+
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.shindig.social.opensocial.model.Name#getFormatted()
*/
public String getFormatted() {
return formatted;
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see
org.apache.shindig.social.opensocial.model.Name#setFormatted(java.lang.String)
*/
public void setFormatted(String formatted) {
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationAddressDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationAddressDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationAddressDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationAddressDb.java
Mon Sep 15 07:18:10 2008
@@ -31,34 +31,33 @@
import static javax.persistence.CascadeType.REFRESH;
/**
- *
+ *
*/
/*
- * This object connects to a single Address, and to a single organization,
- * defining the organizations relationship with the address
+ * This object connects to a single Address, and to a single organization,
defining the
+ * organizations relationship with the address
*/
@Entity
[EMAIL PROTECTED](name="organizational_address")
[EMAIL PROTECTED](value="sharedaddress") // this is the same as others since we
want to share the data.
[EMAIL PROTECTED](name = "organizational_address")
[EMAIL PROTECTED](value = "sharedaddress")
+// this is the same as others since we want to share the data.
public class OrganizationAddressDb extends AddressDb {
@Basic
- @Column(name="primary_organization")
+ @Column(name = "primary_organization")
private Boolean primary;
-
- @ManyToOne(targetEntity=OrganizationDb.class, cascade = { PERSIST, MERGE,
REFRESH })
- @JoinColumn(name="organization_id", referencedColumnName="oid")
+
+ @ManyToOne(targetEntity = OrganizationDb.class, cascade = { PERSIST, MERGE,
REFRESH })
+ @JoinColumn(name = "organization_id", referencedColumnName = "oid")
private Organization organization;
-
+
@Basic
- @Column(name="type", length=255)
+ @Column(name = "type", length = 255)
private String type;
-
public OrganizationAddressDb() {
// TODO Auto-generated constructor stub
}
-
public String getType() {
return type;
}
@@ -67,7 +66,6 @@
this.type = type;
}
-
public Boolean getPrimary() {
return primary;
}
@@ -76,7 +74,6 @@
this.primary = primary;
}
-
/**
* @return the organization
*/
@@ -84,7 +81,6 @@
return organization;
}
-
/**
* @param organization the organization to set
*/
@@ -92,5 +88,4 @@
this.organization = organization;
}
-
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/OrganizationDb.java
Mon Sep 15 07:18:10 2008
@@ -44,72 +44,81 @@
import static javax.persistence.CascadeType.REFRESH;
@Entity
[EMAIL PROTECTED](name="organization")
[EMAIL PROTECTED](strategy=InheritanceType.JOINED)
[EMAIL PROTECTED](name="org_usage")
[EMAIL PROTECTED](name = "organization")
[EMAIL PROTECTED](strategy = InheritanceType.JOINED)
[EMAIL PROTECTED](name = "org_usage")
@DiscriminatorValue("shared")
[EMAIL PROTECTED](name=OrganizationDb.FINDBY_NAME, query="select o from
OrganizationDb o where o.name = :name ")
[EMAIL PROTECTED](name = OrganizationDb.FINDBY_NAME,
+ query = "select o from OrganizationDb o where o.name = :name ")
public class OrganizationDb implements Organization, DbObject {
public static final String FINDBY_NAME = "q.organization.findbyname";
public static final String PARAM_NAME = "name";
-
+ /**
+ * The internal object ID used for references to this object. Should be
generated by the
+ * underlying storage mechanism
+ */
@Id
- @GeneratedValue(strategy=IDENTITY)
- @Column(name="oid")
+ @GeneratedValue(strategy = IDENTITY)
+ @Column(name = "oid")
private long objectId;
-
+
+ /**
+ * An optimistic locking field
+ */
@Version
- @Column(name="version")
+ @Column(name = "version")
protected long version;
- @OneToOne(targetEntity=OrganizationAddressDb.class, mappedBy="organization",
cascade = { PERSIST, MERGE, REFRESH })
+ @OneToOne(targetEntity = OrganizationAddressDb.class,
+ mappedBy = "organization", cascade = {
+ PERSIST, MERGE, REFRESH })
private Address address;
-
+
@Basic
- @Column(name="description", length=255)
+ @Column(name = "description", length = 255)
private String description;
-
+
@Basic
- @Column(name="endDate")
+ @Column(name = "endDate")
@Temporal(TemporalType.DATE)
private Date endDate;
-
+
@Basic
- @Column(name="field", length=255)
+ @Column(name = "field", length = 255)
private String field;
-
+
@Basic
- @Column(name="name", length=255)
+ @Column(name = "name", length = 255)
private String name;
-
+
@Basic
- @Column(name="salary", length=255)
+ @Column(name = "salary", length = 255)
private String salary;
-
+
@Basic
- @Column(name="start_date")
+ @Column(name = "start_date")
@Temporal(TemporalType.DATE)
private Date startDate;
-
+
@Basic
- @Column(name="sub_field", length=255)
+ @Column(name = "sub_field", length = 255)
private String subField;
-
+
@Basic
- @Column(name="title", length=255)
+ @Column(name = "title", length = 255)
private String title;
-
+
@Basic
- @Column(name="webpage", length=255)
+ @Column(name = "webpage", length = 255)
private String webpage;
-
+
@Basic
- @Column(name="type", length=255)
+ @Column(name = "type", length = 255)
private String type;
-
+
@Basic
- @Column(name="primary_organization")
+ @Column(name = "primary_organization")
private Boolean primary;
public Address getAddress() {
@@ -229,10 +238,4 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
Mon Sep 15 07:18:10 2008
@@ -70,8 +70,10 @@
@Entity
@Table(name = "person")
@NamedQueries(value = {
- @NamedQuery(name = PersonDb.FINDBY_PERSONID, query = "select p from
PersonDb p where p.id = :id "),
- @NamedQuery(name = PersonDb.FINDBY_LIKE_PERSONID, query = "select p from
PersonDb p where p.id like :id") })
+ @NamedQuery(name = PersonDb.FINDBY_PERSONID,
+ query = "select p from PersonDb p where p.id = :id "),
+ @NamedQuery(name = PersonDb.FINDBY_LIKE_PERSONID,
+ query = "select p from PersonDb p where p.id like :id") })
public class PersonDb implements Person, DbObject {
public static final String FINDBY_PERSONID = "q.person.findbypersonid";
@@ -112,11 +114,18 @@
private static final String TVSHOWS_PROPERTY = "tvshow";
+ /**
+ * The internal object ID used for references to this object. Should be
generated by the
+ * underlying storage mechanism
+ */
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "oid")
private long objectId;
+ /**
+ * An optimistic locking field
+ */
@Version
@Column(name = "version")
protected long version;
@@ -180,7 +189,6 @@
@Transient
protected Enum<Enum.Drinker> drinker;
-
@Basic
@Column(name = "display_name", length = 255)
private String displayName;
@@ -188,7 +196,7 @@
/**
*
*/
- @OneToMany(targetEntity = EmailDb.class, mappedBy = "person", cascade= ALL)
+ @OneToMany(targetEntity = EmailDb.class, mappedBy = "person", cascade = ALL)
protected List<ListField> emails;
/**
@@ -328,7 +336,8 @@
protected String networkPresenceDb;
@Transient
- protected Enum<Enum.NetworkPresence> networkPresence = new
EnumDb<NetworkPresence>(NetworkPresence.XA);
+ protected Enum<Enum.NetworkPresence> networkPresence = new
EnumDb<NetworkPresence>(
+ NetworkPresence.XA);
/**
*
@@ -340,7 +349,8 @@
/**
*
*/
- @OneToMany(targetEntity = PersonOrganizationDb.class, mappedBy = "person",
cascade = { PERSIST, MERGE, REFRESH })
+ @OneToMany(targetEntity = PersonOrganizationDb.class, mappedBy = "person",
cascade = { PERSIST,
+ MERGE, REFRESH })
protected List<Organization> organizations;
/**
@@ -485,11 +495,10 @@
@Transient
private boolean isViewer = false;
-
public PersonDb() {
}
- public PersonDb(String id, String displayName , Name name) {
+ public PersonDb(String id, String displayName, Name name) {
this.id = id;
this.name = name;
this.displayName = displayName;
@@ -1030,13 +1039,6 @@
return objectId;
}
- /**
- * @param objectId the objectId to set
- */
- public void setObjectId(long objectId) {
- this.objectId = objectId;
- }
-
@PrePersist
public void populateDbFields() {
drinkerDb = drinker.toString();
@@ -1165,17 +1167,21 @@
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see org.apache.shindig.social.opensocial.model.Person#getDisplayName()
*/
public String getDisplayName() {
return displayName;
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
+ *
* @see
org.apache.shindig.social.opensocial.model.Person#setDisplayName(java.lang.String)
*/
public void setDisplayName(String displayName) {
- this.displayName = displayName;
+ this.displayName = displayName;
}
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonOrganizationDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonOrganizationDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonOrganizationDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonOrganizationDb.java
Mon Sep 15 07:18:10 2008
@@ -29,37 +29,36 @@
import javax.persistence.Table;
/**
- *
+ *
*/
/*
- * This object connects to a single Address, and to a single organization,
- * defining the organizations relationship with the address
+ * This object connects to a single Address, and to a single organization,
defining the
+ * organizations relationship with the address
*/
@Entity
[EMAIL PROTECTED](name="person_organization")
[EMAIL PROTECTED](name = "person_organization")
@DiscriminatorValue("shared")
[EMAIL
PROTECTED](name=PersonOrganizationDb.PERSON_ORG_FINDBY_NAME,query="select p
from PersonOrganizationDb p where p.name = :name ")
[EMAIL PROTECTED](name = PersonOrganizationDb.PERSON_ORG_FINDBY_NAME,
+ query = "select p from PersonOrganizationDb p where p.name = :name ")
public class PersonOrganizationDb extends OrganizationDb {
public static final String PERSON_ORG_FINDBY_NAME =
"q.personorganizationdb.findbyname";
@Basic
- @Column(name="primary_organization", table="person_organization")
+ @Column(name = "primary_organization", table = "person_organization")
private Boolean primary;
-
- @ManyToOne(targetEntity=PersonDb.class)
- @JoinColumn(name="person_id", referencedColumnName="oid")
+
+ @ManyToOne(targetEntity = PersonDb.class)
+ @JoinColumn(name = "person_id", referencedColumnName = "oid")
protected Person person;
-
+
@Basic
- @Column(name="type", length=255, table="person_organization")
+ @Column(name = "type", length = 255, table = "person_organization")
private String type;
-
public PersonOrganizationDb() {
// TODO Auto-generated constructor stub
}
-
public String getType() {
return type;
}
@@ -68,7 +67,6 @@
this.type = type;
}
-
public Boolean getPrimary() {
return primary;
}
@@ -77,7 +75,4 @@
this.primary = primary;
}
-
-
-
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonPropertiesDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonPropertiesDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonPropertiesDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonPropertiesDb.java
Mon Sep 15 07:18:10 2008
@@ -26,13 +26,17 @@
import javax.persistence.Table;
/**
- *
+ * A property, associated with a person, extends the "list_field" table,
+ * and sets the "list_field_type" to PersonPropertiesDb.
*/
@Entity
@Table(name="person_properties")
@PrimaryKeyJoinColumn(name="oid")
public class PersonPropertiesDb extends ListFieldDb {
+ /**
+ * The person who this property is associated with.
+ */
@ManyToOne(targetEntity=PersonDb.class)
@JoinColumn(name="person_id", referencedColumnName="oid")
protected Person person;
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhoneDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhoneDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhoneDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhoneDb.java
Mon Sep 15 07:18:10 2008
@@ -27,18 +27,30 @@
import javax.persistence.Table;
/**
- *
+ * Phone Entity, extends the ListField object (and list_field table), joining
on the object ID.
+ * Objects of this type will have "list_field_type" set to PhoneDb in
list_field
*/
@Entity
[EMAIL PROTECTED](name="phone")
[EMAIL PROTECTED](name="oid")
[EMAIL PROTECTED](name=PhoneDb.FINDBY_PHONE_NUMBER,query="select p from PhoneDb
p where p.value = :phonenumber ")
[EMAIL PROTECTED](name = "phone")
[EMAIL PROTECTED](name = "oid")
[EMAIL PROTECTED](name = PhoneDb.FINDBY_PHONE_NUMBER,
+ query = "select p from PhoneDb p where p.value = :phonenumber ")
public class PhoneDb extends ListFieldDb {
+ /**
+ * The name of the JPA query to find phone numbers by phone number (bit odd)
+ */
public static final String FINDBY_PHONE_NUMBER = "q.pphone.findbynumber";
+ /**
+ * The name of the phone number parameter in JPA queries
+ */
public static final String PARAM_PHONE_NUMBER = "phonenumber";
- @ManyToOne(targetEntity=PersonDb.class)
- @JoinColumn(name="person_id", referencedColumnName="oid")
+
+ /**
+ * The person who is associated with this phone number.
+ */
+ @ManyToOne(targetEntity = PersonDb.class)
+ @JoinColumn(name = "person_id", referencedColumnName = "oid")
protected Person person;
}
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhotoDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhotoDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhotoDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PhotoDb.java
Mon Sep 15 07:18:10 2008
@@ -26,13 +26,17 @@
import javax.persistence.Table;
/**
- *
+ * Photo Entity, extends the ListField object (and list_field table), joining
on the object ID.
+ * Objects of this type will have "list_field_type" set to PhotoDb in
list_field
*/
@Entity
@Table(name="photo")
@PrimaryKeyJoinColumn(name="oid")
public class PhotoDb extends ListFieldDb {
+ /**
+ * The person who is using this photo.
+ */
@ManyToOne(targetEntity=PersonDb.class)
@JoinColumn(name="person_id", referencedColumnName="oid")
protected Person person;
Modified:
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/UrlDb.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/UrlDb.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/UrlDb.java
(original)
+++
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/UrlDb.java
Mon Sep 15 07:18:10 2008
@@ -30,7 +30,8 @@
import javax.persistence.Table;
/**
- * see
http://code.google.com/apis/opensocial/docs/0.7/reference/opensocial.Url.Field.html
+ * Url Entity, extends the ListField object (and list_field table), joining on
the object ID.
+ * Objects of this type will have "list_field_type" set to UrlDb in list_field
*/
@Entity
@Table(name = "url")
@@ -45,6 +46,9 @@
@Column(name = "link_text")
private String linkText;
+ /**
+ * The person who is using this url.
+ */
@ManyToOne(targetEntity = PersonDb.class)
@JoinColumn(name = "person_id", referencedColumnName = "oid")
protected Person person;
Modified:
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java
(original)
+++
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonPopulate.java
Mon Sep 15 07:18:10 2008
@@ -175,7 +175,8 @@
private Url getNewUrl(int i) {
String targetUrl = "http://sdfsdfsd.sdfdsf/" + String.valueOf(i % 33);
- List<?> l = find(UrlDb.FINDBY_URL, new String[] { UrlDb.PARAM_URL }, new
Object[] { targetUrl });
+ List<?> l = find(UrlDb.FINDBY_URL,
+ new String[] { UrlDb.PARAM_URL }, new Object[] { targetUrl });
if (l.size() == 0) {
Url url = new UrlDb();
url.setValue(targetUrl);
Modified:
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaOpenJPATestOff.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaOpenJPATestOff.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaOpenJPATestOff.java
(original)
+++
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaOpenJPATestOff.java
Mon Sep 15 07:18:10 2008
@@ -17,12 +17,10 @@
*/
package org.apache.shindig.social.opensocial.jpa.test;
-
import org.apache.shindig.social.opensocial.jpa.EmailDb;
import org.apache.shindig.social.opensocial.jpa.openjpa.Bootstrap;
import org.apache.shindig.social.opensocial.model.Person;
-
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -33,24 +31,27 @@
import java.util.Random;
/**
- *
+ *
*/
public class SchemaOpenJPATestOff {
-
+
private static EntityManager entityManager;
- //@BeforeClass
+ // @BeforeClass
public static void config() {
Bootstrap b = new Bootstrap();
- //Bootstrap b = new
Bootstrap("com.mysql.jdbc.Driver","jdbc:mysql://localhost/sakaikernel?useUnicode=true&characterEncoding=UTF-8","sakaikernel","sakaikernel","1","1");
+ // Bootstrap b = new
+ // Bootstrap("com.mysql.jdbc.Driver",
+ //
"jdbc:mysql://localhost/sakaikernel?useUnicode=true&characterEncoding=UTF-8",
+ // "sakaikernel", "sakaikernel","1","1");
entityManager = b.getEntityManager("openjpa");
}
-
- //@AfterClass
+
+ // @AfterClass
public static void stop() {
}
- //@Test
+ // @Test
public void checkSimpleInsert() throws Exception {
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
@@ -60,31 +61,31 @@
entityManager.persist(email);
transaction.commit();
}
-
- //@Test
+
+ // @Test
public void checkPersonCreate() throws Exception {
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
PersonPopulate pp = new PersonPopulate(entityManager);
int i = 1;
- long key= System.currentTimeMillis();
+ long key = System.currentTimeMillis();
Random r = new Random();
Person p = pp.createPerson(i, key, r);
entityManager.persist(p);
transaction.commit();
}
- //@Test
+ // @Test
public void fillDatbase() throws Exception {
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
PersonPopulate pp = new PersonPopulate(entityManager);
- long key= System.currentTimeMillis();
+ long key = System.currentTimeMillis();
Random r = new Random();
- for ( int i = 0; i < 20; i++ ) {
+ for (int i = 0; i < 20; i++) {
Person p = pp.createPerson(i, key, r);
entityManager.persist(p);
- if ( i%10 == 0 ) {
+ if (i % 10 == 0) {
transaction.commit();
transaction = entityManager.getTransaction();
transaction.begin();
Modified:
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaTest.java?rev=695480&r1=695479&r2=695480&view=diff
==============================================================================
---
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaTest.java
(original)
+++
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/SchemaTest.java
Mon Sep 15 07:18:10 2008
@@ -21,7 +21,6 @@
import org.apache.shindig.social.opensocial.jpa.eclipselink.Bootstrap;
import org.apache.shindig.social.opensocial.model.Person;
-
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -32,19 +31,23 @@
import java.util.Random;
/**
- *
+ *
*/
public class SchemaTest {
-
+
private static EntityManager entityManager;
@BeforeClass
public static void config() {
- Bootstrap b = new
Bootstrap("org.apache.derby.jdbc.EmbeddedDriver","jdbc:derby:testdb;create=true","sa","","1","1");
- //Bootstrap b = new
Bootstrap("com.mysql.jdbc.Driver","jdbc:mysql://localhost/sakaikernel?useUnicode=true&characterEncoding=UTF-8","sakaikernel","sakaikernel","1","1");
+ Bootstrap b = new Bootstrap("org.apache.derby.jdbc.EmbeddedDriver",
+ "jdbc:derby:testdb;create=true", "sa", "", "1", "1");
+ // Bootstrap b = new
+ // Bootstrap("com.mysql.jdbc.Driver",
+ //
"jdbc:mysql://localhost/sakaikernel?useUnicode=true&characterEncoding=UTF-8",
+ // "sakaikernel","sakaikernel","1","1");
entityManager = b.getEntityManager("default");
}
-
+
@AfterClass
public static void stop() {
}
@@ -59,14 +62,14 @@
entityManager.persist(email);
transaction.commit();
}
-
+
@Test
public void checkPersonCreate() throws Exception {
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
PersonPopulate pp = new PersonPopulate(entityManager);
int i = 1;
- long key= System.currentTimeMillis();
+ long key = System.currentTimeMillis();
Random r = new Random();
Person p = pp.createPerson(i, key, r);
entityManager.persist(p);
@@ -78,12 +81,12 @@
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
PersonPopulate pp = new PersonPopulate(entityManager);
- long key= System.currentTimeMillis();
+ long key = System.currentTimeMillis();
Random r = new Random();
- for ( int i = 0; i < 20; i++ ) {
+ for (int i = 0; i < 20; i++) {
Person p = pp.createPerson(i, key, r);
entityManager.persist(p);
- if ( i%10 == 0 ) {
+ if (i % 10 == 0) {
transaction.commit();
transaction = entityManager.getTransaction();
transaction.begin();