@@ -495,17 +495,17 @@ public static JsonObjectBuilder json(FileDetailsHolder ds) {
495495 }
496496
497497 public static JsonObjectBuilder json (DatasetVersion dsv , boolean includeFiles ) {
498- return json (dsv , null , includeFiles , false ,true );
498+ return json (dsv , null , includeFiles , false , true , false );
499499 }
500500 public static JsonObjectBuilder json (DatasetVersion dsv , boolean includeFiles , boolean includeMetadataBlocks ) {
501- return json (dsv , null , includeFiles , false , includeMetadataBlocks );
501+ return json (dsv , null , includeFiles , false , includeMetadataBlocks , false );
502502 }
503503 public static JsonObjectBuilder json (DatasetVersion dsv , List <String > anonymizedFieldTypeNamesList ,
504504 boolean includeFiles , boolean returnOwners ) {
505- return json ( dsv , anonymizedFieldTypeNamesList , includeFiles , returnOwners ,true );
505+ return json (dsv , anonymizedFieldTypeNamesList , includeFiles , returnOwners , true , false );
506506 }
507507 public static JsonObjectBuilder json (DatasetVersion dsv , List <String > anonymizedFieldTypeNamesList ,
508- boolean includeFiles , boolean returnOwners , boolean includeMetadataBlocks ) {
508+ boolean includeFiles , boolean returnOwners , boolean includeMetadataBlocks , boolean ignoreSettingExcludeEmailFromExport ) {
509509 Dataset dataset = dsv .getDataset ();
510510 JsonObjectBuilder bld = jsonObjectBuilder ()
511511 .add ("id" , dsv .getId ()).add ("datasetId" , dataset .getId ())
@@ -554,10 +554,8 @@ public static JsonObjectBuilder json(DatasetVersion dsv, List<String> anonymized
554554 .add ("studyCompletion" , dsv .getTermsOfUseAndAccess ().getStudyCompletion ())
555555 .add ("fileAccessRequest" , dsv .getTermsOfUseAndAccess ().isFileAccessRequest ());
556556 if (includeMetadataBlocks ) {
557- bld .add ("metadataBlocks" , (anonymizedFieldTypeNamesList != null ) ?
558- jsonByBlocks (dsv .getDatasetFields (), anonymizedFieldTypeNamesList )
559- : jsonByBlocks (dsv .getDatasetFields ())
560- );
557+ bld .add ("metadataBlocks" ,
558+ jsonByBlocks (dsv .getDatasetFields (), anonymizedFieldTypeNamesList , ignoreSettingExcludeEmailFromExport ));
561559 }
562560 if (returnOwners ){
563561 bld .add ("isPartOf" , getOwnersFromDvObject (dataset ));
@@ -641,15 +639,15 @@ public static JsonObjectBuilder json(DatasetDistributor dist) {
641639 }
642640
643641 public static JsonObjectBuilder jsonByBlocks (List <DatasetField > fields ) {
644- return jsonByBlocks (fields , null );
642+ return jsonByBlocks (fields , null , false );
645643 }
646644
647- public static JsonObjectBuilder jsonByBlocks (List <DatasetField > fields , List <String > anonymizedFieldTypeNamesList ) {
645+ public static JsonObjectBuilder jsonByBlocks (List <DatasetField > fields , List <String > anonymizedFieldTypeNamesList , boolean ignoreSettingExcludeEmailFromExport ) {
648646 JsonObjectBuilder blocksBld = jsonObjectBuilder ();
649647
650648 for (Map .Entry <MetadataBlock , List <DatasetField >> blockAndFields : DatasetField .groupByBlock (fields ).entrySet ()) {
651649 MetadataBlock block = blockAndFields .getKey ();
652- blocksBld .add (block .getName (), JsonPrinter .json (block , blockAndFields .getValue (), anonymizedFieldTypeNamesList ));
650+ blocksBld .add (block .getName (), JsonPrinter .json (block , blockAndFields .getValue (), anonymizedFieldTypeNamesList , ignoreSettingExcludeEmailFromExport ));
653651 }
654652 return blocksBld ;
655653 }
@@ -667,14 +665,22 @@ public static JsonObjectBuilder json(MetadataBlock block, List<DatasetField> fie
667665 }
668666
669667 public static JsonObjectBuilder json (MetadataBlock block , List <DatasetField > fields , List <String > anonymizedFieldTypeNamesList ) {
668+ return json (block , fields , anonymizedFieldTypeNamesList , false );
669+ }
670+
671+ public static JsonObjectBuilder json (MetadataBlock block , List <DatasetField > fields , List <String > anonymizedFieldTypeNamesList , boolean ignoreSettingExcludeEmailFromExport ) {
670672 JsonObjectBuilder blockBld = jsonObjectBuilder ();
671673
672674 blockBld .add ("displayName" , block .getDisplayName ());
673675 blockBld .add ("name" , block .getName ());
674676
675677 final JsonArrayBuilder fieldsArray = Json .createArrayBuilder ();
676678 Map <Long , JsonObject > cvocMap = (datasetFieldService ==null ) ? new HashMap <Long , JsonObject >() :datasetFieldService .getCVocConf (true );
677- DatasetFieldWalker .walk (fields , settingsService , cvocMap , new DatasetFieldsToJson (fieldsArray , anonymizedFieldTypeNamesList ));
679+ if (ignoreSettingExcludeEmailFromExport ) {
680+ DatasetFieldWalker .walk (fields , null , cvocMap , new DatasetFieldsToJson (fieldsArray , anonymizedFieldTypeNamesList ));
681+ } else {
682+ DatasetFieldWalker .walk (fields , settingsService , cvocMap , new DatasetFieldsToJson (fieldsArray , anonymizedFieldTypeNamesList ));
683+ }
678684
679685 blockBld .add ("fields" , fieldsArray );
680686 return blockBld ;
0 commit comments