use of org.pentaho.platform.repository2.unified.webservices.StringKeyStringValueDto in project pentaho-platform by pentaho.
the class FileService method doSetContentCreator.
/**
* Store content creator of the selected repository file
*
* @param pathId colon separated path for the repository file
* <pre function="syntax.xml">
* :path:to:file:id
* </pre>
* @param contentCreator repository file
* <pre function="syntax.xml">
* <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
* <repositoryFileDto>
* <createdDate>1402911997019</createdDate>
* <fileSize>3461</fileSize>
* <folder>false</folder>
* <hidden>false</hidden>
* <id>ff11ac89-7eda-4c03-aab1-e27f9048fd38</id>
* <lastModifiedDate>1406647160536</lastModifiedDate>
* <locale>en</locale>
* <localePropertiesMapEntries>
* <localeMapDto>
* <locale>default</locale>
* <properties>
* <stringKeyStringValueDto>
* <key>file.title</key>
* <value>myFile</value>
* </stringKeyStringValueDto>
* <stringKeyStringValueDto>
* <key>jcr:primaryType</key>
* <value>nt:unstructured</value>
* </stringKeyStringValueDto>
* <stringKeyStringValueDto>
* <key>title</key>
* <value>myFile</value>
* </stringKeyStringValueDto>
* <stringKeyStringValueDto>
* <key>file.description</key>
* <value>myFile Description</value>
* </stringKeyStringValueDto>
* </properties>
* </localeMapDto>
* </localePropertiesMapEntries>
* <locked>false</locked>
* <name>myFile.prpt</name></name>
* <originalParentFolderPath>/public/admin</originalParentFolderPath>
* <ownerType>-1</ownerType>
* <path>/public/admin/ff11ac89-7eda-4c03-aab1-e27f9048fd38</path>
* <title>myFile</title>
* <versionId>1.9</versionId>
* <versioned>true</versioned>
* </repositoryFileAclDto>
* </pre>
* @throws FileNotFoundException
*/
public void doSetContentCreator(String pathId, RepositoryFileDto contentCreator) throws FileNotFoundException {
RepositoryFileDto file = getRepoWs().getFile(idToPath(pathId));
if (file == null) {
throw new FileNotFoundException();
}
try {
Map<String, Serializable> fileMetadata = getRepository().getFileMetadata(file.getId());
fileMetadata.put(PentahoJcrConstants.PHO_CONTENTCREATOR, contentCreator.getId());
getRepository().setFileMetadata(file.getId(), fileMetadata);
} catch (Exception e) {
throw new InternalError();
}
}
use of org.pentaho.platform.repository2.unified.webservices.StringKeyStringValueDto in project pentaho-platform by pentaho.
the class FileService method doSetLocaleProperties.
/**
* Set the list of locale properties for a given locale
*
* @param pathId
* @param locale
* @param properties
*/
public void doSetLocaleProperties(String pathId, String locale, List<StringKeyStringValueDto> properties) throws Exception {
RepositoryFileDto file = getRepoWs().getFile(idToPath(pathId));
Properties fileProperties = new Properties();
if (properties != null && !properties.isEmpty()) {
for (StringKeyStringValueDto dto : properties) {
fileProperties.put(dto.getKey(), dto.getValue());
}
}
getRepoWs().setLocalePropertiesForFileByFileId(file.getId(), locale, fileProperties);
}
use of org.pentaho.platform.repository2.unified.webservices.StringKeyStringValueDto in project pentaho-platform by pentaho.
the class FileServiceTest method doSetMetadataException.
@Test
public void doSetMetadataException() {
String pathId = "path:to:file:file1.ext";
List<StringKeyStringValueDto> stringKeyStringValueDtos = new ArrayList<StringKeyStringValueDto>();
doReturn("/path/to/file/file1.ext").when(fileService).idToPath(pathId);
doReturn(false).when(fileService.policy).isAllowed(RepositoryReadAction.NAME);
doReturn(false).when(fileService.policy).isAllowed(RepositoryCreateAction.NAME);
doReturn(false).when(fileService.policy).isAllowed(AdministerSecurityAction.NAME);
RepositoryFileDto file = mock(RepositoryFileDto.class);
doReturn(file).when(fileService.defaultUnifiedRepositoryWebService).getFile(anyString());
RepositoryFileAclDto repositoryFileAclDto = mock(RepositoryFileAclDto.class);
doReturn("sessionName").when(repositoryFileAclDto).getOwner();
doReturn(repositoryFileAclDto).when(fileService.defaultUnifiedRepositoryWebService).getAcl(anyString());
IPentahoSession pentahoSession = mock(IPentahoSession.class);
doReturn(pentahoSession).when(fileService).getSession();
doReturn("sessionName1").when(pentahoSession).getName();
try {
fileService.doSetMetadata(pathId, stringKeyStringValueDtos);
fail();
} catch (GeneralSecurityException e) {
// Should catch the exception
}
verify(fileService.defaultUnifiedRepositoryWebService).getFile(anyString());
verify(fileService.defaultUnifiedRepositoryWebService).getAcl(anyString());
verify(repositoryFileAclDto).getOwner();
verify(fileService.policy).isAllowed(anyString());
}
use of org.pentaho.platform.repository2.unified.webservices.StringKeyStringValueDto in project pentaho-platform by pentaho.
the class FileServiceTest method doGetMetadataException.
@Test
public void doGetMetadataException() {
String pathId = "path:to:file:file1.ext";
doReturn(null).when(fileService.defaultUnifiedRepositoryWebService).getFile(anyString());
try {
List<StringKeyStringValueDto> list = fileService.doGetMetadata(pathId);
fail();
} catch (FileNotFoundException e) {
// Should catch exception
}
verify(fileService.defaultUnifiedRepositoryWebService).getFile(anyString());
}
use of org.pentaho.platform.repository2.unified.webservices.StringKeyStringValueDto in project pentaho-platform by pentaho.
the class FileResourceTest method testDoSetMetadataError.
@Test
public void testDoSetMetadataError() throws Exception {
List<StringKeyStringValueDto> metadata = mock(List.class);
Response mockUnauthorizedResponse = mock(Response.class);
doReturn(mockUnauthorizedResponse).when(fileResource).buildStatusResponse(Response.Status.UNAUTHORIZED);
Throwable mockThrowable = mock(RuntimeException.class);
String errMsg = "errMsg";
doReturn(errMsg).when(mockThrowable).getMessage();
Response mockThrowableResponse = mock(Response.class);
doReturn(mockThrowableResponse).when(fileResource).buildServerErrorResponse(errMsg);
// Test 1
Exception mockGeneralSecurityException = mock(GeneralSecurityException.class);
doThrow(mockGeneralSecurityException).when(fileResource.fileService).doSetMetadata(PATH_ID, metadata);
Response testResponse = fileResource.doSetMetadata(PATH_ID, metadata);
assertEquals(mockUnauthorizedResponse, testResponse);
// Test 2
doThrow(mockThrowable).when(fileResource.fileService).doSetMetadata(PATH_ID, metadata);
testResponse = fileResource.doSetMetadata(PATH_ID, metadata);
assertEquals(mockThrowableResponse, testResponse);
verify(fileResource.fileService, times(2)).doSetMetadata(PATH_ID, metadata);
verify(fileResource, times(1)).buildStatusResponse(Response.Status.UNAUTHORIZED);
verify(mockThrowable, times(1)).getMessage();
verify(fileResource, times(1)).buildServerErrorResponse(errMsg);
}
Aggregations