KickJava   Java API By Example, From Geeks To Geeks.

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


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 javax.swing.JOptionPane JavaDoc;
21
22 import org.columba.api.command.IWorkerStatusController;
23 import org.columba.calendar.base.api.IActivity;
24 import org.columba.calendar.base.api.ICalendarItem;
25 import org.columba.calendar.model.api.IEventInfo;
26 import org.columba.calendar.store.api.ICalendarStore;
27 import org.columba.calendar.store.api.StoreException;
28 import org.columba.core.command.Command;
29 import org.columba.core.gui.frame.FrameManager;
30
31 public class CopyEventCommand extends Command {
32
33     public CopyEventCommand(CalendarCommandReference ref) {
34         super(ref);
35
36     }
37
38     @Override JavaDoc
39     public void execute(IWorkerStatusController worker) throws Exception JavaDoc {
40         ICalendarStore store = ((CalendarCommandReference) getReference())
41                 .getStore();
42
43         ICalendarItem calendar = ((CalendarCommandReference) getReference())
44                 .getSrcCalendar();
45
46         IActivity eventItem = ((CalendarCommandReference) getReference())
47                 .getActivity();
48
49         try {
50             // retrieve event from store
51
IEventInfo event = (IEventInfo) store.get(eventItem.getId());
52
53             IEventInfo copy = (IEventInfo) event.createCopy();
54
55             // set new calendar id
56
copy.setCalendar(calendar.getId());
57
58             // persist modified calendar
59
store.add(copy);
60
61         } catch (StoreException e1) {
62             JOptionPane.showMessageDialog(FrameManager.getInstance()
63                     .getActiveFrame(), e1.getMessage());
64             e1.printStackTrace();
65         }
66     }
67 }
68
Popular Tags