public Resources createResources(GroupMembershipResolver groupMembershipResolver, int limitAnnotationCount, int limitAnnotationSize) throws MailboxException { return createMailboxManager(groupMembershipResolver, ((storeRightManager, inMemoryMailboxSessionMapperFactory) -> new StoreMailboxAnnotationManager( inMemoryMailboxSessionMapperFactory, storeRightManager, limitAnnotationCount, limitAnnotationSize))); }
@Override public void updateAnnotations(MailboxPath mailboxPath, MailboxSession session, List<MailboxAnnotation> mailboxAnnotations) throws MailboxException { AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session); MailboxId mailboxId = checkThenGetMailboxId(mailboxPath, session); annotationMapper.execute(Mapper.toTransaction(() -> { for (MailboxAnnotation annotation : mailboxAnnotations) { if (annotation.isNil()) { annotationMapper.deleteAnnotation(mailboxId, annotation.getKey()); } else if (canInsertOrUpdate(mailboxId, annotation, annotationMapper)) { annotationMapper.insertAnnotation(mailboxId, annotation); } } })); }
@Override public List<MailboxAnnotation> getAllAnnotations(MailboxPath mailboxPath, MailboxSession session) throws MailboxException { AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session); MailboxId mailboxId = checkThenGetMailboxId(mailboxPath, session); return annotationMapper.execute( () -> annotationMapper.getAllAnnotations(mailboxId)); }
@Override public List<MailboxAnnotation> getAnnotationsByKeysWithOneDepth(MailboxPath mailboxPath, MailboxSession session, Set<MailboxAnnotationKey> keys) throws MailboxException { AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session); final MailboxId mailboxId = checkThenGetMailboxId(mailboxPath, session); return annotationMapper.execute( () -> annotationMapper.getAnnotationsByKeysWithOneDepth(mailboxId, keys)); }
public Resources createResources(GroupMembershipResolver groupMembershipResolver) throws MailboxException { return createMailboxManager(groupMembershipResolver, ((storeRightManager, inMemoryMailboxSessionMapperFactory) -> new StoreMailboxAnnotationManager( inMemoryMailboxSessionMapperFactory, storeRightManager))); }
@Override public List<MailboxAnnotation> getAnnotationsByKeys(MailboxPath mailboxPath, MailboxSession session, final Set<MailboxAnnotationKey> keys) throws MailboxException { AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session); MailboxId mailboxId = checkThenGetMailboxId(mailboxPath, session); return annotationMapper.execute( () -> annotationMapper.getAnnotationsByKeys(mailboxId, keys)); }
public static CassandraMailboxManager createMailboxManager(CassandraMailboxSessionMapperFactory mapperFactory) throws Exception { DefaultDelegatingMailboxListener delegatingMailboxListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingMailboxListener); StoreRightManager storeRightManager = new StoreRightManager(mapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager); CassandraMailboxManager cassandraMailboxManager = new CassandraMailboxManager(mapperFactory, mock(Authenticator.class), mock(Authorizator.class), new NoMailboxPathLocker(), new MessageParser(), new CassandraMessageId.Factory(), mailboxEventDispatcher, delegatingMailboxListener, annotationManager, storeRightManager); cassandraMailboxManager.init(); return cassandraMailboxManager; }
@Override public List<MailboxAnnotation> getAnnotationsByKeysWithAllDepth(MailboxPath mailboxPath, MailboxSession session, Set<MailboxAnnotationKey> keys) throws MailboxException { AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session); MailboxId mailboxId = checkThenGetMailboxId(mailboxPath, session); return annotationMapper.execute( () -> annotationMapper.getAnnotationsByKeysWithAllDepth(mailboxId, keys)); } }
@Override @Before public void setUp() throws Exception { mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); Authenticator noAuthenticator = null; Authorizator noAuthorizator = null; DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); MessageId.Factory messageIdFactory = new InMemoryMessageId.Factory(); GroupMembershipResolver groupMembershipResolver = null; UnionMailboxACLResolver aclResolver = new UnionMailboxACLResolver(); StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, aclResolver, groupMembershipResolver, mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); mailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), new MessageParser(), messageIdFactory, mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); mailboxManager.init(); MessageParser failingMessageParser = mock(MessageParser.class); when(failingMessageParser.retrieveAttachments(any(InputStream.class))) .thenThrow(new RuntimeException("Message parser set to fail")); parseFailingMailboxManager = new InMemoryMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), failingMessageParser, messageIdFactory, mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); parseFailingMailboxManager.init(); super.setUp(); }
private void initSystemUnderTest() throws Exception { CassandraMessageId.Factory messageIdFactory = new CassandraMessageId.Factory(); mailboxSessionMapperFactory = TestCassandraMailboxSessionMapperFactory.forTests( cassandra.getConf(), cassandra.getTypesProvider(), messageIdFactory); Authenticator noAuthenticator = null; Authorizator noAuthorizator = null; DefaultDelegatingMailboxListener delegatingMailboxListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingMailboxListener); StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), new SimpleGroupMembershipResolver(), mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); mailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), new MessageParser(), messageIdFactory, mailboxEventDispatcher, delegatingMailboxListener, annotationManager, storeRightManager); mailboxManager.init(); MessageParser failingMessageParser = mock(MessageParser.class); when(failingMessageParser.retrieveAttachments(any())) .thenThrow(new RuntimeException("Message parser set to fail")); parseFailingMailboxManager = new CassandraMailboxManager(mailboxSessionMapperFactory, noAuthenticator, noAuthorizator, new NoMailboxPathLocker(), failingMessageParser, messageIdFactory, mailboxEventDispatcher, delegatingMailboxListener, annotationManager, storeRightManager); parseFailingMailboxManager.init(); }
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; } }
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; }
dispatcher, new DefaultDelegatingMailboxListener(), new StoreMailboxAnnotationManager(mapperFactory, rightManager), rightManager); StoreMessageIdManager messageIdManager = new StoreMessageIdManager(
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; } }
public StoreMailboxManager createMailboxManager(GroupMembershipResolver groupMembershipResolver, Authenticator authenticator, Authorizator authorizator) throws MailboxException { InMemoryMailboxSessionMapperFactory mailboxSessionMapperFactory = new InMemoryMailboxSessionMapperFactory(); DefaultDelegatingMailboxListener delegatingListener = new DefaultDelegatingMailboxListener(); MailboxEventDispatcher mailboxEventDispatcher = new MailboxEventDispatcher(delegatingListener); StoreRightManager storeRightManager = new StoreRightManager(mailboxSessionMapperFactory, new UnionMailboxACLResolver(), groupMembershipResolver, mailboxEventDispatcher); StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mailboxSessionMapperFactory, storeRightManager); StoreMailboxManager manager = new InMemoryMailboxManager( mailboxSessionMapperFactory, authenticator, authorizator, new NoMailboxPathLocker(), new MessageParser(), new InMemoryMessageId.Factory(), mailboxEventDispatcher, delegatingListener, annotationManager, storeRightManager); manager.init(); return manager; }
StoreMailboxAnnotationManager annotationManager = new StoreMailboxAnnotationManager(mapperFactory, storeRightManager, LIMIT_ANNOTATIONS, LIMIT_ANNOTATION_SIZE);