use of com.google.api.services.drive.model.File in project components by Talend.
the class GoogleDriveInputReaderTest method testAdvance.
@Test
public void testAdvance() throws Exception {
dataSource = spy(dataSource);
Drive drive = mock(Drive.class, RETURNS_DEEP_STUBS);
GoogleDriveUtils utils = mock(GoogleDriveUtils.class, RETURNS_DEEP_STUBS);
doReturn(drive).when(dataSource).getDriveService();
doReturn(utils).when(dataSource).getDriveUtils();
List mockList = mock(List.class, RETURNS_DEEP_STUBS);
when(drive.files().list()).thenReturn(mockList);
//
// String qA = "name='A' and 'root' in parents and mimeType='application/vnd.google-apps.folder' and trashed=false";
//
// when(drive.files().list().setQ(eq(qA)).execute()).thenReturn(createFolderFileList("A", false));
//
// GoogleDriveAbstractListReader alr = mock(GoogleDriveAbstractListReader.class);
// doReturn(true).when(alr).start();
inputProperties.getDatasetProperties().folder.setValue("A");
FileList fileList = new FileList();
File f = new File();
f.setName("sd");
f.setMimeType("text/text");
f.setId("id-1");
f.setModifiedTime(com.google.api.client.util.DateTime.parseRfc3339("2017-09-29T10:00:00"));
f.setSize(100L);
f.setKind("drive#fileName");
f.setTrashed(false);
f.setParents(Collections.singletonList(FOLDER_ROOT));
f.setWebViewLink("https://toto.com");
fileList.setFiles(Arrays.asList(f, f, f, f, f));
when(mockList.execute()).thenReturn(fileList);
dataSource.initialize(container, inputProperties);
reader = (GoogleDriveInputReader) dataSource.createReader(container);
reader.setLimit(2);
assertTrue(reader.start());
reader.getCurrent();
assertTrue(reader.advance());
reader.getCurrent();
assertFalse(reader.advance());
}
use of com.google.api.services.drive.model.File in project components by Talend.
the class GoogleDrivePutReaderTest method setUp.
@Before
public void setUp() throws Exception {
super.setUp();
properties = new GoogleDrivePutProperties("test");
properties.connection.setupProperties();
properties.connection.setupLayout();
properties.schemaMain.setupProperties();
properties.schemaMain.setupLayout();
properties.setupProperties();
properties.setupLayout();
properties = (GoogleDrivePutProperties) setupConnectionWithAccessToken(properties);
properties.uploadMode.setValue(UploadMode.UPLOAD_LOCAL_FILE);
properties.fileName.setValue(FILE_PUT_NAME);
properties.localFilePath.setValue(Paths.get(getClass().getClassLoader().getResource("service_account.json").toURI()).toString());
properties.overwrite.setValue(true);
properties.destinationFolder.setValue("root");
when(drive.files().list().setQ(anyString()).execute()).thenReturn(emptyFileList);
//
File putFile = new File();
putFile.setId(PUT_FILE_ID);
putFile.setParents(Collections.singletonList(PUT_FILE_PARENT_ID));
when(drive.files().create(any(File.class), any(AbstractInputStreamContent.class)).setFields(anyString()).execute()).thenReturn(putFile);
}
use of com.google.api.services.drive.model.File in project OpenRefine by OpenRefine.
the class GDataImportingController method listSpreadsheets.
private void listSpreadsheets(Drive drive, JsonGenerator writer) throws IOException {
com.google.api.services.drive.Drive.Files.List files = drive.files().list();
files.setQ("mimeType = 'application/vnd.google-apps.spreadsheet'");
files.setFields("nextPageToken, files(id, name, webViewLink, owners, modifiedTime)");
FileList fileList = files.execute();
for (File entry : fileList.getFiles()) {
writer.writeStartObject();
writer.writeStringField("docId", entry.getId());
writer.writeStringField("docLink", entry.getWebViewLink());
writer.writeStringField("docSelfLink", entry.getWebViewLink());
writer.writeStringField("title", entry.getName());
writer.writeStringField("type", "spreadsheet");
com.google.api.client.util.DateTime updated = entry.getModifiedTime();
if (updated != null) {
writer.writeStringField("updated", updated.toString());
}
writer.writeArrayFieldStart("authors");
for (User user : entry.getOwners()) {
writer.writeString(user.getDisplayName());
}
writer.writeEndArray();
writer.writeEndObject();
}
}
use of com.google.api.services.drive.model.File in project OpenRefine by OpenRefine.
the class UploadCommand method uploadOpenRefineProject.
private String uploadOpenRefineProject(Project project, String token, String name, List<Exception> exceptions) {
FileOutputStream fos = null;
try {
java.io.File filePath = java.io.File.createTempFile(name, ".tgz");
filePath.deleteOnExit();
fos = new FileOutputStream(filePath);
FileProjectManager.gzipTarToOutputStream(project, fos);
Thumbnail tn = new Thumbnail();
tn.setMimeType("image/x-icon").encodeImage(getIconImage());
ContentHints contentHints = new ContentHints();
contentHints.setThumbnail(tn);
File fileMetadata = new File();
fileMetadata.setName(name + ".tar.gz").setDescription(METADATA_DESCRIPTION).setContentHints(contentHints);
FileContent projectContent = new FileContent("application/x-gzip", filePath);
File file = GoogleAPIExtension.getDriveService(token).files().create(fileMetadata, projectContent).setFields("id").execute();
logger.info("File ID: " + file.getId());
return file.getId();
} catch (IOException e) {
logger.error(ExceptionUtils.getStackTrace(e));
exceptions.add(e);
}
return null;
}
Aggregations