diff --git a/migration_vers_bdd_2021/migration_vmap2019_to_vmap2021/migration_vmap2019_to_vmap2021.fmw b/migration_vers_bdd_2021/migration_vmap2019_to_vmap2021/migration_vmap2019_to_vmap2021.fmw index 6aeecb96bb4704a140d38bdef3674bfd7f59a296..ed3bfe92aa44e2c80bf9d745cd3a27aa6503588a 100644 --- a/migration_vers_bdd_2021/migration_vmap2019_to_vmap2021/migration_vmap2019_to_vmap2021.fmw +++ b/migration_vers_bdd_2021/migration_vmap2019_to_vmap2021/migration_vmap2019_to_vmap2021.fmw @@ -24,8 +24,8 @@ #! END_TCL="" #! EXPLICIT_BOOKMARK_ORDER="false" #! FME_BUILD_NUM="19822" -#! FME_DOCUMENT_GUID="accf7c48-f769-4fc5-b661-a74fad8c3c22" -#! FME_DOCUMENT_PRIORGUID="533b9b22-ba7a-4b1b-aa71-23e31a5fbc0d,10d29ec4-3abb-43d5-a30b-7008f80c5dab" +#! FME_DOCUMENT_GUID="82bea0ec-752f-4d91-9e18-1a2590cd7fa2" +#! FME_DOCUMENT_PRIORGUID="533b9b22-ba7a-4b1b-aa71-23e31a5fbc0d,10d29ec4-3abb-43d5-a30b-7008f80c5dab,accf7c48-f769-4fc5-b661-a74fad8c3c22,47eb19f8-3adc-4b42-a470-7c3d867285e1" #! FME_GEOMETRY_HANDLING="Enhanced" #! FME_IMPLICIT_CSMAP_REPROJECTION_MODE="Auto" #! FME_REPROJECTION_ENGINE="FME" @@ -34,7 +34,7 @@ #! HISTORY="" #! IGNORE_READER_FAILURE="No" #! LAST_SAVE_BUILD="FME(R) 2019.2.3.0 (20200131 - Build 19822 - WIN64)" -#! LAST_SAVE_DATE="2020-12-28T18:22:51" +#! LAST_SAVE_DATE="2020-12-29T17:43:44" #! LOG_FILE="" #! LOG_MAX_RECORDED_FEATURES="200" #! MARKDOWN_DESCRIPTION="" @@ -53,10 +53,10 @@ #! TITLE="" #! USAGE="" #! USE_MARKDOWN="" -#! VIEW_POSITION="-1787.13 -239.26" +#! VIEW_POSITION="637.383 -349.632" #! WARN_INVALID_XFORM_PARAM="Yes" #! WORKSPACE_VERSION="1" -#! ZOOM_SCALE="64" +#! ZOOM_SCALE="101" #! > #! <DATASETS> #! <DATASET @@ -72,7 +72,7 @@ #! WRITE_DEFS="true" #! DEFLINE_TEMPLATE="postgis_sql_where_clause "" postgis_sql_statement """ #! DEFLINE_ATTRS="true" -#! EXPOSABLE_ATTRS="fme_geometry char(50) fme_sweep_angle float8 fme_start_angle float8 fme_type char(50) fme_text_string char(50) multi_reader_type char(50) fme_rotation float8 fme_text_size float8 fme_feature_type char(50) fme_color char(50) postgres_oid int4 fme_secondary_axis float8 postgis_type char(50) postgis_collection_id int4 fme_basename char(50) fme_primary_axis float8 postgis_collection_part_id int4 multi_reader_full_id int4 fme_fill_color char(50) multi_reader_keyword char(50) fme_dataset char(50) multi_reader_id int4" +#! EXPOSABLE_ATTRS="fme_rotation float8 fme_fill_color char(50) fme_dataset char(50) fme_text_size float8 postgres_oid int4 postgis_collection_id int4 fme_type char(50) postgis_collection_part_id int4 fme_feature_type char(50) fme_geometry char(50) multi_reader_keyword char(50) fme_start_angle float8 fme_color char(50) postgis_type char(50) fme_primary_axis float8 fme_secondary_axis float8 multi_reader_full_id int4 multi_reader_type char(50) multi_reader_id int4 fme_basename char(50) fme_text_string char(50) fme_sweep_angle float8" #! DEFLINE_PARMS=""GUI OPTIONAL NAMEDGROUP postgis_query_settings_group postgis_sql_where_clause%postgis_sql_statement Table" "" "GUI OPTIONAL TEXT_EDIT_SQL_CFG postgis_sql_where_clause MODE,WHERE;FORMAT,POSTGIS WHERE Clause" "" "GUI OPTIONAL TEXT_EDIT_SQL_CFG postgis_sql_statement MODE,SQL;FORMAT,POSTGIS SELECT Statement" "" " #! ATTR_INDEX_TYPES="BTree RTree Hash PrimaryKey" #! ATTR_NAME_INVALID_CHARS="" @@ -560,7 +560,7 @@ #! BOUNDING_RECT="-721.07082112202988 -915.88609386093901 1823.3217047774117 724.75531255312478" #! STICKY="true" #! COLOUR="0.63529411764705879,0.80000000000000004,0.59999999999999998,1" -#! CONTENTS="17 26 24 27 19 " +#! CONTENTS="27 26 24 17 19 " #! > #! </BOOKMARK> #! <BOOKMARK @@ -588,7 +588,7 @@ #! BOUNDING_RECT="1147.4724122241221 -927.74365243652414 5021.8205082050754 717.78061530615287" #! STICKY="true" #! COLOUR="0.85098039215686272,0.92941176470588238,0.60392156862745094,1" -#! CONTENTS="36 22 29 30 18 39 23 12 33 37 35 34 31 2 32 " +#! CONTENTS="39 2 35 18 12 22 30 23 " #! > #! </BOOKMARK> #! </BOOKMARKS> @@ -652,11 +652,11 @@ #! <XFORM_PARM PARM_NAME="STATUS_CODE_ATTR" PARM_VALUE="_http_status_code"/> #! <XFORM_PARM PARM_NAME="TARGET_ATTR" PARM_VALUE="_response_body"/> #! <XFORM_PARM PARM_NAME="TARGET_ATTR_ENCODING" PARM_VALUE="auto-detect"/> -#! <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="https:<solidus><solidus>demovmap.veremes.net<solidus>rest_fr<solidus>vm4ms<solidus>layers<solidus>MapFile"/> +#! <XFORM_PARM PARM_NAME="TARGET_URL" PARM_VALUE="$(source_webservice)<solidus>vm4ms<solidus>layers<solidus>MapFile"/> #! <XFORM_PARM PARM_NAME="TRANSFER_TIMEOUT_LENGTH" PARM_VALUE="90"/> #! <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="------WebKitFormBoundaryFmtUm4WD3x7exEIm<lf>Content-Disposition:<space>form-data<semicolon><space>name=<quote>ms_layer_id<quote><lf><lf>9<lf>------WebKitFormBoundaryFmtUm4WD3x7exEIm<lf>"/> -#! <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="multipart/form-data; boundary=----WebKitFormBoundaryFmtUm4WD3x7exEIm"/> +#! <XFORM_PARM PARM_NAME="UPLOAD_BODY" PARM_VALUE="------WebKitFormBoundarydAirr4FpBR5OV6B2<lf>Content-Disposition:<space>form-data<semicolon><space>name=<quote>ms_layer_id<quote><lf><lf><at>Value<openparen>ms_layer_id<closeparen><lf>------WebKitFormBoundarydAirr4FpBR5OV6B2<lf>"/> +#! <XFORM_PARM PARM_NAME="UPLOAD_CONTENT_TYPE" PARM_VALUE="multipart/form-data; boundary=----WebKitFormBoundarydAirr4FpBR5OV6B2"/> #! <XFORM_PARM PARM_NAME="UPLOAD_FILE" PARM_VALUE="<Unused>"/> #! <XFORM_PARM PARM_NAME="UPLOAD_GROUP" PARM_VALUE="FME_DISCLOSURE_OPEN"/> #! <XFORM_PARM PARM_NAME="UPLOAD_TYPE" PARM_VALUE="Specify Upload Body"/> @@ -981,58 +981,11 @@ #! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester"/> #! </TRANSFORMER> #! <TRANSFORMER -#! IDENTIFIER="36" -#! TYPE="JSONFragmenter" -#! VERSION="7" -#! POSITION="3840.0949446994482 -1141.6899043990443" -#! BOUNDING_RECT="3840.0949446994482 -1141.6899043990443 454 71" -#! ORDER="500000000000027" -#! PARMS_EDITED="true" -#! ENABLED="true" -#! LAST_PARM_EDIT="19822" -#! > -#! <OUTPUT_FEAT NAME="FRAGMENTS"/> -#! <FEAT_COLLAPSED COLLAPSED="0"/> -#! <XFORM_ATTR ATTR_NAME="_response_body_get_token" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="json_index" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="ms_layer_id" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="definition" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="json_type" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <OUTPUT_FEAT NAME="<REJECTED>"/> -#! <FEAT_COLLAPSED COLLAPSED="1"/> -#! <XFORM_ATTR ATTR_NAME="_response_body_get_token" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="json_index" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="ms_layer_id" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="definition" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="json_type" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_PARM PARM_NAME="EXPLODE_FORMAT" PARM_VALUE="JSON"/> -#! <XFORM_PARM PARM_NAME="EXTRACT_ATTR" PARM_VALUE="No"/> -#! <XFORM_PARM PARM_NAME="FILEPATH_OR_URL" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="FLATTEN_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="INPUT_SETTINGS_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="JSON_ATTR" PARM_VALUE="_response_body"/> -#! <XFORM_PARM PARM_NAME="JSON_QUERY" PARM_VALUE="json<openbracket>*<closebracket>"/> -#! <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="PREF_STRING" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="READ_FROM_FILE" PARM_VALUE="NO"/> -#! <XFORM_PARM PARM_NAME="RECURSIVE" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="REJECT_EMPTY_LISTS" PARM_VALUE="YES"/> -#! <XFORM_PARM PARM_NAME="RESULT_ATTRIBUTE" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="JSONFragmenter_2"/> -#! </TRANSFORMER> -#! <TRANSFORMER #! IDENTIFIER="30" #! TYPE="JSONFragmenter" #! VERSION="7" -#! POSITION="3134.7969729697293 -1141.6899043990443" -#! BOUNDING_RECT="3134.7969729697293 -1141.6899043990443 454 71" +#! POSITION="3128.6087922760412 -1141.6899043990443" +#! BOUNDING_RECT="3128.6087922760412 -1141.6899043990443 454 71" #! ORDER="500000000000030" #! PARMS_EDITED="true" #! ENABLED="true" @@ -1047,6 +1000,11 @@ #! <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="json_type" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="tableschema" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="tablename" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="tableidfield" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <OUTPUT_FEAT NAME="<REJECTED>"/> #! <FEAT_COLLAPSED COLLAPSED="1"/> #! <XFORM_ATTR ATTR_NAME="_response_body_get_token" IS_USER_CREATED="false" FEAT_INDEX="1" /> @@ -1057,77 +1015,35 @@ #! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" /> #! <XFORM_ATTR ATTR_NAME="fme_rejection_code" IS_USER_CREATED="false" FEAT_INDEX="1" /> #! <XFORM_PARM PARM_NAME="EXPLODE_FORMAT" PARM_VALUE="JSON"/> -#! <XFORM_PARM PARM_NAME="EXTRACT_ATTR" PARM_VALUE="No"/> +#! <XFORM_PARM PARM_NAME="EXTRACT_ATTR" PARM_VALUE="Yes"/> #! <XFORM_PARM PARM_NAME="FILEPATH_OR_URL" PARM_VALUE="<Unused>"/> #! <XFORM_PARM PARM_NAME="FLATTEN_GROUP" PARM_VALUE=""/> #! <XFORM_PARM PARM_NAME="INPUT_SETTINGS_GROUP" PARM_VALUE=""/> #! <XFORM_PARM PARM_NAME="JSON_ATTR" PARM_VALUE="_response_body"/> #! <XFORM_PARM PARM_NAME="JSON_QUERY" PARM_VALUE="json<openbracket><quote>layers<quote><closebracket><openbracket>*<closebracket>"/> -#! <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="<Unused>"/> +#! <XFORM_PARM PARM_NAME="NEW_ATTRIBUTES" PARM_VALUE="name title tableschema tablename tableidfield"/> #! <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="PREF_STRING" PARM_VALUE="<Unused>"/> +#! <XFORM_PARM PARM_NAME="PREF_STRING" PARM_VALUE=""/> #! <XFORM_PARM PARM_NAME="READ_FROM_FILE" PARM_VALUE="NO"/> -#! <XFORM_PARM PARM_NAME="RECURSIVE" PARM_VALUE="<Unused>"/> +#! <XFORM_PARM PARM_NAME="RECURSIVE" PARM_VALUE="Yes"/> #! <XFORM_PARM PARM_NAME="REJECT_EMPTY_LISTS" PARM_VALUE="YES"/> #! <XFORM_PARM PARM_NAME="RESULT_ATTRIBUTE" PARM_VALUE="<Unused>"/> #! <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/> #! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="JSONFragmenter_3"/> #! </TRANSFORMER> #! <TRANSFORMER -#! IDENTIFIER="29" -#! TYPE="Tester" -#! VERSION="3" -#! POSITION="4448.2866703667023 -1141.6899043990443" -#! BOUNDING_RECT="4448.2866703667023 -1141.6899043990443 454 71" -#! ORDER="500000000000031" -#! PARMS_EDITED="true" -#! ENABLED="true" -#! LAST_PARM_EDIT="19822" -#! > -#! <OUTPUT_FEAT NAME="PASSED"/> -#! <FEAT_COLLAPSED COLLAPSED="0"/> -#! <XFORM_ATTR ATTR_NAME="_response_body_get_token" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="json_index" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="ms_layer_id" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="definition" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="json_type" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <OUTPUT_FEAT NAME="FAILED"/> -#! <FEAT_COLLAPSED COLLAPSED="1"/> -#! <XFORM_ATTR ATTR_NAME="_response_body_get_token" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="json_index" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="ms_layer_id" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="definition" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_ATTR ATTR_NAME="json_type" IS_USER_CREATED="false" FEAT_INDEX="1" /> -#! <XFORM_PARM PARM_NAME="ADVANCED_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="BOOL_OP" PARM_VALUE="OR"/> -#! <XFORM_PARM PARM_NAME="COMPOSITE_MSG" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="COMPOSITE_TEST" PARM_VALUE="1"/> -#! <XFORM_PARM PARM_NAME="PRESERVE_FEATURE_ORDER" PARM_VALUE="Per Output Port"/> -#! <XFORM_PARM PARM_NAME="TEST_CLAUSE" PARM_VALUE="TEST <at>Value<openparen>json_index<closeparen> = map_file_content"/> -#! <XFORM_PARM PARM_NAME="TEST_CLAUSE_GRP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="TEST_MODE" PARM_VALUE="TEST"/> -#! <XFORM_PARM PARM_NAME="TEST_PREVIEW_GROUP" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="Tester_2"/> -#! </TRANSFORMER> -#! <TRANSFORMER -#! IDENTIFIER="32" -#! TYPE="AttributeCreator" -#! VERSION="9" -#! POSITION="5073.2929204292022 -1167.0038575385752" -#! BOUNDING_RECT="5073.2929204292022 -1167.0038575385752 454 71" -#! ORDER="500000000000032" +#! IDENTIFIER="39" +#! TYPE="StringReplacer" +#! VERSION="5" +#! POSITION="3756.2256810686918 -1169.5367175206409" +#! BOUNDING_RECT="3756.2256810686918 -1169.5367175206409 454 71" +#! ORDER="500000000000037" #! PARMS_EDITED="true" #! ENABLED="true" #! LAST_PARM_EDIT="19822" #! > #! <OUTPUT_FEAT NAME="OUTPUT"/> #! <FEAT_COLLAPSED COLLAPSED="0"/> -#! <XFORM_ATTR ATTR_NAME="mapfile_definition" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="_response_body_get_token" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="json_index" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="ms_layer_id" IS_USER_CREATED="false" FEAT_INDEX="0" /> @@ -1135,38 +1051,21 @@ #! <XFORM_ATTR ATTR_NAME="_response_body" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="_http_status_code" IS_USER_CREATED="false" FEAT_INDEX="0" /> #! <XFORM_ATTR ATTR_NAME="json_type" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_PARM PARM_NAME="ATTRIBUTE_GRP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="ATTRIBUTE_HANDLING" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="ATTR_TABLE" PARM_VALUE=""" mapfile_definition SET_TO <at>Value<openparen>_response_body<closeparen>"/> -#! <XFORM_PARM PARM_NAME="MULTI_FEATURE_MODE" PARM_VALUE="NO"/> -#! <XFORM_PARM PARM_NAME="NULL_ATTR_MODE_DISPLAY" PARM_VALUE="No Substitution"/> -#! <XFORM_PARM PARM_NAME="NULL_ATTR_VALUE" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="NUM_PRIOR_FEATURES" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="NUM_SUBSEQUENT_FEATURES" PARM_VALUE="<Unused>"/> -#! <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeCreator"/> -#! </TRANSFORMER> -#! <TRANSFORMER -#! IDENTIFIER="34" -#! TYPE="AttributeRemover" -#! VERSION="1" -#! POSITION="5665.2929204292022 -1167.0038575385752" -#! BOUNDING_RECT="5665.2929204292022 -1167.0038575385752 454 71" -#! ORDER="500000000000033" -#! PARMS_EDITED="true" -#! ENABLED="true" -#! LAST_PARM_EDIT="19822" -#! > -#! <OUTPUT_FEAT NAME="OUTPUT"/> -#! <FEAT_COLLAPSED COLLAPSED="0"/> -#! <XFORM_ATTR ATTR_NAME="mapfile_definition" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="json_index" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_ATTR ATTR_NAME="ms_layer_id" IS_USER_CREATED="false" FEAT_INDEX="0" /> -#! <XFORM_PARM PARM_NAME="LIST_ATTRS" PARM_VALUE=""/> +#! <XFORM_ATTR ATTR_NAME="name" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="title" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="tableschema" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="tablename" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_ATTR ATTR_NAME="tableidfield" IS_USER_CREATED="false" FEAT_INDEX="0" /> +#! <XFORM_PARM PARM_NAME="CASE" PARM_VALUE="NO"/> +#! <XFORM_PARM PARM_NAME="FIND_TEXT" PARM_VALUE="<opencurly>LAYER_NAME<closecurly>"/> +#! <XFORM_PARM PARM_NAME="NO_MATCH" PARM_VALUE="_FME_NO_OP_"/> +#! <XFORM_PARM PARM_NAME="NO_MATCH_GROUP" PARM_VALUE=""/> #! <XFORM_PARM PARM_NAME="PARAMETERS_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="REMOVE_ATTRS" PARM_VALUE="_http_status_code,_response_body_get_token,json_type,definition,_response_body"/> +#! <XFORM_PARM PARM_NAME="REGEXP" PARM_VALUE="NO"/> +#! <XFORM_PARM PARM_NAME="REPLACE_TEXT" PARM_VALUE="<at>Value<openparen>name<closeparen>"/> +#! <XFORM_PARM PARM_NAME="SRC_ATTRS" PARM_VALUE="definition"/> #! <XFORM_PARM PARM_NAME="TRANSFORMER_GROUP" PARM_VALUE=""/> -#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="AttributeRemover"/> +#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="StringReplacer"/> #! </TRANSFORMER> #! </TRANSFORMERS> #! <FEAT_LINKS> @@ -1237,42 +1136,9 @@ #! EXTRA_POINTS="" #! /> #! <FEAT_LINK -#! IDENTIFIER="33" -#! SOURCE_NODE="29" -#! TARGET_NODE="32" -#! SOURCE_PORT_DESC="fo 0 PASSED" -#! TARGET_PORT_DESC="fi 0 " -#! ENABLED="true" -#! EXECUTION_IDX="0" -#! HIDDEN="false" -#! EXTRA_POINTS="" -#! /> -#! <FEAT_LINK -#! IDENTIFIER="39" +#! IDENTIFIER="41" #! SOURCE_NODE="30" -#! TARGET_NODE="36" -#! SOURCE_PORT_DESC="fo 0 FRAGMENTS" -#! TARGET_PORT_DESC="fi 0 " -#! ENABLED="true" -#! EXECUTION_IDX="0" -#! HIDDEN="false" -#! EXTRA_POINTS="" -#! /> -#! <FEAT_LINK -#! IDENTIFIER="37" -#! SOURCE_NODE="32" -#! TARGET_NODE="34" -#! SOURCE_PORT_DESC="fo 0 OUTPUT" -#! TARGET_PORT_DESC="fi 0 " -#! ENABLED="true" -#! EXECUTION_IDX="0" -#! HIDDEN="false" -#! EXTRA_POINTS="" -#! /> -#! <FEAT_LINK -#! IDENTIFIER="31" -#! SOURCE_NODE="36" -#! TARGET_NODE="29" +#! TARGET_NODE="39" #! SOURCE_PORT_DESC="fo 0 FRAGMENTS" #! TARGET_PORT_DESC="fi 0 " #! ENABLED="true" @@ -1514,27 +1380,18 @@ FACTORY_DEF {*} QueryFactory FACTORY_NAME FeatureReader INPUT FEATURE_TYP DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME FeatureReader_<Rejected> INPUT FEATURE_TYPE FeatureReader_<REJECTED> OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, FeatureReader<space>output<space>a<space><lt>Rejected<gt><space>feature.<space><space>To<space>continue<space>translation<space>when<space>features<space>are<space>rejected<comma><space>change<space><apos>Workspace<space>Parameters<apos><space><gt><space>Translation<space><gt><space><apos>Rejected<space>Feature<space>Handling<apos><space>to<space><apos>Continue<space>Translation<apos>) # ------------------------------------------------------------------------- -INCLUDE [ set macroLine "MACRO AttributeKeeper_8a1a4b9f_9311_493b_9068_a42a955bebc125_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] -FACTORY_DEF {*} TeeFactory FACTORY_NAME AttributeKeeper INPUT FEATURE_TYPE FeatureReader_s_vm4ms.ms_layer OUTPUT { FEATURE_TYPE AttributeKeeper_OUTPUT @KeepAttributes(fme_encoded,_response_body_get_token,json_index,ms_layer_id,definition,fme_pcre_match,"^fme_$(AttributeKeeper_8a1a4b9f_9311_493b_9068_a42a955bebc125_LIST_EXP)") } +INCLUDE [ set macroLine "MACRO AttributeKeeper_46eb6e9b_89f9_4aa6_a958_505057df84d73_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] +FACTORY_DEF {*} TeeFactory FACTORY_NAME AttributeKeeper INPUT FEATURE_TYPE FeatureReader_s_vm4ms.ms_layer OUTPUT { FEATURE_TYPE AttributeKeeper_OUTPUT @KeepAttributes(fme_encoded,_response_body_get_token,json_index,ms_layer_id,definition,fme_pcre_match,"^fme_$(AttributeKeeper_46eb6e9b_89f9_4aa6_a958_505057df84d73_LIST_EXP)") } # ------------------------------------------------------------------------- -FACTORY_DEF * HTTPFactory FACTORY_NAME HTTPCaller INPUT FEATURE_TYPE AttributeKeeper_OUTPUT TARGET_URL "https:<solidus><solidus>demovmap.veremes.net<solidus>rest_fr<solidus>vm4ms<solidus>layers<solidus>MapFile" HTTP_METHOD POST SAVE_FILE NO OUTPUT_FILENAME "<Unused>" OUTPUT_DIRECTORY "<Unused>" FILE_EXTENSION "<Unused>" TARGET_ATTR "_response_body" FILE_PATH_ATTR "<Unused>" UPLOAD_FILE "<Unused>" UPLOAD_BODY "------WebKitFormBoundaryFmtUm4WD3x7exEIm<lf>Content-Disposition:<space>form-data<semicolon><space>name=<quote>ms_layer_id<quote><lf><lf>9<lf>------WebKitFormBoundaryFmtUm4WD3x7exEIm<lf>" MULTIPART_UPLOAD NO UPLOAD_CONTENT_TYPE "multipart/form-data; boundary=----WebKitFormBoundaryFmtUm4WD3x7exEIm" COMBINED_MULTIPART_TABLE REQUEST_HEADER_TABLE Token;@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body_get_token<closeparen>,HTTPCaller) ADDITIONAL_URL_PARAMETERS AUTH_USERNAME "<Unused>" AUTH_PASSWORD "<Unused>" AUTH_METHOD "<Unused>" TARGET_ATTRIBUTE_ENCODING auto-detect RESPONSE_HEADER_LIST_ATTR "" STATUS_CODE_ATTR "_http_status_code" ERROR_ATTR "_error" CONNECTION_TIMEOUT_LENGTH 60 TRANSFER_TIMEOUT_LENGTH 90 FOLLOW_REDIRECTS Yes VERIFY_SSL_CERTIFICATES Yes NAMED_CONNECTION "<Unused>" USE_COOKIES No OUTPUT OUTPUT FEATURE_TYPE HTTPCaller_Output OUTPUT REJECTED FEATURE_TYPE HTTPCaller_<REJECTED> +FACTORY_DEF * HTTPFactory FACTORY_NAME HTTPCaller INPUT FEATURE_TYPE AttributeKeeper_OUTPUT TARGET_URL "@EvaluateExpression(FDIV,STRING_ENCODED,$(source_webservice$encode)<solidus>vm4ms<solidus>layers<solidus>MapFile,HTTPCaller)" HTTP_METHOD POST SAVE_FILE NO OUTPUT_FILENAME "<Unused>" OUTPUT_DIRECTORY "<Unused>" FILE_EXTENSION "<Unused>" TARGET_ATTR "_response_body" FILE_PATH_ATTR "<Unused>" UPLOAD_FILE "<Unused>" UPLOAD_BODY "@EvaluateExpression(FDIV,STRING_ENCODED,------WebKitFormBoundarydAirr4FpBR5OV6B2<lf>Content-Disposition:<space>form-data<semicolon><space>name=<quote>ms_layer_id<quote><lf><lf><at>Value<openparen>ms_layer_id<closeparen><lf>------WebKitFormBoundarydAirr4FpBR5OV6B2<lf>,HTTPCaller)" MULTIPART_UPLOAD NO UPLOAD_CONTENT_TYPE "multipart/form-data; boundary=----WebKitFormBoundarydAirr4FpBR5OV6B2" COMBINED_MULTIPART_TABLE REQUEST_HEADER_TABLE Token;@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>_response_body_get_token<closeparen>,HTTPCaller) ADDITIONAL_URL_PARAMETERS AUTH_USERNAME "<Unused>" AUTH_PASSWORD "<Unused>" AUTH_METHOD "<Unused>" TARGET_ATTRIBUTE_ENCODING auto-detect RESPONSE_HEADER_LIST_ATTR "" STATUS_CODE_ATTR "_http_status_code" ERROR_ATTR "_error" CONNECTION_TIMEOUT_LENGTH 60 TRANSFER_TIMEOUT_LENGTH 90 FOLLOW_REDIRECTS Yes VERIFY_SSL_CERTIFICATES Yes NAMED_CONNECTION "<Unused>" USE_COOKIES No OUTPUT OUTPUT FEATURE_TYPE HTTPCaller_Output OUTPUT REJECTED FEATURE_TYPE HTTPCaller_<REJECTED> DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME HTTPCaller_<Rejected> INPUT FEATURE_TYPE HTTPCaller_<REJECTED> OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, HTTPCaller<space>output<space>a<space><lt>Rejected<gt><space>feature.<space><space>To<space>continue<space>translation<space>when<space>features<space>are<space>rejected<comma><space>change<space><apos>Workspace<space>Parameters<apos><space><gt><space>Translation<space><gt><space><apos>Rejected<space>Feature<space>Handling<apos><space>to<space><apos>Continue<space>Translation<apos>) # ------------------------------------------------------------------------- -FACTORY_DEF * JSONQueryFactory FACTORY_NAME JSONFragmenter_3 INPUT FEATURE_TYPE HTTPCaller_Output MODE EXPLODE EXPLODE_FORMAT JSON REJECT_EMPTY_LISTS YES EXTRACT_ATTR No JSON_ATTR "_response_body" READ_FROM_FILE NO FILEPATH_OR_URL "<Unused>" OUTPUT_ATTRIBUTE "<Unused>" EXPLODE_QUERY "json<openbracket><quote>layers<quote><closebracket><openbracket>*<closebracket>" RECURSIVE_FLATTEN <Unused> OUTPUT EXPLODED FEATURE_TYPE JSONFragmenter_3_FRAGMENTS OUTPUT REJECTED FEATURE_TYPE JSONFragmenter_3_<REJECTED> +FACTORY_DEF * JSONQueryFactory FACTORY_NAME JSONFragmenter_3 INPUT FEATURE_TYPE HTTPCaller_Output MODE EXPLODE EXPLODE_FORMAT JSON REJECT_EMPTY_LISTS YES EXTRACT_ATTR Yes JSON_ATTR "_response_body" READ_FROM_FILE NO FILEPATH_OR_URL "<Unused>" OUTPUT_ATTRIBUTE "<Unused>" EXPLODE_QUERY "json<openbracket><quote>layers<quote><closebracket><openbracket>*<closebracket>" RECURSIVE_FLATTEN YES OUTPUT EXPLODED FEATURE_TYPE JSONFragmenter_3_FRAGMENTS OUTPUT REJECTED FEATURE_TYPE JSONFragmenter_3_<REJECTED> DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME JSONFragmenter_3_<Rejected> INPUT FEATURE_TYPE JSONFragmenter_3_<REJECTED> OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, JSONFragmenter_3<space>output<space>a<space><lt>Rejected<gt><space>feature.<space><space>To<space>continue<space>translation<space>when<space>features<space>are<space>rejected<comma><space>change<space><apos>Workspace<space>Parameters<apos><space><gt><space>Translation<space><gt><space><apos>Rejected<space>Feature<space>Handling<apos><space>to<space><apos>Continue<space>Translation<apos>) # ------------------------------------------------------------------------- -FACTORY_DEF * JSONQueryFactory FACTORY_NAME JSONFragmenter_2 INPUT FEATURE_TYPE JSONFragmenter_3_FRAGMENTS MODE EXPLODE EXPLODE_FORMAT JSON REJECT_EMPTY_LISTS YES EXTRACT_ATTR No JSON_ATTR "_response_body" READ_FROM_FILE NO FILEPATH_OR_URL "<Unused>" OUTPUT_ATTRIBUTE "<Unused>" EXPLODE_QUERY "json<openbracket>*<closebracket>" RECURSIVE_FLATTEN <Unused> OUTPUT EXPLODED FEATURE_TYPE JSONFragmenter_2_FRAGMENTS OUTPUT REJECTED FEATURE_TYPE JSONFragmenter_2_<REJECTED> -DEFAULT_MACRO _WB_BYPASS_TERMINATION No -FACTORY_DEF * TeeFactory FACTORY_NAME JSONFragmenter_2_<Rejected> INPUT FEATURE_TYPE JSONFragmenter_2_<REJECTED> OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, JSONFragmenter_2<space>output<space>a<space><lt>Rejected<gt><space>feature.<space><space>To<space>continue<space>translation<space>when<space>features<space>are<space>rejected<comma><space>change<space><apos>Workspace<space>Parameters<apos><space><gt><space>Translation<space><gt><space><apos>Rejected<space>Feature<space>Handling<apos><space>to<space><apos>Continue<space>Translation<apos>) -# ------------------------------------------------------------------------- -FACTORY_DEF * TestFactory FACTORY_NAME Tester_2 INPUT FEATURE_TYPE JSONFragmenter_2_FRAGMENTS TEST @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>json_index<closeparen>,Tester_2) = map_file_content ENCODED BOOLEAN_OPERATOR OR COMPOSITE_TEST_EXPR "1" FEATURE_TABLE_SHIM_SUPPORT Yes PRESERVE_FEATURE_ORDER PER_OUTPUT_PORT OUTPUT PASSED FEATURE_TYPE Tester_2_PASSED -# ------------------------------------------------------------------------- -FACTORY_DEF {*} AttrSetFactory FACTORY_NAME AttributeCreator COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE Tester_2_PASSED MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION { "" "mapfile_definition" "SET_TO" "<at>Value<openparen>_response_body<closeparen>" } OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT -# ------------------------------------------------------------------------- -INCLUDE [ set macroLine "MACRO AttributeRemover_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] -FACTORY_DEF {*} TeeFactory FACTORY_NAME AttributeRemover INPUT FEATURE_TYPE AttributeCreator_OUTPUT +FACTORY_DEF {*} StringReplacerFactory FACTORY_NAME StringReplacer INPUT FEATURE_TYPE JSONFragmenter_3_FRAGMENTS USE_REGEX NO CASE_SENSITIVE NO SOURCE_ATTRIBUTES { definition } FIND_TEXT { <opencurly>LAYER_NAME<closecurly> } REPLACE_TEXT { @EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>name<closeparen>,StringReplacer) } REPLACE_NO_MATCH { _FME_NO_OP_ } # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__ OUTPUT ROUTED FEATURE_TYPE * OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")