loulou2u
unread,Aug 7, 2008, 12:09:24 PM8/7/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Toro Projects
I'm not sure anyone will be able to help me with this but perhaps
someone can give me an idea.
I am writing my own resource factory to connect to our webdav server
and trying to integrate it into our toro briefcase portlet. My issue
seems to be surrounding the getContents() function. I think I am
having issues with Webdav types vs. File types along with relativePath
issues vs. absolutePath issues.
Basically I am getting the following error:
Caused by: java.lang.ClassCastException:
net.unicon.demetrius.fac.AbstractResourceFactory$FileImpl
at
net.unicon.academus.apps.briefcase.engine.FolderQuery.evaluateFolderXml(FolderQuery.java:
588)
at
net.unicon.academus.apps.briefcase.engine.FolderQuery.query(FolderQuery.java:
274)
at net.unicon.warlock.fac.AbstractWarlockFactory
$ScreenImpl.evaluate(AbstractWarlockFactory.java:428)
Here is my getContents method:
protected IResource[] getContents(IFolder f, ResourceType[] rt)
throws DemetriusException {
// Assertions.
if (f == null) {
String msg = "TEST Argument 'f [IFolder]' cannot be
null.";
throw new IllegalArgumentException(msg);
}
if (rt == null) {
String msg = "Argument 'rt' cannot be null.";
throw new IllegalArgumentException(msg);
}
System.out.println("IFolder: " + f.getName());
//Get the name of the current directory
String directory = f.getName();
//Create url path with the Ifolder given above
String absolutePath = this.baseUrl + directory;
System.out.println("Next Path: " + absolutePath);
IResource[] contents = new IResource[0];
boolean exists = false;
Enumeration props;
exists = wdr.exists();
if(exists){
int i = 0;
int length = 0;
try {
props = wdr.propfindMethod(DepthSupport.DEPTH_INFINITY);
while (props.hasMoreElements()){
XMLResponseMethodBase.Response xrm =
(XMLResponseMethodBase.Response)props.nextElement();
length++;
}
contents = new IResource[length];
} catch (HttpException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try {
props = wdr.propfindMethod(DepthSupport.DEPTH_INFINITY);
while (props.hasMoreElements()){
XMLResponseMethodBase.Response xrm =
(XMLResponseMethodBase.Response)props.nextElement();
if (xrm.getHref().endsWith("/")){
IResource resource = new FolderImpl(xrm.getHref(),
this,
0,
new
Date(wdr.getGetLastModified()),
f,
false);
System.out.println("Name: " + resource.getName());
contents[i] = resource;
}
else {
IResource resource = new FileImpl(xrm.getHref(),
this,
0,
new Date(dateLong),
f,
false,
null);
contents[i] = resource;
}
i++;
}
}
catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return contents;
}
Here is what some of my print statements are outputting:
getContents method output:
Name: /mccordl/.Trash-8731/
Name: /mccordl/warlock/
Name: /mccordl/Documents/
Name: /mccordl/images/
Name: /mccordl/content/
Name: /mccordl/
Name: /mccordl/.ssh/
Name: /mccordl/.gnupg/
Name: /mccordl/.screen/
Name: /mccordl/alchemist/
Name: /mccordl/Desktop/
Name: /mccordl/website/
Name: /mccordl/public_html/
FolderQuery evaluateFolderXml method output:
Size: 20
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@673552ec
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@453bc999
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@b763f05a
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@1db21c2b
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@1927b074
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@83c151fa
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@5d47df3
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@9174901d
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@25203658
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@1d1719a0
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@243e6f3d
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@ed98c2f7
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@49324cdb
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@44ed8072
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@4bc2df3a
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@68a1fad0
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@fde75611
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@174a9025
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FolderImpl@ef9f1d2b
Contents: net.unicon.demetrius.fac.AbstractResourceFactory
$FileImpl@3a882d93