curate 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/curate/organizations_controller.rb +96 -0
- data/app/helpers/curate/organizations_helper.rb +13 -0
- data/app/helpers/curate_helper.rb +4 -0
- data/app/models/concerns/curate/ability.rb +8 -0
- data/app/models/curate/user_behavior/base.rb +13 -0
- data/app/repository_models/collection.rb +1 -0
- data/app/repository_models/curation_concern/model.rb +1 -0
- data/app/repository_models/organization.rb +17 -0
- data/app/repository_models/person.rb +1 -0
- data/app/repository_models/profile_section.rb +1 -0
- data/app/views/curate/organizations/_button_create_organization.html.erb +1 -0
- data/app/views/curate/organizations/_document_list.html.erb +11 -0
- data/app/views/curate/organizations/_form.html.erb +49 -0
- data/app/views/curate/organizations/_organization.html.erb +24 -0
- data/app/views/curate/organizations/edit.html.erb +4 -0
- data/app/views/curate/organizations/index.html.erb +11 -0
- data/app/views/curate/organizations/new.html.erb +4 -0
- data/app/views/curate/organizations/show.html.erb +27 -0
- data/app/views/organizations/_organization.html.erb +30 -0
- data/app/views/shared/_add_content.html.erb +1 -0
- data/lib/curate/rails/routes.rb +1 -0
- data/lib/curate/version.rb +1 -1
- data/lib/generators/curate/application_template.rb +1 -1
- data/lib/generators/curate/curate_generator.rb +3 -0
- data/spec/abilities/generic_file_abilities_spec.rb +12 -0
- data/spec/abilities/generic_work_abilities_spec.rb +12 -0
- data/spec/controllers/curate/organizations_controller_spec.rb +50 -0
- data/spec/factories/organizations_factory.rb +21 -0
- data/spec/internal/Gemfile +4 -22
- data/spec/internal/Gemfile.lock +1 -376
- data/spec/internal/app/assets/javascripts/application.js +0 -4
- data/spec/internal/app/assets/stylesheets/application.css +0 -1
- data/spec/internal/app/controllers/application_controller.rb +0 -9
- data/spec/internal/config/application.rb +0 -6
- data/spec/internal/config/environments/test.rb +1 -2
- data/spec/internal/config/initializers/mime_types.rb +1 -8
- data/spec/internal/config/initializers/secret_token.rb +1 -1
- data/spec/internal/config/locales/en.yml +20 -11
- data/spec/internal/config/routes.rb +0 -8
- data/spec/internal/db/development.sqlite3 +0 -0
- data/spec/internal/db/schema.rb +1 -216
- data/spec/internal/db/test.sqlite3 +0 -0
- data/spec/internal/lib/generators/test_app_generator.rb +2 -23
- data/spec/internal/log/development.log +4 -323
- data/spec/repository_models/organization_spec.rb +66 -0
- metadata +20 -160
- data/spec/internal/app/assets/images/blacklight/bg.png +0 -0
- data/spec/internal/app/assets/images/blacklight/border.png +0 -0
- data/spec/internal/app/assets/images/blacklight/bul_sq_gry.gif +0 -0
- data/spec/internal/app/assets/images/blacklight/checkmark.gif +0 -0
- data/spec/internal/app/assets/images/blacklight/logo.png +0 -0
- data/spec/internal/app/assets/images/blacklight/magnifying_glass.gif +0 -0
- data/spec/internal/app/assets/images/blacklight/remove.gif +0 -0
- data/spec/internal/app/assets/images/blacklight/separator.gif +0 -0
- data/spec/internal/app/assets/images/blacklight/start_over.gif +0 -0
- data/spec/internal/app/models/ability.rb +0 -20
- data/spec/internal/app/models/solr_document.rb +0 -38
- data/spec/internal/app/models/user.rb +0 -23
- data/spec/internal/config/SolrMarc/config-test.properties +0 -37
- data/spec/internal/config/SolrMarc/config.properties +0 -37
- data/spec/internal/config/SolrMarc/index.properties +0 -97
- data/spec/internal/config/SolrMarc/index_scripts/dewey.bsh +0 -47
- data/spec/internal/config/SolrMarc/index_scripts/format.bsh +0 -126
- data/spec/internal/config/SolrMarc/translation_maps/README_MAPS +0 -1
- data/spec/internal/config/SolrMarc/translation_maps/callnumber_map.properties +0 -407
- data/spec/internal/config/SolrMarc/translation_maps/composition_era_map.properties +0 -56
- data/spec/internal/config/SolrMarc/translation_maps/country_map.properties +0 -379
- data/spec/internal/config/SolrMarc/translation_maps/format_map.properties +0 -50
- data/spec/internal/config/SolrMarc/translation_maps/instrument_map.properties +0 -101
- data/spec/internal/config/SolrMarc/translation_maps/language_map.properties +0 -490
- data/spec/internal/config/doi.yml +0 -5
- data/spec/internal/config/fedora.yml +0 -14
- data/spec/internal/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
- data/spec/internal/config/initializers/curate_config.rb +0 -24
- data/spec/internal/config/initializers/devise.rb +0 -254
- data/spec/internal/config/initializers/hydra-remote_identifier_config.rb +0 -29
- data/spec/internal/config/initializers/hydra_config.rb +0 -28
- data/spec/internal/config/initializers/mailboxer.rb +0 -17
- data/spec/internal/config/initializers/redis_config.rb +0 -32
- data/spec/internal/config/initializers/resque_admin.rb +0 -10
- data/spec/internal/config/initializers/resque_config.rb +0 -5
- data/spec/internal/config/initializers/sufia.rb +0 -81
- data/spec/internal/config/jetty.yml +0 -5
- data/spec/internal/config/locales/devise.en.yml +0 -59
- data/spec/internal/config/recipients_list.yml +0 -2
- data/spec/internal/config/redis.yml +0 -6
- data/spec/internal/config/role_map_cucumber.yml +0 -10
- data/spec/internal/config/role_map_development.yml +0 -12
- data/spec/internal/config/role_map_production.yml +0 -2
- data/spec/internal/config/role_map_test.yml +0 -15
- data/spec/internal/config/solr.yml +0 -10
- data/spec/internal/db/migrate/20140131175455_devise_create_users.rb +0 -42
- data/spec/internal/db/migrate/20140131175500_add_devise_guests_to_users.rb +0 -15
- data/spec/internal/db/migrate/20140131175501_create_searches.rb +0 -16
- data/spec/internal/db/migrate/20140131175502_create_bookmarks.rb +0 -18
- data/spec/internal/db/migrate/20140131175503_remove_editable_fields_from_bookmarks.rb +0 -12
- data/spec/internal/db/migrate/20140131175504_add_user_types_to_bookmarks_searches.rb +0 -16
- data/spec/internal/db/migrate/20140131175505_acts_as_follower_migration.rb +0 -17
- data/spec/internal/db/migrate/20140131175506_add_social_to_users.rb +0 -13
- data/spec/internal/db/migrate/20140131175507_create_single_use_links.rb +0 -12
- data/spec/internal/db/migrate/20140131175508_add_ldap_attrs_to_user.rb +0 -27
- data/spec/internal/db/migrate/20140131175509_add_avatars_to_users.rb +0 -9
- data/spec/internal/db/migrate/20140131175510_create_checksum_audit_logs.rb +0 -20
- data/spec/internal/db/migrate/20140131175511_create_version_committers.rb +0 -15
- data/spec/internal/db/migrate/20140131175512_add_groups_to_users.rb +0 -11
- data/spec/internal/db/migrate/20140131175513_create_local_authorities.rb +0 -50
- data/spec/internal/db/migrate/20140131175514_create_trophies.rb +0 -10
- data/spec/internal/db/migrate/20140131175536_create_mailboxer.mailboxer_engine.rb +0 -62
- data/spec/internal/db/migrate/20140131175537_add_notified_object.mailboxer_engine.rb +0 -18
- data/spec/internal/db/migrate/20140131175538_add_notification_code.mailboxer_engine.rb +0 -14
- data/spec/internal/db/migrate/20140131175539_add_attachments.mailboxer_engine.rb +0 -10
- data/spec/internal/db/migrate/20140131175540_rename_receipts_read.mailboxer_engine.rb +0 -10
- data/spec/internal/db/migrate/20140131175541_add_global_notification_support.mailboxer_engine.rb +0 -10
- data/spec/internal/db/migrate/20140131175545_add_terms_of_service_to_user.curate_engine.rb +0 -6
- data/spec/internal/db/migrate/20140131175546_add_user_force_update_profile.curate_engine.rb +0 -9
- data/spec/internal/db/migrate/20140131175547_create_help_requests.curate_engine.rb +0 -23
- data/spec/internal/db/migrate/20140131175548_add_repository_id_to_user.curate_engine.rb +0 -7
- data/spec/internal/db/migrate/20140131175549_create_curate_proxy_deposit_rights.curate_engine.rb +0 -12
- data/spec/internal/db/migrate/20140131175550_change_display_name_to_name.curate_engine.rb +0 -7
- data/spec/internal/fedora_conf/conf/development/fedora.fcfg +0 -953
- data/spec/internal/fedora_conf/conf/test/fedora.fcfg +0 -953
- data/spec/internal/solr_conf/conf/schema.xml +0 -273
- data/spec/internal/solr_conf/conf/solrconfig.xml +0 -167
- data/spec/internal/solr_conf/solr.xml +0 -35
- data/spec/internal/test/models/user_test.rb +0 -7
@@ -1,38 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
class SolrDocument
|
3
|
-
# Adds Sufia behaviors to the SolrDocument.
|
4
|
-
include Sufia::SolrDocumentBehavior
|
5
|
-
|
6
|
-
include Blacklight::Solr::Document
|
7
|
-
# The following shows how to setup this blacklight document to display marc documents
|
8
|
-
extension_parameters[:marc_source_field] = :marc_display
|
9
|
-
extension_parameters[:marc_format_type] = :marcxml
|
10
|
-
use_extension( Blacklight::Solr::Document::Marc) do |document|
|
11
|
-
document.key?( :marc_display )
|
12
|
-
end
|
13
|
-
|
14
|
-
field_semantics.merge!(
|
15
|
-
:title => "title_display",
|
16
|
-
:author => "author_display",
|
17
|
-
:language => "language_facet",
|
18
|
-
:format => "format"
|
19
|
-
)
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
# self.unique_key = 'id'
|
24
|
-
|
25
|
-
# Email uses the semantic field mappings below to generate the body of an email.
|
26
|
-
SolrDocument.use_extension( Blacklight::Solr::Document::Email )
|
27
|
-
|
28
|
-
# SMS uses the semantic field mappings below to generate the body of an SMS email.
|
29
|
-
SolrDocument.use_extension( Blacklight::Solr::Document::Sms )
|
30
|
-
|
31
|
-
# DublinCore uses the semantic field mappings below to assemble an OAI-compliant Dublin Core document
|
32
|
-
# Semantic mappings of solr stored fields. Fields may be multi or
|
33
|
-
# single valued. See Blacklight::Solr::Document::ExtendableClassMethods#field_semantics
|
34
|
-
# and Blacklight::Solr::Document#to_semantic_values
|
35
|
-
# Recommendation: Use field names from Dublin Core
|
36
|
-
use_extension( Blacklight::Solr::Document::DublinCore)
|
37
|
-
|
38
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
class User < ActiveRecord::Base
|
2
|
-
# Connects this user object to Sufia behaviors.
|
3
|
-
include Sufia::User
|
4
|
-
include Curate::UserBehavior
|
5
|
-
|
6
|
-
# Connects this user object to Hydra behaviors.
|
7
|
-
include Hydra::User
|
8
|
-
|
9
|
-
attr_accessible :email, :password, :password_confirmation if Rails::VERSION::MAJOR < 4
|
10
|
-
# Connects this user object to Blacklights Bookmarks.
|
11
|
-
include Blacklight::User
|
12
|
-
# Include default devise modules. Others available are:
|
13
|
-
# :confirmable, :lockable, :timeoutable and :omniauthable
|
14
|
-
devise :database_authenticatable, :registerable,
|
15
|
-
:recoverable, :rememberable, :trackable, :validatable
|
16
|
-
|
17
|
-
# Method added by Blacklight; Blacklight uses #to_s on your
|
18
|
-
# user class to get a user-displayable login/identifier for
|
19
|
-
# the account.
|
20
|
-
def to_s
|
21
|
-
email
|
22
|
-
end
|
23
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# If using the solr:marc:index task, you can define environment-specific
|
2
|
-
# config files that will be used instead of 'config.properties' for
|
3
|
-
# a specific environment. config-development.properties,
|
4
|
-
# config-production.properties, etc.
|
5
|
-
|
6
|
-
# Relative paths for solrmarc.solr.war.path and solr.path are relative
|
7
|
-
# to the location of SolrMarc.jar, which for blacklight is by default
|
8
|
-
# in blacklight/config/solr_marc.
|
9
|
-
|
10
|
-
# solrmarc.solr.war.path - must point to either a war file for the version of
|
11
|
-
# Solr that you want to use, or to a directory of jar files extracted from a
|
12
|
-
# Solr war files. If this is not provided, SolrMarc can only work by
|
13
|
-
# communicating with a running Solr server.
|
14
|
-
#solrmarc.solr.war.path=../jetty/webapps/solr.war
|
15
|
-
# Path to your solr instance
|
16
|
-
#solr.path = ../jetty/solr
|
17
|
-
|
18
|
-
# Relative paths for solr.indexer can be relative to the location of
|
19
|
-
# this config.properties file.
|
20
|
-
solr.indexer = org.solrmarc.index.SolrIndexer
|
21
|
-
solr.indexer.properties = index.properties
|
22
|
-
|
23
|
-
# URL of running solr search engine to cause updates to be recognized.
|
24
|
-
# * When solr.path and solrmarc.solr.war.path are defined, this is optional,
|
25
|
-
# but if defined SolrMarc will issue a 'commit' after it's done indexing.
|
26
|
-
# * Alternately, do not define solr.path or solrmarc.solr.war.path to have
|
27
|
-
# SolrMarc use HTTP Post to add documents.
|
28
|
-
# NOTE:
|
29
|
-
# When using the solr:marc:index rake task, this value will be automatically
|
30
|
-
# looked up from your solr.yml, and the value here will NOT be used.
|
31
|
-
solr.hosturl = http://localhost:8888/solr/update
|
32
|
-
|
33
|
-
# MARC handling parameters
|
34
|
-
marc.to_utf_8 = true
|
35
|
-
marc.permissive = true
|
36
|
-
marc.default_encoding = MARC8
|
37
|
-
marc.include_errors = false
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# If using the solr:marc:index task, you can define environment-specific
|
2
|
-
# config files that will be used instead of 'config.properties' for
|
3
|
-
# a specific environment. config-development.properties,
|
4
|
-
# config-production.properties, etc.
|
5
|
-
|
6
|
-
# Relative paths for solrmarc.solr.war.path and solr.path are relative
|
7
|
-
# to the location of SolrMarc.jar, which for blacklight is by default
|
8
|
-
# in blacklight/config/solr_marc.
|
9
|
-
|
10
|
-
# solrmarc.solr.war.path - must point to either a war file for the version of
|
11
|
-
# Solr that you want to use, or to a directory of jar files extracted from a
|
12
|
-
# Solr war files. If this is not provided, SolrMarc can only work by
|
13
|
-
# communicating with a running Solr server.
|
14
|
-
# solrmarc.solr.war.path= ../../../../jetty/webapps/solr.war
|
15
|
-
# Path to your solr instance
|
16
|
-
# solr.path = ../../../../jetty/solr
|
17
|
-
|
18
|
-
# Relative paths for solr.indexer can be relative to the location of
|
19
|
-
# this config.properties file.
|
20
|
-
solr.indexer = org.solrmarc.index.SolrIndexer
|
21
|
-
solr.indexer.properties = index.properties
|
22
|
-
|
23
|
-
# URL of running solr search engine to cause updates to be recognized.
|
24
|
-
# * When solr.path and solrmarc.solr.war.path are defined, this is optional,
|
25
|
-
# but if defined SolrMarc will issue a 'commit' after it's done indexing.
|
26
|
-
# * Alternately, do not define solr.path or solrmarc.solr.war.path to have
|
27
|
-
# SolrMarc use HTTP Post to add documents.
|
28
|
-
# NOTE:
|
29
|
-
# When using the solr:marc:index rake task, this value will be automatically
|
30
|
-
# looked up from your solr.yml, and the value here will NOT be used.
|
31
|
-
solr.hosturl = http://localhost:8983/solr/update
|
32
|
-
|
33
|
-
# MARC handling parameters
|
34
|
-
marc.to_utf_8 = true
|
35
|
-
marc.permissive = true
|
36
|
-
marc.default_encoding = MARC8
|
37
|
-
marc.include_errors = false
|
@@ -1,97 +0,0 @@
|
|
1
|
-
# for more information on solrmarc mappings,
|
2
|
-
# see http://code.google.com/p/solrmarc/w/list
|
3
|
-
#
|
4
|
-
# GenericBlacklight uses these conventions, mostly.
|
5
|
-
# _t for indexed fields (for searching)
|
6
|
-
# _display for stored fields (for display in UI)
|
7
|
-
# _facet for facet fields
|
8
|
-
# _sort for sorting fields (fields used to sort results)
|
9
|
-
#
|
10
|
-
# see jetty/solr/conf/schema.xml in Blacklight demo project
|
11
|
-
# see http://blacklight.rubyforge.org/ DEMO_README file
|
12
|
-
|
13
|
-
id = 001, first
|
14
|
-
marc_display = FullRecordAsXML
|
15
|
-
text = custom, getAllSearchableFields(100, 900)
|
16
|
-
|
17
|
-
language_facet = 008[35-37]:041a:041d, language_map.properties
|
18
|
-
# format is for facet, display, and selecting partial for display in show view
|
19
|
-
format = 007[0-1]:000[6-7]:000[6], (map.format), first
|
20
|
-
isbn_t = 020a, (pattern_map.isbn_clean)
|
21
|
-
material_type_display = custom, removeTrailingPunct(300aa)
|
22
|
-
|
23
|
-
# Title fields
|
24
|
-
# primary title
|
25
|
-
title_t = custom, getLinkedFieldCombined(245a)
|
26
|
-
title_display = custom, removeTrailingPunct(245a)
|
27
|
-
title_vern_display = custom, getLinkedField(245a)
|
28
|
-
# subtitle
|
29
|
-
subtitle_t = custom, getLinkedFieldCombined(245b)
|
30
|
-
subtitle_display = custom, removeTrailingPunct(245b)
|
31
|
-
subtitle_vern_display = custom, getLinkedField(245b)
|
32
|
-
# additional title fields
|
33
|
-
title_addl_t = custom, getLinkedFieldCombined(245abnps:130[a-z]:240[a-gk-s]:210ab:222ab:242abnp:243[a-gk-s]:246[a-gnp]:247[a-gnp])
|
34
|
-
title_added_entry_t = custom, getLinkedFieldCombined(700[gk-pr-t]:710[fgk-t]:711fgklnpst:730[a-gk-t]:740anp)
|
35
|
-
title_series_t = custom, getLinkedFieldCombined(440anpv:490av)
|
36
|
-
title_sort = custom, getSortableTitle
|
37
|
-
|
38
|
-
# Author fields
|
39
|
-
author_t = custom, getLinkedFieldCombined(100abcegqu:110abcdegnu:111acdegjnqu)
|
40
|
-
author_addl_t = custom, getLinkedFieldCombined(700abcegqu:710abcdegnu:711acdegjnqu)
|
41
|
-
author_display = custom, removeTrailingPunct(100abcdq:110[a-z]:111[a-z])
|
42
|
-
author_vern_display = custom, getLinkedField(100abcdq:110[a-z]:111[a-z])
|
43
|
-
author_sort = custom, getSortableAuthor
|
44
|
-
|
45
|
-
# Subject fields
|
46
|
-
subject_t = custom, getLinkedFieldCombined(600[a-u]:610[a-u]:611[a-u]:630[a-t]:650[a-e]:651ae:653aa:654[a-e]:655[a-c])
|
47
|
-
subject_addl_t = custom, getLinkedFieldCombined(600[v-z]:610[v-z]:611[v-z]:630[v-z]:650[v-z]:651[v-z]:654[v-z]:655[v-z])
|
48
|
-
subject_topic_facet = custom, removeTrailingPunct(600abcdq:610ab:611ab:630aa:650aa:653aa:654ab:655ab)
|
49
|
-
subject_era_facet = custom, removeTrailingPunct(650y:651y:654y:655y)
|
50
|
-
subject_geo_facet = custom, removeTrailingPunct(651a:650z)
|
51
|
-
|
52
|
-
# Publication fields
|
53
|
-
published_display = custom, removeTrailingPunct(260a)
|
54
|
-
published_vern_display = custom, getLinkedField(260a)
|
55
|
-
# used for facet and display, and copied for sort
|
56
|
-
pub_date = custom, getDate
|
57
|
-
|
58
|
-
# Call Number fields
|
59
|
-
lc_callnum_display = 050ab, first
|
60
|
-
lc_1letter_facet = 050a[0], callnumber_map.properties, first
|
61
|
-
lc_alpha_facet = 050a, (pattern_map.lc_alpha), first
|
62
|
-
lc_b4cutter_facet = 050a, first
|
63
|
-
|
64
|
-
# URL Fields
|
65
|
-
url_fulltext_display = custom, getFullTextUrls
|
66
|
-
url_suppl_display = custom, getSupplUrls
|
67
|
-
|
68
|
-
|
69
|
-
# MAPPINGS
|
70
|
-
|
71
|
-
# format mapping
|
72
|
-
# leader 06-07
|
73
|
-
map.format.aa = Book
|
74
|
-
map.format.ab = Serial
|
75
|
-
map.format.am = Book
|
76
|
-
map.format.as = Serial
|
77
|
-
map.format.ta = Book
|
78
|
-
map.format.tm = Book
|
79
|
-
# leader 06
|
80
|
-
map.format.c = Musical Score
|
81
|
-
map.format.d = Musical Score
|
82
|
-
map.format.e = Map or Globe
|
83
|
-
map.format.f = Map or Globe
|
84
|
-
map.format.i = Non-musical Recording
|
85
|
-
map.format.j = Musical Recording
|
86
|
-
map.format.k = Image
|
87
|
-
map.format.m = Computer File
|
88
|
-
# 007[0] when it doesn't clash with above
|
89
|
-
map.format.h = Microform
|
90
|
-
map.format.q = Musical Score
|
91
|
-
map.format.v = Video
|
92
|
-
# none of the above
|
93
|
-
map.format = Unknown
|
94
|
-
|
95
|
-
pattern_map.lc_alpha.pattern_0 = ^([A-Z]{1,3})\\d+.*=>$1
|
96
|
-
|
97
|
-
pattern_map.isbn_clean.pattern_0 = ([- 0-9]*[0-9]).*=>$1
|
@@ -1,47 +0,0 @@
|
|
1
|
-
import org.marc4j.marc.Record;
|
2
|
-
import org.solrmarc.tools.Utils;
|
3
|
-
import org.solrmarc.tools.CallNumUtils;
|
4
|
-
|
5
|
-
// define the base level indexer so that its methods can be called from the script.
|
6
|
-
// note that the SolrIndexer code will set this value before the script methods are called.
|
7
|
-
org.solrmarc.index.SolrIndexer indexer = null;
|
8
|
-
|
9
|
-
/**
|
10
|
-
* returns the facet value for dewey hundreds digits, and dewey tens digits
|
11
|
-
* @param record
|
12
|
-
* @return Set of Strings containing facet value for dewey hundreds digits, and dewey tens digits
|
13
|
-
*/
|
14
|
-
Set getDeweyFacet(Record record, String propertiesMapName)
|
15
|
-
{
|
16
|
-
LinkedHashSet resultSet = new LinkedHashSet();
|
17
|
-
Set values = indexer.getFieldList(record, "082a");
|
18
|
-
String mapName = indexer.loadTranslationMap(propertiesMapName);
|
19
|
-
|
20
|
-
for (String dewey : values)
|
21
|
-
{
|
22
|
-
if (! CallNumUtils.isValidDewey(dewey)) continue;
|
23
|
-
String hundreds = dewey.substring(0, 1) + "00";
|
24
|
-
String tens = dewey.substring(0,2) + "0";
|
25
|
-
String hundredsMapped = Utils.remap(hundreds, indexer.findMap(mapName), true);
|
26
|
-
String tensMapped = Utils.remap(tens, indexer.findMap(mapName), true);
|
27
|
-
if (hundredsMapped != null) resultSet.add(hundredsMapped);
|
28
|
-
if (tensMapped != null) resultSet.add(tensMapped);
|
29
|
-
}
|
30
|
-
|
31
|
-
return resultSet;
|
32
|
-
}
|
33
|
-
|
34
|
-
Set getDeweyText(Record record)
|
35
|
-
{
|
36
|
-
LinkedHashSet resultSet = new LinkedHashSet();
|
37
|
-
Set values = indexer.getFieldList(record, "082a");
|
38
|
-
|
39
|
-
for (String dewey : values)
|
40
|
-
{
|
41
|
-
if (! CallNumUtils.isValidDewey(dewey)) continue;
|
42
|
-
dewey = dewey.replaceAll("/[.]", ".").replaceAll("/", " ");
|
43
|
-
resultSet.add(dewey);
|
44
|
-
}
|
45
|
-
|
46
|
-
return resultSet;
|
47
|
-
}
|
@@ -1,126 +0,0 @@
|
|
1
|
-
import org.marc4j.marc.Record;
|
2
|
-
import org.solrmarc.tools.Utils;
|
3
|
-
|
4
|
-
// define the base level indexer so that its methods can be called from the script.
|
5
|
-
// note that the SolrIndexer code will set this value before the script methods are called.
|
6
|
-
org.solrmarc.index.SolrIndexer indexer = null;
|
7
|
-
|
8
|
-
/**
|
9
|
-
* Determine Record Format(s)
|
10
|
-
*
|
11
|
-
* @param Record record
|
12
|
-
* @return Set format of record
|
13
|
-
*/
|
14
|
-
|
15
|
-
public Set getFormat(Record record)
|
16
|
-
{
|
17
|
-
Set result = new LinkedHashSet();
|
18
|
-
|
19
|
-
// check if there's an h in the 245
|
20
|
-
Set title_245h = indexer.getFieldList(record, "245h");
|
21
|
-
if (Utils.setItemContains(title_245h, "electronic resource"))
|
22
|
-
{
|
23
|
-
result.add("Electronic");
|
24
|
-
return result;
|
25
|
-
}
|
26
|
-
boolean field007hasC = false;
|
27
|
-
// check the 007 - this is a repeating field
|
28
|
-
// if we find a matching value there, grab it and return.
|
29
|
-
Set fields007 = indexer.getFieldList(record, "007[0-1]");
|
30
|
-
for (String f_007 : fields007)
|
31
|
-
{
|
32
|
-
f_007 = f_007.toUpperCase();
|
33
|
-
if (f_007.startsWith("A"))
|
34
|
-
if (f_007.equals( "AD")) result.add("Atlas");
|
35
|
-
else result.add("Map");
|
36
|
-
else if (f_007.startsWith("C"))
|
37
|
-
if (f_007.equals("CA")) result.add("TapeCartridge");
|
38
|
-
else if (f_007.equals("CB")) result.add("ChipCartridge");
|
39
|
-
else if (f_007.equals("CC")) result.add("DiscCartridge");
|
40
|
-
else if (f_007.equals("CF")) result.add("TapeCassette");
|
41
|
-
else if (f_007.equals("CH")) result.add("TapeReel");
|
42
|
-
else if (f_007.equals("CJ")) result.add("FloppyDisk");
|
43
|
-
else if (f_007.equals("CM")) result.add("CDROM");
|
44
|
-
else if (f_007.equals("C0")) result.add("CDROM");
|
45
|
-
else if (f_007.equals("CR")) field007hasC = true; // Do not return - this will cause anything with an 856 field to be labeled as "Electronic"
|
46
|
-
else result.add("Software");
|
47
|
-
else if (f_007.startsWith("D")) result.add("Globe");
|
48
|
-
else if (f_007.startsWith("F")) result.add("Braille");
|
49
|
-
else if (f_007.startsWith("G"))
|
50
|
-
if (f_007.equals("GC")) result.add("Filmstrip");
|
51
|
-
else if (f_007.equals("GD")) result.add("Filmstrip");
|
52
|
-
else if (f_007.equals("GT")) result.add("Transparency");
|
53
|
-
else result.add("Slide");
|
54
|
-
else if (f_007.startsWith("H")) result.add("Microfilm");
|
55
|
-
else if (f_007.startsWith("K"))
|
56
|
-
if (f_007.equals("KC")) result.add("Collage");
|
57
|
-
else if (f_007.equals("KD")) result.add("Drawing");
|
58
|
-
else if (f_007.equals("KE")) result.add("Painting");
|
59
|
-
else if (f_007.equals("KF")) result.add("Print");
|
60
|
-
else if (f_007.equals("KG")) result.add("Photonegative");
|
61
|
-
else if (f_007.equals("KJ")) result.add("Print");
|
62
|
-
else if (f_007.equals("KL")) result.add("Drawing");
|
63
|
-
else if (f_007.equals("K0")) result.add("FlashCard");
|
64
|
-
else if (f_007.equals("KN")) result.add("Chart");
|
65
|
-
else result.add("Photo");
|
66
|
-
else if (f_007.startsWith("M"))
|
67
|
-
if (f_007.equals("MF")) result.add("VideoCassette");
|
68
|
-
else if (f_007.equals("MR")) result.add("Filmstrip");
|
69
|
-
else result.add("MotionPicture");
|
70
|
-
else if (f_007.startsWith("O")) result.add("Kit");
|
71
|
-
else if (f_007.startsWith("Q")) result.add("MusicalScore");
|
72
|
-
else if (f_007.startsWith("R")) result.add("SensorImage");
|
73
|
-
else if (f_007.startsWith("S"))
|
74
|
-
if (f_007.equals("SD")) result.add("SoundDisc");
|
75
|
-
else if (f_007.equals("SS")) result.add("SoundCassette");
|
76
|
-
else result.add("SoundRecording");
|
77
|
-
else if (f_007.startsWith("V"))
|
78
|
-
if (f_007.equals("VC")) result.add("VideoCartridge");
|
79
|
-
else if (f_007.equals("VD")) result.add("VideoDisc");
|
80
|
-
else if (f_007.equals("VF")) result.add("VideoCassette");
|
81
|
-
else if (f_007.equals("VR")) result.add("VideoReel");
|
82
|
-
else result.add("Video");
|
83
|
-
|
84
|
-
// if we found a matching value and return it.
|
85
|
-
if (!result.isEmpty()) return result;
|
86
|
-
}
|
87
|
-
// check the Leader - this is NOT a repeating field
|
88
|
-
// if we find a matching value there, grab it and return.
|
89
|
-
String f_000 = indexer.getFirstFieldVal(record, null, "000[6-7]");
|
90
|
-
f_000 = f_000.toUpperCase();
|
91
|
-
if (f_000.startsWith("C")) result.add("MusicalScore");
|
92
|
-
else if (f_000.startsWith("D")) result.add("MusicalScore");
|
93
|
-
else if (f_000.startsWith("E")) result.add("Map");
|
94
|
-
else if (f_000.startsWith("F")) result.add("Map");
|
95
|
-
else if (f_000.startsWith("G")) result.add("Slide");
|
96
|
-
else if (f_000.startsWith("I")) result.add("SoundRecording");
|
97
|
-
else if (f_000.startsWith("J")) result.add("MusicRecording");
|
98
|
-
else if (f_000.startsWith("K")) result.add("Photo");
|
99
|
-
else if (f_000.startsWith("M")) result.add("Electronic");
|
100
|
-
else if (f_000.startsWith("O")) result.add("Kit");
|
101
|
-
else if (f_000.startsWith("P")) result.add("Kit");
|
102
|
-
else if (f_000.startsWith("R")) result.add("PhysicalObject");
|
103
|
-
else if (f_000.startsWith("T")) result.add("Manuscript");
|
104
|
-
else if (f_000.startsWith("A"))
|
105
|
-
{
|
106
|
-
if (f_000.equals("AM"))
|
107
|
-
{
|
108
|
-
if (field007hasC) result.add("eBook");
|
109
|
-
else result.add("Book");
|
110
|
-
}
|
111
|
-
else if (f_000.equals("AS"))
|
112
|
-
{
|
113
|
-
// Look in 008 to determine what type of Continuing Resource
|
114
|
-
String formatCode = indexer.getFirstFieldVal(record, null, "008[21]");
|
115
|
-
if (formatCode.equals("N")) result.add("Newspaper");
|
116
|
-
else if (formatCode.equals("P")) result.add("Journal");
|
117
|
-
else result.add("Serial");
|
118
|
-
}
|
119
|
-
}
|
120
|
-
// Nothing worked!
|
121
|
-
if (result.isEmpty()) {
|
122
|
-
result.add("Unknown");
|
123
|
-
}
|
124
|
-
|
125
|
-
return result;
|
126
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
This is the directory in which you should place locally defined translation maps.
|
@@ -1,407 +0,0 @@
|
|
1
|
-
# Map Call Number Classification pieces to User Friendly Description
|
2
|
-
displayRawIfMissing = true
|
3
|
-
|
4
|
-
# note: need more specific call numbers first so first matching is most specific
|
5
|
-
AC = AC - Collections Works
|
6
|
-
AE = AE - Encyclopedias
|
7
|
-
AG = AG - General Reference Works
|
8
|
-
AI = AI - Indexes
|
9
|
-
AM = AM - Museums
|
10
|
-
AN = AN - Newspapers
|
11
|
-
AP = AP - Periodicals
|
12
|
-
AS = AS - Academies & Learned Societies
|
13
|
-
AY = AY - Yearbooks, Almanacs, Directories
|
14
|
-
AZ = AZ - History of Scholarship & Learning
|
15
|
-
A = A - General Works
|
16
|
-
BC = BC - Logic
|
17
|
-
BD = BD - Speculative Philosophy
|
18
|
-
BF = BF - Psychology
|
19
|
-
BH = BH - Aesthetics
|
20
|
-
BJ = BJ - Ethics
|
21
|
-
BL = BL - Religions (General)
|
22
|
-
BM = BM - Judaism
|
23
|
-
BP = BP - Islam, Bahaism, Theosophy, etc.
|
24
|
-
BQ = BQ - Buddhism
|
25
|
-
BR = BR - Christianity
|
26
|
-
BS = BS - The Bible
|
27
|
-
BT = BT - Doctrinal Theology
|
28
|
-
BV = BV - Practical Theology
|
29
|
-
BX = BX - Christian Denominations
|
30
|
-
B = B - Philosophy, Psychology, Religion
|
31
|
-
CB = CB - History of Civilization
|
32
|
-
CC = CC - Archaeology
|
33
|
-
CD = CD - Diplomatics
|
34
|
-
CE = CE - Technical Chronology
|
35
|
-
CJ = CJ - Numismatics
|
36
|
-
CN = CN - Inscriptions
|
37
|
-
CR = CR - Heraldry
|
38
|
-
CS = CS - Genealogy
|
39
|
-
CT = CT - Biography
|
40
|
-
C = C - Historical Sciences (Archaeology, Genealogy)
|
41
|
-
DA = DA - Great Britain (History)
|
42
|
-
DB = DB - Austria, Liechtenstein, Czech Rep., Hungary, Slovakia (History)
|
43
|
-
DC = DC - France (History)
|
44
|
-
DD = DD - Germany (History)
|
45
|
-
DE = DE - Greco-Roman World (History)
|
46
|
-
DF = DF - Greece (History)
|
47
|
-
DG = DG - Italy (History)
|
48
|
-
DH = DH - Low Countries (History)
|
49
|
-
DJK = DJK - Eastern Europe (History)
|
50
|
-
DJ = DJ - Netherlands (History)
|
51
|
-
DK = DK - Russia. Former Soviet Republics. Poland (History)
|
52
|
-
DL = DL - Scandinavia (History)
|
53
|
-
DP = DP - Spain. Portugal (History)
|
54
|
-
DQ = DQ - Switzerland (History)
|
55
|
-
DR = DR - Balkan Peninsula (History)
|
56
|
-
DS = DS - Asia (History)
|
57
|
-
DT = DT - Africa (History)
|
58
|
-
DU = DU - Oceanía (History)
|
59
|
-
DX = DX - Gypsies (History)
|
60
|
-
D = D - World History
|
61
|
-
E = E - History of the Americas (General)
|
62
|
-
F = F - History of the Americas (Local)
|
63
|
-
GA = GA - Mathematical Geography, Cartography
|
64
|
-
GB = GB - Physical Geography
|
65
|
-
GC = GC - Oceanography
|
66
|
-
GE = GE - Environmental Sciences
|
67
|
-
GF = GF - Human Ecology, Anthropogeography
|
68
|
-
GN = GN - Anthropology
|
69
|
-
GR = GR - Folklore
|
70
|
-
GT = GT - Manners & Customs
|
71
|
-
GV = GV - Recreation. Leisure
|
72
|
-
G = G - Geography, Anthropology, Recreation
|
73
|
-
HA = HA - Statistics
|
74
|
-
HB = HB - Economic Theory, Demography
|
75
|
-
HC = HC - Economic History & Conditions
|
76
|
-
HD = HD - Industries, Land use, Labor
|
77
|
-
HE = HE - Transportation & Communications
|
78
|
-
HF = HF - Commerce
|
79
|
-
HG = HG - Finance
|
80
|
-
HJ = HJ - Public Finance
|
81
|
-
HM = HM - Sociology
|
82
|
-
HN = HN - Social History & Conditions
|
83
|
-
HQ = HQ - The Family, Marriage, Woman
|
84
|
-
HS = HS - Societies
|
85
|
-
HT = HT - Communities, Classes, Races
|
86
|
-
HV = HV - Social Pathology, Social & Public Welfare, Criminology
|
87
|
-
HX = HX - Socialism, Communism, Anarchism
|
88
|
-
H = H - Social Sciences
|
89
|
-
JA = JA - Political Science
|
90
|
-
JC = JC - Political Theory
|
91
|
-
JF = JF - Political Institutions
|
92
|
-
JK = JK - Political Institutions (U.S.)
|
93
|
-
JL = JL - Political Institutions (Canada, Latin America)
|
94
|
-
JN = JN - Political Institutions (Europe)
|
95
|
-
JQ = JQ - Political Institutions (Asia, Africa, Australia, Pacific Area)
|
96
|
-
JS = JS - Local Government
|
97
|
-
JV = JV - Colonies & Colonization, Emigration & Immigration
|
98
|
-
JX = JX - International Law
|
99
|
-
JZ = JZ - International Relations
|
100
|
-
J = J - Political Science
|
101
|
-
KBM = KBM - Jewish Law
|
102
|
-
KBP = KBP - Islamic Law
|
103
|
-
KBR = KBR - Canon Law
|
104
|
-
KBU = KBU - Law of Roman Catholic Church
|
105
|
-
KB = KB - Religious Law (General)
|
106
|
-
KDC = KDC - Law of Scotland
|
107
|
-
KDE = KDE - Law of Northern Ireland
|
108
|
-
KDG = KDG - Law of Isle of Man, Channel Islands
|
109
|
-
KDK = KDK - Law of Ireland (EIRE)
|
110
|
-
KDZ = KDZ - Law of America, North America
|
111
|
-
KD = KD - Law of England & Wales
|
112
|
-
KE = KE - Law of Canada
|
113
|
-
KF = KF - Law of the U.S.
|
114
|
-
KG = KG - Law of Latin America, Mexico, Central America, West Indies, Caribbean
|
115
|
-
KH = KH - South America
|
116
|
-
KJA = KJA - Roman Law
|
117
|
-
KJC = KJC - Regional Comparative & Uniform Law
|
118
|
-
KJE = KJE - Regional Organization & Integration
|
119
|
-
KJG = KJG - Law of Albania
|
120
|
-
KJH = KJH - Law of Andorra
|
121
|
-
KJJ = KJJ - Law of Austria
|
122
|
-
KJK = KJK - Law of Belgium, Bosnia & Hercegovina (Republic)
|
123
|
-
KJM = KJM - Law of Bulgaria, Croatia
|
124
|
-
KJN = KJN - Law of Cyprus
|
125
|
-
KJP = KJP - Law of Czechoslovakia, Czech Republic
|
126
|
-
KJQ = KJQ - Law of Slovakia
|
127
|
-
KJR = KJR - Law of Denmark
|
128
|
-
KJS = KJS - Law of Estonia
|
129
|
-
KJT = KJT - Law of Finland
|
130
|
-
KJV = KJV - Law of France
|
131
|
-
KJW = KJW - Law of French Regions, Provinces, Departments
|
132
|
-
KJ = KJ - Law of Europe
|
133
|
-
KKE = KKE - Law of Greece
|
134
|
-
KKF = KKF - Law of Hungary
|
135
|
-
KKG = KKG - Law of Iceland
|
136
|
-
KKH = KKH - Law of Italy
|
137
|
-
KKI = KKI - Law of Latvia
|
138
|
-
KKJ = KKJ - Law of Lithuania, Liechtenstein
|
139
|
-
KKK = KKK - Law of Luxemburg, Malta
|
140
|
-
KKL = KKL - Law of Monaco
|
141
|
-
KKM = KKM - Law of the Netherlands
|
142
|
-
KKN = KKN - Law of Norway
|
143
|
-
KKP = KKP - Law of Poland
|
144
|
-
KKQ = KKQ - Law of Portugal
|
145
|
-
KKR = KKR - Law of Romania
|
146
|
-
KKT = KKT - Law of Spain
|
147
|
-
KKV = KKV - Law of Sweden
|
148
|
-
KKW = KKW - Law of Switzerland
|
149
|
-
KKX = KKX - Law of Turkey
|
150
|
-
KKY = KKY - Law of Ukraine
|
151
|
-
KKZ = KKZ - Law of Yugoslavia
|
152
|
-
KK = KK - Law of Germany
|
153
|
-
KLA = KLA - Law of Russia, Soviet Union
|
154
|
-
KLB = KLB - Law of Russia (Federation)
|
155
|
-
KLD = KLD - Law of Armenia (Republic)
|
156
|
-
KLE = KLE - Law of Azerbaijan
|
157
|
-
KLF = KLF - Law of Belarus
|
158
|
-
KLH = KLH - Law of Georgia
|
159
|
-
KLM = KLM - Law of Moldova
|
160
|
-
KLP = KLP - Law of Ukraine
|
161
|
-
KLR = KLR - Law of Kazakhstan
|
162
|
-
KLS = KLS - Law of Kyrgyzstan
|
163
|
-
KLT = KLT - Law of Tajikistan
|
164
|
-
KLV = KLV - Law of Turkmenistan
|
165
|
-
KLW = KLW - Law of Uzbekistan
|
166
|
-
KL = KL - History of Law, The Ancient Orient
|
167
|
-
KMC = KMC - Law of the Middle East, Southwest Asia
|
168
|
-
KMH = KMH - Law of Iran
|
169
|
-
KMJ = KMJ - Law of Iraq
|
170
|
-
KMK = KMK - Law of Israel
|
171
|
-
KML = KML - Law of Jerusalem
|
172
|
-
KMM = KMM - Law of Jordan
|
173
|
-
KMN = KMN - Law of Kuwait
|
174
|
-
KMP = KMP - Law of Lebanon
|
175
|
-
KMT = KMT - Law of Saudi Arabia
|
176
|
-
KMU = KMU - Law of Syria
|
177
|
-
KMX = KMX - Law of Yemen
|
178
|
-
KM = KM - Law of Asia
|
179
|
-
KNC = KNC - Law of South Asia
|
180
|
-
KNN = KNN - Law of China
|
181
|
-
KNP = KNP - Law of Taiwan
|
182
|
-
KNR = KNR - Law of Hong Kong
|
183
|
-
KNS = KNS - Law of India
|
184
|
-
KNW = KNW - Law of Indonesia
|
185
|
-
KNX = KNX - Law of Japan
|
186
|
-
KPA = KPA - Law of Korea, South Korea
|
187
|
-
KPC = KPC - Law of Korea, North Korea
|
188
|
-
KQ = KQ - Law of Africa
|
189
|
-
KU = KU - Law of the Pacific Area, Australia, New Zealand
|
190
|
-
KWX = KWX - Law of Antarctica
|
191
|
-
KZ = KZ - Law of Nations
|
192
|
-
K = K - Law
|
193
|
-
LA = LA - History of Education
|
194
|
-
LB = LB - Theory & Practice of Education
|
195
|
-
LC = LC - Special Aspects of Education
|
196
|
-
LD = LD - Individual Educational Institutions (U.S.)
|
197
|
-
LE = LE - Individual Educational Institutions: America (except U.S.)
|
198
|
-
LF = LF - Individual Educational Institutions: Europe
|
199
|
-
LG = LG - Individual Educational Institutions: Asia, Africa, Oceania
|
200
|
-
LH = LH - College & School Magazines & Papers
|
201
|
-
LT = LT - Textbooks
|
202
|
-
L = L - Education
|
203
|
-
MLCME = Unknown
|
204
|
-
MLCSN = Unknown
|
205
|
-
ML = ML - Literature on Music
|
206
|
-
MT = MT - Musical Instruction & Study
|
207
|
-
M = M - Music
|
208
|
-
NA = NA - Architecture
|
209
|
-
NB = NB - Sculpture
|
210
|
-
NC = NC - Drawing, Design, Illustration
|
211
|
-
ND = ND - Painting
|
212
|
-
NE = NE - Print Media
|
213
|
-
NK = NK - Decorative Arts
|
214
|
-
NX = NX - Arts in General
|
215
|
-
N = N - Fine Arts
|
216
|
-
PA = PA - Greek & Latin Language & Literature
|
217
|
-
PB = PB - Modern Language, Celtic Languages
|
218
|
-
PC = PC - Romanic Languages
|
219
|
-
PD = PD - Germanic Languages
|
220
|
-
PE = PE - English Languages
|
221
|
-
PF = PF - West Germanic Languages
|
222
|
-
PG = PG - Slavic, Baltic, Albanian Languages, Russian Language & Literature
|
223
|
-
PH = PH - Uralic & Basque Languages
|
224
|
-
PJ = PJ - Oriental Languages & Literature
|
225
|
-
PK = PK - Indo-Iranian Languages & Literature
|
226
|
-
PL = PL - Languages & Literatures of Eastern Asia, Africa, Oceania
|
227
|
-
PM = PM - Hyperborean, Indian & Artificial Languages
|
228
|
-
PN = PN - Literature (General)
|
229
|
-
PQ = PQ - French, Italian, Spanish & Portuguese Literature
|
230
|
-
PR = PR - English Literature
|
231
|
-
PS = PS - American Literature
|
232
|
-
PT = PT - Germanic & Scandinavian Literatures
|
233
|
-
PZ = PZ - Children’s Literature
|
234
|
-
P = P - Language & Literature
|
235
|
-
QA = QA - Mathematics
|
236
|
-
QB = QB - Astronomy
|
237
|
-
QC = QC - Physics
|
238
|
-
QD = QD - Chemistry
|
239
|
-
QE = QE - Geology
|
240
|
-
QH = QH - Natural History, Biology
|
241
|
-
QK = QK - Botany
|
242
|
-
QL = QL - Zoology
|
243
|
-
QM = QM - Human Anatomy
|
244
|
-
QP = QP - Physiology
|
245
|
-
QR = QR - Microbiology
|
246
|
-
Q = Q - Science
|
247
|
-
RA = RA - Public Aspects of Medicine
|
248
|
-
RB = RB - Pathology
|
249
|
-
RC = RC - Internal Medicine
|
250
|
-
RD = RD - Surgery
|
251
|
-
RE = RE - Ophthalmology
|
252
|
-
RF = RF - Otorhinolaryngology
|
253
|
-
RG = RG - Gynecology & Obstetrics
|
254
|
-
RJ = RJ - Pediatrics
|
255
|
-
RK = RK - Dentistry
|
256
|
-
RL = RL - Dermatology
|
257
|
-
RM = RM - Therapeutics, Pharmacology
|
258
|
-
RS = RS - Pharmacy & Materia Medica
|
259
|
-
RT = RT - Nursing
|
260
|
-
RV = RV - Botanic, Thomsonian, & Eclectic Medicine
|
261
|
-
RX = RX - Homeopathy
|
262
|
-
RZ = RZ - Other Systems of Medicine
|
263
|
-
R = R - Medicine
|
264
|
-
SB = SB - Plant Culture
|
265
|
-
SD = SD - Forestry
|
266
|
-
SF = SF - Animal Culture
|
267
|
-
SH = SH - Aquaculture
|
268
|
-
SK = SK - Hunting Sports
|
269
|
-
S = S - Agriculture
|
270
|
-
TA = TA - Engineering, Civil Engineering
|
271
|
-
TC = TC - Hydraulic Engineering
|
272
|
-
TD = TD - Environmental Technology
|
273
|
-
TE = TE - Highway Engineering
|
274
|
-
TF = TF - Railroad Engineering & Operation
|
275
|
-
TG = TG - Bridge Engineering
|
276
|
-
TH = TH - Building Construction
|
277
|
-
TJ = TJ - Mechanical Engineering & Machinery
|
278
|
-
TK = TK - Electrical Engineering, Nuclear Engineering
|
279
|
-
TL = TL - Motor Vehicles, Aeronautics, Astronautics
|
280
|
-
TN = TN - Mining Engineering
|
281
|
-
TP = TP - Chemical Technology
|
282
|
-
TR = TR - Photography
|
283
|
-
TS = TS - Manufactures
|
284
|
-
TT = TT - Handicrafts
|
285
|
-
TX = TX - Home Economics
|
286
|
-
T = T - Technology
|
287
|
-
UA = UA - Armies
|
288
|
-
UB = UB - Military Administration
|
289
|
-
UC = UC - Maintenance & Transportation
|
290
|
-
UD = UD - Infantry
|
291
|
-
UE = UE - Cavalry, Armor
|
292
|
-
UF = UF - Artillery
|
293
|
-
UG = UG - Military Engineering, Air Forces, Military Astronautics
|
294
|
-
UH = UH - Other Military Services
|
295
|
-
U = U - Military Science
|
296
|
-
VA = VA - Navies
|
297
|
-
VB = VB - Naval Administration
|
298
|
-
VC = VC - Naval Maintenance
|
299
|
-
VD = VD - Naval Seamen
|
300
|
-
VE = VE - Marines
|
301
|
-
VF = VF - Naval Ordnance
|
302
|
-
VG = VG - Minor Services of Navies
|
303
|
-
VK = VK - Navigation, Merchant Marine
|
304
|
-
VM = VM - Naval Architecture, Marine Engineering
|
305
|
-
V = V - Naval Science
|
306
|
-
ZA = ZA - Information Science
|
307
|
-
Z = Z - Bibliography, Library Science, Information Resources
|
308
|
-
|
309
|
-
000 = 000s - Computer Science, Information & General Works
|
310
|
-
010 = 010s - Bibliography
|
311
|
-
020 = 020s - Library & Information Sciences
|
312
|
-
030 = 030s - General Encyclopedic Works
|
313
|
-
050 = 050s - General Serials & their Indexes
|
314
|
-
060 = 060s - General Organization & Museology
|
315
|
-
070 = 070s - News Media, Journalism, Publishing
|
316
|
-
080 = 080s - General Collections
|
317
|
-
090 = 090s - Manuscripts & Rare Books
|
318
|
-
100 = 100s - Philosophy & Psychology
|
319
|
-
110 = 110s - Metaphysics
|
320
|
-
120 = 120s - Epistemology, Causation, Humankind
|
321
|
-
130 = 130s - Paranormal Phenomena
|
322
|
-
140 = 140s - Specific Philosophical Schools
|
323
|
-
150 = 150s - Psychology
|
324
|
-
160 = 160s - Logic
|
325
|
-
170 = 170s - Ethics (Moral Philosophy)
|
326
|
-
180 = 180s - Ancient, Medieval, Oriental Philosophy
|
327
|
-
190 = 190s - Modern Western Philosophy
|
328
|
-
200 = 200s - Religion
|
329
|
-
210 = 210s - Natural Theology
|
330
|
-
220 = 220s - Bible
|
331
|
-
230 = 230s - Christian Theology
|
332
|
-
240 = 240s - Christian Moral & Devotional Theology
|
333
|
-
250 = 250s - Christian Orders & Local Church
|
334
|
-
260 = 260s - Christian Social Theology
|
335
|
-
270 = 270s - Christian Church History
|
336
|
-
280 = 280s - Christian Denominations & Sects
|
337
|
-
290 = 290s - Other & Comparative Religions
|
338
|
-
300 = 300s - Social Sciences
|
339
|
-
310 = 310s - General Statistics
|
340
|
-
320 = 320s - Political Science
|
341
|
-
330 = 330s - Economics
|
342
|
-
340 = 340s - Law
|
343
|
-
350 = 350s - Public Administration
|
344
|
-
360 = 360s - Social Services; Association
|
345
|
-
370 = 370s - Education
|
346
|
-
380 = 380s - Commerce, Communications, Transport
|
347
|
-
390 = 390s - Customs, Etiquette, Folklore
|
348
|
-
400 = 400s - Language
|
349
|
-
410 = 410s - Linguistics
|
350
|
-
420 = 420s - English & Old English
|
351
|
-
430 = 430s - Germanic Languages German
|
352
|
-
440 = 440s - Romance Languages French
|
353
|
-
450 = 450s - Italian, Romanian, Rhaeto-Romantic
|
354
|
-
460 = 460s - Spanish & Portugese Languages
|
355
|
-
470 = 470s - Italic Latin
|
356
|
-
480 = 480s - Hellenic Languages Classical Greek
|
357
|
-
490 = 490s - Other Languages
|
358
|
-
500 = 500s - Science
|
359
|
-
510 = 510s - Mathematics
|
360
|
-
520 = 520s - Astronomy & Allied Sciences
|
361
|
-
530 = 530s - Physics
|
362
|
-
540 = 540s - Chemistry & Allied Sciences
|
363
|
-
550 = 550s - Earth Sciences
|
364
|
-
560 = 560s - Paleontology Paleozoology
|
365
|
-
570 = 570s - Life Sciences
|
366
|
-
580 = 580s - Botanical Sciences
|
367
|
-
590 = 590s - Zoological Sciences
|
368
|
-
600 = 600s - Technology
|
369
|
-
610 = 610s - Medical Sciences Medicine
|
370
|
-
620 = 620s - Engineering & Allied Operations
|
371
|
-
630 = 630s - Agriculture
|
372
|
-
640 = 640s - Home economics & Family Living
|
373
|
-
650 = 650s - Management & Auxiliary Services
|
374
|
-
660 = 660s - Chemical Engineering
|
375
|
-
670 = 670s - Manufacturing
|
376
|
-
680 = 680s - Manufacture for Specific Uses
|
377
|
-
690 = 690s - Buildings
|
378
|
-
700 = 700s - Arts & Recreation
|
379
|
-
710 = 710s - Civic & Landscape Art
|
380
|
-
720 = 720s - Architecture
|
381
|
-
730 = 730s - Plastic Arts Sculpture
|
382
|
-
740 = 740s - Drawing & Decorative Arts
|
383
|
-
750 = 750s - Painting & Paintings
|
384
|
-
760 = 760s - Graphic Arts Printmaking & Prints
|
385
|
-
770 = 770s - Photography & Photographs
|
386
|
-
780 = 780s - Music
|
387
|
-
790 = 790s - Recreational & Performing Arts
|
388
|
-
800 = 800s - Literature
|
389
|
-
810 = 810s - American Literature in English
|
390
|
-
820 = 820s - English & Old English Literatures
|
391
|
-
830 = 830s - Literatures of Germanic Languages
|
392
|
-
840 = 840s - Literatures of Romance Languages
|
393
|
-
850 = 850s - Italian, Romanian, Rhaeto-Romanic
|
394
|
-
860 = 860s - Spanish & Portuguese Literatures
|
395
|
-
870 = 870s - Italic Literatures Latin
|
396
|
-
880 = 880s - Hellenic Literatures Classical Greek
|
397
|
-
890 = 890s - Literatures of Other Languages
|
398
|
-
900 = 900s - History & Geography
|
399
|
-
910 = 910s - Geography & Travel
|
400
|
-
920 = 920s - Biography, Genealogy, Insignia
|
401
|
-
930 = 930s - History of Ancient World
|
402
|
-
940 = 940s - General History of Europe
|
403
|
-
950 = 950s - General History of Asia Far East
|
404
|
-
960 = 960s - General History of Africa
|
405
|
-
970 = 970s - General History of North America
|
406
|
-
980 = 980s - General History of South America
|
407
|
-
990 = 990s - General History of Other Areas
|