Tribune

Home » Liferay Portal » English » 3. Development

Vista Combinata Vista Piatta Vista ad Albero
Discussioni [ Precedente | Successivo ]
toggle
sangeeth k
Export option on event in custom portlet
2 ottobre 2012 23.39
Risposta

sangeeth k

Punteggio: Regular Member

Messaggi: 110

Data di Iscrizione: 22 aprile 2012

Messaggi recenti

Hi team,

I am working on one custom portelt there getting the events from calender portlet,

I need to add the export option.

I am looking on ExportEeventsAction.java file,

any help regarding this..



Thanks...
jaid shaik
RE: Export option on event in custom portlet
3 ottobre 2012 5.19
Risposta

jaid shaik

Punteggio: Regular Member

Messaggi: 169

Data di Iscrizione: 7 ottobre 2010

Messaggi recenti

Hi sangeeth,


Pass the eventId From your jsp page.

This is for individual events export...

Please check the below method:


 1import java.io.File;
 2import java.io.FileInputStream;
 3
 4import com.liferay.portal.kernel.exception.SystemException;
 5import com.liferay.portal.kernel.log.Log;
 6import com.liferay.portal.kernel.log.LogFactoryUtil;
 7import com.liferay.portal.kernel.servlet.ServletResponseUtil;
 8import com.liferay.portal.kernel.util.ContentTypes;
 9import com.liferay.portal.kernel.util.FileUtil;
10import com.liferay.portal.kernel.util.ParamUtil;
11import com.liferay.portal.kernel.util.Validator;
12import com.liferay.portal.theme.ThemeDisplay;
13import com.liferay.portal.util.PortalUtil;
14import com.liferay.portlet.calendar.service.CalEventServiceUtil;
15import com.liferay.util.bridges.mvc.MVCPortlet;
16import com.liferay.portal.kernel.exception.PortalException;
17import javax.portlet.ActionRequest;
18import javax.portlet.ActionResponse;
19import javax.portlet.PortletConfig;
20import com.liferay.portal.kernel.util.WebKeys;
21import javax.servlet.http.HttpServletRequest;
22import javax.servlet.http.HttpServletResponse;
23/**
24 * Portlet implementation class Eventdetail
25 * @param <File>
26 * @param <File>
27 */
28public class Eventdetail extends MVCPortlet {
29
30    public void exportEvent(ActionRequest actionRequest, ActionResponse actionResponse)  throws Exception{
31
32        File file = null;
33
34        try {
35            ThemeDisplay themeDisplay =
36                (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
37
38            long eventId = ParamUtil.getLong(actionRequest, "[b]EventId[/b]");
39             System.out.println("The tiger id is:::::::::::::.>>>>>>>>>>>>>>>>>>>>>:::"+eventId);
40
41            String exportFileName = ParamUtil.getString(
42                actionRequest, "exportFileName");
43
44            if (Validator.isNull(exportFileName)) {
45                exportFileName = "liferay.ics";
46            }
47            else {
48                exportFileName = FileUtil.getShortFileName(exportFileName);
49            }
50   
51            if (eventId > 0) {
52                try {
53                    file = (File) CalEventServiceUtil.exportEvent(eventId);
54                } catch (PortalException e) {
55                    // TODO Auto-generated catch block
56                    e.printStackTrace();
57                }
58            }
59            else {
60                try {
61                    file = (File) CalEventServiceUtil.exportGroupEvents(
62                        themeDisplay.getScopeGroupId(), exportFileName);
63                } catch (PortalException e) {
64                    // TODO Auto-generated catch block
65                    e.printStackTrace();
66                }
67            }
68
69            HttpServletRequest request = PortalUtil.getHttpServletRequest(
70                actionRequest);
71            HttpServletResponse response = PortalUtil.getHttpServletResponse(
72                actionResponse);
73
74            ServletResponseUtil.sendFile(
75                    request, response, exportFileName, new FileInputStream(file),
76                    ContentTypes.TEXT_CALENDAR);
77
78                //setForward(actionRequest, ActionConstants.COMMON_NULL);
79            
80        }
81        catch (Exception e) {
82            //_log.error(e, e);
83        }
84        finally {
85            FileUtil.delete(file);
86        }
87    }
88}



But Here 1 problem,

Its not exporting in IE browser.....



Please check and let me know....
sangeeth k
RE: Export option on event in custom portlet
4 ottobre 2012 0.52
Risposta

sangeeth k

Punteggio: Regular Member

Messaggi: 110

Data di Iscrizione: 22 aprile 2012

Messaggi recenti

Hi jaid,

Thanks for reply...

Its working fine....But here after exporting....

I need only title of event in .ICS file.....I don't want get the description.

any idea...


Thanks for reply...
Ravi Teja
RE: Export option on event in custom portlet
5 marzo 2013 5.29
Risposta

Ravi Teja

Punteggio: New Member

Messaggi: 21

Data di Iscrizione: 9 luglio 2012

Messaggi recenti

Hi sangeeth,


try the below code

 1
 2public static File exportEvent(long eventId , String serverPath)
 3            throws PortalException, SystemException {
 4       
 5        File file = null;
 6               String serverPath = getPortletContext().getRealPath("/");
 7        System.out.println(serverPath+"serverPathserverPathserverPathserverPath");
 8        int i = 0;
 9        i = serverPath.indexOf("temp");
10        String fpath = serverPath.substring(0, i);   
11        String fname = fpath+"/MtecEvent2.ics";       
12        String s1 = "BEGIN:VCALENDAR";
13        String s2 = "PRODID:-//Liferay Inc//Liferay Portal 6.1.0//EN";
14        String s3 = "VERSION:2.0";
15        String s4 = "CALSCALE:GREGORIAN";
16        String s5 = "METHOD:PUBLISH";
17        String s6 = "BEGIN:VEVENT";
18        String s7 = "DATE:";
19        String s8 = "END:VEVENT";
20        String s9 = "END:VCALENDAR";
21        String Location = "Location";
22        String Duration = "CourseDuration";
23        String Description = "Description";
24        String Clasification = "SUMMARY";
25        List<CalEvent> events = new ArrayList<CalEvent>();
26        CalEvent event = CalEventLocalServiceUtil.getEvent(eventId);
27        Date date = event.getStartDate();
28        String reportDate =CalendarUtils.dateToUTC(date);   
29         String desc = Jsoup.parse(event.getDescription()).text();
30         Calendar cal=Calendar.getInstance();
31         cal.setTime(event.getStartDate());
32         cal.add(Calendar.HOUR, event.getDurationHour());         
33         String enddate = CalendarUtils.dateToUTC(cal.getTime());       
34        try {   
35            FileWriter fw = new FileWriter(fname);   
36            fw.write(s1);
37            fw.write('\n'); 
38            fw.write(s2);
39            fw.write('\n'); 
40            fw.write(s3);
41            fw.write('\n'); 
42            fw.write(s4);
43            fw.write('\n'); 
44            fw.write(s5);
45            fw.write('\n'); 
46            fw.write(s6);
47            fw.write('\n');
48            fw.write(s7);
49            fw.write('\n');
50            fw.write("DTSTART:");
51            fw.write(reportDate);
52            fw.write('\n');
53            fw.write("DTEND:");
54            fw.write(enddate);
55            fw.write('\n');            
56            fw.write(Duration);
57            fw.write(':');
58            fw.write((char) (event.getDurationHour()/24));
59            fw.write(',');
60            fw.write('\n');
61                fw.write(Location);
62            fw.write(':');
63                fw.write(event.getLocation());                  
64             fw.write('\n');
65                 fw.write(Description);
66             fw.write(':');
67                                            fw.write("Attend: "+ event.getTitle());    //--->showing only Title
68                fw.write('\n');
69                 fw.write("SUMMARY");
70              fw.write(':');
71               fw.write(event.getTitle());      //--->showing only Title
72               fw.write('\n');
73            fw.write(s8);
74            fw.write('\n');
75            fw.write(s9);
76            fw.flush();
77            fw.close();       
78         file = new File(fname);         
79        } catch (IOException e) {
80            // TODO Auto-generated catch block
81            e.printStackTrace();
82        }
83        return file;
84    }