Author: eric
Date: Thu Jan 13 12:11:50 2011
New Revision: 1058528
URL: http://svn.apache.org/viewvc?rev=1058528&view=rev
Log:
Name JPA tables and columns (MAILBOX-14)
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAHeader.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAProperty.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMembership.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMessage.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMailboxMembership.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMessage.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMailboxMembership.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/user/model/JPASubscription.java
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAHeader.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAHeader.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAHeader.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAHeader.java
Thu Jan 13 12:11:50 2011
@@ -23,29 +23,39 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.Table;
import org.apache.james.mailbox.store.mail.model.AbstractComparableHeader;
import org.apache.james.mailbox.store.mail.model.Header;
-@Entity(name="Header")
+@Entity(name = "Header")
+@Table(name = "JAMES_MAIL_HEADER")
public class JPAHeader extends AbstractComparableHeader {
private static final String TOSTRING_SEP = " ";
- @Id @GeneratedValue private long id;
+ @Id
+ @GeneratedValue
+ @Column(name = "HEADER_ID", nullable = false)
+ private long id;
/** The value for the lineNumber field */
- @Basic(optional=false) private int lineNumber;
+ @Basic(optional=false)
+ @Column(name = "HEADER_LINE_NUMBER", nullable = false)
+ private int lineNumber;
/** The value for the field field */
/** Use a max of 1024 which could happen on very freaky header field
names*/
- @Column(length=1024)
- @Basic(optional=false) private String field;
+ @Basic(optional=false)
+ @Column(name = "HEADER_FIELD", nullable = false, length = 1024)
+ private String field;
/** The value for the value field */
- /** We use 10240 as max which is mostly overkill for most emails but
better waste a bit of space then loose headers**/
- @Column(length=10240)
- @Basic(optional=false) private String value;
+ /** We use 4000 as max which is mostly overkill for most emails but better
waste a bit of space then loose headers**/
+ /** 4000 is the maximum value accepted by Oracle for VARCHAR2 **/
+ @Basic(optional=false)
+ @Column(name = "HEADER_VALUE", nullable = false, length = 4000)
+ private String value;
/**
* For JPA use only.
@@ -111,8 +121,7 @@ public class JPAHeader extends AbstractC
return true;
}
- public String toString()
- {
+ public String toString() {
final String retValue = "Header ( "
+ "id = " + this.id + TOSTRING_SEP
+ "lineNumber = " + this.lineNumber + TOSTRING_SEP
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAMailbox.java
Thu Jan 13 12:11:50 2011
@@ -25,11 +25,13 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
+import javax.persistence.Table;
import org.apache.james.mailbox.MailboxPath;
import org.apache.james.mailbox.store.mail.model.Mailbox;
@Entity(name="Mailbox")
+@Table(name="JAMES_MAILBOX")
@NamedQueries({
@NamedQuery(name="findMailboxById",
query="SELECT mailbox FROM Mailbox mailbox WHERE mailbox.mailboxId =
:idParam"),
@@ -55,16 +57,28 @@ public class JPAMailbox implements Mailb
private static final String TAB = " ";
/** The value for the mailboxId field */
- @Id @GeneratedValue private long mailboxId;
+ @Id
+ @GeneratedValue
+ @Column(name = "MAILBOX_ID", nullable = false)
+ private long mailboxId;
/** The value for the name field */
- @Basic(optional=false) @Column(nullable = false) private String name;
+ @Basic(optional=false)
+ @Column(name = "MAILBOX_NAME", nullable = false, length = 200)
+ private String name;
/** The value for the uidValidity field */
- @Basic(optional=false) private long uidValidity;
-
- @Basic(optional=false) @Column(nullable = true) private String user;
- @Basic(optional=false) @Column(nullable = false) private String namespace;
+ @Basic(optional=false)
+ @Column(name = "MAILBOX_UID_VALIDITY", nullable = false)
+ private long uidValidity;
+
+ @Basic(optional=false)
+ @Column(name = "USER_NAME", nullable = true, length = 200)
+ private String user;
+
+ @Basic(optional=false)
+ @Column(name = "MAILBOX_NAMESPACE", nullable = false, length = 200)
+ private String namespace;
/**
* JPA only
@@ -96,14 +110,12 @@ public class JPAMailbox implements Mailb
return name;
}
-
/**
* @see org.apache.james.mailbox.store.mail.model.Mailbox#getUidValidity()
*/
public long getUidValidity() {
return uidValidity;
}
-
/**
* @see
org.apache.james.mailbox.store.mail.model.Mailbox#setName(java.lang.String)
@@ -113,8 +125,7 @@ public class JPAMailbox implements Mailb
}
@Override
- public String toString()
- {
+ public String toString() {
final String retValue = "Mailbox ( "
+ "mailboxId = " + this.mailboxId + TAB
+ "name = " + this.name + TAB
@@ -169,7 +180,6 @@ public class JPAMailbox implements Mailb
this.namespace = namespace;
}
-
/*
* (non-Javadoc)
* @see
org.apache.james.mailbox.store.mail.model.Mailbox#setUser(java.lang.String)
@@ -177,4 +187,5 @@ public class JPAMailbox implements Mailb
public void setUser(String user) {
this.user = user;
}
+
}
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAProperty.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAProperty.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAProperty.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAProperty.java
Thu Jan 13 12:11:50 2011
@@ -19,26 +19,44 @@
package org.apache.james.mailbox.jpa.mail.model;
import javax.persistence.Basic;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.Table;
import org.apache.james.mailbox.store.mail.model.AbstractComparableProperty;
import org.apache.james.mailbox.store.mail.model.Property;
@Entity(name="Property")
+@Table(name="JAMES_MAIL_PROPERTY")
public class JPAProperty extends AbstractComparableProperty<JPAProperty> {
- @Id @GeneratedValue private long id;
+ /** The system unique key */
+ @Id
+ @GeneratedValue
+ @Column(name = "PROPERTY_ID", nullable = false)
+ private long id;
/** Order within the list of properties */
- @Basic(optional=false) private int line;
+ @Basic(optional=false)
+ @Column(name = "PROPERTY_LINE_NUMBER", nullable = false)
+ private int line;
+
/** Local part of the name of this property */
- @Basic(optional=false) private String localName;
+ @Basic(optional=false)
+ @Column(name = "PROPERTY_LOCAL_NAME", nullable = false, length = 200)
+ private String localName;
+
/** Namespace part of the name of this property */
- @Basic(optional=false) private String namespace;
+ @Basic(optional=false)
+ @Column(name = "PROPERTY_NAME_SPACE", nullable = false, length = 200)
+ private String namespace;
+
/** Value of this property */
- @Basic(optional=false) private String value;
+ @Basic(optional=false)
+ @Column(name = "PROPERTY_VALUE", nullable = false, length = 200)
+ private String value;
/**
* @deprecated enhancement only
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMembership.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMembership.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMembership.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMembership.java
Thu Jan 13 12:11:50 2011
@@ -25,6 +25,7 @@ import java.util.List;
import javax.mail.Flags;
import javax.persistence.Basic;
+import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.MappedSuperclass;
@@ -76,14 +77,17 @@ public abstract class AbstractJPAMailbox
/** Identifies composite key */
public static class MailboxIdUidKey implements Serializable {
+
private static final long serialVersionUID = 7847632032426660997L;
+
+ public MailboxIdUidKey() {}
+
/** The value for the mailboxId field */
public long mailboxId;
+
/** The value for the uid field */
public long uid;
- public MailboxIdUidKey() {}
-
@Override
public int hashCode() {
final int PRIME = 31;
@@ -111,32 +115,52 @@ public abstract class AbstractJPAMailbox
}
/** The value for the mailboxId field */
- @Id private long mailboxId;
+ @Id
+ @Column(name = "MAILBOX_ID", nullable = false)
+ private long mailboxId;
/** The value for the uid field */
- @Id private long uid;
+ @Id
+ @Column(name = "MAIL_UID", nullable = false)
+ private long uid;
/** The value for the internalDate field */
- @Basic(optional=false) private Date internalDate;
+ @Basic(optional = false)
+ @Column(name = "MAIL_DATE", nullable = true)
+ private Date internalDate;
/** The value for the answered field */
- @Basic(optional=false) private boolean answered = false;
+ @Basic(optional = false)
+ @Column(name = "MAIL_IS_ANSWERED", nullable = true)
+ private boolean answered = false;
/** The value for the deleted field */
- @Basic(optional=false) @Index private boolean deleted = false;
+ @Basic(optional = false)
+ @Column(name = "MAIL_IS_DELETED", nullable = true)
+ @Index
+ private boolean deleted = false;
/** The value for the draft field */
- @Basic(optional=false) private boolean draft = false;
+ @Basic(optional = false)
+ @Column(name = "MAIL_IS_DRAFT", nullable = true)
+ private boolean draft = false;
/** The value for the flagged field */
- @Basic(optional=false) private boolean flagged = false;
+ @Basic(optional = false)
+ @Column(name = "MAIL_IS_FLAGGED", nullable = true)
+ private boolean flagged = false;
/** The value for the recent field */
- @Basic(optional=false) @Index private boolean recent = false;
+ @Basic(optional = false)
+ @Column(name = "MAIL_IS_RECENT", nullable = true)
+ @Index
+ private boolean recent = false;
/** The value for the seen field */
- @Basic(optional=false) @Index private boolean seen = false;
-
+ @Basic(optional = false)
+ @Column(name = "MAIL_IS_SEEN", nullable = true)
+ @Index
+ private boolean seen = false;
/**
* For enhancement only.
@@ -236,7 +260,9 @@ public abstract class AbstractJPAMailbox
return seen;
}
-
+ public void setUid(long uid) {
+ this.uid = uid;
+ }
/**
* @see
org.apache.james.mailbox.store.mail.model.MailboxMembership#setFlags(javax.mail.Flags)
@@ -250,8 +276,6 @@ public abstract class AbstractJPAMailbox
seen = flags.contains(Flags.Flag.SEEN);
}
-
-
@Override
public int hashCode() {
final int PRIME = 31;
@@ -277,11 +301,10 @@ public abstract class AbstractJPAMailbox
return true;
}
- public String toString()
- {
+ public String toString() {
final String retValue =
"mailbox("
- + "mailboxId = " + this.mailboxId + TOSTRING_SEPARATOR
+ + "mailboxId = " + this.getMailboxId() + TOSTRING_SEPARATOR
+ "uid = " + this.uid + TOSTRING_SEPARATOR
+ "internalDate = " + this.internalDate + TOSTRING_SEPARATOR
+ "answered = " + this.answered + TOSTRING_SEPARATOR
@@ -291,11 +314,7 @@ public abstract class AbstractJPAMailbox
+ "recent = " + this.recent + TOSTRING_SEPARATOR
+ "seen = " + this.seen + TOSTRING_SEPARATOR
+ " )";
-
return retValue;
}
- public void setUid(long uid) {
- this.uid = uid;
- }
}
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMessage.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMessage.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMessage.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMessage.java
Thu Jan 13 12:11:50 2011
@@ -23,6 +23,7 @@ import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
+import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@@ -44,25 +45,48 @@ import org.apache.openjpa.persistence.jd
*
*/
@MappedSuperclass
-public abstract class AbstractJPAMessage extends AbstractMessage{
+public abstract class AbstractJPAMessage extends AbstractMessage {
- @Id@GeneratedValue private long id;
-
- /** Headers for this message */
- @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
@ElementJoinColumn(name="MESSAGE_ID") private List<JPAHeader> headers;
+ @Id
+ @GeneratedValue
+ @Column(name = "MAIL_ID", nullable = false)
+ private long id;
+
/** The first body octet */
- @Basic(optional=false) private int bodyStartOctet;
+ @Basic(optional=false)
+ @Column(name = "MAIL_BODY_START_OCTET", nullable = false)
+ private int bodyStartOctet;
+
/** Number of octets in the full document content */
- @Basic(optional=false) private long contentOctets;
+ @Basic(optional=false)
+ @Column(name = "MAIL_CONTENT_OCTETS_COUNT", nullable = false)
+ private long contentOctets;
+
/** MIME media type */
- @Basic(optional=true) private String mediaType;
+ @Basic(optional=true)
+ @Column(name = "MAIL_MIME_TYPE", nullable = true, length = 200)
+ private String mediaType;
+
/** MIME sub type */
- @Basic(optional=true) private String subType;
- /** Meta data for this message */
- @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
@OrderBy("line") @ElementJoinColumn(name="MESSAGE_ID") private
List<JPAProperty> properties;
+ @Basic(optional=true)
+ @Column(name = "MAIL_MIME_SUBTYPE", nullable = true, length = 200)
+ private String subType;
+
/** THE CRFL count when this document is textual, null otherwise */
- @Basic(optional=true) private Long textualLineCount;
+ @Basic(optional=true)
+ @Column(name = "MAIL_TEXTUAL_LINE_COUNT", nullable = true)
+ private Long textualLineCount;
+ /** Headers for this message */
+ @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
+ @ElementJoinColumn(name="MAIL_ID")
+ private List<JPAHeader> headers;
+
+ /** Meta data for this message */
+ @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
+ @OrderBy("line")
+ @ElementJoinColumn(name="MAIL_ID")
+ private List<JPAProperty> properties;
@Deprecated
public AbstractJPAMessage() {}
@@ -81,7 +105,6 @@ public abstract class AbstractJPAMessage
for (final Property property:properties) {
this.properties.add(new JPAProperty(property, order++));
}
-
}
/**
@@ -120,7 +143,6 @@ public abstract class AbstractJPAMessage
return new ArrayList<Header>(headers);
}
-
@Override
public int hashCode() {
final int PRIME = 31;
@@ -143,8 +165,7 @@ public abstract class AbstractJPAMessage
return true;
}
- public String toString()
- {
+ public String toString() {
final String retValue =
"message("
+ "id = " + id
@@ -189,7 +210,6 @@ public abstract class AbstractJPAMessage
return textualLineCount;
}
-
/*
* (non-Javadoc)
* @see
org.apache.james.mailbox.store.mail.model.Document#getFullContentOctets()
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMailboxMembership.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMailboxMembership.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMailboxMembership.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMailboxMembership.java
Thu Jan 13 12:11:50 2011
@@ -25,23 +25,28 @@ import java.util.List;
import javax.mail.Flags;
import javax.persistence.CascadeType;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.jpa.mail.model.JPAHeader;
+import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
+import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
import org.apache.james.mailbox.store.mail.model.PropertyBuilder;
@Entity(name="Membership")
-public class JPAMailboxMembership extends AbstractJPAMailboxMembership{
-
+@Table(name="JAMES_MAILBOX_MEMBERSHIP")
+public class JPAMailboxMembership extends AbstractJPAMailboxMembership {
/** The value for the body field. Lazy loaded */
- @ManyToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY) private
JPAMessage message;
+ @ManyToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
+ @Column(name = "MAIL_ID", nullable = false)
+ private JPAMessage message;
-
/**
* For enhancement only.
*/
@@ -75,5 +80,4 @@ public class JPAMailboxMembership extend
return message;
}
-
}
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMessage.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMessage.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMessage.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAMessage.java
Thu Jan 13 12:11:50 2011
@@ -28,20 +28,22 @@ import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Lob;
+import javax.persistence.Table;
import org.apache.james.mailbox.jpa.mail.model.JPAHeader;
import org.apache.james.mailbox.store.mail.model.Message;
import org.apache.james.mailbox.store.mail.model.PropertyBuilder;
-import org.apache.james.mailbox.store.streaming.LazySkippingInputStream;
import org.apache.james.mailbox.store.streaming.StreamUtils;
@Entity(name="Message")
-public class JPAMessage extends AbstractJPAMessage{
-
+@Table(name="JAMES_MAIL")
+public class JPAMessage extends AbstractJPAMessage {
/** The value for the body field. Lazy loaded */
/** We use a max length to represent 1gb data. Thats prolly overkill, but
who knows */
- @Basic(optional=false, fetch=FetchType.LAZY) @Column(length=1048576000)
@Lob private byte[] content;
+ @Basic(optional = false, fetch = FetchType.LAZY)
+ @Column(name = "MAIL_BYTES", length = 1048576000)
+ @Lob private byte[] content;
@Deprecated
public JPAMessage() {}
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMailboxMembership.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMailboxMembership.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMailboxMembership.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMailboxMembership.java
Thu Jan 13 12:11:50 2011
@@ -25,23 +25,28 @@ import java.util.List;
import javax.mail.Flags;
import javax.persistence.CascadeType;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ManyToOne;
+import javax.persistence.Table;
import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.jpa.mail.model.JPAHeader;
+import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
+import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMembership;
import org.apache.james.mailbox.store.mail.model.Message;
import org.apache.james.mailbox.store.mail.model.PropertyBuilder;
@Entity(name="Membership")
-public class JPAStreamingMailboxMembership extends
AbstractJPAMailboxMembership{
-
+@Table(name="JAMES_MAILBOX_MEMBERSHIP")
+public class JPAStreamingMailboxMembership extends
AbstractJPAMailboxMembership {
/** The value for the body field. Lazy loaded */
- @ManyToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY) private
JPAStreamingMessage message;
-
+ @ManyToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
+ @Column(name = "MAIL_ID", nullable = false)
+ private JPAStreamingMessage message;
/**
* For enhancement only.
@@ -53,8 +58,6 @@ public class JPAStreamingMailboxMembersh
InputStream content, int bodyStartOctet, final List<JPAHeader>
headers, final PropertyBuilder propertyBuilder) throws MailboxException {
super(mailboxId, uid, internalDate, flags, bodyStartOctet, headers,
propertyBuilder);
this.message = new JPAStreamingMessage(content, size, bodyStartOctet,
headers, propertyBuilder);
-
-
}
public JPAStreamingMailboxMembership(long mailboxId, long uid,
MailboxMembership<?> original) throws MailboxException {
@@ -73,6 +76,5 @@ public class JPAStreamingMailboxMembersh
public Message getMessage() {
return message;
}
-
}
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/JPAStreamingMessage.java
Thu Jan 13 12:11:50 2011
@@ -27,6 +27,7 @@ import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
+import javax.persistence.Table;
import org.apache.james.mailbox.jpa.mail.model.JPAHeader;
import org.apache.james.mailbox.store.mail.model.Message;
@@ -46,12 +47,13 @@ import org.apache.openjpa.persistence.Pe
* TODO: Fix me!
*/
@Entity(name="Message")
-public class JPAStreamingMessage extends AbstractJPAMessage{
+@Table(name="JAMES_MAIL")
+public class JPAStreamingMessage extends AbstractJPAMessage {
-
- @Persistent(optional=false, fetch=FetchType.LAZY)
@Column(length=1048576000) private InputStream content;
+ @Persistent(optional=false, fetch=FetchType.LAZY)
+ @Column(name = "MAIL_BYTES", length=1048576000)
+ private InputStream content;
-
@Deprecated
public JPAStreamingMessage() {}
@@ -74,7 +76,6 @@ public class JPAStreamingMessage extends
public InputStream getFullContent() throws IOException {
return content;
}
-
public InputStream getBodyContent() throws IOException {
return new LazySkippingInputStream(content, getBodyStartOctet());
Modified:
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/user/model/JPASubscription.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/user/model/JPASubscription.java?rev=1058528&r1=1058527&r2=1058528&view=diff
==============================================================================
---
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/user/model/JPASubscription.java
(original)
+++
james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/user/model/JPASubscription.java
Thu Jan 13 12:11:50 2011
@@ -19,6 +19,7 @@
package org.apache.james.mailbox.jpa.user.model;
import javax.persistence.Basic;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@@ -32,24 +33,36 @@ import org.apache.james.mailbox.store.us
/**
* A subscription to a mailbox by a user.
*/
-@Entity(name="Subscription")
-@Table(uniqueConstraints=@UniqueConstraint(columnNames={"USERNAME",
"MAILBOX"}))
+@Entity(name = "Subscription")
+@Table(
+ name = "JAMES_SUBSCRIPTION",
+ uniqueConstraints = @UniqueConstraint(columnNames={"USER_NAME",
"MAILBOX_NAME"})
+)
@NamedQueries({
- @NamedQuery(name="findFindMailboxSubscriptionForUser",
- query="SELECT subscription FROM Subscription subscription WHERE
subscription.username = :userParam AND subscription.mailbox = :mailboxParam"),
- @NamedQuery(name="findSubscriptionsForUser",
- query="SELECT subscription FROM Subscription subscription WHERE
subscription.username = :userParam")
+ @NamedQuery(name = "findFindMailboxSubscriptionForUser",
+ query = "SELECT subscription FROM Subscription subscription WHERE
subscription.username = :userParam AND subscription.mailbox = :mailboxParam"),
+ @NamedQuery(name = "findSubscriptionsForUser",
+ query = "SELECT subscription FROM Subscription subscription WHERE
subscription.username = :userParam")
})
public class JPASubscription implements Subscription {
private static final String TO_STRING_SEPARATOR = " ";
+
/** Primary key */
@GeneratedValue
- @Id private long id;
+ @Id
+ @Column(name = "SUBSCRIPTION_ID", nullable = false)
+ private long id;
+
/** Name of the subscribed user */
- @Basic(optional=false) private String username;
+ @Basic(optional=false)
+ @Column(name = "USER_NAME", nullable = false, length = 100)
+ private String username;
+
/** Subscribed mailbox */
- @Basic(optional=false) private String mailbox;
+ @Basic(optional=false)
+ @Column(name = "MAILBOX_NAME", nullable = false, length = 100)
+ private String mailbox;
/**
* Used by JPA
@@ -109,16 +122,13 @@ public class JPASubscription implements
*
* @return output suitable for debugging
*/
- public String toString()
- {
+ public String toString() {
final String result = "Subscription ( "
+ "id = " + this.id + TO_STRING_SEPARATOR
+ "user = " + this.username + TO_STRING_SEPARATOR
+ "mailbox = " + this.mailbox + TO_STRING_SEPARATOR
+ " )";
-
return result;
}
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]