@@ -802,18 +802,27 @@ public static String generateTimePartitionCondition(StandardTableDefinition tabl
802802 *
803803 * @param datasetProject Name of the BQ project
804804 * @param datasetName Name of the BQ dataset
805- * @param tableName Name of the BQ table
805+ * @param tableName Name of the BQ table, If null, only project and dataset are included.
806806 * @return String fqn
807807 */
808- public static String getFQN (String datasetProject , String datasetName , String tableName ) {
808+ public static String getFQN (String datasetProject , String datasetName ,
809+ @ Nullable String tableName ) {
809810
810811 String formattedProject = GCPUtils .formatAsFQNComponent (datasetProject );
811812 String formattedDataset = GCPUtils .formatAsFQNComponent (datasetName );
812- String formattedTable = GCPUtils .formatAsFQNComponent (tableName );
813+ StringBuilder fqnBuilder = new StringBuilder (BigQueryConstants .BQ_FQN_PREFIX )
814+ .append (":" )
815+ .append (formattedProject )
816+ .append ("." )
817+ .append (formattedDataset );
818+
819+ if (tableName != null ) {
820+ String formattedTable = GCPUtils .formatAsFQNComponent (tableName );
821+ fqnBuilder .append ("." ).append (formattedTable );
822+ }
813823
814- String fqn = String .format ("%s:%s.%s.%s" , BigQueryConstants .BQ_FQN_PREFIX , formattedProject ,
815- formattedDataset , formattedTable );
816- LOG .trace ("Formatted Fully-Qualified Name (FQN): {}" , fqn );
824+ String fqn = fqnBuilder .toString ();
825+ LOG .trace ("Constructed Fully-Qualified Name (FQN): {}" , fqn );
817826 return fqn ;
818827 }
819828
0 commit comments