KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > workflowtool > function > email > AttachmentsProvider


1 /* ===============================================================================
2 *
3 * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4 *
5 * ===============================================================================
6 *
7 * Copyright (C)
8 *
9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License version 2, as published by the
11 * Free Software Foundation. See the file LICENSE.html for more information.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19 * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20 *
21 * ===============================================================================
22 */

23 package org.infoglue.cms.applications.workflowtool.function.email;
24
25 import java.util.ArrayList JavaDoc;
26 import java.util.Collection JavaDoc;
27 import java.util.Iterator JavaDoc;
28
29 import org.infoglue.cms.applications.workflowtool.function.ContentFunction;
30 import org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController;
31 import org.infoglue.cms.entities.content.ContentVersion;
32 import org.infoglue.cms.entities.content.DigitalAsset;
33
34 import com.opensymphony.workflow.WorkflowException;
35
36 public class AttachmentsProvider extends ContentFunction
37 {
38     /**
39      *
40      */

41     protected void execute() throws WorkflowException
42     {
43         setParameter(EmailFunction.ATTACHMENTS_PARAMETER, getAttachments());
44     }
45     
46     /**
47      *
48      */

49     private Collection JavaDoc getAttachments() throws WorkflowException
50     {
51         final Collection JavaDoc digitalAssets = getDigitalAssets();
52         final Collection JavaDoc attachments = new ArrayList JavaDoc();
53         for(final Iterator JavaDoc i = digitalAssets.iterator(); i.hasNext(); )
54         {
55             final DigitalAsset digitalAsset = (DigitalAsset) i.next();
56             attachments.add(new DigitalAssetAttachment(digitalAsset.getAssetFileName(), digitalAsset.getAssetContentType(), digitalAsset.getAssetBytes()));
57         }
58         return attachments;
59     }
60     
61     /**
62      *
63      */

64     private Collection JavaDoc getDigitalAssets() throws WorkflowException
65     {
66         if(getContentVersionVO() != null)
67         {
68             try
69             {
70                 final ContentVersion contentVersion = ContentVersionController.getContentVersionController().getReadOnlyContentVersionWithId(getContentVersionVO().getContentVersionId(), getDatabase());
71                 if(contentVersion != null)
72                 {
73                     return contentVersion.getDigitalAssets();
74                 }
75             }
76             catch(Exception JavaDoc e)
77             {
78                 throwException(e);
79             }
80         }
81         return new ArrayList JavaDoc();
82     }
83 }
84
Popular Tags