@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationExtract extractConfigurationPb = configurationPb.getExtract(); this.sourceTable = TableId.fromPb(extractConfigurationPb.getSourceTable()); this.destinationUris = extractConfigurationPb.getDestinationUris(); this.printHeader = extractConfigurationPb.getPrintHeader(); this.fieldDelimiter = extractConfigurationPb.getFieldDelimiter(); this.format = extractConfigurationPb.getDestinationFormat(); this.compression = extractConfigurationPb.getCompression(); }
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb(com.google.api.services.bigquery.model.Job jobPb) { JobConfiguration jobConfigPb = jobPb.getConfiguration(); com.google.api.services.bigquery.model.JobStatistics statisticPb = jobPb.getStatistics(); if (jobConfigPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (jobConfigPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (jobConfigPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else if (jobConfigPb.getCopy() != null) { return (T) CopyStatistics.fromPb(statisticPb); } else { throw new IllegalArgumentException("unknown job configuration: " + jobConfigPb); } } }
@Test public void testToPbAndFromPb() { assertNotNull(QUERY_JOB_CONFIGURATION.toPb().getQuery()); assertNull(QUERY_JOB_CONFIGURATION.toPb().getExtract()); assertNull(QUERY_JOB_CONFIGURATION.toPb().getCopy()); assertNull(QUERY_JOB_CONFIGURATION.toPb().getLoad()); compareQueryJobConfiguration( QUERY_JOB_CONFIGURATION, QueryJobConfiguration.fromPb(QUERY_JOB_CONFIGURATION.toPb())); QueryJobConfiguration job = QueryJobConfiguration.of(QUERY); compareQueryJobConfiguration(job, QueryJobConfiguration.fromPb(job.toPb())); }
@Test public void testToPbAndFromPb() { assertNotNull(EXTRACT_CONFIGURATION.toPb().getExtract()); assertNull(EXTRACT_CONFIGURATION.toPb().getCopy()); assertNull(EXTRACT_CONFIGURATION.toPb().getLoad()); assertNull(EXTRACT_CONFIGURATION.toPb().getQuery()); compareExtractJobConfiguration( EXTRACT_CONFIGURATION, ExtractJobConfiguration.fromPb(EXTRACT_CONFIGURATION.toPb())); compareExtractJobConfiguration( EXTRACT_CONFIGURATION_ONE_URI, ExtractJobConfiguration.fromPb(EXTRACT_CONFIGURATION_ONE_URI.toPb())); ExtractJobConfiguration job = ExtractJobConfiguration.of(TABLE_ID, DESTINATION_URIS); compareExtractJobConfiguration(job, ExtractJobConfiguration.fromPb(job.toPb())); }
@Test public void testToPbAndFromPb() { assertNotNull(COPY_JOB_CONFIGURATION.toPb().getCopy()); assertNull(COPY_JOB_CONFIGURATION.toPb().getExtract()); assertNull(COPY_JOB_CONFIGURATION.toPb().getLoad()); assertNull(COPY_JOB_CONFIGURATION.toPb().getQuery()); assertNull(COPY_JOB_CONFIGURATION.toPb().getCopy().getSourceTables()); assertNull(COPY_JOB_CONFIGURATION_MULTIPLE_TABLES.toPb().getCopy().getSourceTable()); compareCopyJobConfiguration( COPY_JOB_CONFIGURATION, CopyJobConfiguration.fromPb(COPY_JOB_CONFIGURATION.toPb())); compareCopyJobConfiguration( COPY_JOB_CONFIGURATION_MULTIPLE_TABLES, CopyJobConfiguration.fromPb(COPY_JOB_CONFIGURATION_MULTIPLE_TABLES.toPb())); CopyJobConfiguration jobConfiguration = CopyJobConfiguration.of(DESTINATION_TABLE, SOURCE_TABLES); compareCopyJobConfiguration( jobConfiguration, CopyJobConfiguration.fromPb(jobConfiguration.toPb())); }
@Test public void testToPbAndFromPb() { assertNotNull(COPY_JOB.toPb().getConfiguration().getCopy()); assertNull(COPY_JOB.toPb().getConfiguration().getExtract()); assertNull(COPY_JOB.toPb().getConfiguration().getLoad()); assertNull(COPY_JOB.toPb().getConfiguration().getQuery()); assertTrue(JobInfo.fromPb(COPY_JOB.toPb()).getConfiguration() instanceof CopyJobConfiguration); assertNull(EXTRACT_JOB.toPb().getConfiguration().getCopy()); assertNotNull(EXTRACT_JOB.toPb().getConfiguration().getExtract()); assertNull(EXTRACT_JOB.toPb().getConfiguration().getLoad()); assertNull(EXTRACT_JOB.toPb().getConfiguration().getQuery()); assertTrue(JobInfo.fromPb(EXTRACT_JOB.toPb()).getStatistics() instanceof ExtractStatistics); assertNull(LOAD_JOB.toPb().getConfiguration().getCopy()); assertNull(LOAD_JOB.toPb().getConfiguration().getExtract()); assertNotNull(LOAD_JOB.toPb().getConfiguration().getLoad()); assertNull(LOAD_JOB.toPb().getConfiguration().getQuery()); assertTrue(JobInfo.fromPb(LOAD_JOB.toPb()).getStatistics() instanceof LoadStatistics); assertNull(QUERY_JOB.toPb().getConfiguration().getCopy()); assertNull(QUERY_JOB.toPb().getConfiguration().getExtract()); assertNull(QUERY_JOB.toPb().getConfiguration().getLoad()); assertNotNull(QUERY_JOB.toPb().getConfiguration().getQuery());
@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
@SuppressWarnings("unchecked") static <T extends JobConfiguration> T fromPb( com.google.api.services.bigquery.model.JobConfiguration configurationPb) { if (configurationPb.getCopy() != null) { return (T) CopyJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getExtract() != null) { return (T) ExtractJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getLoad() != null) { return (T) LoadJobConfiguration.fromPb(configurationPb); } else if (configurationPb.getQuery() != null) { return (T) QueryJobConfiguration.fromPb(configurationPb); } else { // never reached throw new IllegalArgumentException("Job configuration is not supported"); } } }
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationExtract extractConfigurationPb = configurationPb.getExtract(); this.sourceTable = TableId.fromPb(extractConfigurationPb.getSourceTable()); this.destinationUris = extractConfigurationPb.getDestinationUris(); this.printHeader = extractConfigurationPb.getPrintHeader(); this.fieldDelimiter = extractConfigurationPb.getFieldDelimiter(); this.format = extractConfigurationPb.getDestinationFormat(); this.compression = extractConfigurationPb.getCompression(); }
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationExtract extractConfigurationPb = configurationPb.getExtract(); this.sourceTable = TableId.fromPb(extractConfigurationPb.getSourceTable()); this.destinationUris = extractConfigurationPb.getDestinationUris(); this.printHeader = extractConfigurationPb.getPrintHeader(); this.fieldDelimiter = extractConfigurationPb.getFieldDelimiter(); this.format = extractConfigurationPb.getDestinationFormat(); this.compression = extractConfigurationPb.getCompression(); }
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) { this(); JobConfigurationExtract extractConfigurationPb = configurationPb.getExtract(); this.sourceTable = TableId.fromPb(extractConfigurationPb.getSourceTable()); this.destinationUris = extractConfigurationPb.getDestinationUris(); this.printHeader = extractConfigurationPb.getPrintHeader(); this.fieldDelimiter = extractConfigurationPb.getFieldDelimiter(); this.format = extractConfigurationPb.getDestinationFormat(); this.compression = extractConfigurationPb.getCompression(); }
@SuppressWarnings("unchecked") static <T extends JobStatistics> T fromPb(com.google.api.services.bigquery.model.Job jobPb) { JobConfiguration jobConfigPb = jobPb.getConfiguration(); com.google.api.services.bigquery.model.JobStatistics statisticPb = jobPb.getStatistics(); if (jobConfigPb.getLoad() != null) { return (T) LoadStatistics.fromPb(statisticPb); } else if (jobConfigPb.getExtract() != null) { return (T) ExtractStatistics.fromPb(statisticPb); } else if (jobConfigPb.getQuery() != null) { return (T) QueryStatistics.fromPb(statisticPb); } else if (jobConfigPb.getCopy() != null) { return (T) CopyStatistics.fromPb(statisticPb); } else { throw new IllegalArgumentException("unknown job configuration: " + jobConfigPb); } } }
private JobStatus runJob(Job job) throws InterruptedException, IOException { if (job.getConfiguration().getLoad() != null) { return runLoadJob(job.getJobReference(), job.getConfiguration().getLoad()); } else if (job.getConfiguration().getCopy() != null) { return runCopyJob(job.getConfiguration().getCopy()); } else if (job.getConfiguration().getExtract() != null) { return runExtractJob(job, job.getConfiguration().getExtract()); } else if (job.getConfiguration().getQuery() != null) { return runQueryJob(job.getConfiguration().getQuery()); } return new JobStatus().setState("DONE"); }