Changeset 282 for trunk/src/org/expeditee/agents
- Timestamp:
- 08/27/08 09:18:49 (16 years ago)
- Location:
- trunk/src/org/expeditee/agents
- Files:
-
- 2 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/agents/MailTree.java
r278 r282 8 8 import org.expeditee.gui.AttributeValuePair; 9 9 import org.expeditee.gui.Frame; 10 import org.expeditee.gui.FrameIO; 10 11 import org.expeditee.gui.FreeItems; 11 12 import org.expeditee.items.Item; 12 13 import org.expeditee.items.Text; 13 14 14 public class Mail Frame extends DefaultAgent {15 public class MailTree extends DefaultAgent { 15 16 16 17 @Override 17 18 public boolean initialise(Frame frame, Item item) { 18 19 return super.initialise(frame, item); 20 } 21 22 private String getFrameText(Frame frame, String prefix) { 23 StringBuffer sb = new StringBuffer(); 24 // Get the text to mail 25 for (Text t : frame.getBodyTextItems(false)) { 26 if (t.hasLink()) { 27 Frame linkedFrame = FrameIO.LoadFrame(t.getAbsoluteLink()); 28 if (linkedFrame == null) 29 continue; 30 31 String frameTitle = linkedFrame.getTitle(); 32 sb.append(prefix).append(frameTitle).append('\n') 33 .append(prefix); 34 for (int i = 0; i < frameTitle.length(); i++) { 35 sb.append('-'); 36 } 37 sb.append("\n\n"); 38 sb.append(getFrameText(linkedFrame, prefix)); 39 } else { 40 sb.append(prefix).append(t.getText()).append("\n\n"); 41 } 42 } 43 44 Text original = frame.getAnnotation("original"); 45 if (original != null) { 46 Frame linkedFrame = FrameIO.LoadFrame(original.getAbsoluteLink()); 47 if (linkedFrame != null) { 48 sb.append("\n\n").append("Original Message").append( 49 "----------------").append("\n\n"); 50 sb.append(getFrameText(linkedFrame, ">")); 51 } 52 } 53 54 return sb.toString(); 19 55 } 20 56 … … 30 66 protected Frame process(Frame frame) { 31 67 String subject = frame.getTitle(); 32 List<Text> text = frame.getBodyTextItems(false); 33 StringBuilder body = new StringBuilder(); 34 for (Text t : text) { 35 body.append(t.getText()).append("\n\n"); 36 } 68 69 // Get the text to mail 70 String body = getFrameText(frame, ""); 71 37 72 String to = frame.getAnnotationValue("to"); 38 73 String cc = frame.getAnnotationValue("cc"); … … 115 150 // Allow the user to do other stuff while the message gets sent 116 151 _running = false; 117 MailSession.sendTextMessage(to, cc, bcc, subject, body .toString());152 MailSession.sendTextMessage(to, cc, bcc, subject, body, null); 118 153 119 154 return null; -
trunk/src/org/expeditee/agents/PdfFrameset.java
r228 r282 1 1 package org.expeditee.agents; 2 2 3 import java.awt.Dimension; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 3 import java.io.IOException; 6 4 7 5 import org.expeditee.gui.Frame; 8 import org.expeditee.gui.FrameGraphics; 9 import org.expeditee.gui.FrameIO; 10 import org.expeditee.gui.UserSettings; 6 import org.expeditee.gui.MessageBay; 7 import org.expeditee.io.PdfFramesetWriter; 11 8 12 import com.lowagie.text.Document;13 import com.lowagie.text.DocumentException;14 import com.lowagie.text.Rectangle;15 import com.lowagie.text.pdf.PdfContentByte;16 import com.lowagie.text.pdf.PdfWriter;17 9 18 10 public class PdfFrameset extends DefaultAgent { 19 private long _firstFrame = 1; 11 private PdfFramesetWriter _pdfWriter; 12 13 private int _firstFrame = 1; 20 14 21 private long_maxFrame = Integer.MAX_VALUE;15 private int _maxFrame = Integer.MAX_VALUE; 22 16 23 public PdfFrameset( long firstFrame, longmaxFrame) {17 public PdfFrameset(int firstFrame, int maxFrame) { 24 18 super(); 25 19 _firstFrame = firstFrame; … … 35 29 @Override 36 30 protected Frame process(Frame frame) { 37 String framesetName = frame.getFramesetName(); 38 String fileName = FrameIO.EXPORTS_DIR + framesetName + ".pdf"; 39 int count = FrameIO.getLastNumber(framesetName); 40 41 Dimension d = FrameGraphics.getMaxSize(); 42 Document _pdfDocument = new Document(new Rectangle(d.width, d.height)); 31 _pdfWriter = new PdfFramesetWriter(_firstFrame, _maxFrame); 43 32 44 PdfContentByte cb = null;45 33 try { 46 PdfWriter writer = PdfWriter.getInstance(_pdfDocument, 47 new FileOutputStream(fileName)); 48 _pdfDocument.open(); 49 _pdfDocument.addCreationDate(); 50 _pdfDocument.addAuthor(UserSettings.Username); 51 _pdfDocument.addCreator("Expeditee"); 52 cb = writer.getDirectContent(); 53 54 } catch (FileNotFoundException e) { 55 e.printStackTrace(); 56 return null; 57 } catch (DocumentException e) { 58 e.printStackTrace(); 59 return null; 34 _pdfWriter.writeFrame(frame); 35 } catch (IOException e) { 36 MessageBay.errorMessage("PdfFrameset error: " + e.getMessage()); 37 //e.printStackTrace(); 60 38 } 61 62 for (long i = _firstFrame; i <= _maxFrame && i <= count; i++) { 63 if (_stop) { 64 break; 65 } 66 String frameName = framesetName + i; 67 Frame toPaint = FrameIO.LoadFrame(frameName); 68 if (toPaint != null) { 69 overwriteMessage("Converting " + frameName); 70 java.awt.Graphics2D g2 = cb.createGraphics(FrameGraphics 71 .getMaxSize().width, FrameGraphics.getMaxSize().height); 72 FrameGraphics.paintFrame(toPaint, null, false, false, g2); 73 g2.dispose(); 74 // Move to the next page? 75 _pdfDocument.setPageCount(_pdfDocument.getPageNumber() + 1); 76 } 77 } 78 try { 79 _pdfDocument.close(); 80 } catch (Exception e) { 81 overwriteMessage("Error writing PDF document"); 82 } 39 83 40 return null; 84 41 } 42 43 @Override 44 public void stop(){ 45 _pdfWriter.stop(); 46 } 85 47 } -
trunk/src/org/expeditee/agents/mail/MailSession.java
r254 r282 224 224 225 225 public static boolean sendTextMessage(String to, String cc, String bcc, 226 String subject, String body ) {226 String subject, String body, Object attachments) { 227 227 228 228 if (_theMailSession == null) { … … 236 236 } 237 237 238 return _theMailSession.sendText(to, cc, bcc, subject, body );238 return _theMailSession.sendText(to, cc, bcc, subject, body, attachments); 239 239 } 240 240 241 241 private synchronized boolean sendText(String to, String cc, String bcc, 242 String subject, String body ) {242 String subject, String body, Object attachments) { 243 243 if (!_transport.isConnected()) { 244 244 MessageBay … … 263 263 // -- Create a new message -- 264 264 Message msg = new MimeMessage(_session); 265 265 266 266 // -- Set the FROM and TO fields -- 267 267 msg.setFrom(new InternetAddress(_address)); … … 409 409 if (flag == null 410 410 || msgs[msgNum].getFlags().contains(flag) == isPresent) { 411 Item newItem = readMessage(msgs[msgNum], msgNum, frame, point); 411 Item newItem = readMessage(msgs[msgNum], msgNum, frame, 412 point); 412 413 if (newItem != null) { 413 414 mailItems.add(newItem); … … 423 424 } 424 425 425 private Item readMessage(final Message message, int messageNo, Frame frame, Point point) { 426 String subject; 427 try { 428 subject = message.getSubject(); 429 } catch (MessagingException e) { 430 MessageBay.errorMessage("GetMail error: " + e.getMessage()); 431 return null; 432 } 433 434 final Text source = FrameDNDTransferHandler 435 .importString(subject, point); 436 // Create a frameCreator 437 final FrameCreator frames = new FrameCreator(frame.getFramesetName(), 438 frame.path, messageNo + ". " + subject, false); 426 private Item readMessage(final Message message, final int messageNo, 427 final Frame frame, final Point point) { 428 429 final Text source = FrameDNDTransferHandler.importString( 430 "Loading message " + messageNo, point); 439 431 440 432 new Thread() { 441 433 public void run() { 442 434 try { 435 String subject = message.getSubject(); 436 source.setText(messageNo + ". " + subject); 437 // Create a frameCreator 438 final FrameCreator frames = new FrameCreator(frame 439 .getFramesetName(), frame.path, subject, false); 440 443 441 // Get the header information 444 442 String from = ((InternetAddress) message.getFrom()[0]) 445 443 .getPersonal(); 446 if( from != null){ 447 frames.addText("@fromName: " + from, null, null, null, false); 444 if (from != null) { 445 frames.addText("@fromName: " + from, null, null, null, 446 false); 448 447 } 449 448 from = ((InternetAddress) message.getFrom()[0]) 450 .getAddress(); 451 frames.addText("@fromAddress: " + from, null, null, null, false); 449 .getAddress(); 450 Text fromAddressItem = frames.addText("@from: " + from, 451 null, null, null, false); 452 453 Text reply = frames.addText("@reply" + from, null, null, 454 null, false); 455 reply.setPosition(10 + fromAddressItem.getX() 456 + fromAddressItem.getBoundsWidth(), fromAddressItem 457 .getY()); 452 458 453 459 // -- Get the message part (i.e. the message itself) -- … … 461 467 } 462 468 // -- Get the content type -- 463 String contentType = messagePart.getContentType().toLowerCase(); 469 String contentType = messagePart.getContentType() 470 .toLowerCase(); 464 471 // -- If the content is plain text, we can print it -- 465 472 // System.out.println("CONTENT:" + contentType); … … 479 486 frames.save(); 480 487 source.setLink(frames.getName()); 488 } catch (MessagingException e) { 489 MessageBay.errorMessage("GetMail error: " + e.getMessage()); 481 490 } catch (Exception e) { 482 MessageBay.errorMessage("GetMail error: " + e.getMessage()); 491 MessageBay.errorMessage("Error reading mail: " 492 + e.getMessage()); 483 493 } 484 494 }
Note:
See TracChangeset
for help on using the changeset viewer.