Class: MintPress::OracleWeblogic::Template

Inherits:
Object
  • Object
show all
Includes:
MintLogger, Mixins::Properties, MBeanUtils, Utils
Defined in:
src/oracle-weblogic/lib/oracle-weblogic/model/template.rb

Overview

Base class for an Oracle Weblogic Domain Template see Domain class for further details Domain#templates

Since:

  • 0.1.0

Direct Known Subclasses

MintPress::OracleAnalyticsServer::BIPublisherTemplate, MintPress::OracleAnalyticsServer::BISuiteTemplate, MintPress::OracleAnalyticsServer::DatabaseLeaseTemplate, MintPress::OracleBPMSuite::BPMTemplate, MintPress::OracleBankingPlatform::GenericHostTemplate, MintPress::OracleBankingPlatform::ModularHostTemplate, MintPress::OracleBankingPlatform::ModularSOATemplate, MintPress::OracleBankingPlatform::ModularUITemplate, MintPress::OracleBankingPlatform::SOATemplate, MintPress::OracleBankingPlatform::UITemplate, MintPress::OracleDataIntegrator::OracleDataIntegratorCommon, MintPress::OracleDocumaker::Template, MintPress::OracleEnterpriseDataQuality::OWSMTemplate, MintPress::OracleEnterpriseDataQuality::Template, MintPress::OracleFMWInfrastructure::EMTemplate, MintPress::OracleFMWInfrastructure::JRFTemplate, MintPress::OracleFMWInfrastructure::WSMPMTemplate, MintPress::OracleHTTPServer::CollocatedTemplate, MintPress::OracleHTTPServer::StandaloneTemplate, MintPress::OracleHTTPServer::Template, MintPress::OracleIdentityManagement::Template, MintPress::OracleInternetDirectory::Template, MintPress::OracleSOASuite::B2BTemplate, MintPress::OracleSOASuite::BAMTemplate, MintPress::OracleSOASuite::ESSTemplate, MintPress::OracleSOASuite::MFTTemplate, MintPress::OracleSOASuite::SOATemplate, MintPress::OracleServiceBus::Template, MintPress::OracleTrafficDirector::Template, MintPress::OracleUnifiedDirectory::OUDSMTemplate, MintPress::OracleUnifiedDirectory::Template, MintPress::OracleWebCenter::ContentTemplate, MintPress::OracleWebCenter::ContentUITemplate, MintPress::OracleWebCenter::IPMTemplate

Properties (Read/Write)

  • #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 collapse

Attributes included from Mixins::Properties

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

Class Method Summary collapse

Instance Method Summary collapse

Methods included from 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 MintLogger::Utils::Common

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

Methods included from 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 = {}) ⇒ MintPress::OracleWeblogic::Template

Constructor

Parameters:

  • opts (Hash) (defaults to: {})
    A Hash of properties with which to instantiate this class

Since:

  • 0.1.0

Instance Attribute Details

#DomainMintPress::OracleWeblogic::Domain

Returns the domain associated with the Template.

Returns:

#inbuilt_serversString

Returns @todo add a description of this attribute.

Returns:

  • (String)
    @todo add a description of this attribute

#MetadataRepositoryMintPress::OracleWeblogic::MetadataRepository

Returns the metadata repository associated with the Template.

Returns:

#nameString

Returns the name of the Template.

Returns:

  • (String)
    the name of the Template

#patternString

Returns @todo add a description of this attribute.

Returns:

  • (String)
    @todo add a description of this attribute

#targetsMintPress::OracleWeblogic::Server, MintPress::OracleWeblogic::Cluster

Returns @todo add a description of this attribute.

Returns:

#template_jarPathname

Returns the location path to the Template JAR.

Returns:

  • (Pathname)
    the location path to the Template JAR

#template_typeSymbol

Returns the type of Template. Valid values are [:newstyle, :newstyle_custom, :oldstyle] which determines whether the new style of selectTemplates() and loadTemplates() WLST commands are used or the older style of addTemplate() is used instead.

Returns:

  • (Symbol)
    the type of Template. Valid values are [:newstyle, :newstyle_custom, :oldstyle] which determines whether the new style of selectTemplates() and loadTemplates() WLST commands are used or the older style of addTemplate() is used instead.

#template_versionString

Returns the template_version of the Template (e.g. 12.2.1.3).

Returns:

  • (String)
    the template_version of the Template (e.g. 12.2.1.3)

Class Method Details

.register_template_name(fmw_name, my_class) ⇒ Object

This is a static method, since it needs to be called statically... this needs some special co-erce case on domain, too, which does not yet exist!

Since:

  • 0.1.0

Instance Method Details

#apply(wlst, repository: nil) ⇒ void

This method returns an undefined value.

Apply the template on the domain, using either the new style selectTemplate(), selectCustomTemplate(), and loadTemplates() or the older style addTemplate() based on the template_type attribute

Parameters:

Since:

  • 0.1.0

#finalize_load(wlst) ⇒ Object

Since:

  • 0.1.0

#handle_rename(wlst) ⇒ Object

Since:

  • 0.1.0

#mbean_createObject

Since:

  • 0.1.0

#post_applyvoid

Note:
This runs _directly after template load_

This method returns an undefined value.

Perform the post_apply steps for the template

Since:

  • 0.1.0

#post_domainvoid

Note:
This runs _directly_ after domain create, offline

This method returns an undefined value.

Perform the post_domain steps for the template

Since:

  • 0.1.0

#post_first_admin_startvoid

This method returns an undefined value.

Perform the post_first_admin_start steps for the template

Since:

  • 0.1.0

#post_managed_startvoid

This method returns an undefined value.

Perform the post_first_admin_start steps for the template

Since:

  • 0.1.0

#post_metadata_create(repository) ⇒ Object

Since:

  • 0.1.0

#post_metadata_drop(repository) ⇒ Object

Since:

  • 0.1.0

#post_selectvoid

This method returns an undefined value.

Perform the post_select steps for the template

Since:

  • 0.1.0

#pre_first_admin_startObject

Since:

  • 0.1.0

#pre_managed_startObject

Since:

  • 0.1.0

#pre_metadata_create(repository) ⇒ Object

Since:

  • 0.1.0

#pre_metadata_drop(repository) ⇒ Object

Since:

  • 0.1.0

#pre_selectvoid

Note:
This gets called before the selectTemplate wlst method is called. This will prove handy when doing things before the select, e.g. in OBP we modify the template.jar file to remove references for hardcoded names.

This method returns an undefined value.

Perform the post_first_admin_start steps for the template

Since:

  • 0.1.0