Skip to content

Commit 20f5107

Browse files
committed
Considering collections.
1 parent 5f4ca8f commit 20f5107

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

basic/src/main/java/org/jvnet/jaxb2_commons/plugin/simplify/SimplifyPlugin.java

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,11 @@ private void simplifyReferencePropertyInfoAsElementPropertyInfo(
175175
for (CElement element : property.getElements()) {
176176
final CElementPropertyInfo elementPropertyInfo;
177177
if (element instanceof CElementInfo) {
178-
elementPropertyInfo = createElementPropertyInfo(model, element,
179-
(CElementInfo) element);
178+
elementPropertyInfo = createElementPropertyInfo(model,
179+
property, element, (CElementInfo) element);
180180
} else if (element instanceof CClassInfo) {
181-
elementPropertyInfo = createElementPropertyInfo(model, element,
182-
(CClassInfo) element);
181+
elementPropertyInfo = createElementPropertyInfo(model,
182+
property, element, (CClassInfo) element);
183183

184184
} else if (element instanceof CClassRef) {
185185
// elementPropertyInfo = createElementPropertyInfo(model,
@@ -204,11 +204,13 @@ private void simplifyReferencePropertyInfoAsElementPropertyInfo(
204204
}
205205

206206
private CElementPropertyInfo createElementPropertyInfo(final Model model,
207-
CElement element, final CElementInfo elementInfo) {
207+
CReferencePropertyInfo property, CElement element,
208+
final CElementInfo elementInfo) {
208209
final CElementPropertyInfo elementPropertyInfo;
209210
final String propertyName = createPropertyName(model, element);
210211
elementPropertyInfo = new CElementPropertyInfo(propertyName,
211-
CollectionMode.REPEATED_ELEMENT, ID.NONE, null,
212+
property.isCollection() ? CollectionMode.REPEATED_ELEMENT
213+
: CollectionMode.NOT_REPEATED, ID.NONE, null,
212214
element.getSchemaComponent(), element.getCustomizations(),
213215
element.getLocator(), false);
214216
elementPropertyInfo.getTypes().add(
@@ -219,11 +221,13 @@ private CElementPropertyInfo createElementPropertyInfo(final Model model,
219221
}
220222

221223
private CElementPropertyInfo createElementPropertyInfo(final Model model,
222-
CElement element, final CClassInfo classInfo) {
224+
CReferencePropertyInfo property, CElement element,
225+
final CClassInfo classInfo) {
223226
final CElementPropertyInfo elementPropertyInfo;
224227
final String propertyName = createPropertyName(model, element);
225228
elementPropertyInfo = new CElementPropertyInfo(propertyName,
226-
CollectionMode.REPEATED_ELEMENT, ID.NONE, null,
229+
property.isCollection() ? CollectionMode.REPEATED_ELEMENT
230+
: CollectionMode.NOT_REPEATED, ID.NONE, null,
227231
element.getSchemaComponent(), element.getCustomizations(),
228232
element.getLocator(), false);
229233
elementPropertyInfo.getTypes().add(
@@ -250,9 +254,9 @@ private CReferencePropertyInfo createReferencePropertyInfo(
250254
final Model model, CReferencePropertyInfo property, CElement element) {
251255
final String propertyName = createPropertyName(model, element);
252256
final CReferencePropertyInfo referencePropertyInfo = new CReferencePropertyInfo(
253-
propertyName, true, false, false, element.getSchemaComponent(),
254-
element.getCustomizations(), element.getLocator(),
255-
property.isDummy(), property.isContent(),
257+
propertyName, property.isCollection(), false, false,
258+
element.getSchemaComponent(), element.getCustomizations(),
259+
element.getLocator(), property.isDummy(), property.isContent(),
256260
property.isMixedExtendedCust());
257261
referencePropertyInfo.getElements().add(element);
258262
return referencePropertyInfo;
@@ -273,10 +277,12 @@ private CElementPropertyInfo createElementPropertyInfo(final Model model,
273277
final String propertyName = createPropertyName(model, typeRef);
274278
boolean required = false;
275279
final CElementPropertyInfo elementPropertyInfo = new CElementPropertyInfo(
276-
propertyName, CollectionMode.REPEATED_ELEMENT, typeRef
277-
.getTarget().idUse(), typeRef.getTarget()
278-
.getExpectedMimeType(), property.getSchemaComponent(),
279-
property.getCustomizations(), property.getLocator(), required);
280+
propertyName,
281+
property.isCollection() ? CollectionMode.REPEATED_ELEMENT
282+
: CollectionMode.NOT_REPEATED, typeRef.getTarget()
283+
.idUse(), typeRef.getTarget().getExpectedMimeType(),
284+
property.getSchemaComponent(), property.getCustomizations(),
285+
property.getLocator(), required);
280286
elementPropertyInfo.getTypes().add(typeRef);
281287
return elementPropertyInfo;
282288
}

0 commit comments

Comments
 (0)