Skip navigation
Brian Waldsmith 18 posts
Jun 27, 2011
Currently Being Moderated

AdobeDriveRuntimeException with direct file link access

Feb 3, 2014 4:37 PM

I have a special use case with which I'm running into an Adobe Drive error and am looking for some guidance.  We have a custom Adobe Drive connector.  The main UI to our system is browser-based.  Most of our Adobe Drive users are Illustrator users. 

 

The desired use case is to be able to click a link in the browser UI and open the file from Adobe Drive.  For example, in the browser UI there would be a "local" link to "file:///Z:/Root1/ChildA1/ChildB1/ChildC1/ChildD1/DesignFile.ai".  My problem is that clicking this link results in an AdobeDriveRuntimeException unless the user has previously navigated to at least the "ChildB1" in Windows Explorer/Finder or opened the file from within Illustrator (i.e., go to File->Open and enter the path "Z:\Root1\ChildA1\ChildB1\ChildC1\ChildD1\DesignFile.ai" or navigate to the file and open it).  The error is a message like

 

FATAL IFSConnection - NASTY Runtime exception for Request: CREATE

com.adobe.drive.biz.filesystem.FileSystemException: com.adobe.drive.model.exception.AdobeDriveRuntimeException: Failed to retrieve parent (path=/Root1/ChildA1/ChildB1/ChildC1)  (full stack trace below)

 

When the user clicks on the link (e.g., file:///Z:/Root1/ChildA1/ChildB1/ChildC1/ChildD1/DesignFile.ai), Adobe Drive calls our GetAssetsHandler for "/Root1/ChildA1/ChildB1/ChildC1/ChildD1/".  The handler creates the Update Recipe, which includes the parent ID of "/Root1/ChildA1/ChildB1/ChildC1".  But it is looking like Adobe Drive has no record of "/Root1/ChildA1/ChildB1/ChildC1" and so it throws the Exception. 

 

Is there any way to force Adobe Drive to ask our connector about the unknown parent?  Or is there some way for our connector to detect that Drive doesn't know about an Asset and provide the needed information?

 

Thanks.  Here is the full stack trace of the error I'm seeing:

 

2014/02/03 15:52:50,986 [IFSConnection-1] FATAL IFSConnection - NASTY Runtime exception for Request: CREATE

com.adobe.drive.biz.filesystem.FileSystemException: com.adobe.drive.model.exception.AdobeDriveRuntimeException: Failed to retrieve parent (path=/Root1/ChildA1/ChildB1/ChildC1)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService.runWithTran saction(FileSystemService.java:1762)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService.runWithTran saction(FileSystemService.java:1727)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService.lookupByPat h(FileSystemService.java:562)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService.lookupByPat h(FileSystemService.java:555)

    at com.adobe.drive.ifs.job.CreateHandler$1.call(CreateHandler.java:122)

    at com.adobe.drive.ifs.job.CreateHandler$1.call(CreateHandler.java:1)

    at com.adobe.drive.model.context.Context.run(Context.java:88)

    at com.adobe.drive.ifs.internal.IFSConnection.dispatch(IFSConnection.jav a:187)

    at com.adobe.drive.ifs.internal.IFSConnection.run(IFSConnection.java:142 )

Caused by: com.adobe.drive.model.exception.AdobeDriveRuntimeException: Failed to retrieve parent (path=/Root1/ChildA1/ChildB1/ChildC1)

    at com.adobe.drive.model.synchronization.DataModelUpdater.updateParentHi erarchy(DataModelUpdater.java:1204)

    at com.adobe.drive.model.synchronization.DataModelUpdater.internalUpdate Asset(DataModelUpdater.java:520)

    at com.adobe.drive.model.synchronization.DataModelUpdater.updateAsset(Da taModelUpdater.java:150)

    at com.adobe.drive.model.synchronization.ChangeRecipeVisitor.processUpda teRecipe(ChangeRecipeVisitor.java:188)

    at com.adobe.drive.connector.api.recipe.UpdateRecipe.accept(UpdateRecipe .java:88)

    at com.adobe.drive.connector.api.recipe.RemoteResponse.accept(RemoteResp onse.java:68)

    at com.adobe.drive.internal.data.manager.DataManager$12.run(DataManager. java:3119)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner$3.run(Per sistenceRunner.java:306)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner$2.runWith Transaction(PersistenceRunner.java:186)

    at com.adobe.drive.data.internal.persistence.PersistenceModificationCall able.run(PersistenceModificationCallable.java:71)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner.run(Persi stenceRunner.java:119)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner.runWithTr ansaction(PersistenceRunner.java:181)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner.runWithTr ansaction(PersistenceRunner.java:174)

    at com.adobe.drive.internal.data.manager.DataManager.execute(DataManager .java:3135)

    at com.adobe.drive.internal.data.manager.DataManager.execute(DataManager .java:3058)

    at com.adobe.drive.internal.data.manager.DataManager.getAssetFromConnect or(DataManager.java:1715)

    at com.adobe.drive.internal.data.manager.DataManager.getAsset(DataManage r.java:1636)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService$6.execute(F ileSystemService.java:573)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService$6.execute(F ileSystemService.java:1)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService$FSCallable. run(FileSystemService.java:1793)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner$2.runWith Transaction(PersistenceRunner.java:186)

    at com.adobe.drive.data.internal.persistence.PersistenceModificationCall able.run(PersistenceModificationCallable.java:71)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner.run(Persi stenceRunner.java:119)

    at com.adobe.drive.data.internal.persistence.PersistenceRunner.runWithTr ansaction(PersistenceRunner.java:181)

    at com.adobe.drive.internal.biz.filesystem.FileSystemService.runWithTran saction(FileSystemService.java:1748)

    ... 8 more

 

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points