use of org.pentaho.commons.util.repository.type.CmisObject in project pentaho-platform by pentaho.
the class BiPlatformRepositoryClientNavigationServiceTest method testGetFolderParent.
@Test
public void testGetFolderParent() {
mLog.info("testGetFolderParent..");
// CASE 1: Provide a wrong key for the original BI platform repository
try {
navService.getFolderParent("WRONG_REPOSITORY_ID", "/admin/sales_data.csv", "filter", false, false, false);
} catch (Exception exe) {
assertTrue(exe instanceof InvalidArgumentException);
}
// CASE 2: Provide a right key, but the document is null
try {
cmisObjects = navService.getFolderParent(BiPlatformRepositoryClient.PLATFORMORIG, "/admin/sales_data.csv", "filter", false, false, false);
} catch (Exception exe) {
assertTrue("Should have thrown exception here", true);
}
// CASE 3: document is empty
try {
navService.setDoc(mockDocument);
navService.getFolderParent(BiPlatformRepositoryClient.PLATFORMORIG, "/admin/sales_data.csv", "filter", false, false, false);
} catch (Exception exe) {
assertTrue(exe instanceof FolderNotValidException);
}
// CASE 4: now the document has valid contents
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");
}
}
use of org.pentaho.commons.util.repository.type.CmisObject in project pentaho-platform by pentaho.
the class BiPlatformRepositoryClientNavigationServiceTest method testObjectParent.
@Test
public void testObjectParent() {
mLog.info("testObjectParent..");
// CASE 1: Provide a wrong key for the original BI platform repository
try {
navService.getObjectParent("WRONG_REPOSITORY_ID", "objectId", "filter", false, false);
} catch (Exception exe) {
assertTrue(exe instanceof InvalidArgumentException);
}
// CASE 2: Provide a right key, but document is null
try {
cmisObjects = navService.getObjectParent(BiPlatformRepositoryClient.PLATFORMORIG, "/admin/training/sales_data.csv", "filter", false, false);
} catch (Exception exe) {
assertTrue("Should have thrown NPE here, as lNavService doc is null", true);
}
// CASE 3: the document is empty
try {
navService.setDoc(mockDocument);
cmisObjects = navService.getObjectParent(BiPlatformRepositoryClient.PLATFORMORIG, "/admin/training/sales_data.csv", "filter", false, false);
} catch (Exception exe) {
assertTrue(exe instanceof ObjectNotFoundException);
}
// CASE 4: now the document has valid contents
try {
navService.setDoc(document);
cmisObjects = navService.getObjectParent(BiPlatformRepositoryClient.PLATFORMORIG, "/admin/sales_data.csv", "filter", false, false);
assertTrue(cmisObjects != null);
assertTrue(cmisObjects.get(0).getProperties() != null);
CmisObject lCmisObject = cmisObjects.get(0);
assertTrue(CmisObject.OBJECT_TYPE_FOLDER.equals(lCmisObject.findStringProperty(PropertiesBase.OBJECTTYPEID, null)));
} catch (Exception exe) {
assertTrue("Shouldn't throw exception here", false);
mLog.error("Problem testing testObjectParent() - Fails Unit Test");
}
}
use of org.pentaho.commons.util.repository.type.CmisObject in project pentaho-platform by pentaho.
the class BiPlatformRepositoryClientNavigationService method getFolderParent.
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>();
// get the element for the specified object
Element objectElement = getFolderElement(folderId);
// get the parent node
Element parentElement = objectElement.getParent();
if (parentElement == null) {
return objects;
}
CmisObject parent = createCmisObjectFromElement(parentElement, 0);
objects.add(parent);
return objects;
}
Aggregations