@Override public RepositoryFile createFile( Serializable parentFolderId, RepositoryFile file, IRepositoryFileData data, String versionMessage) { if (data instanceof NodeRepositoryFileData) { return repositoryFileAdapter.unmarshal( repoWebService.createFile( parentFolderId != null ? parentFolderId.toString() : null, repositoryFileAdapter.marshal(file), nodeRepositoryFileDataAdapter.marshal((NodeRepositoryFileData) data), versionMessage)); } else if (data instanceof SimpleRepositoryFileData) { SimpleRepositoryFileData simpleData = (SimpleRepositoryFileData) data; return repositoryFileAdapter.unmarshal( repoWebService.createBinaryFile( parentFolderId != null ? parentFolderId.toString() : null, repositoryFileAdapter.marshal(file), SimpleRepositoryFileDataDto.convert(simpleData), versionMessage)); } else { throw new IllegalArgumentException(); } }
@Override @SuppressWarnings("unchecked") public <T extends IRepositoryFileData> java.util.List<T> getDataForReadInBatch( final List<RepositoryFile> files, final Class<T> dataClass) { List<RepositoryFileDto> fileDtos = new ArrayList<RepositoryFileDto>(files.size()); for (RepositoryFile file : files) { fileDtos.add(repositoryFileAdapter.marshal(file)); } if (dataClass.equals(NodeRepositoryFileData.class)) { List<NodeRepositoryFileDataDto> nodeData = repoWebService.getDataAsNodeForReadInBatch(fileDtos); List<T> data = new ArrayList<T>(nodeData.size()); for (NodeRepositoryFileDataDto node : nodeData) { data.add((T) nodeRepositoryFileDataAdapter.unmarshal(node)); } return data; } else if (dataClass.equals(SimpleRepositoryFileData.class)) { List<SimpleRepositoryFileDataDto> nodeData = repoWebService.getDataAsBinaryForReadInBatch(fileDtos); List<T> data = new ArrayList<T>(nodeData.size()); for (SimpleRepositoryFileDataDto node : nodeData) { data.add((T) SimpleRepositoryFileDataDto.convert(node)); } return data; } else { throw new IllegalArgumentException(); } }
@Override @SuppressWarnings("unchecked") public <T extends IRepositoryFileData> T getDataForRead(Serializable fileId, Class<T> dataClass) { if (dataClass.equals(NodeRepositoryFileData.class)) { return (T) nodeRepositoryFileDataAdapter.unmarshal( repoWebService.getDataAsNodeForRead(fileId != null ? fileId.toString() : null)); } else if (dataClass.equals(SimpleRepositoryFileData.class)) { SimpleRepositoryFileDataDto simpleJaxWsData = repoWebService.getDataAsBinaryForRead(fileId != null ? fileId.toString() : null); return (T) SimpleRepositoryFileDataDto.convert(simpleJaxWsData); } else { throw new IllegalArgumentException(); } }
@Override public RepositoryFile updateFile( RepositoryFile file, IRepositoryFileData data, String versionMessage) { if (data instanceof NodeRepositoryFileData) { return repositoryFileAdapter.unmarshal( repoWebService.updateFile( repositoryFileAdapter.marshal(file), nodeRepositoryFileDataAdapter.marshal((NodeRepositoryFileData) data), versionMessage)); } else if (data instanceof SimpleRepositoryFileData) { SimpleRepositoryFileData simpleData = (SimpleRepositoryFileData) data; return repositoryFileAdapter.unmarshal( repoWebService.updateBinaryFile( repositoryFileAdapter.marshal(file), SimpleRepositoryFileDataDto.convert(simpleData), versionMessage)); } else { throw new IllegalArgumentException(); } }