use of org.apache.jackrabbit.webdav.bind.BindInfo in project jackrabbit by apache.
the class WebdavRequestImpl method getBindInfo.
/**
* @see org.apache.jackrabbit.webdav.bind.BindServletRequest#getBindInfo()
*/
public BindInfo getBindInfo() throws DavException {
BindInfo info = null;
Document requestDocument = getRequestDocument();
if (requestDocument != null) {
info = BindInfo.createFromXml(requestDocument.getDocumentElement());
}
return info;
}
use of org.apache.jackrabbit.webdav.bind.BindInfo in project jackrabbit by apache.
the class BindTest method testParentSet.
public void testParentSet() throws Exception {
String testcol = this.root + "testParentSet/";
String subcol1 = testcol + "bindtest1/";
String testres1 = subcol1 + "res1";
String subcol2 = testcol + "bindtest2/";
String testres2 = subcol2 + "res2";
int status;
try {
HttpMkcol mkcol = new HttpMkcol(testcol);
status = this.client.execute(mkcol, this.context).getStatusLine().getStatusCode();
assertEquals(201, status);
mkcol = new HttpMkcol(subcol1);
status = this.client.execute(mkcol, this.context).getStatusLine().getStatusCode();
assertEquals(201, status);
mkcol = new HttpMkcol(subcol2);
status = this.client.execute(mkcol, this.context).getStatusLine().getStatusCode();
assertEquals(201, status);
//create new resource R with path testSimpleBind/bindtest1/res1
HttpPut put = new HttpPut(testres1);
put.setEntity(new StringEntity("foo", ContentType.create("text/plain", "UTF-8")));
status = this.client.execute(put, this.context).getStatusLine().getStatusCode();
assertEquals(201, status);
//create new binding of R with path testSimpleBind/bindtest2/res2
HttpBind bind = new HttpBind(subcol2, new BindInfo(testres1, "res2"));
status = this.client.execute(bind, this.context).getStatusLine().getStatusCode();
assertEquals(201, status);
//check if both bindings report the same DAV:resource-id
assertEquals(this.getResourceId(testres1), this.getResourceId(testres2));
//verify values of parent-set properties
List<String> hrefs1 = new ArrayList<String>();
List<String> segments1 = new ArrayList<String>();
List<String> hrefs2 = new ArrayList<String>();
List<String> segments2 = new ArrayList<String>();
Object ps1 = this.getParentSet(testres1).getValue();
Object ps2 = this.getParentSet(testres2).getValue();
assertTrue(ps1 instanceof List);
assertTrue(ps2 instanceof List);
List plist1 = (List) ps1;
List plist2 = (List) ps2;
assertEquals(2, plist1.size());
assertEquals(2, plist2.size());
for (int k = 0; k < 2; k++) {
Object pObj1 = plist1.get(k);
Object pObj2 = plist2.get(k);
assertTrue(pObj1 instanceof Element);
assertTrue(pObj2 instanceof Element);
ParentElement p1 = ParentElement.createFromXml((Element) pObj1);
ParentElement p2 = ParentElement.createFromXml((Element) pObj2);
hrefs1.add(p1.getHref());
hrefs2.add(p2.getHref());
segments1.add(p1.getSegment());
segments2.add(p2.getSegment());
}
Collections.sort(hrefs1);
Collections.sort(hrefs2);
Collections.sort(segments1);
Collections.sort(segments2);
assertEquals(hrefs1, hrefs2);
assertEquals(segments1, segments2);
} finally {
delete(testcol);
}
}
Aggregations