BiPlatformRepositoryClientNavigationService implements INavigationService { public String getRepositoryPath( CmisObject object ) { String id = object.findIdProperty( PropertiesBase.OBJECTID, null ); String typeId = object.findStringProperty( PropertiesBase.OBJECTTYPEID, null ); if ( CmisObject.OBJECT_TYPE_FOLDER.equals( typeId ) ) { return id; } else { int idx = id.lastIndexOf( RepositoryFile.SEPARATOR ); if ( idx != -1 ) { return id.substring( 0, idx ); } else { return ""; } } }  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 testGetRepositoryPath() { mLog.info( "testGetRepositoryPath.." ); cmisObject.getProperties().getProperties().add( new PropertyId( PropertiesBase.OBJECTID, "repository" ) ); cmisObject.getProperties().getProperties().add( new PropertyString( PropertiesBase.OBJECTTYPEID, CmisObject.OBJECT_TYPE_FOLDER ) ); String path = navService.getRepositoryPath( cmisObject ); assertTrue( "repository".equals( path ) ); cmisObject.setProperties( new CmisProperties() ); cmisObject.getProperties().getProperties().add( new PropertyId( PropertiesBase.OBJECTID, "/admin/pat" ) ); cmisObject.getProperties().getProperties().add( new PropertyString( PropertiesBase.OBJECTTYPEID, null ) ); path = navService.getRepositoryPath( cmisObject ); assertTrue( "Repository path as expected", "/admin".equals( path ) ); cmisObject.setProperties( new CmisProperties() ); cmisObject.getProperties().getProperties().add( new PropertyId( PropertiesBase.OBJECTID, "repository" ) ); cmisObject.getProperties().getProperties().add( new PropertyString( PropertiesBase.OBJECTTYPEID, null ) ); path = navService.getRepositoryPath( cmisObject ); assertTrue( "Repository path as expected", "".equals( path ) ); }