1 package org.apache.fulcrum.intake.model;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.Serializable;
23 import java.util.List;
24
25 import javax.xml.bind.annotation.XmlAccessType;
26 import javax.xml.bind.annotation.XmlAccessorType;
27 import javax.xml.bind.annotation.XmlAttribute;
28 import javax.xml.bind.annotation.XmlElement;
29 import javax.xml.bind.annotation.XmlRootElement;
30
31 import org.apache.fulcrum.intake.IntakeException;
32
33
34
35
36
37
38
39
40
41 @XmlRootElement(name="input-data")
42 @XmlAccessorType(XmlAccessType.NONE)
43 public class AppData implements Serializable
44 {
45
46
47
48 private static final long serialVersionUID = -3953843038383617960L;
49
50
51 private List<Group> groups;
52
53
54 private String basePackage = "";
55
56
57 private String groupPrefix;
58
59
60
61
62
63
64
65
66
67
68 public List<Group> getGroups()
69 {
70 return groups;
71 }
72
73
74
75
76
77
78 @XmlElement(name="group")
79 public void setGroups(List<Group> groups)
80 {
81 this.groups = groups;
82 }
83
84
85
86
87
88
89
90
91
92 public Group getGroup(String groupName)
93 throws IntakeException
94 {
95 if (groupName == null)
96 {
97 throw new IntakeException(
98 "Intake AppData.getGroup(groupName) is null");
99 }
100
101 String groupPrefix = getGroupPrefix();
102
103 for (Group group : groups)
104 {
105 if (group.getIntakeGroupName().equals(groupName))
106 {
107 return group;
108 }
109 if (groupPrefix != null)
110 {
111 StringBuilder qualifiedGroupName = new StringBuilder();
112
113 qualifiedGroupName.append(groupPrefix)
114 .append(':')
115 .append(group.getIntakeGroupName());
116
117 if (qualifiedGroupName.toString().equals(groupName))
118 {
119 return group;
120 }
121 }
122 }
123 return null;
124 }
125
126
127
128
129
130
131
132 public String getBasePackage()
133 {
134 return basePackage;
135 }
136
137
138
139
140
141
142
143 @XmlAttribute
144 public void setBasePackage(String v)
145 {
146 if (v == null)
147 {
148 this.basePackage = "";
149 }
150 else
151 {
152 if (v.endsWith("."))
153 {
154 this.basePackage = v;
155 }
156 else
157 {
158 this.basePackage = v + ".";
159 }
160 }
161
162 }
163
164
165
166
167
168
169
170 public String getGroupPrefix()
171 {
172 return groupPrefix;
173 }
174
175
176
177
178
179
180
181 @XmlAttribute
182 public void setGroupPrefix(String groupPrefix)
183 {
184 this.groupPrefix = groupPrefix;
185 }
186
187
188
189
190
191 @Override
192 public String toString()
193 {
194 StringBuilder result = new StringBuilder();
195
196 result.append("<input-data>\n");
197 for (Group group : groups)
198 {
199 result.append(group);
200 }
201 result.append("</input-data>");
202 return result.toString();
203 }
204 }