1- # Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
1+ # Copyright 2018, 2019, Oracle Corporation and/or its affiliates. All rights reserved.
22# Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
33#
44# ------------
@@ -209,14 +209,14 @@ def printFile(self, path):
209209
210210 def getEnv (self , name ):
211211 val = os .getenv (name )
212- if val == None or val == "null" :
212+ if val is None or val == "null" :
213213 trace ("ERROR: Env var " + name + " not set." )
214214 sys .exit (1 )
215215 return val
216216
217217 def getEnvOrDef (self , name , deflt ):
218218 val = os .getenv (name )
219- if val == None or val == "null" :
219+ if val is None or val == "null" :
220220 return deflt
221221 return val
222222
@@ -303,18 +303,33 @@ def generate(self):
303303 # at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
304304 # at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
305305 # at java.lang.reflect.Method.invoke(Method.java:498)
306- def getDynamicServersWA (self ,cluster ):
306+ def getDynamicServersOrNone (self ,cluster ):
307307 try :
308308 ret = cluster .getDynamicServers ()
309309 except :
310310 trace ("Ignoring getDynamicServers() exception, this is expected." )
311311 ret = None
312312 return ret
313313
314+ def getClusterOrNone (self ,server ):
315+ try :
316+ ret = server .getCluster ()
317+ except :
318+ trace ("Ignoring getCluster() exception, this is expected." )
319+ ret = None
320+ return ret
321+
322+ def getSSLOrNone (self ,server ):
323+ try :
324+ ret = server .getSSL ()
325+ except :
326+ trace ("Ignoring getSSL() exception, this is expected." )
327+ ret = None
328+ return ret
314329
315330 def validateAdminServer (self ):
316331 adminServerName = self .env .getDomain ().getAdminServerName ()
317- if adminServerName == None :
332+ if adminServerName is None :
318333 addError ("The admin server name is null." )
319334 return
320335 adminServer = None
@@ -324,16 +339,16 @@ def validateAdminServer(self):
324339 if adminServer is None :
325340 addError ("The admin server '" + adminServerName + "' does not exist." )
326341 return
327- cluster = adminServer . getCluster ( )
328- if cluster != None :
342+ cluster = self . getClusterOrNone ( adminServer )
343+ if cluster is not None :
329344 self .addError ("The admin server " + self .name (adminServer ) + " belongs to the cluster " + self .name (cluster ) + "." )
330345
331346 def validateClusters (self ):
332347 for cluster in self .env .getDomain ().getClusters ():
333348 self .validateCluster (cluster )
334349
335350 def validateCluster (self , cluster ):
336- if self .getDynamicServersWA (cluster ) is None :
351+ if self .getDynamicServersOrNone (cluster ) is None :
337352 self .validateNonDynamicCluster (cluster )
338353 else :
339354 self .validateDynamicCluster (cluster )
@@ -346,7 +361,7 @@ def validateNonDynamicCluster(self, cluster):
346361
347362 def validateNonDynamicClusterReferencedByAtLeastOneServer (self , cluster ):
348363 for server in self .env .getDomain ().getServers ():
349- if server . getCluster ( ) is cluster :
364+ if self . getClusterOrNone ( server ) is cluster :
350365 return
351366 self .addError ("The non-dynamic cluster " + self .name (cluster ) + " is not referenced by any servers." )
352367
@@ -362,13 +377,14 @@ def validateNonDynamicClusterNotReferencedByAnyServerTemplates(self, cluster):
362377 ADMIN_LISTEN_PORT = 'admin listen port'
363378 ADMIN_LISTEN_PORT_ENABLED = 'admin listen port enabled'
364379
365- def getServerClusterPortPropertyValue (server , clusterListenPortProperty ):
380+ def getServerClusterPortPropertyValue (self , server , clusterListenPortProperty ):
366381 sslListenPort = None
367- if server .getSSL () != None :
368- sslListenPort = server .getSSL ().getListenPort ()
382+ ssl = self .getSSLOrNone (server )
383+ if ssl is not None :
384+ sslListenPort = ssl .getListenPort ()
369385 sslListenPortEnabled = None
370- if server . getSSL () != None :
371- sslListenPortEnabled = server . getSSL () .isListenPortEnabled ()
386+ if ssl is not None :
387+ sslListenPortEnabled = ssl .isListenPortEnabled ()
372388 return {
373389 LISTEN_PORT : server .getListenPort (),
374390 LISTEN_PORT_ENABLED : server .isListenPortEnabled (),
@@ -387,10 +403,10 @@ def validateNonDynamicClusterServersHaveSameListenPort(self, cluster):
387403 firstAdminPort = None
388404 firstAdminPortEnabled = None
389405 for server in self .env .getDomain ().getServers ():
390- if cluster is server . getCluster ( ):
406+ if cluster is self . getClusterOrNone ( server ):
391407 listenPort = server .getListenPort ()
392408 listenPortEnabled = server .isListenPortEnabled ()
393- ssl = server . getSSL ( )
409+ ssl = self . getSSLOrNone ( server )
394410 sslListenPort = None
395411 sslListenPortEnabled = None
396412 if ssl is not None :
@@ -426,8 +442,8 @@ def validateClusterServersListenPortProperty(self, cluster, errorMsg, clusterLis
426442 firstServer = None
427443 firstListenPortProperty = None
428444 for server in self .env .getDomain ().getServers ():
429- if cluster is server . getCluster ( ):
430- listenPortProperty = getServerClusterPortPropertyValue (server , clusterListenPortProperty )
445+ if cluster is self . getClusterOrNone ( server ):
446+ listenPortProperty = getServerClusterPortPropertyValue (self , server , clusterListenPortProperty )
431447 if firstServer is None :
432448 firstServer = server
433449 firstListenPortProperty = listenPortProperty
@@ -440,7 +456,7 @@ def validateNonDynamicClusterServerHaveSameCustomChannels(self, cluster):
440456 firstServer = None
441457 serverNap = {}
442458 for server in self .env .getDomain ().getServers ():
443- if cluster is server . getCluster ( ):
459+ if cluster is self . getClusterOrNone ( server ):
444460 if firstServer is None :
445461 for nap in server .getNetworkAccessPoints ():
446462 serverNap [nap .getName ()] = nap .getProtocol () + "~" + str (nap .getListenPort ());
@@ -481,7 +497,7 @@ def validateDynamicClusterReferencedByOneServerTemplate(self, cluster):
481497
482498 def validateDynamicClusterNotReferencedByAnyServers (self , cluster ):
483499 for server in self .env .getDomain ().getServers ():
484- if server . getCluster ( ) is cluster :
500+ if self . getClusterOrNone ( server ) is cluster :
485501 self .addError ("The dynamic cluster " + self .name (cluster ) + " is referenced by the server " + self .name (server ) + "." )
486502
487503 def validateDynamicClusterDynamicServersDoNotUseCalculatedListenPorts (self , cluster ):
@@ -535,13 +551,13 @@ def addConfiguredClusters(self):
535551 def getConfiguredClusters (self ):
536552 rtn = []
537553 for cluster in self .env .getDomain ().getClusters ():
538- if self .getDynamicServersWA (cluster ) is None :
554+ if self .getDynamicServersOrNone (cluster ) is None :
539555 rtn .append (cluster )
540556 return rtn
541557
542558 def addConfiguredCluster (self , cluster ):
543559 self .writeln ("- name: " + self .name (cluster ))
544- dynamicServers = self .getDynamicServersWA (cluster )
560+ dynamicServers = self .getDynamicServersOrNone (cluster )
545561 if dynamicServers is not None :
546562 self .indent ();
547563 self .writeln ("dynamicServersConfig:" )
@@ -571,7 +587,7 @@ def addDynamicServer(self, dynamicServer):
571587 def getClusteredServers (self , cluster ):
572588 rtn = []
573589 for server in self .env .getDomain ().getServers ():
574- if server . getCluster ( ) is cluster :
590+ if self . getClusterOrNone ( server ) is cluster :
575591 rtn .append (server )
576592 return rtn
577593
@@ -590,7 +606,7 @@ def addServer(self, server):
590606 self .addNetworkAccessPoints (server )
591607
592608 def addSSL (self , server ):
593- ssl = server . getSSL ( )
609+ ssl = self . getSSLOrNone ( server )
594610 if ssl is not None and ssl .isEnabled ():
595611 self .indent ()
596612 self .writeln ("sslListenPort: " + str (ssl .getListenPort ()))
@@ -623,7 +639,7 @@ def addDynamicClusters(self):
623639 def getDynamicClusters (self ):
624640 rtn = []
625641 for cluster in self .env .getDomain ().getClusters ():
626- if self .getDynamicServersWA (cluster ) is not None :
642+ if self .getDynamicServersOrNone (cluster ) is not None :
627643 rtn .append (cluster )
628644 return rtn
629645
@@ -651,7 +667,7 @@ def addNonClusteredServers(self):
651667 self .writeln ("servers:" )
652668 self .indent ()
653669 for server in self .env .getDomain ().getServers ():
654- if server . getCluster ( ) is None :
670+ if self . getClusterOrNone ( server ) is None :
655671 self .addServer (server )
656672 self .undent ()
657673
@@ -845,20 +861,29 @@ def customizeNetworkAccessPoint(self, nap, listen_address):
845861 self .undent ()
846862 self .writeln ("</d:network-access-point>" )
847863
864+ def getLogOrNone (self ,server ):
865+ try :
866+ ret = server .getLog ()
867+ except :
868+ trace ("Ignoring getLog() exception, this is expected." )
869+ ret = None
870+ return ret
871+
848872 def customizeLog (self , name , bean , isDomainBean ):
849873 logs_dir = self .env .getDomainLogHome ()
850874 if logs_dir is None or len (logs_dir ) == 0 :
851875 return
852876
853877 logaction = ''
854878 fileaction = ''
855- if bean .getLog () is None :
879+ log = self .getLogOrNone (bean )
880+ if log is None :
856881 if not isDomainBean :
857882 # don't know why, but don't need to "add" a missing domain log bean, and adding it causes trouble
858883 logaction = ' f:combine-mode="add"'
859884 fileaction = ' f:combine-mode="add"'
860885 else :
861- if bean . getLog () .getFileName () is None :
886+ if log .getFileName () is None :
862887 fileaction = ' f:combine-mode="add"'
863888 else :
864889 fileaction = ' f:combine-mode="replace"'
@@ -1129,6 +1154,7 @@ def main(env):
11291154 traceback .print_exc ()
11301155 exit (exitcode = 1 )
11311156 except UndeclaredThrowableException , f :
1157+ dumpStack ()
11321158 print f
11331159 trace ("Domain introspection failed with undeclared exception:" )
11341160 traceback .print_exc ()
0 commit comments