@Inject public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, Authorizator authorizator, MessageParser messageParser, MessageId.Factory messageIdFactory, DelegatingMailboxListener delegatingMailboxListener, MailboxEventDispatcher mailboxEventDispatcher, StoreMailboxAnnotationManager annotationManager, StoreRightManager storeRightManager) { super(mapperFactory, authenticator, authorizator, new JVMMailboxPathLocker(), messageParser, messageIdFactory, delegatingMailboxListener, mailboxEventDispatcher, annotationManager, storeRightManager); }
@Override protected void unlock(MailboxSession session, MailboxPath path, boolean writeLock) throws MailboxException { ReadWriteLock lock = paths.get(path); if (lock != null) { getLock(lock, writeLock).unlock(); } }
@Override public SubscriptionManager createSubscriptionManager() { MaildirStore store = new MaildirStore(tmpFolder + "/Maildir/%domain/%user", new JVMMailboxPathLocker()); MaildirMailboxSessionMapperFactory factory = new MaildirMailboxSessionMapperFactory(store); return new StoreSubscriptionManager(factory); }
@Override protected void lock(MailboxSession session, MailboxPath path, boolean writeLock) throws MailboxException { ReadWriteLock lock = paths.get(path); if (lock == null) { lock = new ReentrantReadWriteLock(); ReadWriteLock storedLock = paths.putIfAbsent(path, lock); if (storedLock != null) { lock = storedLock; } } getLock(lock, writeLock).lock(); }
public static StoreMailboxManager createMailboxManager(String configuration, TemporaryFolder temporaryFolder) throws MailboxException, IOException { MaildirStore store = new MaildirStore(temporaryFolder.newFolder().getPath() + configuration, new JVMMailboxPathLocker()); MaildirMailboxSessionMapperFactory mf = new MaildirMailboxSessionMapperFactory(store); MailboxACLResolver aclResolver = new UnionMailboxACLResolver(); GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver(); MessageParser messageParser = new MessageParser(); DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); StoreRightManager storeRightManager = new StoreRightManager(mf, aclResolver, groupMembershipResolver, mailboxEventDispatcher); Authenticator noAuthenticator = null; Authorizator noAuthorizator = null; StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mf, storeRightManager); StoreMailboxManager manager = new StoreMailboxManager(mf, noAuthenticator, noAuthorizator, new JVMMailboxPathLocker(), messageParser, new DefaultMessageId.Factory(), annotationManager, mailboxEventDispatcher, delegatingListener, storeRightManager); manager.init(); return manager; } }
@Override public SubscriptionManager createSubscriptionManager() { JVMMailboxPathLocker locker = new JVMMailboxPathLocker(); EntityManagerFactory entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory(); JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory, new JPAUidProvider(locker, entityManagerFactory), new JPAModSeqProvider(locker, entityManagerFactory)); return new JPASubscriptionManager(mf); }
@Override public MessageMapper createMessageMapper() throws MailboxException { EntityManagerFactory entityManagerFactory = jpaTestCluster.getEntityManagerFactory(); JVMMailboxPathLocker locker = new JVMMailboxPathLocker(); JPAMessageMapper messageMapper = new JPAMessageMapper(new MockMailboxSession("benwa"), new JPAUidProvider(locker, entityManagerFactory), new JPAModSeqProvider(locker, entityManagerFactory), entityManagerFactory); return new TransactionalMessageMapper(messageMapper); }
fakeAuthenticator, FakeAuthorizator.defaultReject(), new JVMMailboxPathLocker(), new MessageParser(), new InMemoryMessageId.Factory(),
public static JCRMailboxManager provideMailboxManager(String user, String pass, String workspace, RepositoryImpl repository) { JCRUtils.registerCnd(repository, workspace, user, pass); MailboxSessionJCRRepository sessionRepos = new GlobalMailboxSessionJCRRepository(repository, workspace, user, pass); JVMMailboxPathLocker locker = new JVMMailboxPathLocker(); JCRUidProvider uidProvider = new JCRUidProvider(locker, sessionRepos); JCRModSeqProvider modSeqProvider = new JCRModSeqProvider(locker, sessionRepos); JCRMailboxSessionMapperFactory mf = new JCRMailboxSessionMapperFactory(sessionRepos, uidProvider, modSeqProvider); MailboxACLResolver aclResolver = new UnionMailboxACLResolver(); GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver(); MessageParser messageParser = new MessageParser(); Authenticator noAuthenticator = null; Authorizator noAuthorizator = null; DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); StoreRightManager storeRightManager = new StoreRightManager(mf, aclResolver, groupMembershipResolver, mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mf, storeRightManager); JCRMailboxManager manager = new JCRMailboxManager(mf, noAuthenticator, noAuthorizator, locker, messageParser, new DefaultMessageId.Factory(), mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); try { manager.init(); } catch (MailboxException e) { throw new RuntimeException(e); } return manager; }
public static OpenJPAMailboxManager provideMailboxManager(JpaTestCluster jpaTestCluster) { EntityManagerFactory entityManagerFactory = jpaTestCluster.getEntityManagerFactory(); JVMMailboxPathLocker locker = new JVMMailboxPathLocker(); JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory, new JPAUidProvider(locker, entityManagerFactory), new JPAModSeqProvider(locker, entityManagerFactory)); MailboxACLResolver aclResolver = new UnionMailboxACLResolver(); GroupMembershipResolver groupMembershipResolver = new SimpleGroupMembershipResolver(); MessageParser messageParser = new MessageParser(); Authenticator noAuthenticator = null; Authorizator noAuthorizator = null; DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); StoreRightManager storeRightManager = new StoreRightManager(mf, aclResolver, groupMembershipResolver, mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mf, storeRightManager, LIMIT_ANNOTATIONS, LIMIT_ANNOTATION_SIZE); OpenJPAMailboxManager openJPAMailboxManager = new OpenJPAMailboxManager(mf, noAuthenticator, noAuthorizator, messageParser, new DefaultMessageId.Factory(), delegatingListener, mailboxEventDispatcher, annotationManager, storeRightManager); try { openJPAMailboxManager.init(); } catch (MailboxException e) { throw new RuntimeException(e); } return openJPAMailboxManager; } }
JVMMailboxPathLocker locker = new JVMMailboxPathLocker(); InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); InMemoryMailboxManager mailboxManager = new InMemoryMailboxManager(mapperFactory,