Search in sources :

Example 6 with Location

use of com.google.api.services.appengine.v1.model.Location in project google-cloud-intellij by GoogleCloudPlatform.

the class GoogleApiClientAppEngineAdminService method fetchAllAppEngineLocations.

private List<Location> fetchAllAppEngineLocations(Credential credential) throws GoogleApiException, IOException {
    try {
        ListLocationsResponse response = fetchAppEngineLocationPage(credential, null);
        List<Location> locations = new ArrayList<>(response.getLocations());
        while (response.getNextPageToken() != null) {
            response = fetchAppEngineLocationPage(credential, response.getNextPageToken());
            locations.addAll(response.getLocations());
        }
        return locations;
    } catch (GoogleJsonResponseException e) {
        throw GoogleApiException.from(e);
    }
}
Also used : GoogleJsonResponseException(com.google.api.client.googleapis.json.GoogleJsonResponseException) ListLocationsResponse(com.google.api.services.appengine.v1.model.ListLocationsResponse) ArrayList(java.util.ArrayList) Location(com.google.api.services.appengine.v1.model.Location)

Example 7 with Location

use of com.google.api.services.appengine.v1.model.Location in project google-cloud-intellij by GoogleCloudPlatform.

the class AppEngineLocationSelectorItemTest method setup.

@Before
public void setup() {
    location = new Location();
    location.setMetadata(new HashMap<>());
}
Also used : Location(com.google.api.services.appengine.v1.model.Location) Before(org.junit.Before)

Example 8 with Location

use of com.google.api.services.appengine.v1.model.Location in project metacat by Netflix.

the class S3ConnectorTableService method update.

@Override
public void update(@Nonnull final ConnectorContext context, @Nonnull final TableInfo tableInfo) {
    log.debug("Start: Update table {}", tableInfo.getName());
    final QualifiedName tableName = tableInfo.getName();
    final Table table = tableDao.getBySourceDatabaseTableName(catalogName, tableName.getDatabaseName(), tableName.getTableName());
    if (table == null) {
        throw new TableNotFoundException(tableName);
    }
    //we can update the fields, the uri, or the full serde
    final Location newLocation = infoConverter.toLocation(tableInfo);
    Location location = table.getLocation();
    if (location == null) {
        location = new Location();
        location.setTable(table);
        table.setLocation(location);
    }
    if (newLocation.getUri() != null) {
        location.setUri(newLocation.getUri());
    }
    final Info newInfo = newLocation.getInfo();
    if (newInfo != null) {
        final Info info = location.getInfo();
        if (info == null) {
            location.setInfo(newInfo);
            newInfo.setLocation(location);
        } else {
            if (newInfo.getInputFormat() != null) {
                info.setInputFormat(newInfo.getInputFormat());
            }
            if (newInfo.getOutputFormat() != null) {
                info.setOutputFormat(newInfo.getOutputFormat());
            }
            if (newInfo.getOwner() != null) {
                info.setOwner(newInfo.getOwner());
            }
            if (newInfo.getSerializationLib() != null) {
                info.setSerializationLib(newInfo.getSerializationLib());
            }
            if (newInfo.getParameters() != null && !newInfo.getParameters().isEmpty()) {
                info.setParameters(newInfo.getParameters());
            }
        }
    }
    final Schema newSchema = newLocation.getSchema();
    if (newSchema != null) {
        final List<Field> newFields = newSchema.getFields();
        if (newFields != null && !newFields.isEmpty()) {
            final Schema schema = location.getSchema();
            if (schema == null) {
                location.setSchema(newSchema);
                newSchema.setLocation(location);
            } else {
                final List<Field> fields = schema.getFields();
                if (fields.isEmpty()) {
                    newFields.forEach(field -> {
                        field.setSchema(schema);
                        fields.add(field);
                    });
                } else {
                    for (int i = 0; i < newFields.size(); i++) {
                        final Field newField = newFields.get(i);
                        newField.setPos(i);
                        newField.setSchema(schema);
                        if (newField.getType() == null) {
                            newField.setType(newField.getSourceType());
                        }
                    }
                    schema.setFields(null);
                    fieldDao.delete(fields);
                    tableDao.save(table, true);
                    schema.setFields(newFields);
                }
            }
        }
    }
    log.debug("End: Update table {}", tableInfo.getName());
}
Also used : TableNotFoundException(com.netflix.metacat.common.server.connectors.exception.TableNotFoundException) Field(com.netflix.metacat.connector.s3.model.Field) Table(com.netflix.metacat.connector.s3.model.Table) QualifiedName(com.netflix.metacat.common.QualifiedName) Schema(com.netflix.metacat.connector.s3.model.Schema) Info(com.netflix.metacat.connector.s3.model.Info) TableInfo(com.netflix.metacat.common.server.connectors.model.TableInfo) Location(com.netflix.metacat.connector.s3.model.Location)

Example 9 with Location

use of com.google.api.services.appengine.v1.model.Location in project google-cloud-intellij by GoogleCloudPlatform.

the class AppEngineApplicationCreateDialog method refreshLocationsSelector.

/**
 * Refreshes the locations combo box. This method should be called from the event dispatch thread.
 */
@SuppressWarnings("FutureReturnValueIgnored")
private void refreshLocationsSelector() {
    // show loading state
    disable();
    regionComboBox.removeAllItems();
    ApplicationManager.getApplication().executeOnPooledThread(() -> {
        final List<Location> appEngineRegions;
        try {
            appEngineRegions = AppEngineAdminService.getInstance().getAllAppEngineLocations(userCredential);
        } catch (IOException | GoogleApiException e) {
            setStatusMessageAsync(GctBundle.message("appengine.application.region.list.fetch.error"));
            enable();
            return;
        }
        // perform the actual UI updates on the event dispatch thread
        ApplicationManager.getApplication().invokeLater(() -> {
            for (Location location : appEngineRegions) {
                regionComboBox.addItem(new AppEngineLocationSelectorItem(location));
            }
            enable();
        }, ModalityState.stateForComponent(AppEngineApplicationCreateDialog.this.getContentPane()));
    });
}
Also used : IOException(java.io.IOException) Location(com.google.api.services.appengine.v1.model.Location)

Example 10 with Location

use of com.google.api.services.appengine.v1.model.Location in project google-cloud-intellij by GoogleCloudPlatform.

the class GoogleApiClientAppEngineAdminServiceTest method testGetAllAppEngineLocations_success.

@Test
public void testGetAllAppEngineLocations_success() throws IOException, GoogleApiException {
    String pageToken = "page-token";
    ListLocationsResponse response1 = new ListLocationsResponse();
    List<Location> locationsPage1 = Arrays.asList(createMockLocation("location-1"), createMockLocation("location-2"));
    response1.setLocations(locationsPage1);
    response1.setNextPageToken(pageToken);
    List<Location> locationsPage2 = Arrays.asList(createMockLocation("location-3"), createMockLocation("location-4"));
    ListLocationsResponse response2 = new ListLocationsResponse();
    response2.setLocations(locationsPage2);
    response2.setNextPageToken(null);
    when(appengineClientMock.getAppsLocationsListQuery().setPageToken(any())).thenReturn(appengineClientMock.getAppsLocationsListQuery());
    when(appengineClientMock.getAppsLocationsListQuery().execute()).thenReturn(response1);
    Appengine.Apps.Locations.List appsLocationsListQuery2 = mock(Appengine.Apps.Locations.List.class);
    when(appengineClientMock.getAppsLocationsListQuery().setPageToken(eq(pageToken))).thenReturn(appsLocationsListQuery2);
    when(appsLocationsListQuery2.execute()).thenReturn(response2);
    List<Location> expectedResults = new ArrayList<>(locationsPage1);
    expectedResults.addAll(locationsPage2);
    // make the call twice. the service should only be hit once per page
    assertEquals(expectedResults, service.getAllAppEngineLocations(mock(Credential.class)));
    assertEquals(expectedResults, service.getAllAppEngineLocations(mock(Credential.class)));
    verify(appengineClientMock.getAppsLocationsListQuery(), times(1)).execute();
    verify(appsLocationsListQuery2, times(1)).execute();
}
Also used : ListLocationsResponse(com.google.api.services.appengine.v1.model.ListLocationsResponse) Appengine(com.google.api.services.appengine.v1.Appengine) ArrayList(java.util.ArrayList) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Location(com.google.api.services.appengine.v1.model.Location) Test(org.junit.Test)

Aggregations

Location (com.netflix.metacat.connector.s3.model.Location)9 Location (com.google.api.services.appengine.v1.model.Location)6 TableInfo (com.netflix.metacat.common.server.connectors.model.TableInfo)6 Info (com.netflix.metacat.connector.s3.model.Info)6 FieldInfo (com.netflix.metacat.common.server.connectors.model.FieldInfo)5 AuditInfo (com.netflix.metacat.common.server.connectors.model.AuditInfo)4 DatabaseInfo (com.netflix.metacat.common.server.connectors.model.DatabaseInfo)4 PartitionInfo (com.netflix.metacat.common.server.connectors.model.PartitionInfo)4 StorageInfo (com.netflix.metacat.common.server.connectors.model.StorageInfo)4 Schema (com.netflix.metacat.connector.s3.model.Schema)4 Field (com.netflix.metacat.connector.s3.model.Field)3 Table (com.netflix.metacat.connector.s3.model.Table)3 Location (org.hl7.fhir.dstu3.model.Location)3 ResourceNotFoundException (ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException)2 ListLocationsResponse (com.google.api.services.appengine.v1.model.ListLocationsResponse)2 QualifiedName (com.netflix.metacat.common.QualifiedName)2 TableNotFoundException (com.netflix.metacat.common.server.connectors.exception.TableNotFoundException)2 IOException (java.io.IOException)2 ArrayList (java.util.ArrayList)2 IdType (org.hl7.fhir.dstu3.model.IdType)2