We are using webtop 6.5 sp1. One of our applications creates a custom type that extends dm_folder. When we complete the creation of the type after the metadata has been updated in the property sheet we would like the user to automatically navigate to the new folder in the browser tree and the object list in classic view. I have tried quite a few different things butI can't get it to work. The closest I have come is to jump to the main component using the object id of the new folder. It displays the folder in the browser tree but the objectlist is a blank screen. I have tried object list but that just presents the objectlist without the browsertree , menubar etc.
The code I have looks like this: this onOk is in my properties object that extends
com.documentum.webcomponent
.library.properties.Properties;isNew is set in onIt so I know if this is being created for the first time. I also wonder if this did work what would happen in the browsertree of the enclosing folder count exceed the display maximum which is set at 50If I hardwire the object id of any folder in my Main onInit method and restart the app it does work as I expect it to. public void onOk(Control button, ArgumentList args) {
boolean savable = false; ICustomFolderType fldtype = null;
try {
fldtype = (ICustomFolderType) getDfSession().getObject(
new DfId(strObjId)); /* check the permissions, if read-only do nothing */
if (fldtype.getPermit() < IDfACL.DF_PERMIT_VERSION) {
setComponentReturn();
} else {
Component containedComponent = getContainedComponent();
containedComponent.validate(); if (containedComponent.getIsValid() && canCommitChanges()) {
savable = true;
}
// do normal save routines
super.onOk(button, args);
} // jump to new folder
if (isNew && savable) {
String objectname = fldtype.getObjectName();
String strFolderPath = "/Work cabinet/subfolder1/subfolder2/" + objectname;
ArgumentList jumpArgs = new ArgumentList();
jumpArgs.add("folderPath", strFolderPath);
jumpArgs.add("objectId",strObjId);
setComponentJump("main", jumpArgs, getContext());
} } catch (DfException e) {
String msg = "Error occurred on ok/finish: ";
DfLogger.error(this, msg, null, e);
throw new WrapperRuntimeException(msg, e); } }Has anyone done this successfully.