Search in sources :

Example 91 with File

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());
}
Also used : FileList(com.google.api.services.drive.model.FileList) Drive(com.google.api.services.drive.Drive) GoogleDriveUtils(org.talend.components.google.drive.runtime.GoogleDriveUtils) List(com.google.api.services.drive.Drive.Files.List) FileList(com.google.api.services.drive.model.FileList) File(com.google.api.services.drive.model.File) Test(org.junit.Test)

Example 92 with File

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);
}
Also used : GoogleDrivePutProperties(org.talend.components.google.drive.put.GoogleDrivePutProperties) File(com.google.api.services.drive.model.File) AbstractInputStreamContent(com.google.api.client.http.AbstractInputStreamContent) Before(org.junit.Before)

Example 93 with File

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();
    }
}
Also used : User(com.google.api.services.drive.model.User) FileList(com.google.api.services.drive.model.FileList) File(com.google.api.services.drive.model.File)

Example 94 with File

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;
}
Also used : FileContent(com.google.api.client.http.FileContent) ContentHints(com.google.api.services.drive.model.File.ContentHints) FileOutputStream(java.io.FileOutputStream) IOException(java.io.IOException) Thumbnail(com.google.api.services.drive.model.File.ContentHints.Thumbnail) File(com.google.api.services.drive.model.File)

Aggregations

File (com.google.api.services.drive.model.File)94 FileList (com.google.api.services.drive.model.FileList)35 Test (org.junit.Test)33 IOException (java.io.IOException)27 ArrayList (java.util.ArrayList)24 Before (org.junit.Before)12 FileContent (com.google.api.client.http.FileContent)10 HashMap (java.util.HashMap)10 UserRecoverableAuthIOException (com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException)9 FileNotFoundException (java.io.FileNotFoundException)7 ParseException (java.text.ParseException)7 GoogleJsonResponseException (com.google.api.client.googleapis.json.GoogleJsonResponseException)6 DateTime (com.google.api.client.util.DateTime)6 Drive (com.google.api.services.drive.Drive)6 InputStream (java.io.InputStream)6 GeneralSecurityException (java.security.GeneralSecurityException)6 Matchers.anyString (org.mockito.Matchers.anyString)6 ParentReference (com.google.api.services.drive.model.ParentReference)5 Permission (com.google.api.services.drive.model.Permission)5 User (com.google.api.services.drive.model.User)5