Lines 298-306
Link Here
|
298 |
Element element = (Element) presentElements.get(tag); |
298 |
Element element = (Element) presentElements.get(tag); |
299 |
if (element == null) { |
299 |
if (element == null) { |
300 |
if (!templateElement.isOptional()) { |
300 |
if (!templateElement.isOptional()) { |
301 |
throw new BuildException( |
301 |
String msg = "Required nested element " |
302 |
"Required nested element " |
302 |
+ templateElement.getName() + " missing"; |
303 |
+ templateElement.getName() + " missing"); |
303 |
if (templateElement.getDescription() != null) { |
|
|
304 |
msg+= "; description=\"" |
305 |
+ templateElement.getDescription() + "\""; |
306 |
} |
307 |
throw new BuildException(msg); |
304 |
} |
308 |
} |
305 |
continue; |
309 |
continue; |
306 |
} |
310 |
} |
Lines 332-339
Link Here
|
332 |
value = macroSubs(value, localProperties); |
336 |
value = macroSubs(value, localProperties); |
333 |
} |
337 |
} |
334 |
if (value == null) { |
338 |
if (value == null) { |
335 |
throw new BuildException( |
339 |
String msg = "Required attribute " |
336 |
"required attribute " + attribute.getName() + " not set"); |
340 |
+ attribute.getName() + " not set"; |
|
|
341 |
if (attribute.getDescription() != null) { |
342 |
msg+= "; description=\"" + attribute.getDescription() + "\""; |
343 |
} |
344 |
throw new BuildException(msg); |
337 |
} |
345 |
} |
338 |
localProperties.put(attribute.getName(), value); |
346 |
localProperties.put(attribute.getName(), value); |
339 |
copyKeys.remove(attribute.getName()); |
347 |
copyKeys.remove(attribute.getName()); |