def populate_local_cache_tenant(self, fw_id, fw_data):
tenant_id = fw_data.get('<STR_LIT>')<EOL>self.create_serv_obj(tenant_id)<EOL>serv_obj = self.get_service_obj(tenant_id)<EOL>serv_obj.create_fw_db(fw_id, fw_data.get('<STR_LIT:name>'), tenant_id)<EOL>self.pop_fw_local(tenant_id, fw_data.get('<STR_LIT>'), "<STR_LIT>",<EOL>fw_data.get('<STR_LIT>'))<EOL>self.pop_fw_local(tenant_id, fw_data.get('<STR_LIT>'), "<STR_LIT>",<EOL>fw_data.get('<STR_LIT>'))<EOL>serv_obj.update_fw_local_result_str(fw_data.get('<STR_LIT>'),<EOL>fw_data.get('<STR_LIT>'),<EOL>fw_data.get('<STR_LIT>'))<EOL>compl_res = fw_data.get('<STR_LIT:result>')<EOL>result = compl_res.split('<STR_LIT:(>')[<NUM_LIT:0>]<EOL>serv_obj.store_local_final_result(result)<EOL>state = self.pop_fw_state(compl_res, fw_data.get('<STR_LIT>'),<EOL>fw_data.get('<STR_LIT>'))<EOL>if state is None:<EOL><INDENT>LOG.error("<STR_LIT>"<EOL>"<STR_LIT>",<EOL>{'<STR_LIT>': compl_res, '<STR_LIT>': fw_data.get('<STR_LIT>'),<EOL>'<STR_LIT>': fw_data.get('<STR_LIT>')})<EOL><DEDENT>serv_obj.store_state(state, popl_db=False)<EOL>if state == fw_const.FABRIC_PREPARE_DONE_STATE:<EOL><INDENT>serv_obj.set_fabric_create(True)<EOL><DEDENT>router_id = fw_data.get('<STR_LIT>')<EOL>rout_net_id = fw_data.get('<STR_LIT>')<EOL>rout_subnet_id = fw_data.get('<STR_LIT>')<EOL>serv_obj.update_fw_local_router(rout_net_id, rout_subnet_id, router_id,<EOL>None)<EOL>
Populate the cache for a given tenant.

        Calls routines to Populate the in and out information.
        Update the result information.
        Populate the state information.
        Populate the router information.