BiPlatformRepositoryClientNavigationService implements INavigationService { public List<CmisObject> getFolderParent( String repositoryId, String folderId, String filter, boolean includeAllowableActions, boolean includeRelationships, boolean returnToRoot ) throws InvalidArgumentException, ConstraintViolationException, FilterNotValidException, RuntimeException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, PermissionDeniedException, FolderNotValidException { if ( !repositoryId.equals( BiPlatformRepositoryClient.PLATFORMORIG ) ) { throw new InvalidArgumentException(); } List<CmisObject> objects = new ArrayList<CmisObject>(); Element objectElement = getFolderElement( folderId ); Element parentElement = objectElement.getParent(); if ( parentElement == null ) { return objects; } CmisObject parent = createCmisObjectFromElement( parentElement, 0 ); objects.add( parent ); return objects; }  Document getDoc(); void setDoc( Document doc ); List<CmisObject> getObjectParent( String repositoryId, String objectId, String filter,
      boolean includeAllowableActions, boolean includeRelationships ); List<CmisObject> getFolderParent( String repositoryId, String folderId, String filter,
      boolean includeAllowableActions, boolean includeRelationships, boolean returnToRoot ); List<CmisObject> getDescendants( String repositoryId, String folderId, TypesOfFileableObjects type, int depth,
      String filter, boolean includeAllowableActions, boolean includeRelationships ); List<CmisObject> getChildren( String repositoryId, String folderId, TypesOfFileableObjects type,
      String filter, boolean includeAllowableActions, boolean includeRelationships, int maxItems, int skipCount ); GetCheckedoutDocsResponse getCheckedoutDocs( String repositoryId, String folderId, String filter,
      boolean includeAllowableActions, boolean includeRelationships, int maxItems, int skipCount ); String getRepositoryPath( CmisObject object ); String getRepositoryFilename( CmisObject object );  }
@Test public void testGetFolderParent() { mLog.info( "testGetFolderParent.." ); try { navService.getFolderParent( "WRONG_REPOSITORY_ID", "/admin/sales_data.csv", "filter", false, false, false ); } catch ( Exception exe ) { assertTrue( exe instanceof InvalidArgumentException ); } try { cmisObjects = navService.getFolderParent( BiPlatformRepositoryClient.PLATFORMORIG, "/admin/sales_data.csv", "filter", false, false, false ); } catch ( Exception exe ) { assertTrue( "Should have thrown exception here", true ); } try { navService.setDoc( mockDocument ); navService.getFolderParent( BiPlatformRepositoryClient.PLATFORMORIG, "/admin/sales_data.csv", "filter", false, false, false ); } catch ( Exception exe ) { assertTrue( exe instanceof FolderNotValidException ); } try { navService.setDoc( document ); cmisObjects = navService.getFolderParent( BiPlatformRepositoryClient.PLATFORMORIG, "/admin", "filter", false, false, false ); assertTrue( cmisObjects != null ); assertTrue( cmisObjects.get( 0 ).getProperties() != null ); CmisObject lCmisObject = cmisObjects.get( 0 ); assertTrue( "".equals( lCmisObject.findStringProperty( PropertiesBase.OBJECTTYPEID, null ) ) ); } catch ( Exception exe ) { assertTrue( "Shouldn't throw exception here", false ); mLog.error( "Exception in testGetFolderParent() - Fails Unit Test" ); } }