private HashSet<String> returnSubfolders( Folder folder ) throws KettleException { HashSet<String> list = new HashSet<String>(); try { if ( ( folder.getType() & Folder.HOLDS_FOLDERS ) != 0 ) { Folder[] f = folder.list(); for ( int i = 0; i < f.length; i++ ) { // Search for sub folders if ( ( f[i].getType() & Folder.HOLDS_FOLDERS ) != 0 ) { list.add( f[i].getFullName() ); list.addAll( returnSubfolders( f[i] ) ); } } } } catch ( MessagingException m ) { throw new KettleException( m ); } return list; }
/** * Returns array of all {@link Folder}s as {@code String}s. You can use these names in * {@link #useFolder(String)} method. * * @return array of all {@link Folder}s as {@code String}s. */ public String[] getAllFolders() { final Folder[] folders; try { folders = getService().getDefaultFolder().list("*"); } catch (final MessagingException msgexc) { throw new MailException("Failed to connect to folder", msgexc); } final String[] folderNames = new String[folders.length]; for (int i = 0; i < folders.length; i++) { final Folder folder = folders[i]; folderNames[i] = folder.getFullName(); } return folderNames; }
public Mconn( LogChannelInterface log ) throws KettleException, MessagingException { super( log, MailConnectionMeta.PROTOCOL_IMAP, "junit", 0, "junit", "junit", false, false, "junit" ); store = Mockito.mock( Store.class ); inbox = Mockito.mock( Folder.class ); a = Mockito.mock( Folder.class ); b = Mockito.mock( Folder.class ); c = Mockito.mock( Folder.class ); when( a.getFullName() ).thenReturn( "A" ); when( b.getFullName() ).thenReturn( "B" ); when( c.getFullName() ).thenReturn( "C" ); when( a.exists() ).thenReturn( true ); when( b.exists() ).thenReturn( true ); when( c.exists() ).thenReturn( cCreated ); when( c.create( Mockito.anyInt() ) ).thenAnswer( new Answer<Boolean>() { @Override public Boolean answer( InvocationOnMock invocation ) throws Throwable { Object arg0 = invocation.getArguments()[0]; mode = Integer.class.cast( arg0 ); cCreated = true; return true; } } ); when( inbox.getFolder( "a" ) ).thenReturn( a ); when( a.getFolder( "b" ) ).thenReturn( b ); when( b.getFolder( "c" ) ).thenReturn( c ); when( store.getDefaultFolder() ).thenReturn( inbox ); }
/** * PDI-7426 Test {@link MailConnection#openFolder(String, boolean, boolean)} method. tests that folders are opened * recursively * * @throws KettleException * @throws MessagingException */ @Test public void openFolderTest() throws KettleException, MessagingException { conn.openFolder( "a/b", false, false ); Folder folder = conn.getFolder(); Assert.assertEquals( "Folder B is opened", "B", folder.getFullName() ); }
/** * override the default toString(), it will return the String * from Folder.getFullName() or if that is null, it will use * the default toString() behavior. */ public String toString() { String s = getFullName(); if (s != null) return s; else return super.toString(); } }
/** * override the default toString(), it will return the String * from Folder.getFullName() or if that is null, it will use * the default toString() behavior. */ @Override public String toString() { String s = getFullName(); if (s != null) return s; else return super.toString(); } }
@Override public Object doCommand(IMAPProtocol p) throws ProtocolException { p.rename(fullName, f.getFullName()); return Boolean.TRUE; } });
public Object doCommand(IMAPProtocol p) throws ProtocolException { p.rename(fullName, f.getFullName()); return Boolean.TRUE; } });
private MimeMessage[] searchAndFilterMessages() throws MessagingException { if (this.logger.isInfoEnabled()) { this.logger.info("attempting to receive mail from folder [" + this.folder.getFullName() + "]"); } Message[] messages = searchForNewMessages(); if (this.maxFetchSize > 0 && messages.length > this.maxFetchSize) { Message[] reducedMessages = new Message[this.maxFetchSize]; System.arraycopy(messages, 0, reducedMessages, 0, this.maxFetchSize); messages = reducedMessages; } if (this.logger.isDebugEnabled()) { this.logger.debug("found " + messages.length + " new messages"); } if (messages.length > 0) { fetchMessages(messages); } if (this.logger.isDebugEnabled()) { this.logger.debug("Received " + messages.length + " messages"); } MimeMessage[] filteredMessages = filterMessagesThruSelector(messages); postProcessFilteredMessages(filteredMessages); return filteredMessages; }
if (!folder.exists()) throw new FolderNotFoundException( folder.getFullName() + " does not exist", folder);
if (!folder.exists()) throw new FolderNotFoundException( folder.getFullName() + " does not exist", folder);
String fullname = getFullName(); StringBuffer encodedName = new StringBuffer();
log.logDebug( BaseMessages.getString( PKG, "JobGetMailsFromPOP.FolderOpened.FullName", this.folder.getFullName() ) ); log.logDebug( BaseMessages.getString( PKG, "JobGetMailsFromPOP.FolderOpened.Url", this.folder.getURLName().toString() ) ); log.logDebug( BaseMessages.getString( PKG, "JobGetMailsFromPOP.FolderOpened.Subscribed", "" + this.folder.isSubscribed() ) );
String fullname = getFullName(); StringBuilder encodedName = new StringBuilder();
"Messages have been removed"); if (move) p.move(ms, folder.getFullName()); else p.copy(ms, folder.getFullName()); } catch (CommandFailedException cfx) { if (cfx.getMessage().indexOf("TRYCREATE") != -1) throw new FolderNotFoundException( folder, folder.getFullName() + " does not exist" ); else
"Messages have been removed"); if (move) p.move(ms, folder.getFullName()); else p.copy(ms, folder.getFullName()); } catch (CommandFailedException cfx) { if (cfx.getMessage().indexOf("TRYCREATE") != -1) throw new FolderNotFoundException( folder, folder.getFullName() + " does not exist" ); else
/** * Returns the full name of this folder; if null, returns the value from the superclass. * @return a string form of this folder */ public String toString() { String name = getFullName(); return name == null ? super.toString() : name; }
CopyUID cuid; if (move) cuid = p.moveuid(ms, folder.getFullName()); else cuid = p.copyuid(ms, folder.getFullName()); throw new FolderNotFoundException( folder, folder.getFullName() + " does not exist" ); else
CopyUID cuid; if (move) cuid = p.moveuid(ms, folder.getFullName()); else cuid = p.copyuid(ms, folder.getFullName()); throw new FolderNotFoundException( folder, folder.getFullName() + " does not exist" ); else
@Override public Object doCommand(IMAPProtocol p) throws ProtocolException { p.rename(fullName, f.getFullName()); return Boolean.TRUE; } });