#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #!DEFAULT_MACRO Environment localGUI CHOICE Environment staging%production%local Set environment:INCLUDE [set encodedVal [FME_EncodeText {$(Environment)}];puts "MACRO Environment__FMEENCODED__ $encodedVal";]INCLUDE PYTHONdef ParamFunc(): DB_NAME = '' if FME_MacroValues['Environment'] == 'local': DB_NAME = 'db_local' if FME_MacroValues['Environment'] == 'staging': DB_NAME = 'db_staging' if FME_MacroValues['Environment'] == 'production': DB_NAME = 'db_production' return DB_NAMEvalue = ParamFunc()macroName = 'DB_NAME'if value == None: return { macroName : '' }else: return { macroName : str(value) }END_INCLUDEINCLUDE [ ]INCLUDE PYTHONdef ParamFunc(): DB_PASSWORD = '' if FME_MacroValues['Environment'] == 'local': DB_PASSWORD = 'password1' if FME_MacroValues['Environment'] == 'staging': DB_PASSWORD = 'password2' if FME_MacroValues['Environment'] == 'production': DB_PASSWORD = 'password3' return DB_PASSWORDvalue = ParamFunc()macroName = 'DB_PASSWORD'if value == None: return { macroName : '' }else: return { macroName : str(value) }END_INCLUDEINCLUDE [ ]INCLUDE [ if {{$(Environment)} == {}} { puts_real {Parameter 'Environment' must be given a value.};exit 1;};]INCLUDE [ if {{$(DB_NAME)} == {}} { puts_real {Parameter 'DB_NAME' must be given a value.};exit 1;};]INCLUDE [ if {{$(DB_PASSWORD)} == {}} { puts_real {Parameter 'DB_PASSWORD' must be given a value.};exit 1;};]#!START_HEADER#!START_WB_HEADERREADER_TYPE NULLREADER_KEYWORD NULL_SOURCENULL_SOURCE_DATASET nullWRITER_TYPE NULLWRITER_KEYWORD NULL_DESTNULL_DEST_DATASET null#!END_WB_HEADER#!END_HEADERLOG_FILENAME "$(FME_MF_DIR)scripted_parameter_setter.log"LOG_APPEND NOLOG_MAX_FEATURES 200LOG_MAX_RECORDED_FEATURES 200FME_REPROJECTION_ENGINE FMEFME_IMPLICIT_CSMAP_REPROJECTION_MODE AutoFME_GEOMETRY_HANDLING EnhancedFME_STROKE_MAX_DEVIATION 0LOG_FILTER_MASK -1# -------------------------------------------------------------------------MULTI_READER_CONTINUE_ON_READER_FAILURE No# -------------------------------------------------------------------------MACRO WORKSPACE_NAME scripted_parameter_setterMACRO FME_VIEWER_APP fmeview# -------------------------------------------------------------------------INCLUDE [ if {[info exists env(FME_TEMP)] && [file isdirectory $env(FME_TEMP)] && [file isdirectory $env(TEMP)]} {set gVisualizerTemp $env(FME_TEMP)} elseif {[info exists env(TEMP)]} {set gVisualizerTemp $env(TEMP)} elseif { $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.ffsMACRO VISUALIZER_SCHEMA_FILE $(WORKSPACE_TEMP_DIR)/inspector.fscMACRO VISUALIZER_CREATE_SPATIAL_INDEX YESDEFAULT_MACRO WB_CURRENT_CONTEXT# -------------------------------------------------------------------------Tcl2 proc Creator_CoordSysRemover {} { global FME_CoordSys;set FME_CoordSys {};}MACRO Creator_XML NOT_ACTIVATEDMACRO Creator_CLASSIC NOT_ACTIVATEDMACRO Creator_2D3D 2D_GEOMETRYMACRO Creator_COORDS INCLUDE [ if { {Geometry Object} == {Geometry Object} } { puts {MACRO Creator_XML *} } ]INCLUDE [ if { {Geometry Object} == {2D Coordinate List} } { puts {MACRO Creator_2D3D 2D_GEOMETRY};puts {MACRO Creator_CLASSIC *} } ]INCLUDE [ if { {Geometry Object} == {3D Coordinate List} } { puts {MACRO Creator_2D3D 3D_GEOMETRY};puts {MACRO Creator_CLASSIC *} } ]INCLUDE [ if { {Geometry Object} == {2D Min/Max Box} } { set comment { We need to turn the COORDS which are minX minY maxX maxY into a full polygon list of coordinates };set splitCoords [split [string trim { }]];if { [llength $splitCoords] > 4} { set trimmedCoords {};foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} };set splitCoords $trimmedCoords;};if { [llength $splitCoords] != 4 } { error {Creator: Coordinate List MUST have four numbers - ` ' is invalid};};set minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1];set maxX [lindex $splitCoords 2];set maxY [lindex $splitCoords 3];puts "MACRO Creator_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY";puts {MACRO Creator_2D3D 2D_GEOMETRY};puts {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 encoding= US_ASCII standalone= no ? geometry dimension= 2 null geometry )FACTORY_DEF $(Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator $(Creator_2D3D) $(Creator_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner INPUT FEATURE_TYPE _____CREATED______ NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE Creator_CREATED @Tcl2(Creator_CoordSysRemover) @CoordSys() fme_feature_type Creator# -------------------------------------------------------------------------Tcl2 proc AttributeCreator_5f5cc357_c88f_44e9_9d22_8b8d692ddf745_attrSetter { attrList } { set attrList [string trim $attrList {()}];set attrs [split $attrList {,} ];foreach {attrName attrVal} $attrs { if { [string match {* *} $attrName] == 1 } { set attrName [FME_Execute EvaluateExpression {STRING} $attrName {AttributeCreator}];} else { set attrName [FME_DecodeText $attrName];};if { [string match {* *} $attrVal] == 1 } { set attrVal [FME_Execute EvaluateExpression {STRING_ENCODED} $attrVal {AttributeCreator}];};FME_SetAttribute $attrName [FME_DecodeText $attrVal];};};FACTORY_DEF * TeeFactory FACTORY_NAME AttributeCreator INPUT FEATURE_TYPE Creator_CREATED OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT "@Tcl2( AttributeCreator_5f5cc357_c88f_44e9_9d22_8b8d692ddf745_attrSetter {(_db_name,$(DB_NAME),_db_password,$(DB_PASSWORD))} )"# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME Logger_Logger INPUT FEATURE_TYPE AttributeCreator_OUTPUT OUTPUT FEATURE_TYPE * @FeatureType("") @Log("Logger: Feature is:",20,20) @FeatureType(__NUKE_LOGGED__)FACTORY_DEF * TeeFactory FACTORY_NAME Logger_Nuker INPUT FEATURE_TYPE __NUKE_LOGGED__# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME "Final Output Feature Type Router" INPUT FEATURE_TYPE * TEST @Value(__wb_out_feat_type__) != "" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value(__wb_out_feat_type__)) OUTPUT FAILED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 {@Value(fme_template_feature_type)} 818060 818061 fme_warn")# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__