1 package OpenILS::Application::Storage::CDBI;
4 use base qw/Class::DBI/;
8 use OpenILS::Application::Storage::CDBI::actor;
9 use OpenILS::Application::Storage::CDBI::asset;
10 use OpenILS::Application::Storage::CDBI::biblio;
11 use OpenILS::Application::Storage::CDBI::metabib;
14 #-------------------------------------------------------------------------------
15 asset::copy->has_a( call_number => 'asset::call_number' );
16 #-------------------------------------------------------------------------------
17 asset::call_number->has_a( record => 'biblio::record_entry' );
18 asset::call_number->has_many( copies => 'asset::copy' );
19 #-------------------------------------------------------------------------------
22 #-------------------------------------------------------------------------------
23 biblio::record_note->has_a( record => 'biblio::record_entry' );
24 #-------------------------------------------------------------------------------
25 biblio::record_entry->has_many( notes => 'biblio::record_note' );
26 biblio::record_entry->has_many( nodes => 'biblio::record_node' );
27 biblio::record_entry->has_many( call_numbers => 'asset::call_number' );
28 biblio::record_entry->has_a( metarecord => 'metabib::metarecord' );
30 # should we have just one field entry per class for each record???? (xslt vs xpath)
31 #biblio::record_entry->has_a( title_field_entries => 'metabib::title_field_entry' );
32 #biblio::record_entry->has_a( author_field_entries => 'metabib::author_field_entry' );
33 #biblio::record_entry->has_a( subject_field_entries => 'metabib::subject_field_entry' );
34 #biblio::record_entry->has_a( keyword_field_entries => 'metabib::keyword_field_entry' );
35 #-------------------------------------------------------------------------------
36 biblio::record_node->has_a( owner_doc => 'biblio::record_entry' );
37 biblio::record_node->has_a(
38 parent_node => 'biblio::record_node::subnode',
39 inflate => sub { return biblio::record_node::subnode::_load(@_) }
41 #-------------------------------------------------------------------------------
43 #-------------------------------------------------------------------------------
44 metabib::metarecord->has_a( master_record => 'biblio::record_entry' );
45 #-------------------------------------------------------------------------------
46 metabib::title_field_entry->has_a( field => 'config::metabib_field_map' );
47 #-------------------------------------------------------------------------------
48 metabib::author_field_entry->has_a( field => 'config::metabib_field_map' );
49 #-------------------------------------------------------------------------------
50 metabib::subject_field_entry->has_a( field => 'config::metabib_field_map' );
51 #-------------------------------------------------------------------------------
52 metabib::keyword_field_entry->has_a( field => 'config::metabib_field_map' );
53 #-------------------------------------------------------------------------------
56 # should we have just one field entry per class for each record???? (xslt vs xpath)
57 metabib::title_field_entry_source_map->has_a( field_entry => 'metabib::title_field_entry' );
58 metabib::title_field_entry_source_map->has_a( source_record => 'biblio::record_entry' );
59 #-------------------------------------------------------------------------------
60 metabib::subject_field_entry_source_map->has_a( field_entry => 'metabib::subject_field_entry' );
61 metabib::subject_field_entry_source_map->has_a( source_record => 'biblio::record_entry' );
62 #-------------------------------------------------------------------------------
63 metabib::author_field_entry_source_map->has_a( field_entry => 'metabib::author_field_entry' );
64 metabib::author_field_entry_source_map->has_a( source_record => 'biblio::record_entry' );
65 #-------------------------------------------------------------------------------
66 metabib::keyword_field_entry_source_map->has_a( field_entry => 'metabib::keyword_field_entry' );
67 metabib::keyword_field_entry_source_map->has_a( source_record => 'biblio::record_entry' );
68 #-------------------------------------------------------------------------------