Question

JSONFragmenter between 2017 (17259) Vs 2019.2 (19817)

  • 9 February 2020
  • 5 replies
  • 0 views

Just wanted to know on JSONFragmenter between 2017 (17259) Vs 2019.2 (19817):

What i have noticed is, JSON fragmenter never returned anything when the fragmented value was 'null' in 2017, while i have just noticed that for the same JSON text input, JSON fragmenter on 2019.2 is sending the attribute with 'null' value that we wanted to fragment through 'Rejected Port', is this intended on 2019.2? Any answer would be appreciative as we have lots of workbenches that we need to go through and fix it if that's the case?


5 replies

Userlevel 2
Badge +17

I don't see any difference between those versions if the source JSON document was this.

{
    "text" : null
}

Could you post a sample JSON document which reproduces the issue?

I don't see any difference between those versions if the source JSON document was this.

{
    "text" : null
}

Could you post a sample JSON document which reproduces the issue?

{"_record_id":"3e6ec6cf-eeeb-4652-b139-631aa3efe673","_project_id":null,"_assigned_to_id":null,"_status":null,"_latitude":-42.4469436659,"_longitude":173.583335113,"_created_at":"2017-09-01T00:47:59.000Z","_updated_at":"2017-09-01T00:51:21.000Z","_version":3,"_created_by_id":"8dedacb1-fd4b-49f2-a811-d135809c181a","_updated_by_id":"1723aa4f-1377-4f36-9970-f3b29ccf2f7b","_server_created_at":"2017-09-01T00:50:49.759Z","_server_updated_at":"2018-05-04T06:41:15.837Z","_geometry":{"type":"Point","coordinates":[173.583335112942,-42.4469436658942]},"_altitude":54.5815429688,"_speed":0.159999996424,"_course":16.171875,"_horizontal_accuracy":10,"_vertical_accuracy":32,"_changeset_id":null,"_title":"Nick Burrows","_created_latitude":-42.4469436659,"_created_longitude":173.583335113,"_created_geometry":{"type":"Point","coordinates":[173.583335112942,-42.4469436658942]},"_created_altitude":54.5815429688,"_created_horizontal_accuracy":10,"_updated_latitude":-42.4468153809,"_updated_longitude":173.583357744,"_updated_geometry":{"type":"Point","coordinates":[173.583357744081,-42.4468153808661]},"_updated_altitude":30.6393432617,"_updated_horizontal_accuracy":5,"_created_duration":155,"_updated_duration":21,"_edited_duration":176,"original_loc":null,"inspector":"Nick Burrows","road_chainage":"01S-0163/5745","kr_actual_rail_chainage":"178/200","email_recipient":null,"kiwirail_callout":"yes","kr_call_out_type":"Tripwire notification","kr_call_out_date":"2017-09-01T00:00:00.000Z","kr_call_out_time":"08:50:00","kr_time_arrived_on_site":"09:30:00","kr_kiwirail_ganger":"No","kr_tripwire_number":null,"kr_reported_rail_chainage":null,"noc_reported_location":null,"kr_slope_movement_observed":"no","kr_stage_1_assessment":null,"kr_stage_2_assessment":null,"site_id":null,"site_location":null,"north_site_id":null,"south_site_id":null,"inland_rd_site":null,"hundalees_site":null,"date":null,"time":null,"event_type":null,"source_material":null,"source_type":null,"total_volume_of_fallen_material":null,"volume_if_100_m3":null,"maximum_block_size":null,"maximum_block_size_if_1m":null,"average_block_size":null,"average_block_size_if_1m":null,"was_rockfall_witnessed":null,"observer":null,"is_datetime_known_of_the_event":null,"rockfall_occurance_date":null,"rockfall_occurance_time":null,"trigger":null,"are_protection_measures_present":null,"type_of_protection_present":null,"performance_of_protection_measures":null,"indicate_furthest_endpoint_of_debris":null,"debris_location":null,"is_a_monitoring_fence_present":null,"was_the_monitoring_fence_impacted":null,"was_alarm_triggered":null,"did_rockfall_impact_equipment_or_personnel":null,"did_rockfall_occur_in_a_current_work_site":null,"enter_other_relevant_info":null,"actions_taken":null,"photos":null,"photos_captions":null,"video":null,"video_captions":null} 0684Q00000ArMLZQA3.png

{"_record_id":"3e6ec6cf-eeeb-4652-b139-631aa3efe673","_project_id":null,"_assigned_to_id":null,"_status":null,"_latitude":-42.4469436659,"_longitude":173.583335113,"_created_at":"2017-09-01T00:47:59.000Z","_updated_at":"2017-09-01T00:51:21.000Z","_version":3,"_created_by_id":"8dedacb1-fd4b-49f2-a811-d135809c181a","_updated_by_id":"1723aa4f-1377-4f36-9970-f3b29ccf2f7b","_server_created_at":"2017-09-01T00:50:49.759Z","_server_updated_at":"2018-05-04T06:41:15.837Z","_geometry":{"type":"Point","coordinates":[173.583335112942,-42.4469436658942]},"_altitude":54.5815429688,"_speed":0.159999996424,"_course":16.171875,"_horizontal_accuracy":10,"_vertical_accuracy":32,"_changeset_id":null,"_title":"Nick Burrows","_created_latitude":-42.4469436659,"_created_longitude":173.583335113,"_created_geometry":{"type":"Point","coordinates":[173.583335112942,-42.4469436658942]},"_created_altitude":54.5815429688,"_created_horizontal_accuracy":10,"_updated_latitude":-42.4468153809,"_updated_longitude":173.583357744,"_updated_geometry":{"type":"Point","coordinates":[173.583357744081,-42.4468153808661]},"_updated_altitude":30.6393432617,"_updated_horizontal_accuracy":5,"_created_duration":155,"_updated_duration":21,"_edited_duration":176,"original_loc":null,"inspector":"Nick Burrows","road_chainage":"01S-0163/5745","kr_actual_rail_chainage":"178/200","email_recipient":null,"kiwirail_callout":"yes","kr_call_out_type":"Tripwire notification","kr_call_out_date":"2017-09-01T00:00:00.000Z","kr_call_out_time":"08:50:00","kr_time_arrived_on_site":"09:30:00","kr_kiwirail_ganger":"No","kr_tripwire_number":null,"kr_reported_rail_chainage":null,"noc_reported_location":null,"kr_slope_movement_observed":"no","kr_stage_1_assessment":null,"kr_stage_2_assessment":null,"site_id":null,"site_location":null,"north_site_id":null,"south_site_id":null,"inland_rd_site":null,"hundalees_site":null,"date":null,"time":null,"event_type":null,"source_material":null,"source_type":null,"total_volume_of_fallen_material":null,"volume_if_100_m3":null,"maximum_block_size":null,"maximum_block_size_if_1m":null,"average_block_size":null,"average_block_size_if_1m":null,"was_rockfall_witnessed":null,"observer":null,"is_datetime_known_of_the_event":null,"rockfall_occurance_date":null,"rockfall_occurance_time":null,"trigger":null,"are_protection_measures_present":null,"type_of_protection_present":null,"performance_of_protection_measures":null,"indicate_furthest_endpoint_of_debris":null,"debris_location":null,"is_a_monitoring_fence_present":null,"was_the_monitoring_fence_impacted":null,"was_alarm_triggered":null,"did_rockfall_impact_equipment_or_personnel":null,"did_rockfall_occur_in_a_current_work_site":null,"enter_other_relevant_info":null,"actions_taken":null,"photos":null,"photos_captions":null,"video":null,"video_captions":null}

Any clue @daleatsafe @mark2atsafe on this ? Have you tried my sample JSON @takashi ?

Userlevel 2
Badge +17

In my observation, the behavior in FME 2017.1.2.1 (build 17725) was the same as FME 2019.2.3 (build 19822), but in FME 2016.1.3.2 (build 16717), any feature wouldn't be output from either the Fragments port or the <Rejected> port.

I suppose that the behavior has been improved at some point between 2016 and 2017, and I believe the current behavior - i.e. the feature will be output from the <Rejected> port if no fragments - is better than before.

Userlevel 4
Badge +25

Hi @nepalikiwi

I checked into this and yes, it is an intentional change. The reference number is FMEENGINE-19181 and it was implemented into FME2017.1, starting build 17454.

The problem was that these features were being dropped without even a warning. Instead of just warning, we figured that it was better to make them still available by passing them through to the Rejected port.

So... if the problem is the workspace failing on these, you should add something to the Rejected port to handle those features. The other option is to change Rejected Feature Handling from Terminate to Continue. It'll ensure that all instances of the transformer get resolved at once, but then other transformers with a rejected port are affected.

I hope this helps and apologies for any confusion this may have caused.

Mark

Reply