Class: MintPress::OracleDocumaker::Template

Inherits:
MintPress::OracleWeblogic::Template show all
Includes:
MintLogger, OracleDocumakerUtils
Defined in:
src/oracle-documaker/lib/oracle-documaker/template.rb

Overview

Documaker Template Class. This class will configure Documaker Weblogic domain along with the instance associated with it.

Properties (Read/Write)

  • #name ⇒ String (Default Value: 'Documaker')

    Property Attributes
    • default'Documaker'
    
    
    28
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 28
    
    property :Name, type: String, default: 'Documaker'
  • #inbuilt_soa_servers ⇒ Array of ⇒ String (Default Value: ['soa_server1'])

    Property Attributes
    • default['soa_server1']
    
    
    32
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 32
    
    property :inbuilt_soa_servers, type: String, default: ['soa_server1'], array: true
  • #inbuilt_dmkr_servers ⇒ Array of ⇒ String (Default Value: ['dmkr_server1'])

    Property Attributes
    • default['dmkr_server1']
    
    
    33
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 33
    
    property :inbuilt_dmkr_servers, type: String, default: ['dmkr_server1'], array: true
  • #inbuilt_jms_servers ⇒ Array of ⇒ String (Default Value: ['jms_server1'])

    Property Attributes
    • default['jms_server1']
    
    
    34
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 34
    
    property :inbuilt_jms_servers, type: String, default: ['jms_server1'], array: true
  • #inbuilt_idm_servers ⇒ Array of ⇒ String (Default Value: ['idm_server1'])

    Property Attributes
    • default['idm_server1']
    
    
    35
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 35
    
    property :inbuilt_idm_servers, type: String, default: ['idm_server1'], array: true
  • #seed_database_schemas ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Flag to control whether the database schemas DMKR* would be created or not.'

    Property Attributes
    • defaulttrue
    
    
    37
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 37
    
    property :seed_database_schemas, type: [TrueClass, FalseClass], default: true, description: 'Flag to control whether the database schemas DMKR* would be created or not.'
  • #create_jms_schema ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Flag to control whether the database schemas for JMS Tlogs would be created or not.'

    Property Attributes
    • defaulttrue
    
    
    38
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 38
    
    property :create_jms_schema, type: [TrueClass, FalseClass], default: true, description: 'Flag to control whether the database schemas for JMS Tlogs would be created or not.'
  • #drop_dmkr_schema ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Flag to control whether the database schemas for JMS Tlogs and DMKR* would be dropped during clobber or not.'

    Property Attributes
    • defaulttrue
    
    
    39
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 39
    
    property :drop_dmkr_schema, type: [TrueClass, FalseClass], default: true, description: 'Flag to control whether the database schemas for JMS Tlogs  and DMKR* would be dropped during clobber or not.'
  • #install_as_sysdba ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Should the sysdba privileges be used to create schemas, defaults to true'

    Property Attributes
    • defaulttrue
    
    
    40
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 40
    
    property :install_as_sysdba, type: [TrueClass, FalseClass], default: true, description: 'Should the sysdba privileges be used to create schemas, defaults to true'
  • #deploy_documaker_apps ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Flag to control whether to deploy Documaker administrator applications.'

    Property Attributes
    • defaulttrue
    
    
    41
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 41
    
    property :deploy_documaker_apps, type: [TrueClass, FalseClass], default: true, description: 'Flag to control whether to deploy Documaker administrator applications.'
  • #deploy_idm_apps ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Flag to control whether to deploy Documaker IDM applications.'

    Property Attributes
    • defaulttrue
    
    
    42
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 42
    
    property :deploy_idm_apps, type: [TrueClass, FalseClass], default: true, description: 'Flag to control whether to deploy Documaker IDM applications.'
  • #deploy_soa_apps ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Flag to control whether to deploy Documaker SOA applications.'

    Property Attributes
    • defaulttrue
    
    
    43
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 43
    
    property :deploy_soa_apps, type: [TrueClass, FalseClass], default: true, description: 'Flag to control whether to deploy Documaker SOA applications.'
  • #soa_partition_name ⇒ String (Default Value: 'default')
    'Name of the partition where SOA composites will deploy.'

    Property Attributes
    • default'default'
    
    
    44
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 44
    
    property :soa_partition_name, type: String, default: 'default', description: 'Name of the partition where SOA composites will deploy.'
  • #create_migratable_targets ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Set this to false if you want Mint to create JDBCStore and JMSServers to have non-migratable targets.'

    Property Attributes
    • defaulttrue
    
    
    45
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 45
    
    property :create_migratable_targets, type: [TrueClass, FalseClass], default: true, description: 'Set this to false if you want Mint to create JDBCStore and JMSServers to have non-migratable targets.'
  • #create_application_users ⇒ [TrueClass, FalseClass] (Default Value: true)
    'Set this to true if you want MintPress to create application users set in documaker_admin_users and group documaker_admin_group.'

    Property Attributes
    • defaulttrue
    
    
    46
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 46
    
    property :create_application_users, type: [TrueClass, FalseClass], default: true, description: 'Set this to true if you want MintPress to create application users set in documaker_admin_users and group documaker_admin_group.'
  • #documaker_admin_users ⇒ Hash of ⇒ Mint::Secret (Default Value: {'documaker': Mint::Secret.new('D0cumakero1')})
    'A hash of users and the passwords that will be created under the DefaultAuthenticator and will have the Documaker Admin Group assigned.'

    Property Attributes
    • fromString
    • default{'documaker': Mint::Secret.new('D0cumakero1')}
    
    
    48
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 48
    
    property :documaker_admin_users, type: Mint::Secret, from: String, hash: true, default: {'documaker': Mint::Secret.new('D0cumakero1')}, description: 'A hash of users and the passwords that will be created under the DefaultAuthenticator and will have the Documaker Admin Group assigned.'
  • #documaker_admin_group ⇒ String (Default Value: 'Documaker Administrators')
    'The value of the documaker administrator group. Members of this group are able to logon to the UI applications.'

    Property Attributes
    • default'Documaker Administrators'
    
    
    49
    # File 'src/oracle-documaker/lib/oracle-documaker/template.rb', line 49
    
    property :documaker_admin_group, type: String, default: 'Documaker Administrators', description: 'The value of the documaker administrator group. Members of this group are able to logon to the UI applications.'
  • #name ⇒ String
    For 12c style templates, this is the actual template name. For 11g, it's just a reference

    Property Attributes
    • requiredtrue
    
    
    73
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 73
    
    property :name, type: String, required: true
  • #template_version ⇒ String
    The version of the template to use, if multiple versions are available

    Property Attributes
    
    
    75
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 75
    
    property :template_version, type: String
  • #template_jar ⇒ String
    For oldstyle templates, this is the jar file on the filesystem. It is not required for 12c style templates

    Property Attributes
    
    
    77
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 77
    
    property :template_jar, type: String
  • #domain ⇒ MintPress::OracleWeblogic::Domain
    Our parent domain

    Property Attributes
    
    
    79
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 79
    
    property :domain, type: MintPress::OracleWeblogic::Domain
  • #metadata_repository ⇒ MintPress::OracleWeblogic::MetadataRepository
    Which metadata repository does this template use for its database storage? The will default to the default repository of the domain

    Property Attributes
    
    
    81
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 81
    
    property :metadata_repository, type: MintPress::OracleWeblogic::MetadataRepository
  • #template_type ⇒ Symbol (Default Value: :newstyle)
    What kind of template are we applying? :newstyle - 12c style (i.e. selectTemplate/loadTemplate) :newstyle_custom - 12c, selectTemplateCustom :oldstyle - jar file based template (i.e. addTemplate)

    Property Attributes
    • default:newstyle
    
    
    87
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 87
    
    property :template_type, type: Symbol, default: :newstyle
  • #pattern ⇒ String
    The pattern of the servers - if inbuilt_servers is also defined, servers will be _renamed_ to match this pattern

    Property Attributes
    
    
    90
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 90
    
    property :pattern, type: String
  • #server_names ⇒ Hash of ⇒ String
    If a more complex renaming than pattern provides is requred, such as for a multi-server template, server_names can be specified as a hash an example of this is if your template has both soa_serverX and humantask_serverX, you can rename them with this hash: `{ "soa_server" => "my_soa", "humantask_server" => "my_humantask }`

    Property Attributes
    
    
    94
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 94
    
    property :server_names, type: String, hash: true
  • #targets ⇒ Array of ⇒ [Server, Cluster] (Default Value: Proc.new { domain.servers.list_by_glob(self.pattern) })
    The list of servers which match this template as per server.pattern

    Property Attributes
    • defaultProc.new { domain.servers.list_by_glob(self.pattern) }
    
    
    96
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 96
    
    property :targets, type: [Server, Cluster], array: true, default: Proc.new { domain.servers.list_by_glob(self.pattern) }
  • #inbuilt_servers ⇒ Array of ⇒ String
    inbuilt_servers defines which servers are included out of the box with the template - there the major reason this is important, is it drives the server renaming. This is usually defined by a subclass

    Property Attributes
    
    
    99
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 99
    
    property :inbuilt_servers, type: String, array: true
  • #reload_domain ⇒ [TrueClass, FalseClass] (Default Value: false)
    Control whether to reload the domain before _and_ after applying the template

    Property Attributes
    • defaultfalse
    
    
    101
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 101
    
    property :reload_domain, type: [TrueClass, FalseClass], default: false
  • #reload_after ⇒ [TrueClass, FalseClass] (Default Value: false)
    Just reload the domain _after_ applying the template, but not before

    Property Attributes
    • defaultfalse
    
    
    103
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 103
    
    property :reload_after, type: [TrueClass, FalseClass], default: false
  • #reload_before ⇒ [TrueClass, FalseClass] (Default Value: false)
    Just reload the domain _before_ applying the template, but not after

    Property Attributes
    • defaultfalse
    
    
    105
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 105
    
    property :reload_before, type: [TrueClass, FalseClass], default: false
  • #update_jdbc ⇒ [TrueClass, FalseClass] (Default Value: true)
    Do we also update the JDBC resources to point to clusters after this, or do we trust getDatabaseDefaults to do it for us? For 12c templates, you often want false here, since getDatabaseDefaults() is supposed to fill them in. However you would want it set to true for 11g style templates, and certain 12c templates will miss some data sources without it.

    Property Attributes
    • defaulttrue
    
    
    109
    # File 'src/oracle-weblogic/lib/oracle-weblogic/model/template.rb', line 109
    
    property :update_jdbc, type: [TrueClass, FalseClass], default: true

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes inherited from MintPress::OracleWeblogic::Template

#Domain, #MetadataRepository, #inbuilt_servers, #name, #pattern, #targets, #template_jar, #template_type, #template_version

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from OracleDocumakerUtils

#copy_local_file

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Methods inherited from MintPress::OracleWeblogic::Template

#finalize_load, #handle_rename, #mbean_create, #post_apply, #post_domain, #post_managed_start, #post_metadata_create, #post_select, #pre_first_admin_start, #pre_managed_start, #pre_metadata_create, #pre_metadata_drop, #pre_select, register_template_name

Methods included from MintPress::OracleWeblogic::MBeanUtils

#assign_object_by_identity, #assign_object_by_identity_from, #bean_is_changed?, #dump_metadata, #dump_tree_metadata, #get_item_by_identity_name, #get_item_by_identity_name_from, #get_parent_by_identity_name, #harvest, #harvest_anew, #harvest_item_by_name, #harvest_item_by_type, #harvest_wlst, #harvesters, #harvesting, #longname, #lookup_mintpress_by_mbean, #mbean_by_url, #process_mbeans, #register_mbean_url

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintPress::OracleWeblogic::Utils

#activate_list, #already_traversed, #announce_self, #bean_type, #build_activate_list, #clear_property_sheet_cache, #create_generic, #create_mbean_components, #delete, #destroy_generic, #empty_mbean?, #execute_script, #exists?, #fast_ls_all, #fast_ls_folder, #fast_ls_object, #fast_ls_object_map, #find_cluster, #find_runtime_path_in_rest, #find_server, #full_url, #get, #get_all_self_names, #get_identity, #get_local_wlst_session, #get_matching_self_names, #get_property_from_target, #get_property_from_target_rest, #get_property_from_target_wlst, #get_property_from_target_wlst_impl, #get_property_sheet, #get_rest_item, #get_rest_url_for_parent, #get_rest_url_for_self, #get_servers, #get_servers_rest, #get_servers_wlst, #get_wl_home, #globmatch?, #handle_create, #http_delete, #http_get, #http_post, #http_put, included, #invalidate_session, #is_meta_object?, #longclass, #massage_return, #mbean_components, #mbean_exists?, #mbean_lookup, #mbean_properties, #mbean_to_hash, #meta_list?, #my_short_name, #perform_method_generic, #perform_runtime_call_generic_rest, #perform_runtime_method_generic, #post, #raise_http_exception, #remove, #request_headers, #reset_activate_list, #rest_activate_change, #rest_create_generic, #rest_create_mbean_components, #rest_destroy_self, #rest_edit_url, #rest_has_changes, #rest_idempotent_create, #rest_locked, #rest_nonedit_url, #rest_start_change, #rest_undo_change, #runtime_introspection, #shortclass, #start_with_async, #state_with_net_ping, #stop_with_async, #to_nested, #wlst_cd_to, #wlst_create_generic, #wlst_destroy_self, #wlst_find_object, #wlst_find_parent_object, #wlst_generic_mbean_update_all, #wlst_idempotent_create, #wlst_update_mbean

Constructor Details

#initialize(opts) ⇒ Template

Returns a new instance of Template.

Instance Method Details

#apply(wlst, repository: nil) ⇒ Object

Method to override the apply method, since documaker has none

#configure_documakerObject

This method configures Documaker Domain

#create_application_userObject

This method creates the Documaker Application User and Groups

#create_database_schemaObject

Create the DMKR* schemas

#create_jms_database_schemaObject

Create the JMS TLog schemas

#database_schema_exists?(dmkr_schemas: true) ⇒ Boolean

Returns true/false if the schema exists

Returns:

  • (Boolean)

#deploy_applicationsObject

This method deploys applications required for Documaker

#deploy_jdbc_resourcesObject

This method deploys all JDBC resources for Documaker

#deploy_jms_resourcesObject

This method deploys all JMS resources

#deploy_sample_mrlObject

This method deploys the sample MRL for Documaker

#drop_database_schemaObject

Drops the DMKR* schemas

#get_db_connectionObject

returns a db connection

#post_first_admin_startObject

This is the entry point for us for integration with old world TODO Change me at a suitable time

#post_metadata_drop(repository) ⇒ Object

Method to drop the DMKR* and JMS schemas after the RCU has been dropped, this overrides the method in the Template class