From 5647d2bfdcc6d850c581993b706afdc3f6c3e8a4 Mon Sep 17 00:00:00 2001 From: hns Date: Wed, 26 Nov 2003 11:57:56 +0000 Subject: [PATCH] Unwrap arguments to Java objects in addPart(). Also, if the part is a java.io.File, set the part's file name if no explicit file name is given. --- .../scripting/rhino/extensions/MailObject.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/helma/scripting/rhino/extensions/MailObject.java b/src/helma/scripting/rhino/extensions/MailObject.java index 9b443875..c72352b1 100644 --- a/src/helma/scripting/rhino/extensions/MailObject.java +++ b/src/helma/scripting/rhino/extensions/MailObject.java @@ -232,6 +232,11 @@ public class MailObject extends ScriptableObject implements Serializable { MimeBodyPart part = new MimeBodyPart(); + // if param is wrapped JavaObject unwrap. + if (obj instanceof Wrapper) { + obj = ((Wrapper) obj).unwrap(); + } + if (obj instanceof String) { part.setContent(obj.toString(), "text/plain"); } else if (obj instanceof File) { @@ -248,9 +253,11 @@ public class MailObject extends ScriptableObject implements Serializable { if (filename != null && filename != Undefined.instance) { try { part.setFileName(filename.toString()); - } catch (Exception x) { - // FIXME: error setting file name ... should we ignore this or throw an exception? - } + } catch (Exception x) {} + } else if (obj instanceof File) { + try { + part.setFileName(((File) obj).getName()); + } catch (Exception x) {} } multipart.addBodyPart(part);