You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/06/08 12:40:43 UTC
svn commit: r952601 - in /james/imap/trunk/jcr/src/main:
java/org/apache/james/imap/jcr/mail/
java/org/apache/james/imap/jcr/mail/model/
java/org/apache/james/imap/jcr/user/ resources/org/apache/james/imap/jcr/
Author: norman
Date: Tue Jun 8 10:40:43 2010
New Revision: 952601
URL: http://svn.apache.org/viewvc?rev=952601&view=rev
Log:
Use mixins for node types. (IMAP-152). Thx to Ian Boston for the patch..
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMessage.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java
james/imap/trunk/jcr/src/main/resources/org/apache/james/imap/jcr/imap.cnd
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java?rev=952601&r1=952600&r2=952601&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java Tue Jun 8 10:40:43 2010
@@ -255,10 +255,11 @@ public class JCRMailboxMapper extends Ab
for (int i = 0; i < nameParts.length; i++) {
String part = nameParts[i];
if (i == 1) {
- node = JcrUtils.getOrAddNode(node, String.valueOf(part.charAt(0)), "jamesMailbox:mailbox");
+ node = JcrUtils.getOrAddNode(node, String.valueOf(part.charAt(0)), "nt:unstructured");
}
- node = JcrUtils.getOrAddNode(node, part, "jamesMailbox:mailbox");
+ node = JcrUtils.getOrAddNode(node, part, "nt:unstructured");
+ node.addMixin("jamesMailbox:mailbox");
}
jcrMailbox.merge(node);
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java?rev=952601&r1=952600&r2=952601&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java Tue Jun 8 10:40:43 2010
@@ -450,7 +450,8 @@ public class JCRMessageMapper extends Ab
locker.execute(new NodeLockedExecution<Void>() {
public Void execute(Node node) throws RepositoryException {
- Node messageNode = node.addNode(String.valueOf(membership.getUid()),"jamesMailbox:message");
+ Node messageNode = node.addNode(String.valueOf(membership.getUid()),"nt:file");
+ messageNode.addMixin("jamesMailbox:message");
try {
membership.merge(messageNode);
} catch (IOException e) {
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMessage.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMessage.java?rev=952601&r1=952600&r2=952601&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMessage.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMessage.java Tue Jun 8 10:40:43 2010
@@ -362,7 +362,8 @@ public class JCRMessage extends Abstract
// add headers to the message again
for (int i = 0; i < newHeaders.size(); i++) {
JCRHeader header = (JCRHeader) newHeaders.get(i);
- Node headerNode = node.addNode("messageHeader", HEADER_NODE_TYPE);
+ Node headerNode = node.addNode("messageHeader", "nt:unstructured");
+ headerNode.addMixin(HEADER_NODE_TYPE);
header.merge(headerNode);
}
@@ -381,7 +382,8 @@ public class JCRMessage extends Abstract
// store new properties
for (int i = 0; i < newProperites.size(); i++) {
JCRProperty prop = (JCRProperty)newProperites.get(i);
- Node propNode = node.addNode("messageProperty", PROPERTY_NODE_TYPE);
+ Node propNode = node.addNode("messageProperty", "nt:unstructured");
+ propNode.addMixin(PROPERTY_NODE_TYPE);
prop.merge(propNode);
}
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java?rev=952601&r1=952600&r2=952601&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java Tue Jun 8 10:40:43 2010
@@ -159,7 +159,8 @@ public class JCRSubscriptionMapper exten
// This is needed to minimize the child nodes a bit
Node userNode = JcrUtils.getOrAddNode(subscriptionsNode, String.valueOf(username.charAt(0)));
userNode = JcrUtils.getOrAddNode(userNode, String.valueOf(username));
- node = JcrUtils.getOrAddNode(userNode, mailbox, "jamesMailbox:subscription");
+ node = JcrUtils.getOrAddNode(userNode, mailbox, "nt:unstructured");
+ node.addMixin("jamesMailbox:subscription");
} else {
node = sub.getNode();
}
Modified: james/imap/trunk/jcr/src/main/resources/org/apache/james/imap/jcr/imap.cnd
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/resources/org/apache/james/imap/jcr/imap.cnd?rev=952601&r1=952600&r2=952601&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/resources/org/apache/james/imap/jcr/imap.cnd (original)
+++ james/imap/trunk/jcr/src/main/resources/org/apache/james/imap/jcr/imap.cnd Tue Jun 8 10:40:43 2010
@@ -17,22 +17,26 @@
<jamesMailbox = 'http://james.apache.org/imap/jcr/'>
-[jamesMailbox:subscription] > nt:base
+[jamesMailbox:subscription] > mix:created
+ mixin
- jamesMailbox:subscriptionUsername (STRING) mandatory
- jamesMailbox:subscriptionMailbox (STRING) mandatory
-[jamesMailbox:messageHeader] > nt:base
+[jamesMailbox:messageHeader] > mix:created
+ mixin
- jamesMailbox:headerFieldName (STRING) mandatory
- jamesMailbox:headerValue(STRING) mandatory
- jamesMailbox:headerLineNumber (LONG) mandatory
-[jamesMailbox:messageProperty] > nt:base
+[jamesMailbox:messageProperty] > mix:created
+ mixin
- jamesMailbox:propertyNamespace (STRING) mandatory
- jamesMailbox:propertyLocalName (STRING) mandatory
- jamesMailbox:propertyValue(STRING) mandatory
- jamesMailbox:propertyOrder (Long) mandatory
-[jamesMailbox:message] > mix:referenceable, nt:file
+[jamesMailbox:message] > mix:referenceable, mix:created, mix:created
+ mixin
- jamesMailbox:mailboxUUID (String) mandatory
- jamesMailbox:uid (LONG) mandatory
- jamesMailbox:size (LONG) mandatory
@@ -46,11 +50,12 @@
- jamesMailbox:messageBodyStartOctet (LONG) mandatory
- jamesMailbox:messageTextualLineCount (LONG)
- jamesMailbox:messageSubType (String) mandatory
- + messageHeader (jamesMailbox:messageHeader) multiple
- + messageProperty (jamesMailbox:messageProperty) multiple
+ + messageHeader (nt:unstructured) multiple
+ + messageProperty (nt:unstructured) multiple
-[jamesMailbox:mailbox] > mix:referenceable, mix:lockable, nt:folder
+[jamesMailbox:mailbox] > mix:referenceable, mix:lockable, mix:created
+ mixin
- jamesMailbox:mailboxUidValidity (LONG)
- jamesMailbox:mailboxName (STRING)
- jamesMailbox:mailboxLastUid (LONG)
- + * (nt:folder) multiple
+ + * (nt:unstructured) multiple
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org