Index: openacs-4/packages/rss-support/sql/oracle/rss-generation-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/oracle/rss-generation-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/sql/oracle/rss-generation-create.sql 30 Oct 2002 16:07:31 -0000 1.1 @@ -0,0 +1,198 @@ +-- +-- Object Types +-- +declare +begin + acs_object_type.create_type ( + 'rss_gen_subscr', -- object_type + 'RSS Generation Subscription', -- pretty_name + 'RSS Generation Subscriptions', -- pretty_plural + 'acs_object', -- supertype + 'rss_gen_subscrs', -- table_name + 'subscr_id', -- id_column + null, -- package_name + 'f', -- abstract_p + null, -- type_extension_table + 'rss_gen_subscr__name' -- name_method + ); +end; +/ +show errors; + +declare + attr_id acs_attributes.attribute_id%TYPE; +begin + attr_id := acs_attribute.create_attribute ( + object_type => 'rss_gen_subscr', + attribute_name => 'IMPL_ID', + pretty_name => 'Implementation ID', + pretty_plural => 'Implementation IDs', + datatype => 'integer' , + storage => 'type_specific', + static_p => 'f', + min_n_values => 1, + max_n_values => 1 + ); +end; +/ +show errors; + +declare + attr_id acs_attributes.attribute_id%TYPE; +begin + attr_id := acs_attribute.create_attribute ( + object_type => 'rss_gen_subscr', + attribute_name => 'SUMMARY_CONTEXT_ID', + pretty_name => 'Context Identifier', + pretty_plural => 'Context Identifiers', + datatype => 'integer' , + storage => 'type_specific', + static_p => 'f', + min_n_values => 1, + max_n_values => 1 + ); +end; +/ +show errors; + +declare + attr_id acs_attributes.attribute_id%TYPE; +begin + attr_id := acs_attribute.create_attribute ( + object_type => 'rss_gen_subscr', + attribute_name => 'TIMEOUT', + pretty_name => 'Timeout', + pretty_plural => 'Timeouts', + datatype => 'integer' , + storage => 'type_specific', + static_p => 'f', + min_n_values => 1, + max_n_values => 1 + ); +end; +/ +show errors; + +declare + attr_id acs_attributes.attribute_id%TYPE; +begin + attr_id := acs_attribute.create_attribute ( + object_type => 'rss_gen_subscr', + attribute_name => 'LASTBUILD', + pretty_name => 'Last Build', + pretty_plural => 'Last Builds', + datatype => 'integer' , + storage => 'type_specific', + static_p => 'f', + min_n_values => 1, + max_n_values => 1 + ); +end; +/ +show errors; + +create table rss_gen_subscrs ( + subscr_id number not null, + impl_id number not null, + summary_context_id number not null, + timeout number not null, + lastbuild date, + last_ttb number, + channel_title varchar2(200), + channel_link varchar2(1000), + constraint rss_gen_subscrs_id_pk primary key(subscr_id), + constraint rss_gen_subscrs_id_fk foreign key(subscr_id) + references acs_objects(object_id), + constraint rss_gen_subscrs_impl_fk foreign key(impl_id) + references acs_sc_impls(impl_id), + constraint rss_gen_subscrs_ctx_fk foreign key(summary_context_id) + references acs_objects(object_id), + constraint rss_gen_subscrs_impl_con_un unique(impl_id,summary_context_id) +); + +create or replace package rss_gen_subscr +as + function new ( + p_subscr_id in rss_gen_subscrs.subscr_id%TYPE, + p_impl_id in rss_gen_subscrs.impl_id%TYPE, + p_summary_context_id in rss_gen_subscrs.summary_context_id%TYPE, + p_timeout in rss_gen_subscrs.timeout%TYPE, + p_lastbuild in rss_gen_subscrs.lastbuild%TYPE, + p_object_type in acs_objects.object_type%TYPE default 'rss_gen_subscr', + p_creation_date in acs_objects.creation_date%TYPE default sysdate, + p_creation_user in acs_objects.creation_user%TYPE default null, + p_creation_ip in acs_objects.creation_ip%TYPE default null, + p_context_id in acs_objects.context_id%TYPE default null + ) return acs_objects.object_id%TYPE; + + function name ( + p_subscr_id in rss_gen_subscrs.subscr_id%TYPE + ) return varchar2; + + function delete ( + p_subscr_id in rss_gen_subscrs.subscr_id%TYPE + ) return number; + +end rss_gen_subscr; +/ +show errors + +create or replace package body rss_gen_subscr +as + function new ( + p_subscr_id in rss_gen_subscrs.subscr_id%TYPE, + p_impl_id in rss_gen_subscrs.impl_id%TYPE, + p_summary_context_id in rss_gen_subscrs.summary_context_id%TYPE, + p_timeout in rss_gen_subscrs.timeout%TYPE, + p_lastbuild in rss_gen_subscrs.lastbuild%TYPE, + p_object_type in acs_objects.object_type%TYPE default 'rss_gen_subscr', + p_creation_date in acs_objects.creation_date%TYPE default sysdate, + p_creation_user in acs_objects.creation_user%TYPE default null, + p_creation_ip in acs_objects.creation_ip%TYPE default null, + p_context_id in acs_objects.context_id%TYPE default null + ) return acs_objects.object_id%TYPE + is + v_subscr_id rss_gen_subscrs.subscr_id%TYPE; + begin + v_subscr_id := acs_object.new ( + p_subscr_id, + p_object_type, + p_creation_date, + p_creation_user, + p_creation_ip, + p_context_id + ); + + insert into rss_gen_subscrs + (subscr_id, impl_id, summary_context_id, timeout, lastbuild) + values + (v_subscr_id, p_impl_id, p_summary_context_id, p_timeout, p_lastbuild); + + return v_subscr_id; + end new; + + function name ( + p_subscr_id in rss_gen_subscrs.subscr_id%TYPE + ) return varchar2 + is + begin + return 'RSS Generation Subscription #'||p_subscr_id; + end name; + + function delete ( + p_subscr_id in rss_gen_subscrs.subscr_id%TYPE + ) return number + is + begin + delete from acs_permissions where object_id = p_subscr_id; + + delete from rss_gen_subscrs where subscr_id = p_subscr_id; + + acs_object.delete(p_subscr_id); + + return 0; + end delete; + +end rss_gen_subscr; +/ +show errors \ No newline at end of file Index: openacs-4/packages/rss-support/sql/oracle/rss-generation-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/oracle/rss-generation-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/sql/oracle/rss-generation-drop.sql 30 Oct 2002 16:07:31 -0000 1.1 @@ -0,0 +1,21 @@ +declare + v_result integer; + v_delete integer; +begin + + select MAX(subscr_id) into v_result from rss_gen_subscrs; + While (v_result > 0) loop + v_delete := rss_gen_subscr.delete( + p_subscr_id => v_result + ); + select MAX(subscr_id) into v_result from rss_gen_subscrs; + End loop; + + acs_rel_type.drop_type('rss_gen_subscr','f'); + +end; +/ +show errors + +drop table rss_gen_subscrs; +drop package rss_gen_subscr; \ No newline at end of file Index: openacs-4/packages/rss-support/sql/oracle/rss-generation-sc-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/oracle/rss-generation-sc-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/sql/oracle/rss-generation-sc-create.sql 30 Oct 2002 16:07:31 -0000 1.1 @@ -0,0 +1,55 @@ +-- +-- ACS-SC Contract: RssGenerationSubscriber +-- + +declare + foo integer; +begin + foo := acs_sc_contract.new( + contract_name => 'RssGenerationSubscriber', + contract_desc => 'RSS Generation Subscriber' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'RssGenerationSubscriber.Datasource.InputType', + msg_type_spec => 'summary_context_id:string' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'RssGenerationSubscriber.Datasource.OutputType', + msg_type_spec => 'version:string,channel_title:string,channel_link:uri,channel_description:string,image:string,items:string,channel_language:string,channel_copyright:string,channel_managingEditor:string,channel_webMaster:string,channel_rating:string,channel_pubDate:timestamp,channel_lastBuildDate:timestamp,channel_skipDays:integer,channel_skipHours:integer' + ); + + foo := acs_sc_operation.new( + contract_name => 'RssGenerationSubscriber', + operation_name => 'Datasource', + operation_desc => 'Data Source', + operation_iscachable_p => 'f', + operation_nargs => 1, + operation_inputtype => 'RssGenerationSubscriber.Datasource.InputType', + operation_outputtype => 'RssGenerationSubscriber.Datasource.OutputType' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'RssGenerationSubscriber.LastUpdated.InputType', + msg_type_spec => 'summary_context_id:string' + ); + + foo := acs_sc_msg_type.new( + msg_type_name => 'RssGenerationSubscriber.LastUpdated.OutputType', + msg_type_spec => 'lastupdate:timestamp' + ); + + foo := acs_sc_operation.new( + contract_name => 'RssGenerationSubscriber', + operation_name => 'LastUpdated', + operation_desc => 'Last Updated', + operation_iscachable_p => 'f', + operation_nargs => 1, + operation_inputtype => 'RssGenerationSubscriber.LastUpdated.InputType', + operation_outputtype => 'RssGenerationSubscriber.LastUpdated.OutputType' + ); + +end; +/ +show errors \ No newline at end of file Index: openacs-4/packages/rss-support/sql/oracle/rss-generation-sc-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/oracle/rss-generation-sc-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/sql/oracle/rss-generation-sc-drop.sql 30 Oct 2002 16:07:31 -0000 1.1 @@ -0,0 +1,20 @@ +declare +begin + + acs_sc_operation.delete(contract_name => 'RssGenerationSubscriber',operation_name => 'Datasource'); + + acs_sc_msg_type.delete(msg_type_name => 'RssGenerationSubscriber.Datasource.InputType'); + acs_sc_msg_type.delete(msg_type_name => 'RssGenerationSubscriber.Datasource.OutputType'); + + acs_sc_operation.delete(contract_name => 'RssGenerationSubscriber',operation_name => 'LastUpdated'); + + acs_sc_msg_type.delete(msg_type_name => 'RssGenerationSubscriber.LastUpdated.InputType'); + acs_sc_msg_type.delete(msg_type_name => 'RssGenerationSubscriber.LastUpdated.OutputType'); + + acs_sc_contract.delete(contract_name => 'RssGenerationSubscriber'); + +end; +/ +show errors + +delete from acs_sc_bindings where contract_id = acs_sc_contract.get_id('RssGenerationSubscriber'); \ No newline at end of file Index: openacs-4/packages/rss-support/sql/oracle/rss-support-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/oracle/rss-support-create.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/sql/oracle/rss-support-create.sql 30 Oct 2002 16:07:31 -0000 1.1 @@ -0,0 +1,2 @@ +@@ rss-generation-create.sql +@@ rss-generation-sc-create.sql Index: openacs-4/packages/rss-support/sql/oracle/rss-support-drop.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/sql/oracle/rss-support-drop.sql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/sql/oracle/rss-support-drop.sql 30 Oct 2002 16:07:31 -0000 1.1 @@ -0,0 +1,2 @@ +@@ rss-generation-drop.sql; +@@ rss-generation-sc-drop.sql; \ No newline at end of file Index: openacs-4/packages/rss-support/tcl/rss-generation-service-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/tcl/rss-generation-service-procs-oracle.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/rss-support/tcl/rss-generation-service-procs-oracle.xql 30 Oct 2002 16:07:33 -0000 1.1 @@ -0,0 +1,15 @@ + + + + + oracle + 8.1.6 + + + + + select acs_sc_contract.get_id('RssGenerationSubscriber') from dual + + + + \ No newline at end of file