Skip to content

Commit

Permalink
removed ensure_zcatalog_connector_is_initialized (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
zmsdev committed Feb 10, 2025
1 parent f48b267 commit 49e2ae3
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 22 deletions.
7 changes: 7 additions & 0 deletions Products/zms/IZMSCatalogAdapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@

class IZMSCatalogAdapter(Interface):

def reindex_node(self, node):
"""
Reindex node.
@param node: the node
@type node: C{object}
"""

def search(self, qs, order, clients=False):
"""
Search catalog.
Expand Down
6 changes: 0 additions & 6 deletions Products/zms/ZMSZCatalogAdapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,6 @@ def manage_sub_options(self):
def __init__(self):
self.id = 'zcatalog_adapter'

def ensure_zcatalog_connector_is_initialized(self):
root = self.getRootElement()
if 'zcatalog_connector' not in root.getMetaobjIds() and self.REQUEST.get('zcatalog_init', 1) == 1:
_confmanager.initConf(root, 'conf:com.zms.catalog.zcatalog')

############################################################################
# Initialize
############################################################################
Expand Down Expand Up @@ -296,7 +291,6 @@ def get_available_connector_ids(self):
# ZMSZCatalogAdapter.get_connectors
# --------------------------------------------------------------------------
def get_connectors(self):
self.ensure_zcatalog_connector_is_initialized()
root = self.getRootElement()
return list(sorted([x for x in root.getCatalogAdapter().objectValues(['ZMSZCatalogConnector']) if x.__name__!='broken object']))

Expand Down
4 changes: 0 additions & 4 deletions Products/zms/ZMSZCatalogConnector.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,6 @@ def manage_destroy(self):
# --------------------------------------------------------------------------
def search_json(self, REQUEST, RESPONSE):
""" search_json """
self.ensure_zcatalog_connector_is_initialized()
RESPONSE.setHeader('Cache-Control', 'no-cache')
RESPONSE.setHeader('Content-Type', 'application/json; charset=utf-8')
result = [x['ob'](self, REQUEST) for x in self.getActions(r'(.*?)_query$')][0]
Expand All @@ -188,7 +187,6 @@ def search_json(self, REQUEST, RESPONSE):
# --------------------------------------------------------------------------
def search_xml(self, REQUEST, RESPONSE):
""" search_xml """
self.ensure_zcatalog_connector_is_initialized()
result = json.loads(self.search_json(REQUEST, RESPONSE))
RESPONSE.setHeader('Cache-Control', 'no-cache')
RESPONSE.setHeader('Content-Type', 'text/xml; charset=utf-8')
Expand Down Expand Up @@ -260,7 +258,6 @@ def search_xml(self, REQUEST, RESPONSE):
# --------------------------------------------------------------------------
def suggest_json(self, REQUEST, RESPONSE):
""" suggest_json """
self.ensure_zcatalog_connector_is_initialized()
RESPONSE.setHeader('Cache-Control', 'no-cache')
RESPONSE.setHeader('Content-Type', 'application/json; charset=utf-8')
result = [x['ob'](self, REQUEST) for x in self.getActions(r'(.*?)_suggest$')][0]
Expand All @@ -271,7 +268,6 @@ def suggest_json(self, REQUEST, RESPONSE):
# --------------------------------------------------------------------------
def suggest_xml(self, REQUEST, RESPONSE):
""" suggest_xml """
self.ensure_zcatalog_connector_is_initialized()
result = json.loads(self.suggest_json(REQUEST, RESPONSE))
RESPONSE.setHeader('Cache-Control', 'no-cache')
RESPONSE.setHeader('Content-Type', 'text/xml; charset=utf-8')
Expand Down
18 changes: 12 additions & 6 deletions Products/zms/_confmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -1099,7 +1099,7 @@ def getCharFormats(self):
###
############################################################################

def getCatalogAdapter(self):
def getCatalogAdapter(self, createIfNotExists=False):
from Products.zms import IZMSCatalogAdapter, ZMSZCatalogAdapter
path_nodes = self.breadcrumbs_obj_path()
path_nodes.reverse()
Expand All @@ -1108,11 +1108,17 @@ def getCatalogAdapter(self):
if IZMSCatalogAdapter.IZMSCatalogAdapter in list(providedBy(ob)):
return ob
# If no ZMSZCatalogAdapter then add one to root node
adapter = ZMSZCatalogAdapter.ZMSZCatalogAdapter()
path_nodes[0]._setObject( adapter.id, adapter)
adapter = getattr(self, adapter.id)
adapter.initialize()
return adapter
if createIfNotExists:
adapter = ZMSZCatalogAdapter.ZMSZCatalogAdapter()
path_nodes[0]._setObject( adapter.id, adapter)
adapter = getattr(self, adapter.id)
adapter.initialize()
return adapter
# Default mock adapter
class MocktAdapter(object):
def objectValues(meta_types=None): return []
def reindex_node(self, node): pass
return MocktAdapter()


# call this to initialize framework classes, which
Expand Down
1 change: 0 additions & 1 deletion Products/zms/manage_addzmsform.zpt
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@
<div class="collapse" id="TAB_ADVANCED">
<div class="form-group px-4">
<label for="zcatalog_init_toggle" class="form-check-label m-0">
<!--! Hint: zcatalog_init-option needs a value 0|1 to control ZMSZCatalogAdapter.ensure_zcatalog_connector_is_initialized() -->
<input class="form-check-input" type="hidden" id="zcatalog_init" name="zcatalog_init:int" value="1" />
<input class="form-check-input" type="checkbox" id="zcatalog_init_toggle" name="zcatalog_init_toggle:int" value="1" checked="checked" />
Search: Add default ZCatalog Connector
Expand Down
8 changes: 3 additions & 5 deletions Products/zms/zms.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,13 +237,11 @@ def manage_addZMS(self, lang, manage_lang, REQUEST, RESPONSE):
#-- Search GUI
initContent(obj, 'com.zms.search.content.xml', REQUEST)
# Initialize catalog adapter / connector.
catalog_adapter = obj.getCatalogAdapter()
_confmanager.initConf(obj, 'conf:com.zms.catalog.zcatalog')
catalog_adapter = obj.getCatalogAdapter(createIfNotExists=True)
catalog_connector = catalog_adapter.add_connector('zcatalog_connector')
catalog_connector.manage_init()
try:
catalog_adapter.reindex(catalog_connector, obj, recursive=True)
except:
standard.writeBlock( self, '[catalog_adapter]: : \'RequestContainer\' object has no \'attribute reindex\'')
catalog_adapter.reindex(catalog_connector, obj, recursive=True)

# Initialize access.
obj.synchronizePublicAccess()
Expand Down

0 comments on commit 49e2ae3

Please sign in to comment.