_news__i_mount-news-package (private)

 _news__i_mount-news-package

Defined in packages/news/tcl/test/news-db-test-init.tcl

Partial Call Graph (max 5 caller/called nodes):
%3 _ _ (public) aa_export_vars aa_export_vars (public) aa_log aa_log (public) db_exec_plsql db_exec_plsql (public) db_foreach db_foreach (public) _news__i_mount-news-package _news__i_mount-news-package _news__i_mount-news-package->_ _news__i_mount-news-package->aa_export_vars _news__i_mount-news-package->aa_log _news__i_mount-news-package->db_exec_plsql _news__i_mount-news-package->db_foreach

Testcases:
No testcase defined.
Source code:
    aa_log "Running \"mount-news-package\" initialization class constructor"
    
    # Constructor
    # Export variables we want to be visible to the testcase and the destructor.
    aa_export_vars {_root_node_id _test_node_id _news_node_id _news_package_id
        _news_package_mounted_p _news_package_mounted_err}

    #
    # Firstly, make sure the mount point "/_test/news" exists.
    #
    set _news_node_id    -1
    set _test_node_id    -1
    set _root_node_id    -1
    set _news_package_id -1
    db_foreach get-site-nodes {
        select node_id, object_id, site_node.url(node_id) as url from site_nodes
    } {
        switch [string trim $url] {
            "/_test/news/" {
                set _news_node_id $node_id
                if {$object_id ne ""} {
                    set _news_package_id $object_id
                }
            }
            "/_test/" {
                set _test_node_id $node_id
            }
            "/" {
                set _root_node_id $node_id
            }
        }
    }

    set _news_package_mounted_p 1
    if {[catch {
        # Create the _test directory if it doesn't already exist.
        aa_log "here"
        if {$_test_node_id == -1} {
            set _test_node_id [site_node::new  -name "_test"  -parent_id $_root_node_id ]
        }
        # If an old news package exists, delete it.
        if {$_news_node_id != -1} {
            aa_log "Unmont and delete existing node instance."
            site_node::unmount -node_id $_news_node_id
            site_node::delete -node_id $_news_node_id
            if {$_news_package_id != -1} {
                aa_log "Deleting existing package instance."
                set p_package_id $_news_package_id
                rss_support::del_subscription -summary_context_id $p_package_id -owner news -impl_name news
                db_exec_plsql package-delete {
                    begin
                    apm_package.del(:p_package_id);
                    end;
                }
            }
        }

        # Mount the new news package and lookup the new node_id.
        set _news_package_id [site_node::instantiate_and_mount  -parent_node_id $_test_node_id  -node_name news  -package_name "News test"  -package_key news]

        set _news_node_id [site_node::get_node_id -url "/_test/news/"]
    } _news_package_mounted_err]} {
        set _news_node_id -1
        set _test_node_id -1
        set _root_node_id -1
        set _news_package_mounted_p 0
    }
Generic XQL file:
packages/news/tcl/test/news-db-test-init.xql

PostgreSQL XQL file:
<fullquery name="_news__i_mount-news-package.get-site-nodes">
    <querytext>
    select node_id, object_id, site_node__url(node_id) as url from site_nodes
  </querytext>
</fullquery>

<fullquery name="_news__i_mount-news-package.package-delete">
    <querytext>
    select apm_package__delete(:p_package_id);
  </querytext>
</fullquery>
packages/news/tcl/test/news-db-test-init-postgresql.xql

Oracle XQL file:
<fullquery name="_news__i_mount-news-package.get-site-nodes">
    <querytext>
    select node_id, object_id, site_node.url(node_id) as url from site_nodes
  </querytext>
</fullquery>

<fullquery name="_news__i_mount-news-package.package-delete">
    <querytext>
    begin
      apm_package.del(:p_package_id);
    end;
  </querytext>
</fullquery>
packages/news/tcl/test/news-db-test-init-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: