KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > calendar > command > ImportCalendarCommand


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.calendar.command;
19
20 import java.io.File JavaDoc;
21 import java.util.Iterator JavaDoc;
22
23 import javax.swing.JOptionPane JavaDoc;
24
25 import org.columba.api.command.IWorkerStatusController;
26 import org.columba.calendar.base.api.ICalendarItem;
27 import org.columba.calendar.model.api.IEventInfo;
28 import org.columba.calendar.parser.CalendarImporter;
29 import org.columba.calendar.store.api.ICalendarStore;
30 import org.columba.calendar.store.api.StoreException;
31 import org.columba.core.command.Command;
32 import org.columba.core.gui.frame.FrameManager;
33
34 public class ImportCalendarCommand extends Command {
35
36     private File JavaDoc[] sourceFiles;
37
38     public ImportCalendarCommand(CalendarCommandReference ref,
39             File JavaDoc[] sourceFiles) {
40         super(ref);
41
42         this.sourceFiles = sourceFiles;
43     }
44
45     @Override JavaDoc
46     public void execute(IWorkerStatusController worker) throws Exception JavaDoc {
47         ICalendarStore store = ((CalendarCommandReference) getReference())
48                 .getStore();
49         ICalendarItem calendar = ((CalendarCommandReference) getReference())
50                 .getSrcCalendar();
51
52         for (int i = 0; i < sourceFiles.length; i++) {
53
54             Iterator JavaDoc<IEventInfo> it = new CalendarImporter()
55                     .importCalendar(calendar, sourceFiles[i]);
56
57             while (it.hasNext()) {
58                 IEventInfo event = it.next();
59                 event.setCalendar(calendar.getId());
60
61                 try {
62                     store.add(event);
63                 } catch (StoreException e) {
64                     JOptionPane.showMessageDialog(FrameManager.getInstance()
65                             .getActiveFrame(), e.getMessage());
66                     e.printStackTrace();
67                 }
68             }
69
70         }
71     }
72 }
73
Popular Tags