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 jo...@apache.org on 2006/11/16 13:05:11 UTC
svn commit: r475700 - in /james/server/trunk/src:
java/org/apache/james/mailboxmanager/manager/
java/org/apache/james/mailboxmanager/torque/
java/org/apache/james/mailboxmanager/tracking/
test/org/apache/james/mailboxmanager/ test/org/apache/james/mail...
Author: joachim
Date: Thu Nov 16 04:05:10 2006
New Revision: 475700
URL: http://svn.apache.org/viewvc?view=rev&rev=475700
Log:
added Map getOpenMailboxSessionCountMap() to MailboxManagerProvider
intended for checking if sessions are closed properly
Modified:
james/server/trunk/src/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java
james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java
james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java
james/server/trunk/src/test/org/apache/james/mailboxmanager/AbstractMailboxManagerSelfTestCase.java
james/server/trunk/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerSelfTestCase.java
Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java?view=diff&rev=475700&r1=475699&r2=475700
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java Thu Nov 16 04:05:10 2006
@@ -19,6 +19,8 @@
package org.apache.james.mailboxmanager.manager;
+import java.util.Map;
+
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.mailbox.MailboxSession;
import org.apache.james.services.User;
@@ -52,5 +54,16 @@
*/
void deleteAllUserData(User authUser,User targetUser);
+
+
+ /**
+ * key: <b>String</b> - mailbox name <br />
+ * value: <b>Integer</b> - count of open sessions <br />
+ * <br />
+ * useful for testing
+ * @return Map of mailbox name/open session count
+ */
+
+ Map getOpenMailboxSessionCountMap();
}
Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java?view=diff&rev=475700&r1=475699&r2=475700
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProvider.java Thu Nov 16 04:05:10 2006
@@ -26,6 +26,7 @@
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Locale;
+import java.util.Map;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.configuration.Configurable;
@@ -234,6 +235,11 @@
public MailboxSession getMailboxSession(User authUser, String mailboxName) {
// TODO Auto-generated method stub
return null;
+ }
+
+
+ public Map getOpenMailboxSessionCountMap() {
+ return getMailboxCache().getOpenMailboxSessionCountMap();
}
Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java?view=diff&rev=475700&r1=475699&r2=475700
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxCache.java Thu Nov 16 04:05:10 2006
@@ -1,6 +1,26 @@
+/****************************************************************
+ * 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.mailboxmanager.tracking;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
@@ -46,6 +66,17 @@
tracker.signalRename(newName);
}
notFound(origName);
+ }
+
+ public synchronized Map getOpenMailboxSessionCountMap() {
+ Map countMap = new HashMap();
+ for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext();) {
+ Map.Entry entry = (Map.Entry) iter.next();
+ String name = (String) entry.getKey();
+ MailboxTracker tracker = (MailboxTracker) entry.getValue();
+ countMap.put(name,new Integer(tracker.getSessionCount()));
+ }
+ return countMap;
}
}
Modified: james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java?view=diff&rev=475700&r1=475699&r2=475700
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailboxmanager/tracking/MailboxTracker.java Thu Nov 16 04:05:10 2006
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.mailboxmanager.tracking;
import org.apache.james.mailboxmanager.MailboxListener;
@@ -50,6 +69,10 @@
public void signalRename(String newName) {
eventDispatcher.mailboxRenamed(mailboxName, newName);
mailboxName=newName;
+ }
+
+ public int getSessionCount() {
+ return eventDispatcher.size();
}
}
Modified: james/server/trunk/src/test/org/apache/james/mailboxmanager/AbstractMailboxManagerSelfTestCase.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/mailboxmanager/AbstractMailboxManagerSelfTestCase.java?view=diff&rev=475700&r1=475699&r2=475700
==============================================================================
--- james/server/trunk/src/test/org/apache/james/mailboxmanager/AbstractMailboxManagerSelfTestCase.java (original)
+++ james/server/trunk/src/test/org/apache/james/mailboxmanager/AbstractMailboxManagerSelfTestCase.java Thu Nov 16 04:05:10 2006
@@ -25,13 +25,14 @@
import org.apache.james.mailboxmanager.mailbox.GeneralMailboxSession;
import org.apache.james.mailboxmanager.manager.MailboxManager;
+import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
import junit.framework.TestCase;
public abstract class AbstractMailboxManagerSelfTestCase extends TestCase {
protected MailboxManager mailboxManager;
-
+ protected MailboxManagerProvider mailboxManagerProvider;
public void testCreateList() throws MailboxManagerException {
ListResult[] listResult;
@@ -53,10 +54,16 @@
}
}
- public void testGetSessionMailbox() throws MailboxManagerException {
- mailboxManager.createMailbox("#users.joachim3.INBOX");
- GeneralMailboxSession sessionMailbox=mailboxManager.getGeneralMailboxSession("#users.joachim3.INBOX");
+ public void testGetSessionMailboxLife() throws MailboxManagerException {
+ final String folder="#users.joachim3.INBOX";
+ assertEquals(0, mailboxManagerProvider.getOpenMailboxSessionCountMap().size());
+ mailboxManager.createMailbox(folder);
+ GeneralMailboxSession sessionMailbox=mailboxManager.getGeneralMailboxSession(folder);
assertNotNull(sessionMailbox);
+ assertEquals(1, mailboxManagerProvider.getOpenMailboxSessionCountMap().size());
+ assertEquals(new Integer(1), mailboxManagerProvider.getOpenMailboxSessionCountMap().get(folder));
+ sessionMailbox.close();
+ assertEquals(0, mailboxManagerProvider.getOpenMailboxSessionCountMap().size());
}
public void testListOne() throws MailboxManagerException {
@@ -69,6 +76,5 @@
assertEquals(1, listResult.length);
assertEquals("INBOX", listResult[0].getName());
}
-
}
Modified: james/server/trunk/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerSelfTestCase.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerSelfTestCase.java?view=diff&rev=475700&r1=475699&r2=475700
==============================================================================
--- james/server/trunk/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerSelfTestCase.java (original)
+++ james/server/trunk/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerSelfTestCase.java Thu Nov 16 04:05:10 2006
@@ -32,8 +32,9 @@
}
public void setUp() throws Exception {
- TorqueMailboxManagerProviderSingleton.getTorqueMailboxManagerProviderInstance().deleteEverything();
- mailboxManager = TorqueMailboxManagerProviderSingleton.getTorqueMailboxManagerProviderInstance().getMailboxManagerInstance(new MockUser());
+ mailboxManagerProvider=TorqueMailboxManagerProviderSingleton.getTorqueMailboxManagerProviderInstance();
+ mailboxManagerProvider.deleteEverything();
+ mailboxManager = mailboxManagerProvider.getMailboxManagerInstance(new MockUser());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org