@Override public Page<InstanceConfig> listInstanceConfigs(ListOption... options) { final Options listOptions = Options.fromListOptions(options); Preconditions.checkArgument( !listOptions.hasFilter(), "Filter option is not supported by listInstanceConfigs"); final int pageSize = listOptions.hasPageSize() ? listOptions.pageSize() : 0; PageFetcher<InstanceConfig, com.google.spanner.admin.instance.v1.InstanceConfig> pageFetcher = new PageFetcher<InstanceConfig, com.google.spanner.admin.instance.v1.InstanceConfig>() { @Override public Paginated<com.google.spanner.admin.instance.v1.InstanceConfig> getNextPage( String nextPageToken) { return rpc.listInstanceConfigs(pageSize, nextPageToken); } @Override public InstanceConfig fromProto( com.google.spanner.admin.instance.v1.InstanceConfig proto) { return InstanceConfig.fromProto(proto, InstanceAdminClientImpl.this); } }; if (listOptions.hasPageToken()) { pageFetcher.nextPageToken = listOptions.pageToken(); } return pageFetcher.getNextPage(); }
@Override public Page<Database> listDatabases(String instanceId, ListOption... options) { final String instanceName = getInstanceName(instanceId); final Options listOptions = Options.fromListOptions(options); Preconditions.checkArgument( !listOptions.hasFilter(), "Filter option is not support by" + "listDatabases"); final int pageSize = listOptions.hasPageSize() ? listOptions.pageSize() : 0; PageFetcher<Database, com.google.spanner.admin.database.v1.Database> pageFetcher = new PageFetcher<Database, com.google.spanner.admin.database.v1.Database>() { @Override public Paginated<com.google.spanner.admin.database.v1.Database> getNextPage( String nextPageToken) { return rpc.listDatabases(instanceName, pageSize, nextPageToken); } @Override public Database fromProto(com.google.spanner.admin.database.v1.Database proto) { return Database.fromProto(proto, DatabaseAdminClientImpl.this); } }; if (listOptions.hasPageToken()) { pageFetcher.nextPageToken = listOptions.pageToken(); } return pageFetcher.getNextPage(); }
@Test public void allOptionsAbsent() { Options options = Options.fromReadOptions(); assertThat(options.hasLimit()).isFalse(); assertThat(options.hasPrefetchChunks()).isFalse(); assertThat(options.hasFilter()).isFalse(); assertThat(options.hasPageToken()).isFalse(); assertThat(options.toString()).isEqualTo(""); assertThat(options.equals(options)).isTrue(); assertThat(options.equals(null)).isFalse(); assertThat(options.equals(this)).isFalse(); assertThat(options.hashCode()).isEqualTo(31); }
@Test public void listOptTest() { int pageSize = 3; String pageToken = "ptok"; String filter = "env"; Options opts = Options.fromListOptions( Options.pageSize(pageSize), Options.pageToken(pageToken), Options.filter(filter)); assertThat(opts.toString()) .isEqualTo( "pageSize: " + Integer.toString(pageSize) + " pageToken: " + pageToken + " filter: " + filter + " "); assertThat(opts.hasPageSize()).isTrue(); assertThat(opts.hasPageToken()).isTrue(); assertThat(opts.hasFilter()).isTrue(); assertThat(opts.pageSize()).isEqualTo(pageSize); assertThat(opts.pageToken()).isEqualTo(pageToken); assertThat(opts.filter()).isEqualTo(filter); assertThat(opts.hashCode()).isEqualTo(108027089); }
@Override public Page<InstanceConfig> listInstanceConfigs(ListOption... options) { final Options listOptions = Options.fromListOptions(options); Preconditions.checkArgument( !listOptions.hasFilter(), "Filter option is not supported by listInstanceConfigs"); final int pageSize = listOptions.hasPageSize() ? listOptions.pageSize() : 0; PageFetcher<InstanceConfig, com.google.spanner.admin.instance.v1.InstanceConfig> pageFetcher = new PageFetcher<InstanceConfig, com.google.spanner.admin.instance.v1.InstanceConfig>() { @Override public Paginated<com.google.spanner.admin.instance.v1.InstanceConfig> getNextPage( String nextPageToken) { return rpc.listInstanceConfigs(pageSize, nextPageToken); } @Override public InstanceConfig fromProto( com.google.spanner.admin.instance.v1.InstanceConfig proto) { return InstanceConfig.fromProto(proto, InstanceAdminClientImpl.this); } }; if (listOptions.hasPageToken()) { pageFetcher.nextPageToken = listOptions.pageToken(); } return pageFetcher.getNextPage(); }
@Override public Page<Database> listDatabases(String instanceId, ListOption... options) { final String instanceName = getInstanceName(instanceId); final Options listOptions = Options.fromListOptions(options); Preconditions.checkArgument( !listOptions.hasFilter(), "Filter option is not support by" + "listDatabases"); final int pageSize = listOptions.hasPageSize() ? listOptions.pageSize() : 0; PageFetcher<Database, com.google.spanner.admin.database.v1.Database> pageFetcher = new PageFetcher<Database, com.google.spanner.admin.database.v1.Database>() { @Override public Paginated<com.google.spanner.admin.database.v1.Database> getNextPage( String nextPageToken) { return rpc.listDatabases(instanceName, pageSize, nextPageToken); } @Override public Database fromProto(com.google.spanner.admin.database.v1.Database proto) { return Database.fromProto(proto, DatabaseAdminClientImpl.this); } }; if (listOptions.hasPageToken()) { pageFetcher.nextPageToken = listOptions.pageToken(); } return pageFetcher.getNextPage(); }