Author: norman Date: Fri Mar 12 05:32:01 2010 New Revision: 922148 URL: http://svn.apache.org/viewvc?rev=922148&view=rev Log: Some more cosmetic changes related to IMAP-93
Added: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java 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/model/JCRHeader.java james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRProperty.java james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/JCRSubscriptionMapper.java james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/model/JCRSubscription.java Added: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java?rev=922148&view=auto ============================================================================== --- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java (added) +++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java Fri Mar 12 05:32:01 2010 @@ -0,0 +1,42 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ +package org.apache.james.imap.jcr; + +import org.apache.jackrabbit.util.Text; + +public class JCRUtils implements JCRImapConstants{ + + public static String createPath(String... subNodes) { + StringBuffer pathBuf = new StringBuffer(); + + for (int i = 0; i < subNodes.length; i++ ) { + String path = subNodes[i]; + if (path.startsWith(PROPERTY_PREFIX) == false) { + pathBuf.append(PROPERTY_PREFIX); + } + pathBuf.append(Text.escapeIllegalJcrChars(path)); + + if (i +1 != subNodes.length) { + pathBuf.append(NODE_DELIMITER); + } + } + return pathBuf.toString(); + + } +} 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=922148&r1=922147&r2=922148&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 Fri Mar 12 05:32:01 2010 @@ -33,6 +33,7 @@ import org.apache.commons.logging.Log; import org.apache.jackrabbit.util.Text; import org.apache.james.imap.api.display.HumanReadableText; import org.apache.james.imap.jcr.JCRImapConstants; +import org.apache.james.imap.jcr.JCRUtils; import org.apache.james.imap.jcr.mail.model.JCRMailbox; import org.apache.james.imap.mailbox.MailboxNotFoundException; import org.apache.james.imap.mailbox.StorageException; @@ -45,11 +46,11 @@ import org.apache.james.imap.store.trans * * */ -public class JCRMailboxMapper extends NonTransactionalMapper implements MailboxMapper { +public class JCRMailboxMapper extends NonTransactionalMapper implements MailboxMapper,JCRImapConstants { private final static String WILDCARD = "*"; private final Session session; - private final String PATH = "mailboxes"; + private final String PATH = PROPERTY_PREFIX + "mailboxes"; private Log logger; public JCRMailboxMapper(final Session session, final Log logger) { @@ -68,7 +69,7 @@ public class JCRMailboxMapper extends No String nodeName = Text.unescapeIllegalJcrChars(name); try { - boolean found = session.getRootNode().hasNode(PATH + JCRImapConstants.NODE_DELIMITER + nodeName); + boolean found = session.getRootNode().hasNode(JCRUtils.createPath(PATH, nodeName)); if (found) { return 1; } @@ -90,7 +91,7 @@ public class JCRMailboxMapper extends No public void delete(Mailbox mailbox) throws StorageException { String nodeName = Text.unescapeIllegalJcrChars(mailbox.getName()); try { - session.getRootNode().getNode(PATH + JCRImapConstants.NODE_DELIMITER + nodeName).remove(); + session.getRootNode().getNode(JCRUtils.createPath(PATH, nodeName)).remove(); } catch (PathNotFoundException e) { // mailbox does not exists.. } catch (RepositoryException e) { @@ -124,7 +125,7 @@ public class JCRMailboxMapper extends No */ public boolean existsMailboxStartingWith(String mailboxName) throws StorageException { try { - return session.getRootNode().getNodes(PATH + JCRImapConstants.NODE_DELIMITER + Text.unescapeIllegalJcrChars(mailboxName) + WILDCARD).hasNext(); + return session.getRootNode().getNodes(JCRUtils.createPath(PATH, mailboxName) + WILDCARD).hasNext(); } catch (RepositoryException e) { throw new StorageException(HumanReadableText.SEARCH_FAILED, e); } @@ -138,7 +139,7 @@ public class JCRMailboxMapper extends No public Mailbox findMailboxById(long mailboxId) throws StorageException, MailboxNotFoundException { try { QueryManager manager = session.getWorkspace().getQueryManager(); - String queryString = session.getRootNode().getPath() + JCRImapConstants.NODE_DELIMITER + PATH + "//element(" + mailboxId + ")," + JCRMailbox.ID_PROPERTY + ")"; + String queryString = JCRUtils.createPath(session.getRootNode().getPath(), PATH) + "//element(" + mailboxId + ")," + JCRMailbox.ID_PROPERTY + ")"; Query query = manager.createQuery(queryString, Query.XPATH); NodeIterator nodes = query.execute().getNodes(); @@ -163,7 +164,7 @@ public class JCRMailboxMapper extends No */ public Mailbox findMailboxByName(String name) throws StorageException, MailboxNotFoundException { try { - Node node = session.getRootNode().getNode(PATH + JCRImapConstants.NODE_DELIMITER + name); + Node node = session.getRootNode().getNode(JCRUtils.createPath(PATH, name)); return JCRMailbox.from(node); } catch (PathNotFoundException e) { throw new MailboxNotFoundException(name); @@ -182,7 +183,7 @@ public class JCRMailboxMapper extends No public List<Mailbox> findMailboxWithNameLike(String name) throws StorageException { List<Mailbox> mailboxList = new ArrayList<Mailbox>(); try { - NodeIterator it = session.getRootNode().getNodes(PATH + JCRImapConstants.NODE_DELIMITER + WILDCARD + name + WILDCARD); + NodeIterator it = session.getRootNode().getNodes(PATH + NODE_DELIMITER + WILDCARD + name + WILDCARD); while (it.hasNext()) { mailboxList.add(JCRMailbox.from(it.nextNode())); } @@ -202,7 +203,7 @@ public class JCRMailboxMapper extends No * imap.store.mail.model.Mailbox) */ public void save(Mailbox mailbox) throws StorageException { - String nodePath = PATH + JCRImapConstants.NODE_DELIMITER + Text.unescapeIllegalJcrChars(mailbox.getName()); + String nodePath = JCRUtils.createPath(PATH,mailbox.getName()); try { Node node; if (session.getRootNode().hasNode(nodePath)) { Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRHeader.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRHeader.java?rev=922148&r1=922147&r2=922148&view=diff ============================================================================== --- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRHeader.java (original) +++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRHeader.java Fri Mar 12 05:32:01 2010 @@ -20,6 +20,7 @@ package org.apache.james.imap.jcr.mail.m import javax.jcr.Node; import javax.jcr.RepositoryException; +import javax.mail.Header; import org.apache.commons.logging.Log; import org.apache.james.imap.jcr.IsPersistent; @@ -27,15 +28,15 @@ import org.apache.james.imap.jcr.JCRImap import org.apache.james.imap.store.mail.model.AbstractComparableHeader; /** - * JCR implementation of a Header + * JCR implementation of a {...@link Header} * * */ public class JCRHeader extends AbstractComparableHeader implements JCRImapConstants, IsPersistent{ - public final static String FIELDNAME_PROPERTY = PROPERTY_PREFIX + "fieldName"; - public final static String VALUE_PROPERTY = PROPERTY_PREFIX + "value"; - public final static String LINENUMBER_PROPERTY = PROPERTY_PREFIX + "lineNumber"; + public final static String FIELDNAME_PROPERTY = PROPERTY_PREFIX + "headerFieldName"; + public final static String VALUE_PROPERTY = PROPERTY_PREFIX + "headerFalue"; + public final static String LINENUMBER_PROPERTY = PROPERTY_PREFIX + "headerLineNumber"; private String fieldName; private String value; Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java?rev=922148&r1=922147&r2=922148&view=diff ============================================================================== --- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java (original) +++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java Fri Mar 12 05:32:01 2010 @@ -31,14 +31,14 @@ import org.apache.james.imap.store.mail. /** - * JCR implementation of a Mailbox + * JCR implementation of a {...@link Mailbox} */ public class JCRMailbox implements Mailbox{ - public final static String ID_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "id"; - public final static String NAME_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "name"; - public final static String UIDVALIDITY_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "uidValidity"; - public final static String LASTUID_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "lastUid"; + public final static String ID_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "mailboxId"; + public final static String NAME_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "mailboxName"; + public final static String UIDVALIDITY_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "mailboxUidValidity"; + public final static String LASTUID_PROPERTY = JCRImapConstants.PROPERTY_PREFIX + "mailboxLastUid"; private long id = -1; private String name; Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRProperty.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRProperty.java?rev=922148&r1=922147&r2=922148&view=diff ============================================================================== --- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRProperty.java (original) +++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRProperty.java Fri Mar 12 05:32:01 2010 @@ -26,7 +26,12 @@ import org.apache.james.imap.jcr.IsPersi import org.apache.james.imap.jcr.JCRImapConstants; import org.apache.james.imap.store.mail.model.AbstractComparableProperty; +import org.apache.james.imap.store.mail.model.Property; +/** + * JCR implementation of {...@link Property} + * + */ public class JCRProperty extends AbstractComparableProperty<JCRProperty> implements JCRImapConstants, IsPersistent { private Node node; 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=922148&r1=922147&r2=922148&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 Fri Mar 12 05:32:01 2010 @@ -28,10 +28,10 @@ import javax.jcr.RepositoryException; import javax.jcr.Session; import org.apache.commons.logging.Log; -import org.apache.jackrabbit.util.Text; import org.apache.james.imap.api.display.HumanReadableText; import org.apache.james.imap.jcr.IsPersistent; import org.apache.james.imap.jcr.JCRImapConstants; +import org.apache.james.imap.jcr.JCRUtils; import org.apache.james.imap.jcr.user.model.JCRSubscription; import org.apache.james.imap.mailbox.SubscriptionException; import org.apache.james.imap.store.transaction.NonTransactionalMapper; @@ -44,11 +44,11 @@ import org.apache.james.imap.store.user. * ends in a "real" action * */ -public class JCRSubscriptionMapper extends NonTransactionalMapper implements SubscriptionMapper { +public class JCRSubscriptionMapper extends NonTransactionalMapper implements SubscriptionMapper, JCRImapConstants { private final Session session; private final Log log; - private final static String PATH = "subscriptions"; + private final static String PATH = PROPERTY_PREFIX + "subscriptions"; public JCRSubscriptionMapper(final Session session, final Log log) { this.session = session; @@ -88,7 +88,7 @@ public class JCRSubscriptionMapper exten */ public Subscription findFindMailboxSubscriptionForUser(String user, String mailbox) throws SubscriptionException { try { - Node node = session.getRootNode().getNode(PATH + JCRImapConstants.NODE_DELIMITER + getPath(user, mailbox)); + Node node = session.getRootNode().getNode(JCRUtils.createPath(PATH, user, mailbox)); return new JCRSubscription(node, log); } catch (PathNotFoundException e) { return null; @@ -107,7 +107,7 @@ public class JCRSubscriptionMapper exten public List<Subscription> findSubscriptionsForUser(String user) throws SubscriptionException { List<Subscription> subList = new ArrayList<Subscription>(); try { - Node node = session.getRootNode().getNode(PATH + JCRImapConstants.NODE_DELIMITER + Text.escapeIllegalJcrChars(user)); + Node node = session.getRootNode().getNode(JCRUtils.createPath(PATH , user)); NodeIterator nodeIt = node.getNodes("*"); while (nodeIt.hasNext()) { subList.add(new JCRSubscription(nodeIt.nextNode(), log)); @@ -131,7 +131,7 @@ public class JCRSubscriptionMapper exten public void save(Subscription subscription) throws SubscriptionException { String username = subscription.getUser(); String mailbox = subscription.getMailbox(); - String nodename = getPath(username, mailbox); + String nodename = JCRUtils.createPath(username, mailbox); try { Node node = session.getRootNode().getNode(PATH); Node subNode; @@ -150,8 +150,4 @@ public class JCRSubscriptionMapper exten } } - private String getPath(String username, String mailbox) { - return Text.escapeIllegalJcrChars(username) + JCRImapConstants.NODE_DELIMITER + Text.escapeIllegalJcrChars(mailbox); - } - } Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/model/JCRSubscription.java URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/model/JCRSubscription.java?rev=922148&r1=922147&r2=922148&view=diff ============================================================================== --- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/model/JCRSubscription.java (original) +++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/user/model/JCRSubscription.java Fri Mar 12 05:32:01 2010 @@ -28,12 +28,12 @@ import org.apache.james.imap.jcr.JCRImap import org.apache.james.imap.store.user.model.Subscription; /** - * JCR implementation of a Subscription + * JCR implementation of a {...@link Subscription} * */ public class JCRSubscription implements Subscription, IsPersistent, JCRImapConstants { - public final static String USERNAME_PROPERTY = PROPERTY_PREFIX + "username"; - public final static String MAILBOX_PROPERTY = PROPERTY_PREFIX + "mailbox"; + public final static String USERNAME_PROPERTY = PROPERTY_PREFIX + "subscriptionUsername"; + public final static String MAILBOX_PROPERTY = PROPERTY_PREFIX + "subscriptionMailbox"; private Node node; private final Log log; --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org