@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"); } } }
@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())); }
@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"); } } }