{
if (resource instanceof ContainerResource) {
Vector v = new Vector();
ContainerResource cresource = (ContainerResource)resource;
Enumeration e = cresource.enumerateResourceIdentifiers();
ResourceReference rr = null;
FramedResource fr = null;
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
rr = cresource.lookup(name);
if (rr != null) {
try {
fr = (FramedResource) rr.lock();
if (fr == resource) { // for root
continue;
}
DAVFrame df = (DAVFrame)fr.getFrame(DAVFrame.class);
if (df != null) {
v.addElement(df.getResponse(request,
dpf,
document));
if (deep && (fr instanceof ContainerResource)) {
DAVResponse responses[] =
df.getChildResponses(request,
dpf,
document,
deep);
if (responses != null) {
int len = responses.length;
for (int i = 0 ; i < len ; i++) {
v.addElement(responses[i]);
}
}
}
} else {
// what should I do there?
}
} catch (InvalidResourceException ex) {
// build error response?
} finally {
rr.unlock();
}
}
}
DAVResponse responses[] = new DAVResponse[v.size()];
v.copyInto(responses);