.
[taxeditor.git] / src / eu / etaxonomy / taxeditor / SimpleModel.java
1 package eu.etaxonomy.taxeditor;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 //import eu.etaxonomy.cdm.model.name.TaxonName;
7 //import eu.etaxonomy.cdm.api.service.*;
8 //import eu.etaxonomy.cdm.api.application.CdmApplicationController;
9
10
11 public class SimpleModel {
12 private ArrayList modelListeners;
13 private ArrayList objects;
14 public SimpleModel() {
15 modelListeners = new ArrayList();
16 initialize();
17 }
18 public void addModelListener(IModelListener listener) {
19 if (!modelListeners.contains(listener))
20 modelListeners.add(listener);
21 }
22 public void removeModelListener(IModelListener listener) {
23 modelListeners.remove(listener);
24 }
25 public void fireModelChanged(Object[] objects, String type, String property) {
26 for (int i = 0; i < modelListeners.size(); i++) {
27 ((IModelListener) modelListeners.get(i)).modelChanged(objects,
28 type, property);
29 }
30 }
31 public Object[] getContents() {
32 return objects.toArray();
33 }
34 private void initialize() {
35 try {
36 //TODO Andreas
37 // List<TaxonName> tnList = new ArrayList<TaxonName>();
38 // TaxonName tn = new TaxonName();
39 // CdmApplicationController app = new CdmApplicationController();
40 // NameService ns = app.getNameService();
41 // tnList.add(ns.getTaxonNameById(1));
42 // tnList.add(ns.getTaxonNameById(4));
43 // tnList.add(ns.getTaxonNameById(28));
44
45 objects = new ArrayList();
46 NamedObject[] objects = {
47 // new Name(tnList.get(0).getName(), tnList.get(0).getGenus(),tnList.get(0).getInfraSpecificEpithet()),
48 // new Name(tnList.get(1).getName(), tnList.get(1).getGenus(),tnList.get(1).getInfraSpecificEpithet()),
49 // new Name(tnList.get(2).getName(), tnList.get(2).getGenus(),tnList.get(2).getInfraSpecificEpithet()),
50
51 new Name("Pilosella piloselloides (Vill.) Soják", "Pilosella", "piloselloides"),
52 new Name("Pilosella pavichii (Heuff.) Arv.-Touv.", "Pilosella", "pavichii"),
53 new Name("Pilosella vahlii (Froel.) F. W. Schultz & Sch. Bip.", "Pilosella", "vahlii")
54 /*new TypeOne(Messages.getString("SimpleModel.t1_i1"), 2, true, Messages.getString("SimpleModel.text1")), //$NON-NLS-1$ //$NON-NLS-2$
55 new TypeOne(Messages.getString("SimpleModel.t1_i2"), 1, false, Messages.getString("SimpleModel.text2")), //$NON-NLS-1$ //$NON-NLS-2$
56 new TypeOne(Messages.getString("SimpleModel.t1_i3"), 3, true, Messages.getString("SimpleModel.text3")), //$NON-NLS-1$ //$NON-NLS-2$
57 new TypeOne(Messages.getString("SimpleModel.t1_i4"), 0, false, Messages.getString("SimpleModel.text4")), //$NON-NLS-1$ //$NON-NLS-2$
58 new TypeOne(Messages.getString("SimpleModel.t1_i5"), 1, true, Messages.getString("SimpleModel.text5")), //$NON-NLS-1$ //$NON-NLS-2$
59 new TypeTwo(Messages.getString("SimpleModel.t2_i1"), false, true), //$NON-NLS-1$
60 new TypeTwo(Messages.getString("SimpleModel.t2_i2"), true, false)*/
61 }; //$NON-NLS-1$
62 add(objects, false);
63 } catch (RuntimeException e) {
64 //logger.error("Error when initializing SimpleModel");
65 // TODO Auto-generated catch block
66 System.out.println(e.getMessage());
67 e.printStackTrace();
68 }
69 }
70 public void add(NamedObject[] objs, boolean notify) {
71 for (int i = 0; i < objs.length; i++) {
72 objects.add(objs[i]);
73 objs[i].setModel(this);
74 }
75 if (notify)
76 fireModelChanged(objs, IModelListener.ADDED, ""); //$NON-NLS-1$
77 }
78
79 // public void add(ArrayList<TaxonName> tns, boolean notify) {
80 // for (int i = 0; i < tns.size(); i++) {
81 // objects.add(tns.get(i));
82 // //tns[i].setModel(this);
83 // }
84 // //if (notify)
85 // //fireModelChanged(tns, IModelListener.ADDED, ""); //$NON-NLS-1$
86 // }
87
88 public void remove(NamedObject[] objs, boolean notify) {
89 for (int i = 0; i < objs.length; i++) {
90 objects.remove(objs[i]);
91 objs[i].setModel(null);
92 }
93 if (notify)
94 fireModelChanged(objs, IModelListener.REMOVED, ""); //$NON-NLS-1$
95 }
96 }