for (int i = 0; i < configurations.length; i++) {
configurations[i].postConfigure(context);
}
Descriptor descriptor = context.getMetaData().getWebXml();
Node root = descriptor.getRoot();
List<Object> nodes = new ArrayList<Object>();
List<FragmentDescriptor> fragmentDescriptors = context.getMetaData().getOrderedFragments();
for (FragmentDescriptor fd : fragmentDescriptors) {
for (int i = 0; i < fd.getRoot().size(); i++) {
Object el = fd.getRoot().get(i);
if (el instanceof Node && ((Node) el).getTag().matches("^name|ordering$")) {
continue;
}
nodes.add(el);
}
}
root.addAll(nodes);
BufferedWriter writer = new BufferedWriter(new FileWriter(new File(warDir, webXml)));
writer.write(root.toString());
writer.close();
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(warFile));
zip(warDir, warDir, zos);
zos.close();