Mercurial > dive4elements > gnv-client
annotate gnv/src/main/java/de/intevation/gnv/action/sessionmodel/DefaultSessionModel.java @ 29:bba8fd97e549
Export and Diagrammoptions integrated into GUI
gnv/trunk@133 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Fri, 25 Sep 2009 07:28:49 +0000 |
parents | 65ff6fcfee0c |
children | 07e9c137a2f1 |
rev | line source |
---|---|
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 * |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
3 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
4 package de.intevation.gnv.action.sessionmodel; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
5 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
6 import java.util.Collection; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
7 import java.util.Iterator; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 * @author Tim Englich <tim.englich@intevation.de> |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 * |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
14 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
15 public class DefaultSessionModel implements SessionModel{ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
16 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
17 |
29
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
18 |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
19 |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
20 private Collection<ArtifactObject> artifactFactories = null; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
21 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
22 private ArtifactObject selectedArtifactFactory = null; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
23 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
24 private ArtifactObject currentArtifact =null; |
29
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
25 |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
26 private DiagrammOptions diagrammOptions= null; |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
27 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
28 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
29 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
30 * Constructor |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
31 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
32 public DefaultSessionModel() { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
33 super(); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
34 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
35 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
36 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 * @see de.intevation.gnv.action.sessionmodel.SessionModel#selectArtifactFactory(java.lang.String) |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
38 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 public void selectArtifactFactory(String artiFactFactoryId) { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
40 Collection<ArtifactObject> artifactObjects = this.getArtifactFactories(); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
41 if (artifactObjects != null){ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
42 Iterator<ArtifactObject> unselect = artifactObjects.iterator(); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
43 this.selectedArtifactFactory = null; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
44 while (unselect.hasNext()){ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 unselect.next().setSelected(false); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
46 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 Iterator<ArtifactObject> it = artifactObjects.iterator(); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
48 while (it.hasNext()){ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
49 ArtifactObject obj = it.next(); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
50 if(obj.getId().equals(artiFactFactoryId)){ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
51 obj.setSelected(true); |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
52 this.selectedArtifactFactory = obj; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
53 break; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
54 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
55 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
56 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
57 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
58 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
59 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 * @see de.intevation.gnv.action.sessionmodel.SessionModel#setArtifacteFactories(java.util.Collection) |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
62 public void setArtifacteFactories( |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 Collection<ArtifactObject> artifactFactories) { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 this.artifactFactories = artifactFactories; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
65 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
66 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
67 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
68 * @see de.intevation.gnv.action.sessionmodel.SessionModel#getAttributeFactories() |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
69 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
70 public Collection<ArtifactObject> getArtifactFactories() { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
71 return this.artifactFactories; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
72 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
73 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
74 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
75 * @see de.intevation.gnv.action.sessionmodel.SessionModel#getSelectedArtifactFactory() |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
76 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
77 public ArtifactObject getSelectedArtifactFactory() { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
78 return this.selectedArtifactFactory; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
79 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
80 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
81 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
82 * @see de.intevation.gnv.action.sessionmodel.SessionModel#getCurrentArtifact() |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
83 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
84 public ArtifactObject getCurrentArtifact() { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
85 return this.currentArtifact; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
86 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
87 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
88 /** |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
89 * @see de.intevation.gnv.action.sessionmodel.SessionModel#setCurrentArtifact(de.intevation.gnv.artifactdatabase.objects.ArtifactObject) |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
90 */ |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
91 public void setCurrentArtifact(ArtifactObject artifact) { |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
92 this.currentArtifact = artifact; |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 } |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
94 |
29
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
95 public DiagrammOptions getDiagrammOptions() { |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
96 if (diagrammOptions == null){ |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
97 diagrammOptions = new DiagrammOptions(); |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
98 } |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
99 return diagrammOptions; |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
100 } |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
101 |
bba8fd97e549
Export and Diagrammoptions integrated into GUI
Tim Englich <tim.englich@intevation.de>
parents:
8
diff
changeset
|
102 |
8
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
103 |
65ff6fcfee0c
Some Basic Stuff for WebProjects
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
104 } |