drools-eclipse/org.guvnor.eclipse.webdav/src/client/org/eclipse/webdav/client/AbstractResourceHandle.java
public URLTable getPropertyNames(String depth) throws DAVException {

        // create and send the request
        IContext context = newContext();
        context.setDepth(depth);

        IResponse response = null;
        try {
            Document document = newDocument();
            PropFind propfind = PropFind.create(document);
            propfind.setIsPropName(true);

            response = davClient.propfind(locator, context, document);
            examineResponse(response);

            if (!response.hasDocumentBody()) {
                throw new DAVException(Policy.bind("exception.respMustHaveElmtBody")); //$NON-NLS-1$
            }
            Element documentElement = response.getDocumentBody().getDocumentElement();
            if (documentElement == null) {
                throw new DAVException(Policy.bind("exception.bodyMustHaveElmt")); //$NON-NLS-1$
            }
            MultiStatus multistatus = new MultiStatus(documentElement);

            //construct the URLTable to return to the user
            URLTable reply = new URLTable(10);
            Enumeration responses = multistatus.getResponses();
            while (responses.hasMoreElements()) {
                ResponseBody responseBody = (ResponseBody) responses.nextElement();
                String href = responseBody.getHref();
                URL resourceUrl = new URL(new URL(locator.getResourceURL()), href);
                Enumeration propstats = responseBody.getPropStats();
                Vector vector = new Vector();
                while (propstats.hasMoreElements()) {
                    PropStat propstat = (PropStat) propstats.nextElement();
                    Prop prop = propstat.getProp();
                    Enumeration names = prop.getPropertyNames();
                    while (names.hasMoreElements()) {
                        QualifiedName dname = (QualifiedName) names.nextElement();
                        vector.addElement(dname);
                    }
                }
                reply.put(resourceUrl, vector.elements());
            }
            return reply;
        } catch (IOException e) {
            throw new SystemException(e);
        } catch (MalformedElementException e) {
            throw new SystemException(e);
        } finally {
            closeResponse(response);
        }
    }
public URLTable getPropertyNames(String depth) throws DAVException {

        // create and send the request
        IContext context = newContext();
        context.setDepth(depth);

        IResponse response = null;
        try {
            Document document = newDocument();
            PropFind propfind = PropFind.create(document);
            propfind.setIsPropName(true);

            response = davClient.propfind(locator, context, document);
            examineResponse(response);

            if (!response.hasDocumentBody()) {
                throw new DAVException(Policy.bind("exception.respMustHaveElmtBody")); //$NON-NLS-1$
            }
            Element documentElement = response.getDocumentBody().getDocumentElement();
            if (documentElement == null) {
                throw new DAVException(Policy.bind("exception.bodyMustHaveElmt")); //$NON-NLS-1$
            }
            MultiStatus multistatus = new MultiStatus(documentElement);

            //construct the URLTable to return to the user
            URLTable reply = new URLTable(10);
            Enumeration responses = multistatus.getResponses();
            while (responses.hasMoreElements()) {
                ResponseBody responseBody = (ResponseBody) responses.nextElement();
                String href = responseBody.getHref();
                URL resourceUrl = new URL(new URL(locator.getResourceURL()), href);
                Enumeration propstats = responseBody.getPropStats();
                Vector vector = new Vector();
                while (propstats.hasMoreElements()) {
                    PropStat propstat = (PropStat) propstats.nextElement();
                    Prop prop = propstat.getProp();
                    Enumeration names = prop.getPropertyNames();
                    while (names.hasMoreElements()) {
                        QualifiedName dname = (QualifiedName) names.nextElement();
                        vector.addElement(dname);
                    }
                }
                reply.put(resourceUrl, vector.elements());
            }
            return reply;
        } catch (IOException e) {
            throw new SystemException(e);
        } catch (MalformedElementException e) {
            throw new SystemException(e);
        } finally {
            closeResponse(response);
        }
    }
public URLTable getPropertyNames ( String depth ) throws DAVException { // create and send the request IContext context = newContext ( ) ; context . setDepth ( depth ) ; IResponse response = null ; try { Document document = newDocument ( ) ; PropFind propfind = PropFind . create ( document ) ; propfind . setIsPropName ( true ) ; response = davClient . propfind ( locator , context , document ) ; examineResponse ( response ) ; if ( ! response . hasDocumentBody ( ) ) { throw new DAVException ( Policy . bind ( "exception.respMustHaveElmtBody" ) ) ; //$NON-NLS-1$ } Element documentElement = response . getDocumentBody ( ) . getDocumentElement ( ) ; if ( documentElement == null ) { throw new DAVException ( Policy . bind ( "exception.bodyMustHaveElmt" ) ) ; //$NON-NLS-1$ } MultiStatus multistatus = new MultiStatus ( documentElement ) ; //construct the URLTable to return to the user URLTable reply = new URLTable ( 10 ) ; Enumeration responses = multistatus . getResponses ( ) ; while ( responses . hasMoreElements ( ) ) { ResponseBody responseBody = ( ResponseBody ) responses . nextElement ( ) ; String href = responseBody . getHref ( ) ; URL resourceUrl = new URL ( new URL ( locator . getResourceURL ( ) ) , href ) ; Enumeration propstats = responseBody . getPropStats ( ) ; Vector vector = new Vector ( ) ; while ( propstats . hasMoreElements ( ) ) { PropStat propstat = ( PropStat ) propstats . nextElement ( ) ; Prop prop = propstat . getProp ( ) ; Enumeration names = prop . getPropertyNames ( ) ; while ( names . hasMoreElements ( ) ) { QualifiedName dname = ( QualifiedName ) names . nextElement ( ) ; vector . addElement ( dname ) ; } } reply . put ( resourceUrl , vector . elements ( ) ) ; } return reply ; } catch ( IOException e ) { throw new SystemException ( e ) ; } catch ( MalformedElementException e ) { throw new SystemException ( e ) ; } finally { closeResponse ( response ) ; } }
Fetch and return the property names for the resource, and the children
resources to the specified depth. Returns <code>URLTable</code>
mapping resource URLs to enumerations over the property names for that
resource.

@param depth eg. <code>Context.DEPTH_ZERO</code>
@return a <code>URLTable</code> of <code>Enumerations</code> over
<code>QualfiedNames</code>
@throws DAVException if there was a problem getting the property names
@see IServer#propfind(Locator, Context, Document)
Fetch and return the property names for the resource and the children resources to the specified depth . Returns <code > URLTable< / code > mapping resource URLs to enumerations over the property names for that resource .