#!#!bla

" grid_height="0" title="" show_bookmarks="true" max_log_features="200" end_tcl="" fme_build_num="13518" zoom_scale="100" category="" redirect_terminators="NONE" legal_terms_conditions="" fme_reprojection_engine="FME" usage="" end_python="" history="" grid_width="0" requirements_keyword="none" source_routing_file="" destination_routing_file="" destination="NONE" last_save_date="2013-09-25T11:06:04" fme_implicit_csmap_reprojection_mode="Auto" workspace_version="1" source="NONE" last_save_build="FME(R) 2013 SP3 (20130715 - Build 13518 - WIN32)" fme_server_services="" log_max_recorded_features="200" log_file="" requirements="" begin_tcl="" show_annotations="true" view_page_breaks="false" ignore_reader_failure="No" warn_invalid_xform_param="Yes"> #! #!#! #!#! #!#! #!#! #!#! #!#! #!#!#!#!#! #!#! #!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#! #!#! #!#! #!Copyright (c) 2012 Safe Software Inc.


Permission is granted to anyone, free of charge, to use, modify and distribute the object code form of this template for any purpose, subject to the following restrictions:


1) The origin of this template and associated FME(R) software must not be misrepresented.

2) This template may only be used in conjunction with a validly licensed copy of FME software.


THIS SOFTWARE IS PROVIDED BY SAFE SOFTWARE INC. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SAFE SOFTWARE INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


" fme_process_group_by="" description="

This transformer provides an easy method for creating an email message to be sent by the FME Server Notification Service.

" title="FMEServerEmailGenerator" usage="

1. Create Topic and Email Subscriber


In the FME Server Web Interface, create a topic for notifications to be sent to and also create a email subscriber that subscribes to this topic.


2. Create a Workspace


Once you file out the the email fields in the transformer you can send the email message in two different ways:


A. Send an email when the workspace completes

  • add a text file writer to the workspace
  • connect this transformer to the text file writer's feature type
  • publish the workspace
  • register it with the Job Submitter, Data Download and/or Notification Service
  • for each service, click the edit button
  • for Topics to Publish (Success), select the topic you created earlier
  • for Notification Writer, select the text file writer you added eariler
  • finish publishing the workspace
  • now the workspace will send an email whenever it is run through the FME Server Service you registered it with.


B. Send an email using a transformer

  • add a FMEServerNotifier transformer to your workflow
  • configure it to publish to the topic that you created earlier
  • for Content, select the text_line_data attribute
  • now the workspace will send an email whenever it is run.
" history="21-03-2013,AaronKoning,Created" requirements="

FME Server 2013

"> #! #!#!#!#!#!#!#!#!#! #!#! #!#! #!#!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#!
#!
#! #!#!
#!#!start_header#!start_wb_header reader_type null reader_keyword null_source null_source_dataset null writer_type null writer_keyword null_dest null_dest_dataset null#!end_wb_header#!end_header log_filename“$(fme_mf_dir)send_test_email.log”log_append no log_max_features 200 log_max_recorded_features 200 fme_reproimpt_endine fme fme_implict_csmap_reproime_mode auto fme_geometry_handling增强fme_stroke_max_deviation 0 log_filter_mask -1#---a-------------------------------------------------------------------------------- multi_reader_continue_on_reader_failure no#----------------------------------------------------------------------------宏Workspace_name send_test_email宏FME_Viewer_App FMedatainsPector#--------------------------------------------------------------------------------------如果{[info存在env(fme_temp)] && [文件IsDirectory $ env(fme_temp)]} {set gvisualizertemp $ env(fme_temp)} elsef {[Info存在env(temp)]&& [文件IsDirectory $ env(temp)]} {set gvisualizertemp $ env(temp)} elsef {$ tcl_platform(platform)==“unix”} {set gvisualizertemp“/ tmp”} else {set gvisualizertemp c:}; regsub -all {[ ,&]} {$(WORKSPACE_NAME)} {_} wsname; set gVisualizerTemp $gVisualizerTemp/${wsname}_[clock format [clock seconds] -format %H%M%S]; puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp"; MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/inspector.ffs MACRO VISUALIZER_SCHEMA_FILE $(WORKSPACE_TEMP_DIR)/inspector.fsc MACRO VISUALIZER_CREATE_SPATIAL_INDEX YES DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 proc Creator_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; } MACRO Creator_XML NOT_ACTIVATED MACRO Creator_CLASSIC NOT_ACTIVATED MACRO Creator_2D3D 2D_GEOMETRY MACRO Creator_COORDS INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO Creator_XML *}}] {if {{Geometry Object} == {2D Coordinate List}} {puts {MACRO Creator_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D坐标列表}}{puts {MACRO Creator_2D3D 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度 }]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator: Coordinate List MUST have four numbers - ' 的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1]; / /设置lindex $splitCoords 1set maxX [lindex $splitCoords 2]; / /设置索引set maxY [lindex $splitCoords 3]; / /设置maxY"MACRO creatator_coords $minX $minY $minX $max $maxX $max $maxX $minY $minX $minY";{MACRO Creator_2D3D 2D_GEOMETRY};{MACRO Creator_CLASSIC *}}] FACTORY_DEF $(Creator_XML) CreationFactory FACTORY_NAME Creator_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING, xml ? version = 1.0 编码= US_ASCII 独立的= 没有 几何学 尺寸= 2 几何学 )FACTORY_DEF $(Creator_CLASSIC)CreationFactory FACTORY_NAME Creator_CLASSIC_Creator $(Creator_2D3D)$(Creator_COORDS)CREATE_AT_END无输出FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner INPUT FEATURE_TYPE _____CREATED______ NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE “_creation_instance” 输出FEATURE_TYPE Creator_CREATED @ TCL2(Creator_CoordSysRemover)@CoordSys()fme_feature_type造物主#------------------------------------------------------------------------包括[if {[string等级 - 长度15 {fme_conditional} {$($($(fmeserveremailgenerator_workspace_name_name_name_name_name)}] == 0} {set encodedval [fme_encodeText {$($($(fmeserveremailgenerator_workspace_name)_xformer_name)}];Puts“宏$(fmeserveremailgenerator_workspace_name)_xformer_name__fmeencoded__ $ $ ocodedval”;} else {set encodedval {$($(fmeserveremailgenerator_workspace_name)_xformer_name)};Puts“宏$(fmeserveremailgenerator_workspace_name)_xformer_name__fmeencoded__ $ $ ocodedval”;};] MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP INCLUDE [如果{[串等于-length 15 {FME_CONDITIONAL} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP)}] == 0} {设定encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP)}];Puts“宏$(fmeserveremailgenerator_workspace_name)_transformer_group_group__fmeencoded__ $ neededval”; } else { set encodedVal {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP)}; puts "MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_TRANSFORMER_GROUP__FMEENCODED__ $encodedVal" ; }; ] MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)___COMPOUND_PARAMETERS INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)___COMPOUND_PARAMETERS)} ] == 0} { set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)___COMPOUND_PARAMETERS)}]; puts "MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)___COMPOUND_PARAMETERS__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(FMEServerEmailGenerator_WORKSPACE_NAME)___COMPOUND_PARAMETERS)}; puts "MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)___COMPOUND_PARAMETERS__FMEENCODED__ $encodedVal" ; }; ] MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME FMEServerEmailGenerator INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME)} ] == 0} { set encodedVal [FME_EncodeText {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME)}]; puts "MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME)}; puts "MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_SUB_DOC_NAME__FMEENCODED__ $encodedVal" ; }; ] MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_email_to foo bar.com包括[]宏(FMEServerEmailGenerator_WORKSPACE_NAME) _email_cc包含宏观[]美元(FMEServerEmailGenerator_WORKSPACE_NAME) _email_from foo@baz.com包括(如果{[字符串相等长度15 {FME_CONDITIONAL} {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_from美元)}]= = 0}{设置encodedVal [FME_EncodeText{$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_from美元)});"MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from__FMEENCODED__ $encodedVal";} else {set encodedVal {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from)};"MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_email_from__FMEENCODED__ $encodedVal";};[]宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_replyto INCLUDE[]宏$(FMEServerEmailGenerator_WORKSPACE_NAME)_email_subject测试 Email INCLUDE [] MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_email_subscriber_content嗨 你的 FME Server INCLUDE [] MACRO $(FMEServerEmailGenerator_WORKSPACE_NAME)_email_attachment_paths INCLUDE [] DEFAULT_MACRO FMEServerEmailGenerator_WORKSPACE_NAME "" INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(FMEServerEmailGenerator_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};{MACRO WB_CURRENT_CONTEXT $(FMEServerEmailGenerator_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME "$(FMEServerEmailGenerator_WORKSPACE_NAME)_INPUT Input Splitter" Input FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_INPUT" # .------------------------------------------------------------------------- Tcl2 proc $ (FMEServerEmailGenerator_WORKSPACE_NAME) _ParameterFetcher_doFetch {} {foreach{名字val}{“_email_from {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_from__FMEENCODED__美元)}_email_replyto {$ ((FMEServerEmailGenerator_WORKSPACE_NAME) _email_replyto美元)}_email_attachment_paths {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_attachment_paths)} _email_cc {$($(FMEServerEmailGenerator_WORKSPACE_NAME)_email_cc)}"} {if {[string match {* . name]}" $ val] == 1} {set val [fme_execute评估表{string} $ val {$(fmeserveremailgenerator_workspace_name)_parameterfetcher}];} elsef {[string匹配{* fme_conditional *} $ val] == 1} {set val [fme_execute evaluate expression {string} $ val {$(fmeserveremailgenerator_workspace_name)_parameterfetcher}];} else {set val [fme_decodetextorattrttr $ val];};FME_SetAttribute [FME_DecodeText $名称] $ VAL}} FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher INPUT FEATURE_TYPE “$(FMEServerEmailGenerator_WORKSPACE_NAME)_Input” 输出FEATURE_TYPE “$(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher_OUTPUT” @ TCL2($(FMEServerEmailGenerator_WORKSPACE_NAME)_ParameterFetcher_doFetch)#---------------------------------------------------------------------------------------------------$($(fmeserveremailgenerator_workspace_name)_mail_subject)attr_subscriber_content $($(fmeserveremailgenerator_workspace_name)_email_subscriber_content)输出输出feature_type“$(fmeserveremailgenerator_workspace_name)_attributecreator_output”#---------------------------------------------------------------------------------------- FACTORY_DEF * XMLTemplaterFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater INPUT CONTROL_FEATURE FEATURE_TYPE “$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeCreator_OUTPUT” INPUT DATA_FEATURE FEATURE_TYPE $(FMEServerEmailGenerator_WORKSPACE_NAME)_JSONTemplater_DataFeatures RESULT_ATTR text_line_data CONSECUTIVE_GROUPS NO BUCKET_ATTR_NAME __xml_templater_bucket__ CONTROL_TEMPLATE_EXPR email_to fme: get-attribute _email_to email_cc fme: get-attribute _email_cc 电子邮件_from. fme: get-attribute _mail_from. email_replyto fme: get-attribute _email_replyto email_subject fme: get-attribute _email_subject subscriber_content. fme: get-attribute _email_subscriber_content 输出XML_DOCUMENT FEATURE_TYPE”(FMEServerEmailGenerator_WORKSPACE_NAME) _JSONTemplater_OUTPUT美元 " # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $ (FMEServerEmailGenerator_WORKSPACE_NAME) _Tester输入FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _JSONTemplater_OUTPUT”测试_email_attachment_paths ATTRIBUTE_IS_EMPTY 编码BOOLEAN_OPERATOR或输出通过FEATURE_TYPE " $ (FMEServerEmailGenerator_WORKSPACE_NAME) _Tester_PASSED“输出FEATURE_TYPE失败”(FMEServerEmailGenerator_WORKSPACE_NAME) _Tester_FAILED美元 " # ------------------------------------------------------------------------- Tcl2集$ (FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitDelim [FME_DecodeText { });如果{[regexp {^ ([1 - 9] [0 - 9] * s) + $}[设置(FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitDelim美元]]}{设置$ (FMEServerEmailGenerator_WORKSPACE_NAME) _AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitWidths[分裂[regsub -{新元}{ } {}] s];proc $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_doSplit {} {global $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitWidths;set source [FME_GetAttribute {"_email_attachment_paths"}];设置attrNum 0;设置listName {_email_attachment_path_list};设置attrPos 0;foreach width [set $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitWidths]{设置endPos [expr $attrPos + $width - 1];设置位[字符串范围$source $attrPos $endPos];FME_SetAttribute "$listName{$attrNum}"[字符串修剪$位];增加美元attrPos宽度; incr attrNum; }; }; } else { proc $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_doSplit {} { global $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitDelim; set delim [set $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_6084c603_e104_448f_a554_ee62952487920_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute {"_email_attachment_paths"}]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { set part [string range $source $startIndex [expr $nextIndex-1]]; if { $keepEmptyParts || $part != \"\" } { lappend bits $part; }; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; set lastPart [string range $source $startIndex end]; if { $keepEmptyParts || $lastPart != \"\" } { lappend bits $lastPart }; set listName {_email_attachment_path_list}; set attrNum 0; foreach bit $bits { FME_SetAttribute "$listName{$attrNum}" [string trim $bit]; incr attrNum; } } } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Tester_FAILED" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_OUTPUT" @Tcl2($(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_doSplit) # ------------------------------------------------------------------------- FACTORY_DEF * ElementFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_ListExploder INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_AttributeSplitter_OUTPUT" LIST_NAME "_email_attachment_path_list{}" ELEMENT_NUMBER_FIELD "_element_index" CLONE_GEOMETRY MODE LEAN OUTPUT ELEMENT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_ListExploder_LIST_FOUND" @RemoveAttributes(ElementFactory.baseCloned) # ------------------------------------------------------------------------- Tcl2 proc $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_a08253dd_0020_4210_b932_e22b3a75d61e0_doSetAttr {attrText} { FME_SetAttribute [FME_DecodeText {_email_attachment_json}] [FME_DecodeText $attrText] } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_ListExploder_LIST_FOUND" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_OUTPUT" @Tcl2("$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_a08253dd_0020_4210_b932_e22b3a75d61e0_doSetAttr {@EvaluateExpression(STRING_ENCODED, email_attachment 价值 _element_index 价值 _email_attachment_path_list , (FMEServerEmailGenerator_WORKSPACE_NAME) _StringConcatenator美元 )} ") # ------------------------------------------------------------------------- DEFAULT_MACRO $ (FMEServerEmailGenerator_WORKSPACE_NAME) _Aggregator_BREAK_ATTR FACTORY_DEF * AggregateFactory FACTORY_NAME美元(FMEServerEmailGenerator_WORKSPACE_NAME) FEATURE_TYPE _Aggregator输入"$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringConcatenator_OUTPUT" MODE ONE_LEVEL $($(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_BREAK_ATTR) ACCUMULATE_ATTRIBUTES Yes CONCATENATE_FIELDS _email_attachment_json SEPARATOR . PRODUCE_MULTIS YES OUTPUT AGGREGATE FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_AGGREGATE" @Geometry(SET_TO_CONTAIN_INDIVIDUAL_GEOMS,没有 ) # ------------------------------------------------------------------------- 宏casemac包括(如果{{没有}= ={没有}}{把{宏casemac查看nocase}}] Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_2_3b78d7c0_3dfa_48f1_a568_6486bcf4c4880_replacer {findText replaceText}{设置attrs[分裂\“_email_attachment_json \”{}];设置findValue [FME_DecodeText $findText];set replacetvalue [FME_DecodeText $replaceText]; / /设置FME_DecodeTextforeach attr $attrs {set attrVal [FME_GetAttribute $attr]; / /设置属性set length[字符串长度$attrVal];如果{$length > 0} {if {{no} == {yes}} {FME_SetAttribute $attr [regsub $(casemac) -all——$findValue [FME_GetAttribute $attr] $replaceValue];} else {FME_SetAttribute $attr [string map $(casemac) [list $findValue $replaceValue] [FME_GetAttribute $attr]];};};}; }; } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2 INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_Aggregator_AGGREGATE" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_OUTPUT" @Tcl2("$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_3b78d7c0_3dfa_48f1_a568_6486bcf4c4880_replacer { } { }") # ------------------------------------------------------------------------- 宏casemac包括(如果{{没有}= ={没有}}{把{宏casemac查看nocase}}] Tcl2 proc美元(FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_bed98b8d_19f8_48e5_a332_29cbc2ff31fc0_replacer {findText replaceText}{设置attrs[分裂\“text_line_data \”{}];设置findValue [FME_DecodeText $findText];set replacetvalue [FME_DecodeText $replaceText]; / /设置FME_DecodeTextforeach attr $attrs {set attrVal [FME_GetAttribute $attr]; / /设置属性set length[字符串长度$attrVal];如果{$length > 0} {if {{no} == {yes}} {FME_SetAttribute $attr [regsub $(casemac) -all——$findValue [FME_GetAttribute $attr] $replaceValue];} else {FME_SetAttribute $attr [string map $(casemac) [list $findValue $replaceValue] [FME_GetAttribute $attr]];};};};}; } FACTORY_DEF * TeeFactory FACTORY_NAME $(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer INPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_2_OUTPUT" OUTPUT FEATURE_TYPE "$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_OUTPUT" @Tcl2("$(FMEServerEmailGenerator_WORKSPACE_NAME)_StringReplacer_bed98b8d_19f8_48e5_a332_29cbc2ff31fc0_replacer { } {@EvaluateExpression (STRING_ENCODED 价值 _email_attachment_json $ (FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer)}”)FACTORY_DEF * TeeFactory FACTORY_NAME”(FMEServerEmailGenerator_WORKSPACE_NAME) _OUTPUT输出美元收集器”输入FEATURE_TYPE”(FMEServerEmailGenerator_WORKSPACE_NAME)美元_Tester_PASSED (FMEServerEmailGenerator_WORKSPACE_NAME) _StringReplacer_OUTPUT美元“输入FEATURE_TYPE FEATURE_TYPE输出“美元(FMEServerEmailGenerator_WORKSPACE_NAME) _OUTPUT”包括(把{宏WB_CURRENT_CONTEXT $ (WB_OLD_CONTEXT_ (FMEServerEmailGenerator_WORKSPACE_NAME)美元)}]FACTORY_DEF * TeeFactory FACTORY_NAME“FMEServerEmailGenerator输出输出重命名/核”输入FEATURE_TYPE FMEServerEmailGenerator_OUTPUT输出FEATURE_TYPE FMEServerEmailGenerator_OUTPUT #------------------------------------------------------------------------- FACTORY_DEF * HTTPFactory FACTORY_NAME FMEServerNotifier输入FEATURE_TYPE FMEServerEmailGenerator_OUTPUT TARGET_URL @Concatenate (http: myfmeserver,"/fmerest/notifier/topics/",@Value(_creation_instance),"/publish.json") TARGET_ATTR _url_contents HTTP_METHOD POST UPLOAD_BODY "@EvaluateExpression(STRING_ENCODED, 价值 text_line_data FMEServerNotifier)”UPLOAD_CONTENT_TYPE text/plain REQUEST_HEADER "" AUTH_USERNAME "admin" AUTH_PASSWORD "admin" AUTH_METHOD Basic SINGLE_SIGN_ON No USE_RESPONSE_ENCODING Yes RESPONSE_HEADER_LIST_ATTR _headers STATUS_CODE_ATTR "_http_status_code" ERROR_ATTR _error USE_COOKIES No OUTPUT OUTPUT FEATURE_TYPE FMEServerNotifier_OUTPUT OUTPUT REJECTED FEATURE_TYPEFMEServerNotifier_ FACTORY_DEF * TeeFactory FACTORY_NAME "FMEServerNotifier OUTPUT OUTPUT Nuker" INPUT FEATURE_TYPE FMEServerNotifier_OUTPUT FACTORY_DEF * TeeFactory FACTORY_NAME "FMEServerNotifier 输出nuker“输入feature_type fmeservernotifier_ #---------------------------------------------------------------------- FACTORY_DEF * TestFactory中FACTORY_NAME “最终输出功能类型的路由器” INPUT FEATURE_TYPE * TEST @Value(__ wb_out_feat_type__)!= “” 的Passedfeature_type * @featureType(@Value(__ WB_OUT_FEAT_TYPE__))输出失败feature_type __nuke_me__ @ tcl2(“fme_statmessage 818059 [fme_getattibute fme_template_feature_type] 818060 818061 fme_warn”)# - - - - - - - --------------------------------------------------------------------- factory_def * teefactory factory_name“最终输出nuker”输入feature_type __nuke_me__