1818import static org .apache .beam .it .truthmatchers .PipelineAsserts .assertThatPipeline ;
1919
2020import com .google .cloud .teleport .v2 .spanner .migrations .shard .Shard ;
21+ import com .google .cloud .teleport .v2 .spanner .migrations .source .config .JdbcShardConfig ;
2122import com .google .gson .Gson ;
22- import com .google .gson .JsonArray ;
2323import com .google .gson .JsonObject ;
2424import com .google .pubsub .v1 .SubscriptionName ;
2525import com .google .pubsub .v1 .TopicName ;
2929import java .io .InputStream ;
3030import java .io .InputStreamReader ;
3131import java .nio .charset .StandardCharsets ;
32+ import java .util .ArrayList ;
3233import java .util .Collections ;
3334import java .util .List ;
3435import java .util .Map ;
@@ -102,11 +103,10 @@ protected void createAndUploadReverseShardConfigToGcs(
102103 shard .setPassword (cloudSqlResourceManager .getPassword ());
103104 shard .setPort (String .valueOf (cloudSqlResourceManager .getPort ()));
104105 shard .setDbName (cloudSqlResourceManager .getDatabaseName ());
105- JsonObject jsObj = new Gson ().toJsonTree (shard ).getAsJsonObject ();
106- jsObj .remove ("secretManagerUri" ); // remove field secretManagerUri
107- JsonArray ja = new JsonArray ();
108- ja .add (jsObj );
109- String shardFileContents = ja .toString ();
106+ JdbcShardConfig jdbcShardConfig = new JdbcShardConfig ();
107+ jdbcShardConfig .setShardConfigs (Collections .singletonList (shard ));
108+ JsonObject jsObj = new Gson ().toJsonTree (jdbcShardConfig ).getAsJsonObject ();
109+ String shardFileContents = jsObj .toString ();
110110 LOG .info ("Shard file contents: {}" , shardFileContents );
111111 gcsResourceManager .createArtifact ("input/shard.json" , shardFileContents );
112112 }
@@ -116,7 +116,7 @@ protected void createAndUploadReverseShardConfigToGcs(
116116 List <CloudSqlResourceManager > cloudSqlResourceManagers ,
117117 String privateHost ,
118118 List <String > logicalShardIds ) {
119- JsonArray ja = new JsonArray ();
119+ List < Shard > shardConfigs = new ArrayList <> ();
120120 for (int i = 0 ; i < cloudSqlResourceManagers .size (); ++i ) {
121121 Shard shard = new Shard ();
122122 shard .setLogicalShardId (logicalShardIds .get (i ));
@@ -126,11 +126,12 @@ protected void createAndUploadReverseShardConfigToGcs(
126126 shard .setPassword (cloudSqlResourceManager .getPassword ());
127127 shard .setPort (String .valueOf (cloudSqlResourceManager .getPort ()));
128128 shard .setDbName (cloudSqlResourceManager .getDatabaseName ());
129- JsonObject jsObj = new Gson ().toJsonTree (shard ).getAsJsonObject ();
130- jsObj .remove ("secretManagerUri" ); // remove field secretManagerUri
131- ja .add (jsObj );
129+ shardConfigs .add (shard );
132130 }
133- String shardFileContents = ja .toString ();
131+ JdbcShardConfig jdbcShardConfig = new JdbcShardConfig ();
132+ jdbcShardConfig .setShardConfigs (shardConfigs );
133+ JsonObject jsObj = new Gson ().toJsonTree (jdbcShardConfig ).getAsJsonObject ();
134+ String shardFileContents = jsObj .toString ();
134135 LOG .info ("Shard file contents: {}" , shardFileContents );
135136 gcsResourceManager .createArtifact ("input/shard.json" , shardFileContents );
136137 }
0 commit comments